Ola Kae Tode Tai

すべてのエンジニアに、追い風を祈る。

不要なカーネルイメージを削除して/bootの領域を確保する

f:id:kironono:20141127022946j:plain

Ubuntuサーバを運用してると /boot の容量が減ってきて、アップデートできなくなったり、ディスクの使用量を監視しているとアラートが上がったりしますよね。

インストール済みの古いカーネルを削除して /boot 領域を空ける方法です。

ディスクの使用状況を確認する

df で確認すると75%使用中でした。

$ df -h /boot
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       472M  334M  114M  75% /boot

現在のカーネルのバージョンを確認する

uname で確認できます。

$ uname -r
4.4.0-34-generic

現在のカーネルのバージョンは 4.4.0-34-generic でした。

インストールされているカーネル一覧を確認します。

$ dpkg --get-selections | grep linux-image
linux-image-4.4.0-34-generic            install
linux-image-4.4.0-45-generic            install
linux-image-4.4.0-47-generic            install
linux-image-4.4.0-51-generic            install
linux-image-4.4.0-53-generic            install
linux-image-4.4.0-57-generic            install
linux-image-4.4.0-59-generic            install
linux-image-extra-4.4.0-34-generic      install
linux-image-extra-4.4.0-45-generic      install
linux-image-extra-4.4.0-47-generic      install
linux-image-extra-4.4.0-51-generic      install
linux-image-extra-4.4.0-53-generic      install
linux-image-extra-4.4.0-57-generic      install
linux-image-extra-4.4.0-59-generic      install
linux-image-generic             install

カーネルイメージを削除

現在使っているバージョン以外のカーネルを指定して apt-get autoremove するとよしなに削除候補をリストアップしてくれる。

$ sudo apt-get autoremove --purge linux-image-4.4.0-45-generic
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージは「削除」されます:
  linux-headers-4.4.0-45* linux-headers-4.4.0-45-generic* linux-headers-4.4.0-47* linux-headers-4.4.0-47-generic* linux-headers-4.4.0-51* linux-headers-4.4.0-51-generic* linux-headers-4.4.0-53* linux-headers-4.4.0-53-generic*
  linux-image-4.4.0-45-generic* linux-image-4.4.0-47-generic* linux-image-4.4.0-51-generic* linux-image-4.4.0-53-generic* linux-image-extra-4.4.0-45-generic* linux-image-extra-4.4.0-47-generic* linux-image-extra-4.4.0-51-generic*
  linux-image-extra-4.4.0-53-generic*
アップグレード: 0 個、新規インストール: 0 個、削除: 16 個、保留: 91 個。
この操作後に 1,184 MB のディスク容量が解放されます。
続行しますか? [Y/n]

一個前のバージョンを残しておきたい。とかの場合は、 apt-get remove でひとつづつ削除するといいと思う。

カーネルイメージ削除後

インストールされているカーネルイメージは以下のようになりました。

$ dpkg --get-selections | grep linux-image
linux-image-4.4.0-34-generic            install
linux-image-4.4.0-57-generic            install
linux-image-4.4.0-59-generic            install
linux-image-extra-4.4.0-34-generic      install
linux-image-extra-4.4.0-57-generic      install
linux-image-extra-4.4.0-59-generic      install
linux-image-generic             install

ディスクの使用量は、34%になり領域が確保できました。

$ df -h /boot
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       472M  149M  300M  34% /boot