背景
Ubuntu で定期的に aptitude safe-upgrade
を実行してパッケージ更新していると、カーネルの更新で /boot
パーティションの空き領域が少なくなります。
apt-get autoremove
を実行すると、古いカーネルパッケージが削除されて /boot
パーティションの空き領域を回復することができますが、削除されていないものが残っていたので、手動で削除しました。
参考
環境
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
$ uname -a
Linux brix 3.19.0-42-generic #48~14.04.1-Ubuntu SMP Fri Dec 18 10:24:49 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
手順
古いカーネルを削除する
インストール済みのカーネルパッケージを確認する。
# パッケージ名に 3.13.0, 3.16.0, 3.19.0, 4.2.0 を含むものを検索
$ aptitude search ~i\(3\.1[369]\.0\|4\.2\.0\)
i linux-headers-3.13.0-70 - Header files related to Linux kernel version 3.13.0
i linux-headers-3.13.0-70-generic - Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
i linux-headers-3.13.0-71 - Header files related to Linux kernel version 3.13.0
i linux-headers-3.13.0-71-generic - Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
i linux-headers-3.13.0-73 - Header files related to Linux kernel version 3.13.0
i linux-headers-3.13.0-73-generic - Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
i A linux-headers-3.13.0-74 - Header files related to Linux kernel version 3.13.0
i A linux-headers-3.13.0-74-generic - Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
i A linux-headers-3.19.0-42 - Header files related to Linux kernel version 3.19.0
i linux-headers-3.19.0-42-generic - Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
i A linux-image-3.13.0-74-generic - Linux kernel image for version 3.13.0 on 64 bit x86 SMP
i A linux-image-3.19.0-42-generic - Linux kernel image for version 3.19.0 on 64 bit x86 SMP
i A linux-image-extra-3.13.0-74-generic - Linux kernel extra modules for version 3.13.0 on 64 bit x86 SM
i A linux-image-extra-3.19.0-42-generic - Linux kernel extra modules for version 3.19.0 on 64 bit x86 SM
i A linux-signed-image-3.13.0-74-generic - Signed kernel image generic
i linux-signed-image-3.19.0-42-generic - Signed kernel image generic
3.13.0-70, 3.13.0-71, 3.13.0-73 が不要なので削除する。削除対象パッケージのみを検出する条件を確認する。
# パッケージ名に 3.13.0-70, 3.13.0-71, 3.13.0-73 を含むものを検索
$ aptitude search ~i\(3\.13\.0-7[013]\)
i linux-headers-3.13.0-70 - Header files related to Linux kernel version 3.13.0
i linux-headers-3.13.0-70-generic - Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
i linux-headers-3.13.0-71 - Header files related to Linux kernel version 3.13.0
i linux-headers-3.13.0-71-generic - Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
i linux-headers-3.13.0-73 - Header files related to Linux kernel version 3.13.0
i linux-headers-3.13.0-73-generic - Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
不要なカーネルパッケージを削除する。
# 「-F %p」はパッケージ名のみ表示するフォーマット指定
$ sudo aptitude purge $(aptitude search ~i\(3\.13\.0-7[013]\) -F %p)
削除したパッケージで設定ファイルが残っているものを削除する
# パッケージを確認する
$ aptitude search ~c
# パッケージを削除する
$ sudo aptitude purge $(aptitude search ~c -F %p)