LoginSignup
1
3

More than 3 years have passed since last update.

CentOS7で特定バージョンOSのリポジトリを参照する

Last updated at Posted at 2020-05-26

CentOS7にて微妙に古いバージョンをマイナーが変わらない範囲で最新化したい案件がでてきたので、その時の対応をメモ書き程度に残しておきます。

RHEL7系 基本セットアップでは、マイナー指定の際に# yum update --releasever=7.Xとして意図しないマイナーアップをしないようにすると記載していたのですが、最近になって出来なくなっていました。恐らくCentOS8がリリースされ、古いマイナーリポジトリは廃止となったのではないかと考えられます。

旧マイナーバージョンのリポジトリを有効化

CentOSのコミュニティには、旧バージョンのCentOSを保管している CentOS Vault というサイトがあります。ここに向けたリポジトリを設定してあげることで、マイナーバージョンのままyumを利用できるようにします。

リポジトリファイルの作成

旧マイナーに向けたリポジトリファイルを作成します。ここでは7.6.1810を指定していますが、自身の環境に合わせて変更すれば対応可能です。

/etc/yum.repos.d/CentOS-7.6.1810.repo
[centos7.6.1810-base]
name=CentOS-7.6.1810 - Base
baseurl=http://vault.centos.org/7.6.1810/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

[centos7.6.1810-updates]
name=CentOS-7.6.1810 - Updates
baseurl=http://vault.centos.org/7.6.1810/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

[centos7.6.1810-extras]
name=CentOS-7.6.1810 - Extras
baseurl=http://vault.centos.org/7.6.1810/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

[centos7.6.1810-centosplus]
name=CentOS-7.6.1810 - Plus
baseurl=http://vault.centos.org/7.6.1810/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

[centos7.6.1810-fasttrack]
name=CentOS-7.6.1810 - Fasttrack
baseurl=http://vault.centos.org/7.6.1810/fasttrack/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

デフォルトのリポジトリを無効化

旧リポジトリを用意しただけではまだ最新リポジトリが使えてしまいます。
最新リポジトリファイル(/etc/yum.repos.d/CentOS-Base.repo)以下の修正を行うことで利用できないようにします。

以下は[base]セクションのみ記載していますが、他の[updates],[extras]及び[centosplus]も同様に最後の行にenabled=0を付け加えます。

/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
enabled=0     ← 追記

リポジトリが認識されているか確認

yum repolist allを実行することで、登録されているリポジトリと有効か無効かを確認可能です。
最新リポジトリを無効化しているため、他のリポジトリを登録していない限り以下の様な結果が表示されるかと思われます。

# yum repolist all
リポジトリー ID                     リポジトリー名                  状態
base/7/x86_64                       CentOS-7 - Base                 無効
base-debuginfo/x86_64               CentOS-7 - Debuginfo            無効
base-source/7                       CentOS-7 - Base Sources         無効
c7-media                            CentOS-7 - Media                無効
centos7.6.1810-base/x86_64          CentOS-7.6.1810 - Base          有効: 10,019
centos7.6.1810-centosplus/x86_64    CentOS-7.6.1810 - Plus          有効:    103
centos7.6.1810-extras/x86_64        CentOS-7.6.1810 - Extras        有効:    435
centos7.6.1810-fasttrack/x86_64     CentOS-7.6.1810 - Fasttrack     有効:     67
centos7.6.1810-updates/x86_64       CentOS-7.6.1810 - Updates       有効:  2,500
centosplus/7/x86_64                 CentOS-7 - Plus                 無効
centosplus-source/7                 CentOS-7 - Plus Sources         無効
...省略

アップデート実施

旧マイナーリポジトリが準備できましたので、あとは普通にアップデートを実施できます。

# yum update

最新版でのアップデート実施

マイナーやカーネルは上げたくないけど、nssopensslといった一部のパッケージは最新にしたいという場合があります。その場合は、以下の様に--enablerepoオプションをつけることで、一時的に最新リポジトリを有効にすることができます。
なお、必ず-yオプションは付けず、依存関係を確認して問題が無いことを確認してからインストールを実施して下さい。パッケージによってはカーネルに依存しているものもあり、最新になってしまう場合があります。

# yum --enablerepo=base update openssl
1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3