設定 - レガシーカーネル

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
2020年6月20日 (土) 10:43時点におけるWiki (トーク | 投稿記録)による版 (→‎古いカーネルを削除する)
ナビゲーションに移動 検索に移動

概要

一般的に、カーネルをアップデートしても古いカーネルは削除せず、
新バージョンとともに旧バージョンのカーネルもGRUBから起動できるようにすることが多い。
新バージョンがうまく動かない場合を考えると安心できるシステムだが、カーネルのアップデートが比較的短い間隔で行われるディストリビューションでは、
ディスクスペースが圧迫されてしまうしGRUBのメニューも煩雑になる。


古いカーネルを削除する

CentOS

CentOSでは、yum-utilsというパッケージが用意されており、その中のpackage-cleanupコマンドを実行すれば、古いカーネルを簡単に削除できる。
まず、以下のコマンドを入力し、yum-utilsをインストールする。

sudo yum install yum-utils


yum-utilsのインストールが完了したら、--oldkernelsオプションを付けてpackage-cleanupコマンドを実行する。

sudo package-cleanup --oldkernels


初期設定では、最新カーネルと1世代前のカーネルを残し、それよりも古いカーネル(kernelとkernel-devel)が削除される。
もっと古いカーネルも残したい場合は、”package-cleanup”コマンド実行時に、”--count=残すカーネル数”を追加する。
例えば、最新版および2世代前のカーネルまで残すなら、以下のようにする。

sudo package-cleanup --oldkernels --count=3


SUSE

SUSEでは、古いカーネルは、SUSEが新しいカーネルで正常に再起動した後にのみ削除される。

複数のカーネルのマルチバージョンサポートは、デフォルトで有効になっている。
この設定を確認するには、次の手順に従う。
/etc/zypp/zypp.confファイルを開いて、multiversion項目に記述されている設定を確認する。
マルチバージョンが有効になっている場合、次の行はコメント化されていない。

multiversion = provides:multiversion(kernel)


また、マルチバージョンのサポートを特定のカーネルに制限するには、multiversion項目にパッケージ名をカンマ区切りのリストとして追加する。

/etc/zypp/zypp.confファイルの次の行を以下のように変更する。

multiversion = kernel-default,kernel-default-base,kernel-source


  • 最新のカーネルと実行中のカーネルが異なる場合にのみ、それらを維持する場合
    multiversion.kernels = latest,running
  • 1つまたは複数のカーネルを維持する場合(以下の例では、最新のカーネルと1つ前のカーネルを維持)
    multiversion.kernels = latest,latest-1,running