boot領域不足という警告が出たときの対応 – Ubuntu –

バイオインフォ道場、くまぞうです。

解析用PCとして、Linux(今回はUbuntu)を長い間使い続けていたりすると、「boot領域不足」という警告が出ることがあります。自動アップデートができなくなったりして困るので対処しましょう。今回は、必要なくなった古いカーネルを削除します。

スポンサーリンク



boot領域の使用状況を確認

boot領域の現在の状況を調べましょう。下記リスト「/boot」の「Use%」が100%に近くなると領域不足となります。尚、ここで用いた「df」コマンドは、ディスク・ドライブの使用量を表示するもので、「-h」オプションで見やすい単位にして表示します。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
...
/dev/sda1       494M  494M    0M 100% /boot

boot領域の使用していない古いカーネルの削除

現在使用中のカーネルを確認

下記のコマンドで、現在使用中のカーネルのバージョンを確認しましょう。これ以外の使っていないバージョンのカーネルを削除します。

$ uname -r
3.13.0-91-generic

インストールされているカーネルを確認

下記のコマンドで、使用中または使用中のもの以外で、どのようなカーネルがインストールされているかを確認しましょう。

$ dpkg --get-selections | grep linux-image
linux-image-3.13.0-85-generic			install
linux-image-3.13.0-86-generic			install
linux-image-3.13.0-87-generic			install
linux-image-3.13.0-88-generic			install
linux-image-3.13.0-91-generic			install
linux-image-extra-3.13.0-85-generic		install
linux-image-extra-3.13.0-86-generic		install
linux-image-extra-3.13.0-87-generic		install
linux-image-extra-3.13.0-88-generic		install
linux-image-extra-3.13.0-91-generic		install
linux-image-generic				install

使用中でないカーネルを削除

現在使用中でないカーネルのバージョンを指定して、1つ1つ(シェルのブレース展開は使えます)削除していきます。

$ sudo apt-get autoremove --purge linux-image-3.13.0-{85,86,87}
... 繰り返す ...

参考情報:使用中でないカーネルを一括で削除する

数が多くなると、1つ1つ削除するのも多少面倒です。あくまで参考情報ですが、このような操作を一括で処理してくれるスクリプトがあります。最後のパイプ(|)の「xargs sudo apt-get -y purge」部分が実際に削除する部分なので、事前にその直前までを実行して、どのようなカーネルが削除されるのかを確認してから、実行するのが良いと思います。私の環境では動作は問題ありませんでしたが、自己責任で実行してください。

現在使用していないカーネルの確認
$ dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d'

現在使用していないカーネルを削除まで一括処理(注意)
$ 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

整理されたことを確認

処理が完了したら、現在使用中のもの以外が削除されたかを確認しましょう。そして、boot領域の使用状況が改善されたかも併せて確認しましょう。

$ dpkg --get-selections | grep linux-image
linux-image-3.13.0-91-generic			install
linux-image-extra-3.13.0-91-generic		install
linux-image-generic				install
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
...
/dev/sda1       494M   23M  447M   5% /boot

ディスク容量の確保

boot領域以外も綺麗にしたいですね。「apt-get clean」はapt のパッケージキャッシュをクリア、「apt-get autoremove」は依存関係のない不要なパッケージを削除します。

$ sudo apt-get clean
$ sudo apt-get autoremove
スポンサーリンク