April 4, 2021

CentOS Linux 8をAlmaLinuxに変更する

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.

© 2020 nissy-lab.com