Table of Contents
はじめに
古いLinuxカーネルを安全に削除する方法を残しておきます。
方法
コマンド
このコマンドは以下のことを実行します。
- 現在使用していない古いカーネルを特定
- 現在動作中のカーネルは保護
- 不要なカーネルパッケージを完全に削除
$ dpkg -l 'linux-' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]\)./\1/;/[0-9]/!d' | xargs sudo apt -y purgeコマンドの解説
-
dpkg -l 'linux-*'
すべての「linux-」で始まるパッケージを一覧表示します -
sed '/^ii/!d'
インストール済みのパッケージのみを残します(‘ii’は installed のステータス) -
uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/"
現在実行中のカーネルバージョンを取得し、末尾の説明部分を削除します -
sed '/'"$(上記のコマンド)"'/d'
現在使用中のカーネルバージョンを含むパッケージを除外します(現在使用中のカーネルは削除しない) -
s/^[^ ]* [^ ]* \([^ ]*\).*/\1/
パッケージ名のみを抽出します -
/[0-9]/!d
バージョン番号を含むパッケージのみを残します -
xargs sudo apt -y purge
抽出されたパッケージを完全に削除します(設定ファイルも含めて)