「There are unfinished transactions remaining」メールが届いた時の対応

タイトルが「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.と出たので今度こそ片付きました。

スポンサーリンク