CentOSで不要カーネルの削除
サーバを利用して時間が経過すると溜まってくるLinuxのkernelの削除方法の備忘録。
忘れるたびに調べているのでメモを残します。
特にVPSなどを利用していてディスクに余裕がないときには、定期的に削除を行わないとディスクを圧迫されてしまいます。
容量不足で更新ができなくなる方もいるのでは。
カーネルの削除
カーネルの削除はyum-utilsというものをインストールして行うのが一般的なようです。
こちらを使うことで簡単に不要なカーネルを削除できます。
[root@metal ~]# yum install yum-utils [root@metal ~]# rpm -q kernel [root@metal ~]# uname -r [root@metal ~]# package-cleanup --oldkernels --count=3
rpmコマンドから現在残っているカーネルを確認して、unameで現在利用しているカーネルを確認します。
利用しているカーネルが最新でない場合にはrebootを行うことで最新にすることができます。
最後のコマンドで削除を行っていますが、これは古いものを3世代残すという設定になります。
個人的には2世代くらい残せばいいかなぁって気がしますが、一旦3世代残しています。
カーネルのローテート
ローテートと呼んでいいのかはわかりませんが、残す世代を少なくする設定を行います。
[root@metal ~]# cp /etc/yum.conf /etc/yum.conf.org [root@metal ~]# vi /etc/yum.conf [root@metal ~]# diff /etc/yum.conf.org /etc/yum.conf 10c10 < installonly_limit=5 --- > installonly_limit=3
installonly_limitを3にすることで残していくカーネルの数を変更しています。
ちなみにこのinstallonly_limitですが、正確にはカーネルの残す数の設定ではありません。
正しくはinstallonlypkgsに指定されているものを残しておく数になります。
installonlypkgsはインストール可能でも自動で更新しない(したくない)ものを設定しておくオプションです。
デフォルトではカーネル系が対象になります。
なので、初期状態ではここを変更することでカーネルの数を調整できるということになります。
pkgsの方に設定を追加、上書きしている場合にはそちらを残す数の設定になります。
あとがき
普段頻繁に使わない設定やコマンドはすぐに忘れてしまいますね。
やはりサーバには自分用の手順書が必要だと感じます。
気付いたら自分もいろんな手順が手元にあるので、仕事でもプライベートでもサーバ建てるときに重宝しています。