タイトルが「Anacron job ‘cron.daily’ on server」のメールが届くようになりました。本文を読む限りではyumが正常に完了していないらしい。早速とりかかることにします。
届いたメールの詳細
毎朝4時頃に届くメールの内容は以下の通り。
Anacron job ‘cron.daily’ on server
/etc/cron.daily/0yum.cron: There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them. Transaction couldn't start: installing package kernel-2.6.32-573.3.1.el6.i686 needs 542KB on the /boot filesystem Error: Could not run transaction.
トランザクションが残っていて終了していません。yum-complete-transactionで終了できるかもしれない。
トランザクションを開始できない理由は/bootの空き容量不足でkernelの更新ができないこと、らしい。
yum-complete-transactionを実行してみる
# yum-complete-transaction 読み込んだプラグイン:fastestmirror, priorities Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * extras: www.ftp.ne.jp * rpmforge: ftp.kddilabs.jp * updates: www.ftp.ne.jp base | 3.7 kB 00:00 epel | 4.4 kB 00:00 extras | 3.4 kB 00:00 rpmforge | 1.9 kB 00:00 updates | 3.4 kB 00:00 126 packages excluded due to repository priority protections There are 3 outstanding transactions to complete. Finishing the most recent one The remaining transaction had 12 elements left to run --> トランザクションの確認を実行しています。 ---> Package kernel.i686 0:2.6.32-504.12.2.el6 will be 削除 ---> Package kernel.i686 0:2.6.32-573.3.1.el6 will be インストール ---> Package kernel-firmware.noarch 0:2.6.32-573.1.1.el6 will be 更新 ---> Package kernel-firmware.noarch 0:2.6.32-573.3.1.el6 will be an update ---> Package kernel-headers.i686 0:2.6.32-573.1.1.el6 will be 更新 ---> Package kernel-headers.i686 0:2.6.32-573.3.1.el6 will be an update ---> Package perf.i686 0:2.6.32-573.1.1.el6 will be 更新 ---> Package perf.i686 0:2.6.32-573.3.1.el6 will be an update ---> Package tzdata.noarch 0:2015e-1.el6 will be 更新 ---> Package tzdata.noarch 0:2015f-1.el6 will be an update ---> Package tzdata-java.noarch 0:2015e-1.el6 will be 更新 ---> Package tzdata-java.noarch 0:2015f-1.el6 will be an update --> 依存性解決を終了しました。 依存性を解決しました トランザクションの要約 ================================================================================ インストール 1 パッケージ アップグレード 5 パッケージ 削除 1 パッケージ 合計容量: 54 M これでいいですか? [y/N]y パッケージをダウンロードしています: rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行しています トランザクションを解しできません: installing package kernel-2.6.32-573.3.1.el6.i686 needs 542KB on the /boot filesystem [('installing package kernel-2.6.32-573.3.1.el6.i686 needs 542KB on the /boot filesystem', (9, '/boot', 555008L))] Not removing old transaction files
やはり/bootの空き容量不足が原因でトランザクション開始(解し?)に失敗しているっぽいので次に進みます。
/bootの状態確認
まずはdfで/bootの全体把握。
# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_server-LogVol01 476128304 6029788 445905904 2% / tmpfs 1419844 0 1419844 0% /dev/shm /dev/md0 194177 156381 27560 86% /boot
約200MB確保していた/bootの空き容量が28MB程度。
# ls -alh /boot 合計 151M dr-xr-xr-x. 5 root root 4.0K 8月 10 21:19 2015 . dr-xr-xr-x. 26 root root 4.0K 8月 17 03:47 2015 .. -rw-r--r-- 1 root root 169 3月 12 04:32 2015 .vmlinuz-2.6.32-504.12.2.el6.i686.hmac -rw-r--r-- 1 root root 169 4月 22 13:30 2015 .vmlinuz-2.6.32-504.16.2.el6.i686.hmac -rw-r--r-- 1 root root 169 6月 10 03:36 2015 .vmlinuz-2.6.32-504.23.4.el6.i686.hmac -rw-r--r-- 1 root root 169 7月 15 20:23 2015 .vmlinuz-2.6.32-504.30.3.el6.i686.hmac -rw-r--r-- 1 root root 168 7月 25 23:29 2015 .vmlinuz-2.6.32-573.1.1.el6.i686.hmac -rw-r--r-- 1 root root 2.0M 3月 12 04:32 2015 System.map-2.6.32-504.12.2.el6.i686 -rw-r--r-- 1 root root 2.0M 4月 22 13:30 2015 System.map-2.6.32-504.16.2.el6.i686 -rw-r--r-- 1 root root 2.0M 6月 10 03:36 2015 System.map-2.6.32-504.23.4.el6.i686 -rw-r--r-- 1 root root 2.0M 7月 15 20:23 2015 System.map-2.6.32-504.30.3.el6.i686 -rw-r--r-- 1 root root 2.0M 7月 25 23:29 2015 System.map-2.6.32-573.1.1.el6.i686 -rw-r--r-- 1 root root 109K 3月 12 04:32 2015 config-2.6.32-504.12.2.el6.i686 -rw-r--r-- 1 root root 109K 4月 22 13:30 2015 config-2.6.32-504.16.2.el6.i686 -rw-r--r-- 1 root root 109K 6月 10 03:36 2015 config-2.6.32-504.23.4.el6.i686 -rw-r--r-- 1 root root 109K 7月 15 20:23 2015 config-2.6.32-504.30.3.el6.i686 -rw-r--r-- 1 root root 110K 7月 25 23:29 2015 config-2.6.32-573.1.1.el6.i686 drwxr-xr-x. 3 root root 1.0K 7月 16 12:09 2013 efi drwxr-xr-x. 2 root root 1.0K 8月 9 04:47 2015 grub -rw------- 1 root root 18M 3月 13 04:29 2015 initramfs-2.6.32-504.12.2.el6.i686.img -rw------- 1 root root 18M 4月 23 03:52 2015 initramfs-2.6.32-504.16.2.el6.i686.img -rw------- 1 root root 18M 6月 11 03:58 2015 initramfs-2.6.32-504.23.4.el6.i686.img -rw------- 1 root root 18M 7月 17 03:32 2015 initramfs-2.6.32-504.30.3.el6.i686.img -rw------- 1 root root 23M 8月 9 04:47 2015 initramfs-2.6.32-573.1.1.el6.i686.img -rw------- 1 root root 5.9M 4月 17 04:25 2015 initrd-2.6.32-504.12.2.el6.i686kdump.img -rw------- 1 root root 5.7M 5月 13 22:11 2015 initrd-2.6.32-504.16.2.el6.i686kdump.img -rw------- 1 root root 5.7M 7月 6 01:11 2015 initrd-2.6.32-504.23.4.el6.i686kdump.img -rw------- 1 root root 6.0M 8月 9 04:33 2015 initrd-2.6.32-504.30.3.el6.i686kdump.img -rw------- 1 root root 5.8M 8月 10 21:19 2015 initrd-2.6.32-573.1.1.el6.i686kdump.img drwx------. 2 root root 12K 7月 16 11:46 2013 lost+found -rw-r--r-- 1 root root 192K 3月 12 04:33 2015 symvers-2.6.32-504.12.2.el6.i686.gz -rw-r--r-- 1 root root 192K 4月 22 13:31 2015 symvers-2.6.32-504.16.2.el6.i686.gz -rw-r--r-- 1 root root 192K 6月 10 03:36 2015 symvers-2.6.32-504.23.4.el6.i686.gz -rw-r--r-- 1 root root 192K 7月 15 20:23 2015 symvers-2.6.32-504.30.3.el6.i686.gz -rw-r--r-- 1 root root 198K 7月 25 23:29 2015 symvers-2.6.32-573.1.1.el6.i686.gz -rwxr-xr-x 1 root root 3.9M 3月 12 04:32 2015 vmlinuz-2.6.32-504.12.2.el6.i686 -rwxr-xr-x 1 root root 3.9M 4月 22 13:30 2015 vmlinuz-2.6.32-504.16.2.el6.i686 -rwxr-xr-x 1 root root 3.9M 6月 10 03:36 2015 vmlinuz-2.6.32-504.23.4.el6.i686 -rwxr-xr-x 1 root root 3.9M 7月 15 20:23 2015 vmlinuz-2.6.32-504.30.3.el6.i686 -rwxr-xr-x 1 root root 3.9M 7月 25 23:29 2015 vmlinuz-2.6.32-573.1.1.el6.i686
5世代分のkernelイメージが格納されているのが原因。でもこんなに古いバージョンを保存する必要あるのかな?
package-cleanupで安全に古いカーネルを削除する
package-cleanupコマンドを利用して、指定した世代分のカーネルを残し古いカーネルを削除します。今回は/bootの容量確保が目的なので、ひとまず3世代分を残して削除します。
# package-cleanup --oldkernels --count=3 読み込んだプラグイン:fastestmirror, priorities 終了していない残作業があります。それらを終了するために、まず yum-complete-transaction の実行を検討すべきかもしれません。 --> トランザクションの確認を実行しています。 ---> Package kernel.i686 0:2.6.32-504.12.2.el6 will be 削除 ---> Package kernel.i686 0:2.6.32-504.16.2.el6 will be 削除 --> 依存性解決を終了しました。 依存性を解決しました ================================================================================ パッケージ アーキテクチャ バージョン リポジトリー 容量 ================================================================================ 削除: kernel i686 2.6.32-504.12.2.el6 @updates 91 M kernel i686 2.6.32-504.16.2.el6 @updates 91 M トランザクションの要約 ================================================================================ 削除 2 パッケージ インストール済み容量: 182 M これでいいですか? [y/N]y パッケージをダウンロードしています: rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行しています 削除中 : kernel.i686 1/2 削除中 : kernel.i686 2/2 Verifying : kernel-2.6.32-504.16.2.el6.i686 1/2 Verifying : kernel-2.6.32-504.12.2.el6.i686 2/2 削除しました: kernel.i686 0:2.6.32-504.12.2.el6 kernel.i686 0:2.6.32-504.16.2.el6 完了しました!
再度yum-complete-transactionを実行する
# yum-complete-transaction 読み込んだプラグイン:fastestmirror, priorities Loading mirror speeds from cached hostfile * base: ftp.tsukuba.wide.ad.jp * extras: ftp.tsukuba.wide.ad.jp * rpmforge: ftp.kddilabs.jp * updates: ftp.tsukuba.wide.ad.jp 126 packages excluded due to repository priority protections There are 7 outstanding transactions to complete. Finishing the most recent one The remaining transaction had 12 elements left to run --> トランザクションの確認を実行しています。 ---> Package kernel.i686 0:2.6.32-573.3.1.el6 will be インストール ---> Package kernel-firmware.noarch 0:2.6.32-573.1.1.el6 will be 更新 ---> Package kernel-firmware.noarch 0:2.6.32-573.3.1.el6 will be an update ---> Package kernel-headers.i686 0:2.6.32-573.1.1.el6 will be 更新 ---> Package kernel-headers.i686 0:2.6.32-573.3.1.el6 will be an update ---> Package perf.i686 0:2.6.32-573.1.1.el6 will be 更新 ---> Package perf.i686 0:2.6.32-573.3.1.el6 will be an update ---> Package tzdata.noarch 0:2015e-1.el6 will be 更新 ---> Package tzdata.noarch 0:2015f-1.el6 will be an update ---> Package tzdata-java.noarch 0:2015e-1.el6 will be 更新 ---> Package tzdata-java.noarch 0:2015f-1.el6 will be an update --> 依存性解決を終了しました。 依存性を解決しました ================================================================================ パッケージ アーキテクチャ バージョン リポジトリー 容量 ================================================================================ インストールしています: kernel i686 2.6.32-573.3.1.el6 updates 28 M 更新: kernel-firmware noarch 2.6.32-573.3.1.el6 updates 18 M kernel-headers i686 2.6.32-573.3.1.el6 updates 3.9 M perf i686 2.6.32-573.3.1.el6 updates 4.1 M tzdata noarch 2015f-1.el6 updates 442 k tzdata-java noarch 2015f-1.el6 updates 176 k トランザクションの要約 ================================================================================ インストール 1 パッケージ アップグレード 5 パッケージ 合計容量: 54 M これでいいですか? [y/N]y パッケージをダウンロードしています: rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行しています 更新 : kernel-firmware-2.6.32-573.3.1.el6.noarch 1/11 インストールしています : kernel-2.6.32-573.3.1.el6.i686 2/11 更新 : kernel-headers-2.6.32-573.3.1.el6.i686 3/11 更新 : perf-2.6.32-573.3.1.el6.i686 4/11 更新 : tzdata-java-2015f-1.el6.noarch 5/11 更新 : tzdata-2015f-1.el6.noarch 6/11 整理中 : kernel-headers-2.6.32-573.1.1.el6.i686 7/11 整理中 : kernel-firmware-2.6.32-573.1.1.el6.noarch 8/11 整理中 : perf-2.6.32-573.1.1.el6.i686 9/11 整理中 : tzdata-java-2015e-1.el6.noarch 10/11 整理中 : tzdata-2015e-1.el6.noarch 11/11 Verifying : tzdata-2015f-1.el6.noarch 1/11 Verifying : tzdata-java-2015f-1.el6.noarch 2/11 Verifying : perf-2.6.32-573.3.1.el6.i686 3/11 Verifying : kernel-firmware-2.6.32-573.3.1.el6.noarch 4/11 Verifying : kernel-headers-2.6.32-573.3.1.el6.i686 5/11 Verifying : kernel-2.6.32-573.3.1.el6.i686 6/11 Verifying : tzdata-java-2015e-1.el6.noarch 7/11 Verifying : kernel-firmware-2.6.32-573.1.1.el6.noarch 8/11 Verifying : tzdata-2015e-1.el6.noarch 9/11 Verifying : perf-2.6.32-573.1.1.el6.i686 10/11 Verifying : kernel-headers-2.6.32-573.1.1.el6.i686 11/11 インストール: kernel.i686 0:2.6.32-573.3.1.el6 更新: kernel-firmware.noarch 0:2.6.32-573.3.1.el6 kernel-headers.i686 0:2.6.32-573.3.1.el6 perf.i686 0:2.6.32-573.3.1.el6 tzdata.noarch 0:2015f-1.el6 tzdata-java.noarch 0:2015f-1.el6 完了しました! Cleaning up completed transaction file # df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_server-LogVol01 455G 5.7G 426G 2% / tmpfs 1.4G 0 1.4G 0% /dev/shm /dev/md0 190M 124M 57M 69% /boot
これでようやく処理が終了。/bootの容量も確保したのでしばらく問題なし!
と思ったらメールが止まらない?
安心していたら翌日も「Anacron job ‘cron.daily’ on server」メールが届きました。
/etc/cron.daily/0yum.cron: There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
もう一回yum-complete-transactionを試します。
# yum-complete-transaction 読み込んだプラグイン:fastestmirror, priorities Loading mirror speeds from cached hostfile * base: ftp.tsukuba.wide.ad.jp * extras: ftp.tsukuba.wide.ad.jp * rpmforge: ftp.kddilabs.jp * updates: ftp.tsukuba.wide.ad.jp base | 3.7 kB 00:00 epel | 4.4 kB 00:00 extras | 3.4 kB 00:00 extras/primary_db | 26 kB 00:00 rpmforge | 1.9 kB 00:00 updates | 3.4 kB 00:00 126 packages excluded due to repository priority protections There are 6 outstanding transactions to complete. Finishing the most recent one The remaining transaction had 12 elements left to run パッケージ kernel-firmware-2.6.32-573.3.1.el6.noarch はインストール済みか最新バ ージョンです パッケージ kernel-2.6.32-573.3.1.el6.i686 はインストール済みか最新バージョンです パッケージ kernel-headers-2.6.32-573.3.1.el6.i686 はインストール済みか最新バージョンです パッケージ perf-2.6.32-573.3.1.el6.i686 はインストール済みか最新バージョンです パッケージ tzdata-java-2015f-1.el6.noarch はインストール済みか最新バージョンです パッケージ tzdata-2015f-1.el6.noarch はインストール済みか最新バージョンです Nothing in the unfinished transaction to cleanup. Cleaning up completed transaction file
まだメールが届くぞ?
次の朝もまたメールが届きました。一体どうなってるんだ?とyum-complete-transactionの結果を見比べてみるとThere are 5 outstanding transactions to complete. と数字が減っていることにきづきました。ならば0になるまで繰り返せば今度こそ終わるはず。
# yum-complete-transaction 読み込んだプラグイン:fastestmirror, priorities Loading mirror speeds from cached hostfile * base: ftp.tsukuba.wide.ad.jp * extras: ftp.tsukuba.wide.ad.jp * rpmforge: ftp.kddilabs.jp * updates: ftp.tsukuba.wide.ad.jp 126 packages excluded due to repository priority protections No unfinished transactions left.
No unfinished transactions left.と出たので今度こそ片付きました。