手元のCentOS7(2009)をAlmaLinux8へ移行しました。
CentOS7 -> CentOS8 -> AlmaLinux8 というルートです。
で、そもそもCentOS7→CentOS8へのアップグレードは公式に提供されていないので強引に突破します。 基本的な手順はこちらを参照しています。
https://techviewleo.com/how-to-migrate-from-centos-7-to-rocky-linux-8/
上記の手順で、実行中のカーネルのファイルすら消しにかかるところなども面白い。動くんだな…*1
下記の
dnfが固まるので、kill -9で止める
というコメントのところなども強引さが際立つ箇所かと。まあ動けば良いのです。
え?ギリギリまでCentOS7で粘って、EOLが近くなったら移行すれば良いって??
違うんですねーそれが。
この手の移行手段はバージョンが変わったりすると動かなくなるし、必要なファイルがいつの間にかダウンロードできなくなったりするため、
「動く間にやっておく」
ことが重要なんです。
(CentOS6 -> 7 への移行を先送りして、いざやってみようとしたら動かなかったという自分自身が痛い目を見たという自戒を込めて。。)
# CentOS7(2009)を想定 yum install epel-release -y yum install -y yum-utils rpmconf --enablerepo=epel rpmconf -a yum install -y dnf # バイバイyum dnf remove -y yum yum-metadata-parser rm -Rf /etc/yum dnf makecache dnf upgrade -y dnf install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/{centos-linux-repos-8-2.el8.noarch.rpm,centos-linux-release-8.4-1.2105.el8.noarch.rpm,centos-gpg-keys-8-2.el8.noarch.rpm} # /etc/yum.repo.d/epelの内容をCentOS8に書き換え dnf upgrade -y epel-release rpm -e `rpm -q kernel` --nodeps rpm -e --nodeps sysvinit-tools dnf remove dracut-netrowk vim-minimal vim-common # sudoも消されるので入れ直して、visudoで元に戻す dnf install sudo # アップグレード開始! dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false --disablerepo=appstream distro-sync # ...dnfが固まるので、別ターミナルでログインしてkill -9で止める killall -9 dnf # RPMのDBが破損するので修復 rpm --rebuilddb # もう一度アップグレード! dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false --disablerepo=appstream distro-sync # うまくいったら再起動 reboot # (再ログイン後) dnf update && dnf upgrade # MariaDBを公式リポジトリからインストールし直し dnf module disable mariadb dnf install libpmem socat dnf install --repo=mariadb galera-4 dnf install --repo=mariadb MariaDB-server systemctl enable mariadb # AlmaLinuxへのアップグレード curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh # almalinux-deploy.shの`yum`を手動で`dnf`へ置換してから実行 bash almalinux-deploy.sh
*1:inodeまで消えるわけではないから動くんだろうけども