Ubuntu が古い vmlinuz ファイルを保持するのはなぜですか? 削除しても安全ですか?

Ubuntu が古い vmlinuz ファイルを保持するのはなぜですか? 削除しても安全ですか?

それで、rEFInd の起動時に複数のブート オプションが表示されることに非常にイライラし (Mac で約 6 つの OS を実行し、USB でいくつか実行しています)、自分自身にこう思いました。「一体なぜ 1 つの OS に複数のブート オプションが残っているのだろう? 適切にテストされていると仮定すると、新しいものを使用する方が簡単ではないだろうか? 結局のところ、これらのテストは行われているのだから、ブート オプションがそのまま残るのであれば、古いものをなぜそのまま残しておくのだろうか? それらを削除して、OCD を軽減できるだろうか?」

答え1

一般的に、各 Linux ディストリビューションごとに少なくとも 2 つのカーネルを保持することをお勧めします。これは、新しいカーネルをインストールするときに特に当てはまります。新しいバグが入り込んだり、ファイルシステム エラーが発生したりして、新しいカーネルが動作しなくなることがあります。このような場合、古いカーネルをバックアップとして保持しておくと、復旧が大幅に簡単になります。

ただし、Ubuntu システム上のカーネルの数を制限するには、次のようにします。

sudo apt-get autoremove

このコマンドは、その後削除したパッケージによって自動的に取り込まれたパッケージを削除します。また、ほとんどの場合、2つか3つのカーネルを除いてすべて削除されます。(時々、もっと多くのカーネルが残っているように見えますが、その理由はわかりません。) を使用してさらに多くのカーネルを削除することもできますdpkgが、少し面倒です。できるを使用するrmと、 のカーネルを削除する/bootだけですが、パッケージ/ファイルシステムの不整合が発生するため、通常は回避するのが最善です。(このような問題によってシステムがクラッシュすることはありませんが、将来パッケージを追加または削除するときに警告が発生する可能性があります。)

ちなみに、私は rEFInd の開発者ですが、以前から追加したいと思っていた機能の 1 つは、1 つのディレクトリにある複数のカーネルを rEFInd メニューの 1 つのアイコンに「折りたたむ」機能です。このような機能では、インストールされたカーネルが多すぎるという問題は解決されませんが (別の/bootパーティションがある場合は問題になることがあります)、rEFInd メニューの整理に役立ちます。この機能をすぐに追加したいと思っていますが、正確な時期については約束できません。

答え2

古い投稿、説明:

autoremove実際にカーネルを削除することは、これまでの Ubuntu (現在は 20.04.x) では私の経験では不可能です。

...
$ dpkg --list | grep -E ' linux-[a-z]+-[0-9.-]+'
のバージョンに一致するものを除外しながら、リストされている項目を手動で削除してから、それらを使用する必要があります。
$ uname -r
$ sudo apt-get purge ...

依存パッケージは、自動削除けれど。

関連情報