/boot容量が足りなくなってカーネルのアップデートに失敗

※記事内に商品プロモーションを含む場合があります

webmin上でアップデートの通知が来ていたのでアップデートを行いました。
しかし、更新が早いなと思い確認するとInstall Failedも文字が。

/boot領域はカーネルぐらしか入れないので100MBの容量しかありません。
その容量が92%使用で空き領域が8%しか無く、更新が出来ない様です。

カーネルは更新されると複数インストールされる形になります。

試しにrpm -q kernelで確認したら5つもカーネルがインストールされていました。

5つもLinuxカーネルがインストールされたCentOS7

CentOS7の古いカーネルを削除して/boot領域の開放

/bootの空き容量を空けるには古いカーネルを削除します。

カーネルは基本的には再起動しないと古いカーネルのままです。
長い間再起動してない場合は再起動する事をおすすめします。

古いカーネルを実行中だと、実行中のカーネルは削除出来ません。
uname -aで現在実行中のカーネルを確認出来ます。

古いカーネルの削除にはyum-utilsが必要。
yum info yum-utilsで確認し、
もしインストールされてない場合はyum install yum-utilsでインストールします。

 

古いカーネルの削除には
package-cleanup –oldkernels –count 2
を使います。

–count 2はカーネルを2世代残すオプション。
最新バージョンのカーネルと一つ古いカーネルの2つのみ残して
残りの古いカーネルを削除します。

古いカーネルが実行中の場合は削除出来ないのでエラーが発生します。
削除出来るとRemoved:で表示されます。

CentOS7で/boot領域を空けるため古いカーネルを削除した所

削除後、rpm -q kernelで確認すると2つに減っています。
使用量も91%から61%に減りました。

/bootの空き領域の確認はdf /bootで出来ます。

今回の方法はカーネルを削除するので場合によってはシステムが
起動しなくなる可能性もあります。
行う際は自己責任でお願いします。

参考にしたサイト

CentOS 6.5で/bootの残容量が減ってきたので対処
私の環境はさくらのVPS上にインストールしたCentOS7です。