過去更新したカーネルが/boot領域に蓄積され、
容量を圧迫してしまい、更新が出来なくなくなる場合があります。
そのような場合は、古いカーネルを削除することで解決できます。
ちなみに、Red Hatでは下記のようにアナウンスされています。
新しいカーネルで問題がある可能性を考慮し、古いカーネルの維持を強くお薦めします。
アップグレードの実行
これは、カーネルアップデートした後に、
万が一問題が発生しても、あえて削除せず古いカーネルを残す事で、
元に戻せるようにしています。
しかし、旧カーネルを残した状態で、新カーネルの動作確認が充分にできれば、
古いカーネルは削除しても問題ありません。
古いカーネルの削除を実行
1./boot領域のサイズを確認します。$ df -h /boot ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/sda1 497M 232M 266M 47% /boot
2.インストールされているカーネルの確認をします。
$ rpm -q kernel kernel-3.10.0-957.1.3.el7.x86_64 kernel-3.10.0-957.21.3.el7.x86_64 kernel-3.10.0-957.27.2.el7.x86_64 kernel-3.10.0-1062.4.3.el7.x86_64 kernel-3.10.0-1062.9.1.el7.x86_64
3.古いカーネルの削除を実行します。
「package-cleanup --oldkernels」を実行することで、古いカーネルを削除できます。
$ su - パスワード: # package-cleanup --oldkernels 読み込んだプラグイン:fastestmirror, langpacks --> トランザクションの確認を実行しています。 ---> パッケージ kernel.x86_64 0:3.10.0-957.1.3.el7 を 削除 ---> パッケージ kernel.x86_64 0:3.10.0-957.21.3.el7 を 削除 ---> パッケージ kernel.x86_64 0:3.10.0-957.27.2.el7 を 削除 〜中略〜 トランザクションの要約 =================================== 削除 6 パッケージ インストール容量: 301 M 上記の処理を行います。よろしいでしょうか? [y/N]y ↑「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 削除中 : kernel.x86_64 3/6 削除中 : kernel-devel.x86_64 4/6 削除中 : kernel-devel.x86_64 5/6 削除中 : kernel.x86_64 6/6 〜中略〜 完了しました!
古いカーネルを削除せず残す場合
--oldkernelsを指定することで、古いkernel/kernel-develを削除しますが、
「package-cleanup --oldkernels --count=3」と指定することで、
現世代を含む3世代のカーネルを残ることができます。
指定しない場合は、現世代を含む2世代のカーネルを残します。
古いカーネルの削除が実行出来ない場合
package-cleanupコマンドが使用できない場合は、
別途インスールが必要です。
下記コマンドを実行して、package-cleanupコマンドをインスールしてください。
# yum install -y yum-utils
古いカーネルを削除後の確認
1.サーバーを再起動します。
# shutdown -r now
2./boot領域のサイズを確認します。
使用量が、47%→29%に減っている事が分かります。
$ df -h /boot
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/sda1 497M 140M 358M 29% /boot
3.インストールされているカーネルの確認をします。
$ rpm -q kernel
kernel-3.10.0-1062.4.3.el7.x86_64
kernel-3.10.0-1062.9.1.el7.x86_64
保持するカーネル世代の上限を指定する
カーネルは更新するたびに歴管理され、どんどん増えていきますが、
/etc/yum.confファイルにinstallonly_limitパラメーターを設定することで
保持する歴の上限を指定する事ができます。
デフォルトでは5になっていますが、ここを変更することで
保持する歴の上限を指定できます。
# vi /etc/yum.conf
installonly_limit=5
P.S
CentOS 古いカーネルを削除する(boot領域を確保)など、より高度な現場のLinux技術をマスターしたいなら
↓
詳しくはこちらをクリック
P.P.S
Linux入門マニュアルが無料ダウンロードできます。
↓
ダウンロードはこちらをクリック
<<関連記事>>
・LinuxのOS種類とバージョンを確認する
・Perlモジュールを一覧表示する
・Linuxのシステムクロック、ハードウェアクロック
・Linuxログの調査をする
・システム終了を中止する
# yum install -y yum-utils
# shutdown -r now
$ df -h /boot ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/sda1 497M 140M 358M 29% /boot
$ rpm -q kernel kernel-3.10.0-1062.4.3.el7.x86_64 kernel-3.10.0-1062.9.1.el7.x86_64
# vi /etc/yum.conf installonly_limit=5