CentOS、RHEL、Fedora で古い未使用のカーネルを削除する方法
この記事では、RHEL/CentOS/Fedora システムで古い/未使用のカーネル イメージを削除する方法を説明します。ただし、古いカーネルを削除する前に、カーネルを最新の状態に保つことが重要です。新しいカーネル機能を活用し、古いバージョンで発見された脆弱性からシステムを保護するために、最新バージョンをインストールしてください。
RHEL/CentOS/Fedora システムで最新のカーネル バージョンをインストールまたはアップグレードするには、このガイドをお読みください。
- CentOS 7 で最新のカーネル バージョンをインストールまたはアップグレードする方法
注意: 逆に、アップデートで問題が発生した場合に備えて、少なくとも 1 つまたは 2 つの古いカーネルを保持しておくことをお勧めします。
システム上で実行されている Linux (カーネル) の現在のバージョンを表示するには、次のコマンドを実行します。
uname -sr
Linux 3.10.0-327.10.1.el7.x86_64
システムにインストールされているすべてのカーネルをリストする
次のように、システムにインストールされているすべてのカーネル イメージを一覧表示できます。
rpm -q kernel
kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.14.1.el7.x86_64
kernel-3.10.0-327.3.1.el7.x86_64
kernel-3.10.0-327.10.1.el7.x86_64
CentOS/RHEL での古い/未使用のカーネルの削除
yum-utils をインストールする必要があります。これは、yum と統合して元の機能をいくつかの異なる機能で拡張することにより、より強力で使いやすくする一連のユーティリティです。方法。
yum install yum-utils
これらのユーティリティの 1 つはパッケージ クリーンアップで、以下に示すように古いカーネルを削除するために使用できます。カウント フラグは、システム上に残しておきたいカーネルの数を指定するために使用されます。
package-cleanup --oldkernels --count=2
Loaded plugins: fastestmirror, langpacks, product-id, versionlock
--> Running transaction check
---> Package kernel.x86_64 0:3.10.0-229.el7 will be erased
---> Package kernel.x86_64 0:3.10.0-229.14.1.el7 will be erased
---> Package kernel-devel.x86_64 0:3.10.0-229.1.2.el7 will be erased
---> Package kernel-devel.x86_64 0:3.10.0-229.14.1.el7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================================================================
Removing:
kernel x86_64 3.10.0-229.el7 @anaconda 131 M
kernel x86_64 3.10.0-229.14.1.el7 @updates 131 M
kernel-devel x86_64 3.10.0-229.1.2.el7 @updates 32 M
kernel-devel x86_64 3.10.0-229.14.1.el7 @updates 32 M
Transaction Summary
===============================================================================================================================================================================================
Remove 4 Packages
Installed size: 326 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : kernel-devel.x86_64 1/4
Erasing : kernel.x86_64 2/4
Erasing : kernel-devel.x86_64 3/4
Erasing : kernel.x86_64 4/4
Loading mirror speeds from cached hostfile
* base: centos.mirror.snu.edu.in
* epel: repo.ugm.ac.id
* extras: centos.mirror.snu.edu.in
* rpmforge: kartolo.sby.datautama.net.id
* updates: centos.mirror.snu.edu.in
Verifying : kernel-3.10.0-229.el7.x86_64 1/4
Verifying : kernel-devel-3.10.0-229.14.1.el7.x86_64 2/4
Verifying : kernel-3.10.0-229.14.1.el7.x86_64 3/4
Verifying : kernel-devel-3.10.0-229.1.2.el7.x86_64 4/4
Removed:
kernel.x86_64 0:3.10.0-229.el7 kernel.x86_64 0:3.10.0-229.14.1.el7 kernel-devel.x86_64 0:3.10.0-229.1.2.el7 kernel-devel.x86_64 0:3.10.0-229.14.1.el7
Complete!
重要: 上記のコマンドを実行すると、古い/未使用のカーネルがすべて削除され、現在実行中のカーネルと古い最新のカーネルがバックアップとして保持されます。
Fedora での古い/未使用のカーネルの削除
Fedora は現在、yum パッケージ マネージャーの新しいバージョンである dnf パッケージ マネージャーを使用しているため、Fedora 上の古いカーネルを削除するには、以下のコマンドを使用する必要があります。
dnf remove $(dnf repoquery --installonly --latest-limit 2 -q)
古いカーネルを自動的に削除するもう 1 つの方法は、次のように yum.conf ファイルでカーネル制限を設定することです。
installonly_limit=2 #set kernel count
ファイルを保存して閉じます。次回アップデートを実行すると、システムには 2 つのカーネルだけが残ります。
Linux カーネルに関する次の関連記事もお読みください。
- Linux でカーネル モジュールをロードおよびアンロードする方法
- Ubuntuでカーネルを最新バージョンにアップグレードする方法
- カーネル ランタイム パラメータを永続的および非永続的な方法で変更する方法
この記事では、RHEL/CentOS/Fedora システム上で古い/未使用のカーネル イメージを削除する方法について説明しました。以下のフィードバックを通じてご意見を共有できます。