【RHEL】yum/dnfのアップデートコマンドでカーネルのバージョンがアップデートされることを防ぐ方法

Linux

以下のコマンドでrpmパッケージのアップグレードを行う際に、カーネルのバージョンをアップグレードしないようにする方法と設定を行う作業証跡をまとめて紹介します。

yum/dnfコマンドでRPMパッケージをデートする方法

以下のコマンドを実行してRed Hat系のLinuxにインストールされているRPMパッケージ全てを最新版にアップデートすることができますが、カーネルだけはアップデートされることをふさぐ方法を解説していきます。

yum update
dnf update

コマンドのオプションでカーネルのアップデートを回避する

以下のRed Hat公式記事を参考にします。

Red Hat Enterprise Linux システムを yum で更新する際に、カーネルまたはその他のパッケージの更新を除外するには、どうすればよいですか? - Red Hat Customer Portal
Red Hat Enterprise Linux システムを yum で更新する際に、カーネルまたはその他のパッケージの更新を除外するには、どうすればよいですか? yum を使用する際に、exclude オプションを指定するにはどうすればよ...

掲載されているように、以下のコマンドを実行することでカーネル以外のRPMパッケージがアップデートされます。

# yum update --exclude=kernel*

/etc/dnf/dnf.confにexcludepkgsパラメータを設定する

RHEL9.6デフォルトでは/etc/dnf/dnf.confに以下の内容が記載されています。

[user@RHEL96 ~]$ cat /etc/dnf/dnf.conf
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False

このファイルの[main]配下にexcludepkgs=kernel*パラメータもしくはexclude=kernel*パラメータを記載します。後述しますがexcludepkgsのほうが新しく、今後のためにも設定する場合は「excludepkgs」をパラメータとして設定するのがおすすめです。

excludepkgs オプションを使用すると、DNF 操作からパッケージを除外するように DNF を設定できます。excludepkgs は、/etc/dnf/dnf.conf ファイルの [main] またはリポジトリーセクションで定義できます。

3.5. DNF 操作からのパッケージの除外 | DNF ツールを使用したソフトウェアの管理 | Red Hat Enterprise Linux | 9 | Red Hat Documentation
3.5. DNF 操作からのパッケージの除外 | DNF ツールを使用したソフトウェアの管理 | Red Hat Enterprise Linux | 9 | Red Hat Documentation

[main]に記載できる他のパラメータは以下の記事でまとめられています。

DNF Configuration Reference — DNF @DNF_VERSION@-1 documentation

excludepkgsとexcludeの違い

excludepkgsとexcludeの違いはdnfのバージョン1とバージョン2での差分です。

Due to a better compatibility with YUM, configuration options include and exclude were replaced by the original options includepkgs and excludepkgs.

YUM との互換性が向上したため、構成オプションincludeとがexclude 元のオプションのincludepkgsと excludepkgsに置き換えられました。(Google Chromeでの翻訳)

Changes in DNF-2 compared to DNF-1 — DNF @DNF_VERSION@-1 documentation

excludepkgs=kernel*パラメータを無視してカーネルをアップデートするには

--disableexcludes オプションをつけてyum/dnfでupdateサブコマンドを実行すると、dnf.confに記載してあるexcludepkgsパラメータを無視してRPMパッケージのアップデートを実施します。

注記

--disableexcludes オプションを使用すると、設定済みパッケージを操作から除外することを一時的に無効にできます。

3.5. DNF 操作からのパッケージの除外 | DNF ツールを使用したソフトウェアの管理 | Red Hat Enterprise Linux | 9 | Red Hat Documentation
3.5. DNF 操作からのパッケージの除外 | DNF ツールを使用したソフトウェアの管理 | Red Hat Enterprise Linux | 9 | Red Hat Documentation

実行するコマンドは以下です。

yum update --disableexcludes
dnf update --disableexcludes
タイトルとURLをコピーしました