CentOS7のバージョン固定とダウングレードのやり方
CentOS7で例えばバージョン7.4に固定したり、7.5から7.4にダウングレード(バージョンダウン)する方法について説明します。
スポンサーリンク
バージョンの固定
例としてCentOS 7.4に固定する方法について説明します。
固定したいバージョンの確認
CentOS 7.4のバージョンは、リビジョン番号まで含めると”7.4.1708”が正確なバージョンになります。バージョン固定にはこれが必要になります。
正確なバージョンの手っ取り早い確認方法は、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を再起動し、問題ない事を確認したら作業完了です。