CentOS8.XからAlmalinux8.5へ移行しよう


現環境の確認

まず元のOSを確認しましょう。
方法はhostnamectl を使うか、/etc/redhat-releaseファイルの中を覗くかの二つ。

hostnamectl

を使うと以下の感じ。

cat /etc/redhat-release

を使うと以下の感じ

insert figure

仮想PCのバージョンは8.3。本番環境も8.3。
これでAlmaLinuxに移行しようとしたら「Please upgrade your OS from 8.3 to 」と赤文字で怒られたので、大人しく8.5にアップデートしましょう。

CentOSを最新にする

ミラーサイトの変更

で、2022年の2月頃から以前まで使えていたミラーサイトが使えなくなっているみたい。
なので、まずはリポジトリを確認して、ミラーサイトの書き換えを行った。
参考はこちらのページ(https://www.lsmodena.com/wordpress/?p=212

cat /etc/yum.repos.d/CentOS-Linux-AppStream.repo

たぶんmirrorlist=http://(以下略)となっているので、これをコメントアウト。
その下には#baseurl=http://mirror.centos.org(以下略)となっているので、これをコメントアウトから復旧。
これを/etc/yum.repo.s/CentOS-Linux-以下のファイルに全部適応する。をコマンドにすると以下の通り

sed -i -e 's/mirrorlist=/#mirrorlist=/g' -e 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*

CentOSのアップデート

これでアプデができるはずと思いきや、筆者はエラーが出てアプデができなかった。
理由は前任者がkernelのアップデートを禁止していたため。
なのでError~~~~ kernel~~~とkernelがなんじゃかんじゃ言われたら、cat etc/yum.confでyum.confファイルを除いてみてください。
そこにexclude=kernel*とあれば、これをコメントアウトすることで対応可能なはずです。
参考はこちらのページ(https://dreamerdream.hateblo.jp/entry/2021/03/16/180000

アップデート自体はdnf updateで、一応確認してからy

バックアップ

exfatのインストール(SSDの有効化)

念のためシステムファイルのバックアップを行った。
が、SSDに入れようとしたら「exfatがインストールされていないのでこのSSDを使えません」と怒られる。
仕方ないのでexfatを導入する。
参考はこちらのページ(https://ja.joecomp.com/how-mount-an-exfat-drive-centos-7

EPELリポジトリが有効になっていなかったので、有効にする。

yum install epel-release

次にリポジトリGPGキーをインストール(何のことかよく分かっていない)

rpm -v --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

更にNuxリポジトリを有効にするためにrpmパッケージをインストール

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

最後にexfatのパッケージ2種類をインストール

yum install exfat-utils fuse-exfat

これでSSDが有効になりました。

dumpとxfsdumpとtarでバックアップ

次にdumpとxfsdumpを使ってシステムをまるごとバックアップします。
参考にしたのはこの辺
dumpコマンド
https://atmarkit.itmedia.co.jp/ait/articles/1804/19/news026.html
xfsdumpコマンド(https://atmarkit.itmedia.co.jp/ait/articles/1804/26/news045.html

まずフォルダを全部確認する。

df -Th

insert figure

すると色々フォルダが出てくる。
一番下には有効にしたSSDがあるので、ここにバックアップをしていく。
注意するのは、Typeがext4となっているシステムはdumpでバックアップ。
xfsとなっているシステムはxfsdumpでバックアップする。
vfatはtarでバックアップする。
tmpfsは一時ファイルなのでバックアップはいらない(はず)。
xfsのrootとhome、ext4のboot、あるものはvfatをバックアップすることにした。

dumpバックアップ

まずSSDにサーバーの名前のフォルダを作成しておく。
マウント先でもシステム名でもいいみたいだけど、マウント先で指定した。

dump -f /SSDの場所/サーバーの名前のフォルダ/boot.dump /boot

これでbootはext4なのでこれでバックアップ完了

xfsdumpバックアップ

次にhomeとrootをバックアップする。こちらはxfsなのでxfsdumpを使う。

xfsdump -f /SSDの場所/サーバーの名前のフォルダ/home.dump /home

同じように指定する。
次にラベルを貼れといわれるので、fullbackup。
メディアラベルはbackuphomeとした。
メディアラベルを入れると少し固まるが、裏でバックアップしてるみたいなので、完了するまで触らず放置する。

tarバックアップ

最後にvfat型式のものをtarでバックアップ。
こちらを参考にして見よう見まねでバックアップしてみた。(https://webkaru.net/linux/tar-command/

tar -cf /SSDの場所/サーバーの名前のフォルダ/bootefi.tar /boot/efi

フォルダには圧縮ファイルがあったのでうまくいったと思うのだが、どうだろうか。ここには責任が全く持てない。
とりあえずバックアップが全て完了したことにする。

Almalinuxのインストール

ここまできたらやっとAlmalinuxをインストールする

バージョンが8.5にアップデートされているのを確認してから、AlmaLinuxのバッシュファイルをダウンロードしましょう。
参考はこちら(https://valinux.hatenablog.com/entry/20210422

curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh

注意したいのはcurl -O(ラージオー)です。0(ゼロ)じゃありません。筆者はここでひっかかりました。

ダウンロードが完了したらroot権限でbashを起動

bash almalinux-deploy.sh

結構時間がかかるが完了すれば、左上のCentOSアイコンがAlmalinuxアイコンに変わっています。
また、再起動すればデスクトップ画面がAlmalinuxとなっています。

おつかれさまでした。