RHEL 8のマイナーバージョンを固定する!

RHEL 8でアップデートしてもマイナーバージョンが変わらないように、マイナーバージョンをを固定します。

現在のバージョンを確認する!

現在のバージョンは、8.4です。

# hostnamectl
   Static hostname: vmsrhe01
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 47755988a6524804831f1f1ae20426dc
           Boot ID: 4ff4088a5b0846738c5d942394289ce3
    Virtualization: oracle
  Operating System: Red Hat Enterprise Linux 8.4 (Ootpa)
       CPE OS Name: cpe:/o:redhat:enterprise_linux:8.4:GA
            Kernel: Linux 4.18.0-305.el8.x86_64
      Architecture: x86-64

アップデートの検証を行う!

アップデートの検証を行うと、本稿執筆時点で最新の8.7用のモジュールが表示されます。

# dnf check-update
Updating Subscription Management repositories.
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                                 11 MB/s |  52 MB     00:04    
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                                    17 MB/s |  56 MB     00:03    
Last metadata expiration check: 0:00:01 ago on Thu 26 Jan 2023 07:00:21 PM JST.

ModemManager.x86_64                        1.18.2-1.el8                                 rhel-8-for-x86_64-baseos-rpms   
ModemManager-glib.x86_64                   1.18.2-1.el8                                 rhel-8-for-x86_64-baseos-rpms   
NetworkManager.x86_64                      1:1.40.0-5.el8_7                             rhel-8-for-x86_64-baseos-rpms   
NetworkManager-adsl.x86_64                 1:1.40.0-5.el8_7                             rhel-8-for-x86_64-baseos-rpms   
NetworkManager-bluetooth.x86_64            1:1.40.0-5.el8_7                             rhel-8-for-x86_64-baseos-rpms   
NetworkManager-config-server.noarch        1:1.40.0-5.el8_7                             rhel-8-for-x86_64-baseos-rpms   
NetworkManager-libnm.x86_64                1:1.40.0-5.el8_7                             rhel-8-for-x86_64-baseos-rpms   
NetworkManager-team.x86_64                 1:1.40.0-5.el8_7                             rhel-8-for-x86_64-baseos-rpms   
NetworkManager-tui.x86_64                  1:1.40.0-5.el8_7                             rhel-8-for-x86_64-baseos-rpms   
NetworkManager-wifi.x86_64                 1:1.40.0-5.el8_7                             rhel-8-for-x86_64-baseos-rpms   
NetworkManager-wwan.x86_64                 1:1.40.0-5.el8_7                             rhel-8-for-x86_64-baseos-rpms   
...

サブスクリプションマネージャを使用してマイナーバージョンを固定する!

サブスクリプション登録を行っている場合は、サブスクリプションマネージャを利用してマイナーバージョンを固定することができます。

利用可能なマイナーバージョンを確認する!

利用可能なマイナーバージョンを表示します。

# subscription-manager release --list
+-------------------------------------------+
          Available Releases
+-------------------------------------------+
8
8.0
8.1
8.2
8.3
8.4
8.5
8.6
8.7
# subscription-manager release --set=8.6
Release set to: 8.6

マイナーバージョンを設定する!

サブスクリプションマネージャのコマンドを使用して、マイナーバージョンを設定します。

# subscription-manager release --set=8.6
Release set to: 8.6

アップデートする!

実際にアップデートしてみます。

# hostnamectl
   Static hostname: vmsrhe19
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 47755988a6524804831f1f1ae20426dc
           Boot ID: bdf2bd897e0046fcb7a4bd7fbb7c0148
    Virtualization: oracle
  Operating System: Red Hat Enterprise Linux 8.4 (Ootpa)
       CPE OS Name: cpe:/o:redhat:enterprise_linux:8.4:GA
            Kernel: Linux 4.18.0-305.el8.x86_64
      Architecture: x86-64
# dnf update
...

バージョンを確認すると、「8.7」にはならず、「8.6」であることが確認できました。

# hostnamectl
   Static hostname: vmsrhe19
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 47755988a6524804831f1f1ae20426dc
           Boot ID: bdf2bd897e0046fcb7a4bd7fbb7c0148
    Virtualization: oracle
  Operating System: Red Hat Enterprise Linux 8.6 (Ootpa)
       CPE OS Name: cpe:/o:redhat:enterprise_linux:8::baseos
            Kernel: Linux 4.18.0-305.el8.x86_64
      Architecture: x86-64

設定ファイルを使用してマイナーバージョンを固定する!

設定ファイルを変更してマイナーバージンを固定します。この方法を使用すれば、サブスクリプション登録をしていない場合でも、マイナーバージョンを固定することができます。

マイナーバージョンを設定する!

「/etc/yum/vars/releasever」ファイルを作成し、固定するバージョンを設定します。今回は、8.4に固定します。

# cat /etc/yum/vars/releasever
cat: /etc/yum/vars/releasever: No such file or directory
# echo 8.4 > /etc/yum/vars/releasever
# cat /etc/yum/vars/releasever
8.4

アップデートの検証を行う!

あらためて、アップデートの検証を行うと、今度は8.4用のモジュールが表示されるようになります。

# dnf check-update
Updating Subscription Management repositories.
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                                 15 MB/s |  33 MB     00:02    
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                                   4.3 MB/s |  38 MB     00:08    
Last metadata expiration check: 0:00:09 ago on Thu 26 Jan 2023 07:05:14 PM JST.

NetworkManager.x86_64                       1:1.30.0-13.el8_4                           rhel-8-for-x86_64-baseos-rpms   
NetworkManager-adsl.x86_64                  1:1.30.0-13.el8_4                           rhel-8-for-x86_64-baseos-rpms   
NetworkManager-bluetooth.x86_64             1:1.30.0-13.el8_4                           rhel-8-for-x86_64-baseos-rpms   
NetworkManager-config-server.noarch         1:1.30.0-13.el8_4                           rhel-8-for-x86_64-baseos-rpms   
NetworkManager-libnm.x86_64                 1:1.30.0-13.el8_4                           rhel-8-for-x86_64-baseos-rpms   
NetworkManager-team.x86_64                  1:1.30.0-13.el8_4                           rhel-8-for-x86_64-baseos-rpms   
NetworkManager-tui.x86_64                   1:1.30.0-13.el8_4                           rhel-8-for-x86_64-baseos-rpms   
NetworkManager-wifi.x86_64                  1:1.30.0-13.el8_4                           rhel-8-for-x86_64-baseos-rpms   
NetworkManager-wwan.x86_64                  1:1.30.0-13.el8_4                           rhel-8-for-x86_64-baseos-rpms   
...

アップデートする!

アップデートを行います。

# dnf update

バージョンを確認すると、8.4のままであることが確認できます。

# hostnamectl
   Static hostname: vmsrhe01
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 47755988a6524804831f1f1ae20426dc
           Boot ID: 4ff4088a5b0846738c5d942394289ce3
    Virtualization: oracle
  Operating System: Red Hat Enterprise Linux 8.4 (Ootpa)
       CPE OS Name: cpe:/o:redhat:enterprise_linux:8.4:GA
            Kernel: Linux 4.18.0-305.el8.x86_64
      Architecture: x86-64

dnfコマンド実行時にマイナーバージョンを指定する!

設定では履く、dnfコマンド実行時に「--releasever」オプションを使用して、マイナーバージョンを指定することもできます。

# dnf check-update --releasever=8.4
# dnf update --releasever=8.4

おわりに

RHELでは、サブスクリプションマネージャを使用して、マイナーバージョンを固定することができます。サブスクリプションの登録を行っていない場合は、「/etc/yum/vars/releasever」にマイナーバージョンを設定することで、dnfコマンドによるアップデートのレベルを固定することができます。

参考情報

関連記事

関連書籍(Amazon)

N/A