概要
開発したアプリケーションの動作を保証するバージョンが決まっている、使用するパッケージを特定のバージョンにしたいなどの理由で、OSのバージョン(RHELではリリースと書かれている)を上げたくない場合があります。
そのような場合は、OSのリリースを固定化することができます。
本記事ではRHELでOSのリリースを固定化する方法と、固定化を解除する方法について述べます。
利用可能なリリース・当記事で行う操作について
2023年9月の時点では、以下のリリースが利用可能です。
- 9
- 9.0
- 9.1
- 9.2
当記事では、9.1のマシンを使用して以下の操作を行います。
- リリースの固定化・固定化解除に必要な情報の確認
- 9.1にリリースを固定化する
- 9.1に固定したリリースの固定化を解除する
操作
現在のリリースの確認
/etc/redhat-releaseを参照します。
$ cat /etc/redhat-release
Red Hat Enterprise Linux release 9.1 (Plow)
最新のリポジトリをチェックする
最新のリポジトリをdnf check-upgrade
で確認すると、9.2のパッケージが使われることがわかります。
このままdnf upgrade
を行うと、リリースが9.1から9.2になってしまいます。
# dnf check-upgrade
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 0:01:43 時間前の 2023年09月15日 21時58分50秒 に実施しました。
NetworkManager.x86_64 1:1.42.2-8.el9_2 rhel-9-for-x86_64-baseos-rpms
NetworkManager-config-server.noarch 1:1.42.2-8.el9_2 rhel-9-for-x86_64-baseos-rpms
(以下、略)
利用可能なリリースを確認する
利用可能なリリースを確認します。
# subscription-manager release --list
+-------------------------------------------+
利用可能なリリース
+-------------------------------------------+
9
9.0
9.1
9.2
現在のリリースを確認する
OSに設定されている現在のリリースを確認します。
# subscription-manager release --show
リリースは設定されていません
リリースが設定されていないので、もしこのままdnf upgrade
をしたときに利用可能なリリースのマイナーバージョンが上がっていたら、操作しているマシンのリリースが上がっていくことになります。
リリースを固定する
リリースを固定するには、subscription-manager release --set
コマンドを実行します。
今回は9.1に固定します。
# subscription-manager release --set 9.1
リリースは次のように設定されています: 9.1
これでリリースの固定ができました。
なお、改めてリリースの確認を行うと、リリースの設定がなされていることが表示されます。
# subscription-manager release --show
リリース: 9.1
リリース固定後のリポジトリ確認
リリースを固定化した後のリポジトリの確認を行います。
# dnf check-upgrade
サブスクリプション管理リポジトリーを更新しています。
Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs) 2.8 kB/s | 4.1 kB 00:01
Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs) 15 kB/s | 4.5 kB 00:00
メタデータの期限切れの最終確認: 0:00:01 時間前の 2023年09月17日 08時07分33秒 に実施しました。
9.2が利用できる状況でリリースを9.1に固定したら、アップグレードで利用できるパッケージが表示されなくなりました。
dnf upgrade
も確認してみます。
]# dnf upgrade
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 0:02:39 時間前の 2023年09月17日 08時10分44秒 に実施しました。
依存関係が解決しました。
行うべきことはありません。
完了しました!
パッケージのアップグレードがされなくなっていることが改めて確認できました。
リリースの固定を解除する
リリースを固定した後で固定を解除したい場合は、以下のコマンドを実行します。
# subscription-manager release --unset
リリースの詳細設定は解除されました
現在のリリースの確認を行って、リリースが設定されていないことが確認できました。
# subscription-manager release --show
リリースは設定されていません