CUBE SUGAR CONTAINER

技術系のこと書きます。

CentOS7 で不要になった古いカーネルを削除する

CentOS7 のカーネルは定期的にアップデートされるけど、何もしないとアップデート後も古いカーネルはそのままディスク上に残っている。 古いカーネルが残ること自体は、新しいカーネルで何か問題があったときに古いバージョンに戻すことができるのでむしろ良い面もある。 ただ、長い間放置しているとディスクのスペース的にたまに問題が起こる。

カーネルをアップデートする際、パーティションのサイズに余裕がないと以下のようにエラーになってしまう。

$ sudo yum -y update
...(省略)...
Transaction check error:
  installing package kernel-3.10.0-229.14.1.el7.x86_64 needs 30MB on the /boot filesystem

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

その場合には、yum-utils をインストールした上で package-cleanup コマンドを使って古いカーネルを削除する必要がある。

$ sudo yum -y install yum-utils
$ sudo package-cleanup --oldkernels --count=1 -y

上記の操作でパーティションに空きができたら、改めてアップデートをかける。

$ sudo yum -y update
...(省略)...

完了しました!

めでたしめでたし。