といってもエンタープライズサポートを OSS 同等環境でやる、とかでないです。
単純に archive 扱いの vault リポジトリを利用するようにする事で、移行の時間を稼ぐ、みたいなやつです。
CentOS のバージョン
redhat-release で確認できる。
[user@localhost ~]$ cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
今回は 7.9.2009 の Vault リポジトリを参照する。
Vault リポジトリを利用する
この手順で作業を行う。
Base リポジトリ参照を無効化する
戻ることは無いだろうけど、カスタムリポジトリとか作るかもしれないので、既存ファイルのバックアップを行う。
[user@localhost ~]$ sudo cp -p /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
次に参照無効化を行う。
[user@localhost ~]$ sudo vi /etc/yum.repos.d/CentOS-Base.repo
各ブロックに enabled=0
を追加する。
centosplus なんかはもともと enabled=0
指定が入っているので、特定のパッケージを利用しているとかじゃなければ有効化されていないと思われる。
# CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [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 #追加 #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 enabled=0 #追加 #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 enabled=0 #追加 #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
Vault リポジトリ参照を有効化する
無効にした Base リポジトリの代わりに Vault リポジトリを有効化する。
今回は事前に調べた通り、バージョンが 7.9.2009 のため、既存の CentOS-Vault.repo に参照記述が含まれていなかった。
そのため、文末に以下の内容で追記する。
[user@localhost ~]$ sudo vi /etc/yum.repos.d/CentOS-Vault.repo
# CentOS Vault contains rpms from older releases in the CentOS-7 # tree. # C7.0.1406 ... # [C7.8.2003-fasttrack] ... # ここから追記 # C7.9.2009 [C7.9.2009-base] name=CentOS-7.9.2009 - Base baseurl=http://vault.centos.org/7.9.2009/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=1 [C7.9.2009-updates] name=CentOS-7.9.2009 - Updates baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=1 [C7.9.2009-extras] name=CentOS-7.9.2009 - Extras baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=1 [C7.9.2009-centosplus] name=CentOS-7.9.2009 - CentOSPlus baseurl=http://vault.centos.org/7.9.2009/centosplus/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=0 [C7.9.2009-fasttrack] name=CentOS-7.9.2009 - Fasttrack baseurl=http://vault.centos.org/7.9.2009/fasttrack/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=0
yum キャッシュの削除
リポジトリ参照情報を変更時に、yum のキャッシュが残っているとエラーになったり、「動いているけどなんか返ってくる内容がおかしい……」、みたいな事になりがちなので、一度キャッシュファイルだけ削除しておく。
[user@localhost ~]$ sudo yum clean all 読み込んだプラグイン:fastestmirror リポジトリーを清掃しています: C7.9.2009-base C7.9.2009-extras C7.9.2009-updates epel mysql-connectors-community mysql-tools-community : mysql80-community nodesource yarn
リポジトリと疎通できるか確認
yum repolist
コマンドを使うことでリポジトリ一覧を出力できます。
この際、有効化されたリポジトリと通信を行って利用できるかのチェックもされているので、このコマンドでエラーが出なければ大丈夫です。 試してみましょう。
[user@localhost ~]$ sudo yum repolist ... リポジトリー ID リポジトリー名 状態 C7.9.2009-base/x86_64 CentOS-7.9.2009 - Base 10,072 C7.9.2009-extras/x86_64 CentOS-7.9.2009 - Extras 526 C7.9.2009-updates/x86_64 CentOS-7.9.2009 - Updates 6,173 epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,791 mysql-connectors-community/x86_64 MySQL Connectors Community 258 mysql-tools-community/x86_64 MySQL Tools Community 108 mysql80-community/x86_64 MySQL 8.0 Community Server 503 nodesource/x86_64 Node.js Packages for Enterprise Linux 7 - x86_64 136 yarn Yarn Repository 57 repolist: 31,624
僕の環境だと、有効化していた EPEL がエラーを吐いてましたが、Vault 参照に変更した CentOS-7.9.2009 リポジトリ各種の状態 (Status) 列が 0 ではないので、ちゃんと通信できています。
以上です、お疲れ様でした。 なるべく早く環境移行しましょうね。