CentOS 古いカーネルを削除する(boot領域を確保)


無料Linux入門マニュアル無料ダウンロード

今だけ2,200円のLinux入門PDFマニュアルが【数量限定】で無料ダウンロードできます。
Linux入門マニュアル無料ダウンロードはこちらをクリック

yum updateなどでシステムを更新し続けていると、
過去更新したカーネルが/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



無料Linux入門マニュアル無料ダウンロード

今だけ2,200円のLinux入門PDFマニュアルが【数量限定】で無料ダウンロードできます。
Linux入門マニュアル無料ダウンロードはこちらをクリック


<<関連記事>>
・LinuxのOS種類とバージョンを確認する
・Perlモジュールを一覧表示する
・Linuxのシステムクロック、ハードウェアクロック
・Linuxログの調査をする
・システム終了を中止する

Linux入門マニュアル無料ダウンロード