Ubuntu - 未使用のカーネルを削除する

Ubuntu - 未使用のカーネルを削除する

Ubuntu のアップデートを繰り返すと、GRUB メニューに以前の Linux カーネルが多数リストされ、ハードディスクの容量を大量に消費します。使用されていないカーネルを簡単に削除するにはどうすればよいでしょうか。

答え1

以下の解決策は Ubuntu に固有のものです。

  1. 現在使用中のカーネルを確認します。

    uname -r
    
  2. インストールされているすべてのカーネル イメージとヘッダーを一覧表示します。

    dpkg --list | grep linux-image
    dpkg --list | grep linux-headers
    
  3. 削除したいカーネルのイメージとヘッダーを削除します。

    sudo apt-get purge linux-image-3.19.0-15
    sudo apt-get purge linux-headers-3.19.0-15
    

    上記のコマンドは、カーネル イメージとそれに関連するカーネル モジュールおよびヘッダー ファイルを削除します。

  4. 未使用のカーネルを削除した後、GRUB 構成を更新します。

    sudo update-grub2
    
  5. 次に、再起動して、GRUB メニューが適切にクリーンアップされたかどうかを確認します。

答え2

システム > 管理メニューから Synaptic パッケージ マネージャーを開きます。

ツールバーの「検索」ボタンをクリックして、を検索しますlinux-image-2

結果には、利用可能なインストール済みのカーネルがすべて表示されます。左側の緑色のボックスは、パッケージがインストールされていることを示します。インストールする Linux イメージは最新のものだけです。現在実行中のカーネルに対応するパッケージを見つけます (これは、ターミナル ウィンドウで見つかったカーネルです)。そのパッケージを必ず保持してください。ボックスをクリックして [削除対象としてマーク] を選択すると、リストから古いカーネルをアンインストールできます。

これを入手したのはここ

答え3

ターミナルを開き、以下のコマンドを実行します。再起動すると、最新のカーネルのみが GRUB メニューに表示されます。

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

上記のコマンドを実行するには、ルート パスワードが必要です。

感謝ウブントゥゲニウス

答え4

byobu パッケージには 'purge-old-kernels' というスクリプトがあります:

apt-get install byobu
purge-old-kernels

現在使用中のカーネルを除いて保持するカーネルの数を指定できます。

purge-old-kernels --keep 2

必要であればこれを cron に入れてください。

見る:https://raw.githubusercontent.com/dustinkirkland/byobu/master/usr/bin/purge-old-kernels

関連情報