RedHat Enterprise Linux (RHEL)の基本として、dnfオプションで「–releasever=8.4」というような形でバージョン指定すると固定できる。
設定ファイルとして使う場合は /etc/yum/vars/releasever というファイルに「8.4」と書くことで、dnfでオプション指定しなくてもよくなる。
しかし、AlmaLinux, RockyLinuxともこの設定を行ってもうまくいかないように見える。
これは/etc/yum.repos.d/ の各設定にある情報取得元が「mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/~」というような指定になっていますが、このURLには最新バージョンのものしか残っていないため期待通りに動作しない、ということになります。
この「mirrorlist=~」のほうを「#mirror=~」と行頭に#を入れてコメントとします。
そして標準ではコメントとなっている「# baseurl=https://repo.almalinux.org/almalinux/$releasever/~」となっている記述のほうの# を削除し、その後ろにあるURLを修正することで対処します。
どう書き換えるかについてはAlmaLinuxとRockyLinuxでそれぞれ異なります。
AlmaLinux の場合
AlmaLinux のレポジトリ https://repo.almalinux.org/almalinux/ を見に行くと 2022/07/14時点では「8.6」「8」「9.0」「9」のディレクトリしかなく古いバージョンのディレクトリはない。
じゃあ古いバージョンはどこにあるかといえば https://repo.almalinux.org/vault/ にある
なので、 /etc/yum.repos.d/ の各設定にあるURLを「https://repo.almalinux.org/almalinux/~」から「https://repo.almalinux.org/vault/~」に書き換えればよい、ということになります。
RockyLinuxの場合
RockyLinux のレポジトリ https://download.rockylinux.org/pub/rocky/ を見に行くと 2022/07/14時点では「8.4」「8.5」「8.6」「8」「9.0」「9」とディレクトリがあるが、8.4,8.5のディレクトリ内にはreadme.txt があり https://dl.rockylinux.org/vault/rocky/ に案内される。
というわけで、/etc/yum.repos.d/ に書き換えは「https://download.rockylinux.org/pub/rocky/~」から「https://dl.rockylinux.org/vault/rocky/~」に書き換えることになる。
Oracle Linuxの場合
非サポート契約者で固定する方法はなさそう。
ISOファイルを読み込む、という手法で固定する場合は「Oracle Linux 8でリリースバージョン固定する方法」参照のこと。