yum updateがディスク容量不足で失敗した場合

AlmaLinux

結論

# package-cleanup --oldkernels --count=3

で、古いカーネルを削除しましょう。

途中経過

yum update中にディスク容量不足で失敗した。

[root@test ~]# yum update
読み込んだプラグイン:elrepo, fastestmirror, langpacks
Determining fastest mirrors
epel/x86_64/metalink                                                                                          | 3.7 kB  00:00:00
 * base: ftp.iij.ad.jp
 * centosplus: ftp.iij.ad.jp
 * elrepo: ftp.ne.jp
 * epel: ftp.riken.jp

~~中略~~

Transaction check error:
  installing package kernel-plus-3.10.0-1160.59.1.el7.centos.plus.x86_64 needs 8MB on the /boot filesystem
  installing package kernel-3.10.0-1160.59.1.el7.x86_64 needs 40MB on the /boot filesystem

エラーの要約
-------------
ディスク要求:
  少なくとも 40MB の空き容量がファイルシステム /boot で必要です。

ディスク容量を確認すると、/bootが95%も使用していた。

[root@test ~]# df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         234M     0  234M    0% /dev
tmpfs            244M     0  244M    0% /dev/shm
tmpfs            244M   29M  215M   12% /run
tmpfs            244M     0  244M    0% /sys/fs/cgroup
/dev/vda4         21G  4.3G   15G   23% /
/dev/vda2        477M  423M   25M   95% /boot
/dev/vda5         25G   45M   24G    1% /data
tmpfs             49M     0   49M    0% /run/user/1000

大抵の場合、古いカーネルが容量を占めていることが多いので、それらを削除する。

カーネルファイルは下記のコマンドで確認できる。

[root@test ~]# ls -lha /boot/initramfs-*
-rw-------. 1 root root 60M  5月 18  2020 /boot/initramfs-0-rescue-976dc46c64fe482a805ddfa3b6c0fdae.img
-rw-------  1 root root 60M 10月 15  2020 /boot/initramfs-0-rescue-e114301acec3224e34c18851dbc337bf.img
-rw-------  1 root root 18M 12月 20 14:04 /boot/initramfs-3.10.0-1160.36.2.el7.centos.plus.x86_64.img
-rw-------  1 root root 18M 12月 20 14:04 /boot/initramfs-3.10.0-1160.36.2.el7.x86_64.img
-rw-------  1 root root 18M 12月 20 14:05 /boot/initramfs-3.10.0-1160.42.2.el7.centos.plus.x86_64.img
-rw-------  1 root root 18M 12月 20 14:05 /boot/initramfs-3.10.0-1160.42.2.el7.x86_64.img
-rw-------  1 root root 18M 12月 20 14:06 /boot/initramfs-3.10.0-1160.45.1.el7.centos.plus.x86_64.img
-rw-------  1 root root 18M 12月 20 14:07 /boot/initramfs-3.10.0-1160.45.1.el7.x86_64.img
-rw-------  1 root root 18M 12月 20 14:09 /boot/initramfs-3.10.0-1160.49.1.el7.centos.plus.x86_64.img
-rw-------  1 root root 18M 12月 20 14:08 /boot/initramfs-3.10.0-1160.49.1.el7.x86_64.img
-rw-------  1 root root 18M  2月  7 18:10 /boot/initramfs-3.10.0-1160.53.1.el7.centos.plus.x86_64.img
-rw-------  1 root root 18M  2月  7 18:09 /boot/initramfs-3.10.0-1160.53.1.el7.x86_64.img

削除用コマンドが登録されていることを確認。

[root@test ~]# which package-cleanup
/bin/package-cleanup

もし、package-cleanup not foundになる場合は、yum-utilsをインストールする。

# yum install yum-utils

下記コマンドで、3つ(インストールされている新しいものから3つ)を残して削除する。

# package-cleanup --oldkernels --count=3

--count=1にした場合、最新の1つを除き削除になります。旧バージョンをいくつ残すかは自身で判断して下さい。

[root@test ~]# package-cleanup --oldkernels --count=3
読み込んだプラグイン:elrepo, fastestmirror, langpacks
--> トランザクションの確認を実行しています。
---> パッケージ kernel.x86_64 0:3.10.0-1160.36.2.el7 を 削除
---> パッケージ kernel.x86_64 0:3.10.0-1160.42.2.el7 を 削除
---> パッケージ kernel-devel.x86_64 0:3.10.0-1160.36.2.el7 を 削除
---> パッケージ kernel-devel.x86_64 0:3.10.0-1160.42.2.el7 を 削除
---> パッケージ kernel-plus.x86_64 0:3.10.0-1160.36.2.el7.centos.plus を 削除
---> パッケージ kernel-plus.x86_64 0:3.10.0-1160.42.2.el7.centos.plus を 削除
--> 依存性解決を終了しました。

依存性を解決しました

=====================================================================================================================================
 Package                     アーキテクチャー      バージョン                                       リポジトリー                容量
=====================================================================================================================================
削除中:
 kernel                      x86_64                3.10.0-1160.36.2.el7                             @updates                    64 M
 kernel                      x86_64                3.10.0-1160.42.2.el7                             @updates                    64 M
 kernel-devel                x86_64                3.10.0-1160.36.2.el7                             @updates                    38 M
 kernel-devel                x86_64                3.10.0-1160.42.2.el7                             @updates                    38 M
 kernel-plus                 x86_64                3.10.0-1160.36.2.el7.centos.plus                 @centosplus                 65 M
 kernel-plus                 x86_64                3.10.0-1160.42.2.el7.centos.plus                 @centosplus                 65 M

トランザクションの要約
=====================================================================================================================================
削除  6 パッケージ

インストール容量: 335 M
上記の処理を行います。よろしいでしょうか? [y/N]y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  削除中                  : kernel-devel.x86_64                                                                                  1/6
  削除中                  : kernel.x86_64                                                                                        2/6
警告: ファイル /lib/modules/3.10.0-1160.36.2.el7.x86_64/updates: 削除に失敗しました: そのようなファイルやディレクトリはありません
  削除中                  : kernel-plus.x86_64                                                                                   3/6
警告: ファイル /lib/modules/3.10.0-1160.42.2.el7.centos.plus.x86_64/updates: 削除に失敗しました: そのようなファイルやディレクトリはありません
  削除中                  : kernel-devel.x86_64                                                                                  4/6
  削除中                  : kernel.x86_64                                                                                        5/6
警告: ファイル /lib/modules/3.10.0-1160.42.2.el7.x86_64/updates: 削除に失敗しました: そのようなファイルやディレクトリはありません
  削除中                  : kernel-plus.x86_64                                                                                   6/6
警告: ファイル /lib/modules/3.10.0-1160.36.2.el7.centos.plus.x86_64/updates: 削除に失敗しました: そのようなファイルやディレクトリはありません
  検証中                  : kernel-plus-3.10.0-1160.36.2.el7.centos.plus.x86_64                                                  1/6
  検証中                  : kernel-3.10.0-1160.42.2.el7.x86_64                                                                   2/6
  検証中                  : kernel-devel-3.10.0-1160.42.2.el7.x86_64                                                             3/6
  検証中                  : kernel-plus-3.10.0-1160.42.2.el7.centos.plus.x86_64                                                  4/6
  検証中                  : kernel-3.10.0-1160.36.2.el7.x86_64                                                                   5/6
  検証中                  : kernel-devel-3.10.0-1160.36.2.el7.x86_64                                                             6/6

削除しました:
  kernel.x86_64 0:3.10.0-1160.36.2.el7                              kernel.x86_64 0:3.10.0-1160.42.2.el7
  kernel-devel.x86_64 0:3.10.0-1160.36.2.el7                        kernel-devel.x86_64 0:3.10.0-1160.42.2.el7
  kernel-plus.x86_64 0:3.10.0-1160.36.2.el7.centos.plus             kernel-plus.x86_64 0:3.10.0-1160.42.2.el7.centos.plus

完了しました!

途中で「ファイル無しエラー」を吐いてるものの、削除は完了。

ディスク容量と、カーネルファイルの確認。

[root@test ~]# df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         234M     0  234M    0% /dev
tmpfs            244M     0  244M    0% /dev/shm
tmpfs            244M   29M  215M   12% /run
tmpfs            244M     0  244M    0% /sys/fs/cgroup
/dev/vda4         21G  4.1G   16G   22% /
/dev/vda2        477M  311M  138M   70% /boot
/dev/vda5         25G   45M   24G    1% /data
tmpfs             49M     0   49M    0% /run/user/1000
[root@test ~]# ls -lha /boot/initramfs-*
-rw-------. 1 root root 60M  5月 18  2020 /boot/initramfs-0-rescue-976dc46c64fe482a805ddfa3b6c0fdae.img
-rw-------  1 root root 60M 10月 15  2020 /boot/initramfs-0-rescue-e114301acec3224e34c18851dbc337bf.img
-rw-------  1 root root 18M 12月 20 14:06 /boot/initramfs-3.10.0-1160.45.1.el7.centos.plus.x86_64.img
-rw-------  1 root root 18M 12月 20 14:07 /boot/initramfs-3.10.0-1160.45.1.el7.x86_64.img
-rw-------  1 root root 18M 12月 20 14:09 /boot/initramfs-3.10.0-1160.49.1.el7.centos.plus.x86_64.img
-rw-------  1 root root 18M 12月 20 14:08 /boot/initramfs-3.10.0-1160.49.1.el7.x86_64.img
-rw-------  1 root root 18M  2月  7 18:10 /boot/initramfs-3.10.0-1160.53.1.el7.centos.plus.x86_64.img
-rw-------  1 root root 18M  2月  7 18:09 /boot/initramfs-3.10.0-1160.53.1.el7.x86_64.img

/bootの使用率が95%から70%に減って、ファイルも削除されているのが確認出来ます。

改めてyum updateをしたら完了出来ました。

めでたしめでたし。

この記事についての注意

各種コマンドはrootユーザーで実行していますが、セキュリティの為にも一般ユーザーでsudoコマンドを使用して下さい。

コメント

タイトルとURLをコピーしました