CentOS Linux 8がCentOS Streamへシフトすることになったものの、サーバー運用ではバージョン固定されている方が望ましく、ローリングリリースとなったCentOS Streamとの決別をする声も多いみたい。
そんなCentOS後継の中で、ロゴ画像と名前の響きからAlmaLinuxがお気に入り。
既に稼働中のCentOS Linux 8をAlmaLinuxに変更するにはどうすればいいのよ?と調べてみた。
結論
公式サイトトップから張ってあるリンクの almalinux-deploy.sh を実行すればいいよ!
Rapid switch from CentOS to AlmaLinux OS.
実際にやってみた
※ ご自身の環境を変換する場合はバックアップを取って元に戻せるようにした上で、ステージングや評価環境、開発環境の更新で試してからにしてくださいね!
vagrantでCentOS 8の環境を用意した。
vagrant init centos/8
vagrant up
ちなみに、vagrantのboxには、3/30の時点で既にAlmaLinux 8のboxが用意されてました。
素晴らしい。
バージョン確認
[vagrant@localhost ~]$ cat /etc/redhat-release
CentOS Linux release 8.3.2011
スクリプトダウンロード
[vagrant@centos2alma ~]$ curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
スクリプト実行
[vagrant@centos2alma ~]$ sudo bash almalinux-deploy.sh
Check root privileges OK
Check Secure Boot disabled OK
Check centos-8.x86_64 is supported OK
Download RPM-GPG-KEY-AlmaLinux OK
Import RPM-GPG-KEY-AlmaLinux to RPM DB OK
Download almalinux-release package OK
Verify almalinux-release package OK
Remove centos-linux-release package OK
Remove centos-gpg-keys package OK
Remove centos-linux-repos package OK
Verifying... ########################################
Preparing... ########################################
Updating / installing...
almalinux-release-8.3-4.el8 ########################################
Install almalinux-release package OK
determining the fastest mirror (62 hosts).. done.
AlmaLinux 8 - BaseOS 888 kB/s | 3.4 MB 00:03
AlmaLinux 8 - AppStream 5.9 MB/s | 6.8 MB 00:01
AlmaLinux 8 - PowerTools 1.6 MB/s | 2.1 MB 00:01
AlmaLinux 8 - Extras 8.2 kB/s | 3.6 kB 00:00
Dependencies resolved.
==================================================================================================
Package Arch Version Repo Size
==================================================================================================
Installing:
kernel x86_64 4.18.0-240.15.1.el8_3 baseos 4.3 M
kernel-core x86_64 4.18.0-240.15.1.el8_3 baseos 30 M
kernel-modules x86_64 4.18.0-240.15.1.el8_3 baseos 26 M
Upgrading:
NetworkManager x86_64 1:1.26.0-13.el8_3 baseos 2.4 M
NetworkManager-libnm x86_64 1:1.26.0-13.el8_3 baseos 1.7 M
NetworkManager-team x86_64 1:1.26.0-13.el8_3 baseos 141 k
〜略〜
yum noarch 4.2.23-4.el8 baseos 191 k
yum-utils noarch 4.0.17-5.el8 baseos 67 k
zlib x86_64 1.2.11-16.el8_2 baseos 102 k
Installing dependencies:
grub2-tools-efi x86_64 1:2.02-90.el8_3.1.alma baseos 471 k
Transaction Summary
==================================================================================================
Install 4 Packages
Upgrade 61 Packages
Total download size: 366 M
Downloading Packages:
done.
(1/392): acl-2.2.53-1.el8.x86_64.rpm 343 kB/s | 81 kB 00:00
(2/392): audit-libs-3.0-0.17.20191104git1c2f876 461 kB/s | 117 kB 00:00
(3/392): audit-3.0-0.17.20191104git1c2f876.el8. 943 kB/s | 255 kB 00:00
〜略〜
(390/392): qemu-guest-agent-4.2.0-34.module_el8 1.8 MB/s | 227 kB 00:00
(391/392): selinux-policy-targeted-3.14.3-54.el 2.8 MB/s | 15 MB 00:05
(392/392): linux-firmware-20200619-101.git3890d 3.0 MB/s | 101 MB 00:34
--------------------------------------------------------------------------------
Total 5.8 MB/s | 366 MB 01:03
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Running scriptlet: filesystem-3.8-3.el8.x86_64 1/1
Preparing : 1/1
Running scriptlet: libgcc-8.3.1-5.1.el8.alma.x86_64 1/1
Upgrading : libgcc-8.3.1-5.1.el8.alma.x86_64 1/780
Running scriptlet: libgcc-8.3.1-5.1.el8.alma.x86_64 1/780
Reinstalling : setup-2.12.2-6.el8.noarch 2/780
warning: /etc/shadow created as /etc/shadow.rpmnew
Running scriptlet: setup-2.12.2-6.el8.noarch 2/780
Reinstalling : filesystem-3.8-3.el8.x86_64 3/780
〜略〜
Running scriptlet: crypto-policies-scripts-20200713-1.git51d1222.el 780/780
Running scriptlet: ca-certificates-2020.2.41-80.0.el8_2.noarch 780/780
Running scriptlet: kernel-core-4.18.0-240.15.1.el8_3.x86_64 780/780
Failed to add dependency on unit, unit systemd-ask-password-plymouth.service does not exist.
Running scriptlet: libwbclient-4.12.3-14.el8_3.x86_64 780/780
Running scriptlet: authselect-libs-1.2.1-2.el8.x86_64 780/780
Running scriptlet: sssd-common-2.3.0-9.el8.x86_64 780/780
Running scriptlet: tuned-2.14.0-3.el8_3.2.noarch 780/780
Running scriptlet: rootfiles-8.1-22.el8.noarch 780/780
Running scriptlet: libgcc-8.3.1-5.1.el8.x86_64 780/780
Running scriptlet: glibc-common-2.28-127.el8_3.2.x86_64 780/780
Running scriptlet: info-6.5-6.el8.x86_64 780/780
Running scriptlet: glib2-2.56.4-8.el8.x86_64 780/780
Running scriptlet: shared-mime-info-1.9-3.el8.x86_64 780/780
Running scriptlet: systemd-239-41.el8_3.1.x86_64 780/780
Running scriptlet: systemd-udev-239-41.el8_3.1.x86_64 780/780
Running scriptlet: man-db-2.7.6.1-17.el8.x86_64 780/780
Verifying : acl-2.2.53-1.el8.x86_64 1/780
Verifying : acl-2.2.53-1.el8.x86_64 2/780
Verifying : audit-3.0-0.17.20191104git1c2f876.el8.x86_64 3/780
〜略〜
Verifying : tzdata-2020d-1.el8.noarch 778/780
Verifying : qemu-guest-agent-15:4.2.0-34.module_el8.3.0+2048 779/780
Verifying : qemu-guest-agent-15:4.2.0-34.module_el8.3.0+555+ 780/780
Upgraded:
NetworkManager-1:1.26.0-13.el8_3.x86_64
NetworkManager-libnm-1:1.26.0-13.el8_3.x86_64
NetworkManager-team-1:1.26.0-13.el8_3.x86_64
〜略〜
systemd-udev-239-41.el8_3.1.x86_64
tuned-2.14.0-3.el8_3.2.noarch
tzdata-2021a-1.el8.noarch
Installed:
grub2-tools-efi-1:2.02-90.el8_3.1.alma.x86_64
kernel-4.18.0-240.15.1.el8_3.x86_64
kernel-core-4.18.0-240.15.1.el8_3.x86_64
kernel-modules-4.18.0-240.15.1.el8_3.x86_64
Reinstalled:
acl-2.2.53-1.el8.x86_64
audit-3.0-0.17.20191104git1c2f876.el8.x86_64
audit-libs-3.0-0.17.20191104git1c2f876.el8.x86_64
〜略〜
yum-4.2.23-4.el8.noarch
yum-utils-4.0.17-5.el8.noarch
zlib-1.2.11-16.el8_2.x86_64
Complete!
Run dnf distro-sync -y OK
かかった時間は4分だったり7分だったり。
時間のほとんどは最後のdnf distro-syncだったので、GUIで使っててパッケージ数が多いとか、通信状態が悪いともっと時間がかかるかもしれない。
確認
[vagrant@centos2alma ~]$ cat /etc/redhat-release
AlmaLinux release 8.3 (Purple Manul)
CentOS Streamからは変換できない
CentOSからCentOS Streamへの変換も簡単にできるので、にっしーのように既に変更してしまった方もいるでしょう。
CentOS StreamからAlmaLinuxへの変換にも使えるのか試してみました。
バージョン確認
[vagrant@stream2alma ~]$ cat /etc/redhat-release
CentOS Stream release 8
実行しようとすると、ありゃりゃ…
[vagrant@stream2alma ~]$ sudo bash almalinux-deploy.sh
Check root privileges OK
Check Secure Boot disabled OK
Detect centos version ERROR
Check EL is supported ERROR
almalinux-deployのRoadmapには書かれていないので、CentOS Streamからの変換は今後もサポートされないと思われます。
一次情報源
AlmaLinux OS - Forever-Free Enterprise-Grade Operating System
GitHub - AlmaLinux/almalinux-deploy: EL to AlmaLinux migration tool.