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



ピックアップ記事

  1. awk split サンプルでわかる列の分割とセパレータ(文字・正規表現)の指定方法

    awkのsplit関数は、セパレータを指定して文字列を分割することができます。セパレータには文字や…
  2. tidyverse – distinct関数でデータフレームの重複行を削除 dplyrパッケージ

    tidyverseでデータフレームの重複行の削除を行う場合、dplyrパッケージのdistinct…
  3. R subset関数 データフレームやmatrixからの条件指定による行・列の抽出

    R の subset関数は、データフレームやマトリックスから条件にマッチした部分集合を取り出します…

人気記事

  1. R データ型 - 文字列・ベクター・データフレーム・マトリックス など-, R言語, スクリプト

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…
  2. IGV, 解析ツール

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…
  3. Excel, その他, 統計

    z-score 計算方法 エクセル(Excel) 編
    統計処理で、大きく変化しているなどの判断基準にも使われる値…

おすすめ記事

  1. bash 応用, シェルスクリプト

    シェル スクリプト ファイル存在チェック・空のファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…
  2. awk, bash 文字列操作, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…
  3. R言語, グラフ

    R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
    Rによるplot(グラフ)の描画は、手軽で大変便利です。た…