yum で過去のバージョンのパッケージをインストール

yum で過去のバージョンのパッケージをインストールしたい

7.6時点のパッケージをインストールする必要があったので、確認してみました。

CentOSディストリビューションのバージョン

今回の環境はCentOS7.6で、インストール時にyum updateを実行しただけの状態です。

cat /etc/centos-release
CentOS  release 7.6.1810 (Core)

インストールしたいパッケージ

インストールしたいパッケージは、kernel-develとkernel-headersですが、kernelと同じバージョンにする必要がありました。

# yum list installed |grep kernel
kernel.x86_64             3.10.0-862.el7       @anaconda
kernel.x86_64             3.10.0-957.5.1.el7   @updates
kernel-tools.x86_64       3.10.0-957.5.1.el7   @updates
kernel-tools-libs.x86_64  3.10.0-957.5.1.el7   @updates

2020年2月6日時点で、yumを実行した場合

2020年2月6日時点で、そのままyumを実行した場合は、次のバージョンがインストールされます。

kernel-devel     x86_64   3.10.0-1062.12.1.el7 updates 18 M
kernel-headers   x86_64   3.10.0-1062.12.1.el7 updates 8.7 M

これだと都合が悪いそう。

リポジトリの編集

yumを使うため、/etc/yum.repos.d/以下のリポジトリを変更する必要があります。

変更前

リポジトリを確認すると、CentOS-Base.repoは、次のように記述されています。

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

変更箇所

過去のバージョンのリポジトリは、mirrorlist ではなく、vault に置かれているため、次のように変更することが必要になります。

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

次のように変えてみました。

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://vault.centos.org/centos/7.6.1810/os/$basearch/

変更後

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://vault.centos.org/centos/7.6.1810/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://vault.centos.org/centos/7.6.1810/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://vault.centos.org/centos/7.6.1810/extras/$basearch
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
baseurl=http://vault.centos.org/centos/7.6.1810/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

yumのキャッシュをクリアします

yumのキャッシュをクリアしないと、変更箇所を再読み込みしてくれないので、キャッシュをクリアします。

# yum clean all

yumインストール

yumでインストールすると、次のバージョンになっています。

kernel-devel     x86_64   3.10.0-957.27.2.el7  updates 17 M
kernel-headers   x86_64   3.10.0-957.27.2.el7  updates 8.0 M

一応確認します。

# yum list installed |grep kernel
kernel.x86_64                         3.10.0-862.el7                   @anaconda
kernel.x86_64                         3.10.0-957.5.1.el7               @updates
kernel-devel.x86_64                   3.10.0-957.27.2.el7              @updates
kernel-headers.x86_64                 3.10.0-957.27.2.el7              @updates
kernel-tools.x86_64                   3.10.0-957.5.1.el7               @updates
kernel-tools-libs.x86_64              3.10.0-957.5.1.el7               @updates

セキュリティなどの問題があると思いますので、最新にできるならば、最新にした方がいいかと思います。
また、こんなことをしなくても、rpmのパッケージをrpmコマンドでインストールすればいいかと。
今回は、どうしてもyumでということでしたので。

スポンサーリンク
spdsk-side
spdsk-side