不正な更新後にカーネルをダウングレードする方法(16.04)


20

Ubuntu 16.04カーネル(4.4.0-89および-91)への最近のアップグレードは、私のラップトップでひどく失敗しました。幸いなことに、以前の作業バージョンがまだインストールされています(4.4.0-57)。今のところ、メニューを表示するようにGrubを設定しており、ブート時に手動で-57を選択していますが、これは壊れやすく、将来的に壊れる可能性がありますsudo apt upgrade

私が欲しいと思う:

  • -89と-91を削除するには、彼らは私に何の役にも立ちません。
  • -57をGrubのデフォルトにするために、アップグレードを通じて持続します。
  • 後でカーネルアップグレードをインストールしても、-57がインストールされたままになるようにするため
  • 後でカーネルの更新を簡単に試すことができますが、失敗した場合は-57に戻ります。私の主な懸念は-57が自動的に削除されることです。
  • 機能している後のアップデートを見つけた場合、これをすべて元に戻し、次のカーネルアップデートに戻る簡単な方法。

-91を削除しようとするsudo apt remove linux-image-4.4.0-91-genericと、linux-genericとlinux-headers-genericを削除する必要があります。それは悪いようですので、私はそれを試していません。

一般的な問題に関するさまざまな質問を見つけることができますが、私の目標のすべてに対処するものはないようで、ほとんどは十分に古く、それらはもはや当てはまらないと思います。

これを行う最良の方法は何ですか?

補遺:これは、特定のパッケージの更新を防ぐ方法の複製としてフラグが立てられましたか?。その答えは私の質問の一部に対処するかもしれませんが、全体像には対処しません。

概して、問題はカーネルが異常な方法で処理されることです。linux-generic経由でインストールされますが、これはlinux-image-genericおよびlinux-image-headersへの依存関係にすぎません。これらは、バージョン番号をパッケージ名に組み込むのに注目すべきパッケージであるlinux-linux-image-VERSION-genericおよびheaders-VERSION-genericへの依存関係にすぎません(複数を並行して簡単にインストールできるようにするため)。

その回答で具体的に取り上げられていないのは次のとおりです。

  • -89および-91を削除する方法については説明しません。
  • 後で更新をインストールする場合でも、-57をGrubのデフォルトにする方法については説明しません。
  • 後で更新をインストールする場合でも、-57がインストールされたままになるようにする方法については説明しません。答えが1つ以上のパッケージを保持することである場合でも、関連するいくつかのパッケージを考えると、どのパッケージを保持しますか?linux-genericを保持することが問題の場合、最初にダウングレードするにはどうすればよいですか?

ラップトップでカーネルが「失敗」することはほとんどありません。おそらく、いくつかのドライバーを間違った方法でインストールし、カーネルのアップグレード後に「失敗」しました。グラフィックドライバーをインストールしましたか?
Pilot6

最新のカーネルとlinux-generic with headersを削除すると、目標を達成できます。しかし、私が言ったように、問題は異なります。
Pilot6

1
「失敗」は無線LANではなく、Xは私のグラフィックについて不満でした。どちらも、Intel統合および使用済みのストックドライバーです。完全なシャットダウン/電源オンなど、複数回の再起動でも問題は続きました。ですから、真剣に調査できるようになるまで、私の目標は一時的なものでした。当然、深刻な調査のためにいくつかの情報を収集し始め、期待どおりに-91が機能し始めました。ため息つく
アランデスメット

1
これは重複ではありません。パッケージをフリーズするだけではありません。たぶんそれは複製ですが、提案された質問ではありません。
-Pilot6

回答:


19

最新のカーネルを削除するには

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-genericlinux-headers-generic

最後の2つは、最新のカーネルイメージとヘッダーを指します。

メタパッケージを削除すると、Linuxからは何も削除されませんが、カーネルイメージとヘッダーは更新されません。いつでもインストールできます。彼らは最新の「本当の」カーネルパッケージを引き出します。

そのため、解決策は、不要なカーネルパッケージとメタパッケージを手動で削除することです。


3

Pilot6のソリューションは最良のソリューションかもしれませんが、それほど劇的な対策を講じることはできません。

ソフトウェアセンターから不要なカーネルを個人的に削除し、それらのパッケージを保留にします。特定のパッケージの更新を防ぐ方法を参照してください

これは些細な変更であり、変更を簡単に上書きまたは元に戻すことができます。


どのパッケージをお勧めしますか?
パイロット

おそらくlinux-genericで十分ですが、確かではありません。他のものを追加する必要があり、正確なカーネルを指定する必要があるかもしれませんが、私はそれを疑います。
パンサー

3
sudo apt-mark hold linux-image-generic linux-headers-genericやります
パンサー

1
@ Pilot6-いいえ、古いカーネルを保持し、ブートするカーネルをgrubにマークすることはできません。askubuntu.com/questions/216398/…–
パンサー

1
はい、できます。しかし、それはあまりにも複雑で、実用的な意味がありません。
パイロット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.