CentOS、RHELおよびFedoraで古い未使用のカーネルを削除する方法


この記事では、 RHEL/CentOS/Fedora システムで古い/未使用のカーネルイメージを削除する方法を説明します。ただし、古いカーネルを削除する前に、カーネルを最新の状態に保つことが重要です。新しいカーネル機能を活用し、古いバージョンで発見された脆弱性からシステムを保護するために最新バージョンをインストールしてください。

RHEL/CentOS/Fedora システムに最新のカーネルバージョンをインストールまたはアップグレードするには、このガイドをお読みください。

  1. How to Install or Upgrade to Latest Kernel Version in CentOS 7

システムで実行中の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

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は新しいバージョンのyumパッケージマネージャであるdnfパッケージマネージャを使用するようになりました。そのため、以下のコマンドを使用してFedora上の古いカーネルを削除する必要があります。

# dnf remove $(dnf repoquery --installonly --latest-limit 2 -q) 

古いカーネルを自動的に削除するもう1つの方法は、示されているように yum.conf ファイルでカーネル制限を設定することです。

installonly_limit=2		#set kernel count

ファイルを保存して閉じます。次回アップデートを実行するときには、2つのカーネルだけがシステムに残ります。

Linuxカーネルに関する以下の関連記事も読んでください。

  1. How to Load and Unload Kernel Modules in Linux
  2. How to Upgrade Kernel to Latest Version in Ubuntu
  3. How to Change Kernel Runtime Parameters in a Persistent and Non-Persistent Way

この記事では、RHEL/CentOS/Fedoraシステムで古い/未使用のカーネルイメージを削除する方法について説明しました。あなたは以下からのフィードバックを介して任意の考えを共有することができます。