見出し画像

CentOSのOS(6⇒7)アップグレード

はじめまして、ICTLINK 市山と申します。

   この度、初めてブログを書くこととなり、
何を書けばよいか困惑しておりますが、
案件にて遭遇したCentOSのOSアップグレードについて記載します。
※CentOS6は2020年11月30日でサポートも切れており、
需要はないと思いますが。。。
   また、本記事は2021年8月10日時点のものとなりますので、
その点ご了承ください。

【手順】

本手順は、CentOS6のサーバーへログイン後、
特権ユーザー(root)へ昇格した後の手順から記載します。

1.レポジトリ参照元URLの変更
上記で記述したとおり、CentOS6はサポートが切れているため、
デフォルトのレポジトリが参照できない状態となっております。
レポジトリが参照できないと、「yum」などのコマンドを実行すると
下記のエラーが帰ってくるので、以下のコマンドにて、
レポジトリの参照先を変更する必要があります。

【失敗例】

[root@TEST ~]# yum update
読み込んだプラグイン:fastestmirror
更新処理の設定をしています
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/repo/arch combination/
removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt
エラー: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again

【実行コマンド】

sed -i -e "s/^mirrorlist=http:\/\/mirrorlist.centos.org/#mirrorlist=http:\/\/mirrorlist.centos.org/g" /etc/yum.repos.d/CentOS-Base.repo

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

2.アップデートの適用
OSアップグレード(6⇒7)前に現行のCentOS6において、
必要なアップデートを適用する準備をします。

【実行コマンド】

yum -y update

3.サーバー再起動
アップデートコマンド実施後、更新プログラムを適用させるためサーバーを
再起動します。

【実行コマンド】

shutdown -r now

4.ソフトウェアのインストール
サーバーへ再ログインし、特権ユーザー(root)に昇格後、
OSアップグレードに必要な以下8つのソフトウェアをインストールします。
・openscap
・pcre-devel
・libxml2-devel
・libxslt-devel
・m2crypto
・python-simplejson
・mod_wsgi
・perl

【実行コマンド】

yum -y install openscap pcre-devel libxml2-devel libxslt-devel m2crypto python-simplejson mod_wsgi perl

5.アップグレードパッケージの取得
アップグレードに必要な4つのパッケージを取得する。

【実行コマンド】

rpm -ihv https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-1.0.2-36.0.1.el6.centos.x86_64.rpm

rpm -ihv https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-contents-0.5.14-1.el6.centos.noarch.rpm

rpm -ihv https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-ui-1.0.2-36.0.1.el6.centos.x86_64.rpm

rpm -ihv https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/redhat-upgrade-tool-0.7.22-3.el6.centos.noarch.rpm

6.アップグレードの実行
OSアップグレード(6⇒7)を実行します。
※そこそこ時間がかかります。。。

【実行コマンド】

redhat-upgrade-tool-cli --network 7 --cleanup-post --instrepo=http://vault.centos.org/centos/7.2.1511/os/x86_64/ --addrepo=CentOS7=http://mirror.centos.org/centos/7/os/x86_64/ --force

7.サーバー再起動
アップデート完了後、サーバーを再起動します。

【実行コマンド】

shutdown -r now

8.サーバーログイン
OSアップグレードに伴い、「ssh」サービスが停止するため、
リモートログインができなくなるため、
実機(物理)もしくは管理コンソール(仮想)よりサーバーへログインします。
※アップデートにそこそこ時間がかかります。。。

9.SSHサービスの起動
特権アカウント(root)に昇格後、SSHサービスを起動し、
リモートアクセス可能な状態にします。

・サービス起動
systemctl start sshd

・サービス自動起動
systemctl enable sshd

10.OSバージョン確認
以下のコマンドにてOSのバージョンを確認し、以下のとおり表示されれば
OSアップデート成功です。

【実行コマンド】

cat /etc/redhat-release


・コマンド実行結果
​CentOS Linux release 7.9.2009 (Core)

11.コンフィグファイルの置き換え
OSアップグレードに伴い、CentOS7用のレポジトリファイルが
新たに生成されるので、CentOS6用と置き換える必要があります。

【実行コマンド】

・レポジトリファイル
mv /etc/yum.repos.d/CentOS-Base.repo.rpmnew /etc/yum.repos.d/CentOS-Base.repo

以上で、CentOSのOS(6⇒7)アップグレードは完了です。

さいごに

 今回、CentOSのOS(6⇒7)のアップデートについて記載しましたが、
OSアップデートにより動いてたソフトが動かなくなる可能性も
あると思いますので、もしアップデートを実施する場合は、
計画的に進めることをオススメします。
※個人的には新たな環境を用意する方がよいと思います。。。(笑)
今後もし書く機会があれば、OSのマイナーアップデート・ダウングレードや
OSのバージョン固定方法について書ければと思います。


この記事が気に入ったらサポートをしてみませんか?