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


人気セミナーリナックスマスター2日間集中セミナー【CentOS7版】

現場で使えるLinuxサーバーを構築しながら、
その技術を体系的に学べる「初心者向けLinuxセミナー」です。
独学で1年以上掛かる技術を、たった2日で習得できます。


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の転職に強い転職サイト・転職エージェント【厳選3選】


人気記事CentOS7サーバー構築マニュアルを無料プレゼント



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

スポンサードリンク


■CentOS7サーバー構築マニュアルを無料プレゼント
下記3冊のマニュアルを無料プレゼントしています。
・CentOS7サーバー構築マニュアル(105ページ)
・VMware Playerで作る仮想Linux環境構築マニュアル(40ページ)
・DB(PostgreSQL・MySQL)構築・CentOSバージョンアップマニュアル(33ページ)


詳細は↓をいますぐクリックしてください。
 無料マニュアルをダウンロードする  ホームスタディ講座【初級編】