Rocky linux 8 から 9 へアップグレードしてみる

Rocky linux9が利用可能になってからしばらく経ちます。
ツナマヨサーバーも、安全にRocky linux8から9へのバージョンアップの為に事前実験をしてみました。

1、まずは実働8サーバーのリポリトジを更新してパッケージを最新にしておきます。

[root]# dnf upgrade --refresh

(実働8サーバーで稼働中の WordPress も最新バージョンにアップグレードしておきます。
特に pulugins は最新のものに更新しておかないと WordPress が動作しない場合があります。使っていない pulugins はアンインストールしておいた方が良い)

2、実働8サーバーのHDDクローンを作成して実験9サーバーに移植、サーバーのクローンを作り実験9サーバーとして起動します。

3、実験9サーバーのネットワークはダイナミックIP(DHCP)で起動してしまいますが、実働8サーバーのIPアドレスと重複しないように実験9サーバーのネットワークを固定IPに設定します。

実験9サーバーの接続されているデバイスを確認します。

[root]# nmcli d

DEVICE    TYPE       STATE           CONNECTION
ens3      ethernet   接続済み        ens3
virbr0    bridge     接続済み(外部)  virbr0
lo        loopback   管理無し        --

実験9サーバーのコネクションの一覧を確認します。(デバイスのUUIDを確認できます)

[root]# nmcli c

NAME    UUID                                   TYPE       DEVICE
ens3    2611707f-b70f-4881-9cdd-a6f1cb85d0ba   ethernet   ens3 
virbr0  4c884a5f-7be2-4997-b217-a968b52a55f2   bridge     virbr0

実験9サーバーの etc/sysconfig/network-scripts/ifcfg ファイルを編集して設定します。

[root]# vi /etc/sysconfig/network-scripts/ifcfg-ens3

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens3
UUID=2611707f-b70f-4881-9cdd-a6f1cb85d0ba
DEVICE=ens3
ONBOOT=yes
IPADDR=192.168.0.100
PREFIX=24
DNS1=192.168.0.1
GATEWAY=192.168.0.1

4、実験9サーバーの NetworkManager を再起動します。

[root]# systemctl restart NetworkManager

5、実験9サーバのアップデート後に apache などの動作確認のため hosts ファイルも編集しておきます。

[root]# vi /etc/hosts

127.0.0.1   localhost tunamayo.cyou localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.0.100  tunamayo.cyou
192.168.0.100  www.tunamayo.cyou
192.168.0.100  mail.tunamayo.cyou
192.168.0.100  ftp.tunamayo.cyou

6、いよいよ実験9サーバーを Rocky linux9 へバージョンアップして行きます。
始に Rocky Linux 9 のリポジトリを追加しますが、事前にhttps://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/r で最新のバージョンを確認しておき、最新バージョンの変数を設定します

[root]# REPO_URL="https://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/r"
[root]# RELEASE_PKG="rocky-release-9.2-1.6.el9.noarch.rpm"
[root]# REPOS_PKG="rocky-repos-9.2-1.6.el9.noarch.rpm"
[root]# GPG_KEYS_PKG="rocky-gpg-keys-9.2-1.6.el9.noarch.rpm"

7、公式リポジトリに無いパッケージを削除します

[root]# dnf -y remove rpmconf yum-utils remi-release
[root]# dnf -y remove rpmconf yum-utils epel-release

不要なファイルを削除します

[root]# rm -rf /usr/share/redhat-logos

8、新たなリポジトリを追加します

[root]# dnf install $REPO_URL/$RELEASE_PKG $REPO_URL/$REPOS_PKG $REPO_URL/$GPG_KEYS_PKG

9、いよいよ Rocky linux9 をインストールします

[root]# dnf -y --releasever=9 --allowerasing --setopt=deltarpm=false distro-sync

GPGキー確認の失敗というエラーが出てインストールできないので、既存の GPGキーを削除します

[root]# rpm -e --allmatches gpg-pubkey-[REPOKEYID]

GPGキーのIDを見つけるコマンド

[root]# rpm -qa gpg*

Rocky linux9 の GPGキーをインストールします

[root]# rpm --import https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-9

改めて Rocky linux9 をインストールします(結構な時間がかかります)

[root]# dnf -y --releasever=9 --allowerasing --setopt=deltarpm=false distro-sync

10、RPM データベースを再構築します

[root]# rpm --rebuilddb

再起動して起動できれば無事終了

[root]# reboot

11、起動後の確認

DDNSサーバーなので Cronが動作しているか確認

[root]# systemctl status crond.service

12、WordPress の動作確認で [このサイトで重大なエラーが発生しました] エラーの場合 Plugin が動作していない場合が多い

まずは wp-login.php でログインを試みてログインできない場合は
/public_html/wp-content/plugins をリネームして動作しないようにする

[root]# cd wp-content

[root wp-content]# mv plugins plugins_old

無事動作を確認できたら元に戻す(元の名前にりネームしても pulugin は無効化状態です)

[root wp-content]# mv plugins_old plugins