*

CentOS7のバージョン固定とダウングレードのやり方

 

Pocket

CentOS7のバージョン固定とダウングレードのやり方

 CentOS7で例えばバージョン7.4に固定したり、7.5から7.4にダウングレード(バージョンダウン)する方法について説明します。

スポンサーリンク

バージョンの固定

 例としてCentOS 7.4に固定する方法について説明します。

固定したいバージョンの確認

 CentOS 7.4のバージョンは、リビジョン番号まで含めると”7.4.1708”が正確なバージョンになります。バージョン固定にはこれが必要になります。

 正確なバージョンの手っ取り早い確認方法は、CentOSのリポジトリのページを見るのが良いでしょう。

CentOSの正確なバージョンの確認

CentOSの正確なバージョンの確認

 上の画像のようにバージョン名でフォルダのリンクが並んでいます。これで7.4の正確なバージョンが”7.4.1708”である事が分かります。

バージョンを固定する方法

 先程確認した正確なバージョンをファイル”releasever”として新規作成します。以降のコマンドは全てrootになって実行して下さい。

% su -
# echo 7.4.1708 > /etc/yum/vars/releasever

 続いてyumの設定ファイル”CentOS-Base.repo”を変更します。このファイルから、ファイル”releasever”に書かれたバージョンを参照しています。

 以下は、見やすいように複数行に渡って書いていますが、1つのコマンドです。

# sed -i".org" -e "s/^mirror/#mirror/" \
               -e "s/^#baseurl/baseurl/g" \
               -e "s/mirror.centos/vault.centos/g" \
               /etc/yum.repos.d/CentOS-Base.repo

 上記のコマンドにより、リポジトリの参照先を”mirrorlist.centos.org”から”vault.centos.org”に変更しています。なお、オリジナルの設定ファイルは”CentOS-Base.repo.org”として保存しています(-iオプションで指定)。

 最後にyumのキャッシュをクリアし、updateを実行して終了です。

# yum clean all
# yum update

 OSを再起動後、下記コマンドを実行して指定したバージョンになっている事を確認します。

# cat /etc/redhat-release 

表示例)
CentOS Linux release 7.4.1708 (Core) 

バージョン固定の解除

 もしバージョン固定を解除したくなったら、以下を実行してください。

# rm -f /etc/yum/vars/releasever
# cd /etc/yum.repos.d
# cp -f CentOS-Base.repo.org CentOS-Base.repo

 以降はyumのキャッシュクリア、updateを実行し、OSを再起動して下さい。

# yum clean all
# yum update

ダウングレード

 私がダウングレードを試した環境は、バージョンアップ直後の環境です。そのため、様々な変更を加えた環境ではうまく行かない可能性があります。その点はご理解下さい。

 調べた限りでは、7.3から7.2の様にマイナーバージョンのダウングレードは可能ですが、7.xから6.xの様にメジャーバージョンのダウングレードは出来ない様です。

 ここでは例としてCentOS 7.5から7.4にダウングレードする方法について説明します。

 途中まではバージョン固定の手順と同じです(詳細は記事前半を参照)。ダウングレード先のバージョン指定とリポジトリの参照先を変更します。

# echo 7.4.1708 > /etc/yum/vars/releasever
# sed -i".org" -e "s/^mirror/#mirror/" \
               -e "s/^#baseurl/baseurl/g" \
               -e "s/mirror.centos/vault.centos/g" \
               /etc/yum.repos.d/CentOS-Base.repo

 しかし、ダウングレードしようとするとsystemdが削除出来ないように保護されているため、このままでは出来ません。そこで、削除保護用の設定ファイルを退避します(削除でも良いですが念の為)。

# mv /etc/yum/protected.d/systemd.conf /etc/yum/protected.d/systemd.conf.bak

 yumのキャッシュクリア後、ダウングレードを実行します。

# yum clean all
# yum distribution-synchronization 

 ダウングレード完了後、バージョンが変わっている事を確認します。

# cat /etc/redhat-release 

表示例)
CentOS Linux release 7.4.1708 (Core) 

 OSを再起動し、問題ない事を確認したら作業完了です。