Ubuntu 16.04カーネル(4.4.0-89および-91)への最近のアップグレードは私のラップトップでひどく失敗しました。幸いなことに、以前の作業バージョンがまだインストールされています(4.4.0-57)。今のところ、メニューを表示するようにGrubを設定し、ブート時に-57を手動で選択していますが、これは壊れやすく、将来Sudo apt upgrade
で壊れる可能性があります。
私が欲しいと思う:
Sudo apt remove linux-image-4.4.0-91-generic
で-91を削除しようとすると、linux-genericとlinux-headers-genericを削除する必要があります。それは悪いようですので、私はそれを試していません。
一般的な問題に関するさまざまな質問を見つけることができますが、私の目標のすべてに対応しているものはないようで、ほとんどは十分に古く、もはや当てはまらないと思います。
これを行う最良の方法は何ですか?
補遺:これは 特定のパッケージの更新を防ぐ方法? の複製としてフラグが立てられました。その答えは私の質問の一部に対処するかもしれませんが、全体像には対処しません。
概して、問題はカーネルが異常な方法で処理されることです。 linux-generic経由でインストールされますが、これはlinux-image-genericおよびlinux-image-headersへの依存関係にすぎません。これらは、バージョン番号をパッケージ名に組み込むのに注目すべきパッケージであるlinux-linux-image-VERSION-genericおよびheaders-VERSION-genericの依存関係にすぎません(複数の並列インストールを容易にするため)。
その回答で具体的に取り上げられていないのは次のとおりです。
最新のカーネルを削除するには
Sudo apt remove linux-image-4.4.0-91-generic linux-headers-4.4.0-91-generic
これにより、メタパッケージlinux-generic
、linux-image-generic
、およびlinux-headers-generic
がアンインストールされます。カーネルはアップグレードされません。
それを元に戻すには、実行することができます
Sudo apt install linux-generic
これにより、最新のカーネルがインストールされ、カーネルがアップグレードされます。
linux-generic
はメタパッケージです。これは空ですが、他の2つのメタパッケージlinux-image-generic
とlinux-headers-generic
に依存しています。
最後の2つは、最新のカーネルイメージとヘッダーを指します。
メタパッケージを削除すると、Linuxからは何も削除されませんが、カーネルイメージとヘッダーは更新されません。いつでもインストールできます。彼らは最新の「本当の」カーネルパッケージを引き出します。
そのため、解決策は、不要なカーネルパッケージとメタパッケージを手動で削除することです。
Pilot6のソリューションは最良のソリューションかもしれませんが、それほど劇的な対策を講じることはできません。
ソフトウェアセンターから不要なカーネルを個人的に削除し、それらのパッケージを保留にします- 特定のパッケージの更新を防ぐ方法?
これは些細な変更であり、変更を簡単に上書きまたは元に戻すことができます。