容量の限られた/boot用パーティション
Linuxのセオリーではブート用のカーネルはHDDの先頭100MBにインストールすることが推奨されています。(今ではそうでなくても普通に起動します。)
カーネル自体は圧縮されており、全部で5MB程度なので、普通は100MBもあれば十分です。しかしカーネルのアップグレードを何度も繰り返していると、バックアップファイルが貯まり、知らず知らずのうちに容量不足になることも。
「新しいカーネルのアップデートをしたいけど、/bootディレクトリの容量が足りない。かと言って自分で削除するのは怖い」そんな時はyum-utilsを使いましょう。
yum-utilsのインストール
# yum install yum-utils Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: yum-utils noarch 1.1.16-21.el5.centos base 74 k Transaction Summary ================================================================================ Install 1 Package(s) Upgrade 0 Package(s) Total download size: 74 k Is this ok [y/N]: y ←イエスの「y」を入力してエンター Downloading Packages: yum-utils-1.1.16-21.el5.centos.noarch.rpm | 74 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : yum-utils 1/1 Installed: yum-utils.noarch 0:1.1.16-21.el5.centos Complete!
最新のカーネルを3つだけ残して残りを削除
# package-cleanup --oldkernels --count=3 Setting up yum I will remove the following 3 kernel related packages: kernel-xen-2.6.18-348.12.1.el5 kernel-xen-2.6.18-348.6.1.el5 kernel-xen-devel-2.6.18-371.4.1.el5 Is this ok [y/N]: y ←イエスの「y」を入力してエンター
以下元々インストールされていたもの
/boot/initrd-2.6.18-371.1.2.el5xen.img /boot/xen-syms-2.6.18-371.1.2.el5 /boot/symvers-2.6.18-371.1.2.el5xen.gz /boot/vmlinuz-2.6.18-371.1.2.el5xen /boot/System.map-2.6.18-371.1.2.el5xen /boot/config-2.6.18-371.1.2.el5xen /boot/.vmlinuz-2.6.18-371.1.2.el5xen.hmac /boot/xen.gz-2.6.18-371.1.2.el5 /boot/initrd-2.6.18-348.18.1.el5xen.img /boot/xen-syms-2.6.18-348.18.1.el5 /boot/symvers-2.6.18-348.18.1.el5xen.gz /boot/vmlinuz-2.6.18-348.18.1.el5xen /boot/System.map-2.6.18-348.18.1.el5xen /boot/config-2.6.18-348.18.1.el5xen /boot/.vmlinuz-2.6.18-348.18.1.el5xen.hmac /boot/xen.gz-2.6.18-348.18.1.el5 /boot/initrd-2.6.18-348.16.1.el5xen.img /boot/xen-syms-2.6.18-348.16.1.el5 /boot/symvers-2.6.18-348.16.1.el5xen.gz /boot/.vmlinuz-2.6.18-348.16.1.el5xen.hmac /boot/vmlinuz-2.6.18-348.16.1.el5xen /boot/System.map-2.6.18-348.16.1.el5xen /boot/config-2.6.18-348.16.1.el5xen /boot/xen.gz-2.6.18-348.16.1.el5 /boot/initrd-2.6.18-348.12.1.el5xen.img /boot/xen-syms-2.6.18-348.12.1.el5 /boot/symvers-2.6.18-348.12.1.el5xen.gz /boot/vmlinuz-2.6.18-348.12.1.el5xen /boot/.vmlinuz-2.6.18-348.12.1.el5xen.hmac /boot/System.map-2.6.18-348.12.1.el5xen /boot/config-2.6.18-348.12.1.el5xen /boot/xen.gz-2.6.18-348.12.1.el5 /boot/initrd-2.6.18-348.6.1.el5xen.img /boot/xen-syms-2.6.18-348.6.1.el5 /boot/symvers-2.6.18-348.6.1.el5xen.gz /boot/vmlinuz-2.6.18-348.6.1.el5xen /boot/System.map-2.6.18-348.6.1.el5xen /boot/config-2.6.18-348.6.1.el5xen /boot/.vmlinuz-2.6.18-348.6.1.el5xen.hmac /boot/xen.gz-2.6.18-348.6.1.el5 /boot/message
実行後
/boot/initrd-2.6.18-371.1.2.el5xen.img /boot/xen-syms-2.6.18-371.1.2.el5 /boot/symvers-2.6.18-371.1.2.el5xen.gz /boot/vmlinuz-2.6.18-371.1.2.el5xen /boot/System.map-2.6.18-371.1.2.el5xen /boot/config-2.6.18-371.1.2.el5xen /boot/.vmlinuz-2.6.18-371.1.2.el5xen.hmac /boot/xen.gz-2.6.18-371.1.2.el5 /boot/initrd-2.6.18-348.18.1.el5xen.img /boot/xen-syms-2.6.18-348.18.1.el5 /boot/symvers-2.6.18-348.18.1.el5xen.gz /boot/vmlinuz-2.6.18-348.18.1.el5xen /boot/System.map-2.6.18-348.18.1.el5xen /boot/config-2.6.18-348.18.1.el5xen /boot/.vmlinuz-2.6.18-348.18.1.el5xen.hmac /boot/xen.gz-2.6.18-348.18.1.el5 /boot/initrd-2.6.18-348.16.1.el5xen.img /boot/xen-syms-2.6.18-348.16.1.el5 /boot/symvers-2.6.18-348.16.1.el5xen.gz /boot/.vmlinuz-2.6.18-348.16.1.el5xen.hmac /boot/vmlinuz-2.6.18-348.16.1.el5xen /boot/System.map-2.6.18-348.16.1.el5xen /boot/config-2.6.18-348.16.1.el5xen /boot/xen.gz-2.6.18-348.16.1.el5 /boot/message
最新のものを3つを残して削除されています。
yum-utilsで削除する利点はgrubも掃除してくれることです。
# cat /boot/grub/grub.conf
title CentOS (2.6.18-371.1.2.el5xen)
root (hd0,0)
kernel /vmlinuz-2.6.18-371.1.2.el5xen ro root=LABEL=/ console=xvc0
initrd /initrd-2.6.18-371.1.2.el5xen.img
title CentOS (2.6.18-348.18.1.el5xen)
root (hd0,0)
kernel /vmlinuz-2.6.18-348.18.1.el5xen ro root=LABEL=/ console=xvc0
initrd /initrd-2.6.18-348.18.1.el5xen.img
title CentOS (2.6.18-348.16.1.el5xen)
root (hd0,0)
kernel /vmlinuz-2.6.18-348.16.1.el5xen ro root=LABEL=/ console=xvc0
initrd /initrd-2.6.18-348.16.1.el5xen.img
これなら必要なファイルを誤って削除してしまうような事故は避けられますね。