「設定 - レガシーカーネル」の版間の差分
(→SUSE) |
細 (Wiki がページ「古いカーネルを削除する方法」を「設定 - レガシーカーネル」に、リダイレクトを残さずに移動しました) |
||
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
一般的に、カーネルをアップデートしても古いカーネルは削除せず、新バージョンとともに旧バージョンのカーネルもGRUBから起動できるようにすることが多い。<br> | |||
<br> | |||
新バージョンがうまく動かない場合を考えると安心できるシステムだが、カーネルのアップデートが比較的短い間隔で行われるディストリビューションでは、<br> | 新バージョンがうまく動かない場合を考えると安心できるシステムだが、カーネルのアップデートが比較的短い間隔で行われるディストリビューションでは、<br> | ||
ディスクスペースが圧迫されることやGRUBのメニューも煩雑になる。<br> | |||
<br><br> | <br><br> | ||
== 古いカーネルを削除する == | == 古いカーネルを削除する == | ||
===== | ===== RHEL ===== | ||
RHELでは、dnf-utilsというパッケージが用意されており、その中のpackage-cleanupコマンドを実行すれば、古いカーネルを簡単に削除できる。<br> | |||
まず、dnf-utilsをインストールする。<br> | |||
sudo | sudo dnf install dnf-utils | ||
<br> | <br> | ||
<code>--oldkernels</code>オプションを付加して、<code>package-cleanup</code>コマンドを実行する。<br> | |||
sudo package-cleanup --oldkernels | sudo package-cleanup --oldkernels | ||
<br> | <br> | ||
標準では、最新のカーネルと1世代前のカーネルを残して、2世代前以前のカーネル(kernelとkernel-devel)が削除される。<br> | |||
さらに古いカーネルも残す場合は、<code>package-cleanup</code>コマンドに、<code>--count=<残すカーネル数></code>オプションを付加する。<br> | |||
<br> | |||
以下の例では、最新のカーネルから2世代前のカーネルを残している。<br> | |||
sudo package-cleanup --oldkernels --count=3 | sudo package-cleanup --oldkernels --count=3 | ||
<br> | <br> | ||
48行目: | 49行目: | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ: | [[カテゴリ:RHEL]][[カテゴリ:SUSE]] |
2023年4月14日 (金) 00:02時点における最新版
概要
一般的に、カーネルをアップデートしても古いカーネルは削除せず、新バージョンとともに旧バージョンのカーネルもGRUBから起動できるようにすることが多い。
新バージョンがうまく動かない場合を考えると安心できるシステムだが、カーネルのアップデートが比較的短い間隔で行われるディストリビューションでは、
ディスクスペースが圧迫されることやGRUBのメニューも煩雑になる。
古いカーネルを削除する
RHEL
RHELでは、dnf-utilsというパッケージが用意されており、その中のpackage-cleanupコマンドを実行すれば、古いカーネルを簡単に削除できる。
まず、dnf-utilsをインストールする。
sudo dnf install dnf-utils
--oldkernels
オプションを付加して、package-cleanup
コマンドを実行する。
sudo package-cleanup --oldkernels
標準では、最新のカーネルと1世代前のカーネルを残して、2世代前以前のカーネル(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項目にパッケージ名をカンマ区切りのリストとして追加する。
multiversion = kernel-default,kernel-default-base,kernel-source
次に、古いカーネルを削除するには、/etc/zypp/zypp.confファイルの次の行を以下のように変更する。
- 最新のカーネルと実行中のカーネルが異なる場合にのみ、それらを維持する場合
- multiversion.kernels = latest,running
- 複数のカーネルを維持する場合(以下の例では、最新のカーネルと1つ前のカーネルを維持)
- multiversion.kernels = latest,latest-1,running
- 複数のカーネルを維持する場合(以下の例では、最新のカーネルと2つ前のカーネルを維持)
- multiversion.kernels = latest,latest-1,latest-2,running
上記のファイルの編集後、カーネルをクリーンアップする。
sudo zypper purge-kernels
※備考
TWでは、purge-kernels.serviceが動作しているため、自動的にクリーンアップを行っている。
sudo systemctl start purge-kernels.service