びぼうろぐ

ネ申エクセルからの卒業

【CentOS8】過去のバージョンを指定してライブラリをインストールする

CentOS では dnf install / update を実行すると常に最新版のソフトウェアやライブラリをインストールできますが、システムに必要なバージョンと一致しない場合があります。

$ uname -r
4.18.0-147.8.1.el8_1.x86_64

$ sudo dnf clean all
$ sudo dnf install kernel-devel-$(uname -r)
CentOS-8 - AppStream                                                                                                                        3.8 MB/s | 5.8 MB     00:01
CentOS-8 - Base                                                                                                                             2.4 MB/s | 2.2 MB     00:00
CentOS-8 - Extras                                                                                                                            10 kB/s | 6.7 kB     00:00
一致した引数がありません: kernel-devel-4.18.0-147.8.1.el8_1.x86_64
エラー: 一致するものが見つかりません: kernel-devel-4.18.0-147.8.1.el8_1.x86_64

このような場合は過去のバージョンが保管されているvault.centos.orgから取得するようにrepoファイルを記述します。
既存のCentOS-BaseOS.repo等を参考にすると、以下のようなファイルを作成できます。

$ sudo cat /etc/yum.repos.d/CentOS-Vault.repo
# CentOS Vault contains rpms from older releases in the CentOS-8
# tree.

[BaseOS_8_1_1911]
name=CentOS8.1.1911 - Base
baseurl=http://vault.centos.org/8.1.1911/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

[AppStream_8_1_1911]
name=CentOS8.1.1911 - AppStream
baseurl=http://vault.centos.org/8.1.1911/AppStream/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

[Extras_8_1_1911]
name=CentOS8.1.1911 - extras
baseurl=http://vault.centos.org/8.1.1911/extras/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

上記のようにrepoファイルを作成すると、失敗していたバージョン指定のdnf installが成功するようになります!

$ sudo dnf clean all
$ sudo dnf install kernel-devel-$(uname -r)
CentOS-8 - AppStream                                                                                                                        4.6 MB/s | 5.8 MB     00:01
CentOS-8 - Base                                                                                                                             2.2 MB/s | 2.2 MB     00:01
CentOS-8 - Extras                                                                                                                            18 kB/s | 6.7 kB     00:00
CentOS8.1.1911 - Base                                                                                                                       1.2 MB/s | 2.2 MB     00:01
CentOS8.1.1911 - AppStream                                                                                                                  1.3 MB/s | 7.0 MB     00:05
CentOS8.1.1911 - extras                                                                                                                      11 kB/s | 6.7 kB     00:00
依存関係が解決しました。
============================================================================================================================================================================
 パッケージ                              アーキテクチャー                  バージョン                                      リポジトリー                               サイズ
============================================================================================================================================================================
インストール:
 kernel-devel                            x86_64                            4.18.0-147.8.1.el8_1                            BaseOS_8_1_1911                             13 M

トランザクションの概要
============================================================================================================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 13 M
インストール済みのサイズ: 46 M
これでよろしいですか? [y/N]:
...