CentOS Stream 8からAlmaLinux OS 8への移行(さくらのVPS)

現時点(2021/12/25)でさくらのVPSには標準OSにAlmaLinux OS 8がないので、CentOS Stream 8からAlmaLinux OS 8に移行するためのメモ。

#方法1: カスタムOSインストール(つまり新規インストール)
標準OSでCentOS Stream 8をインストール後に、カスタムOSでAlmaLinux OS 8を選んでインストールするだけ。
普通に新規インストールするのと変わらないので省略。

マニュアルにはCentOS Stream 8の説明しかないが、方法自体は同様。

https://manual.sakura.ad.jp/vps/os-reinstall/custom/centos-stream-8.html

#方法2: CentOS Stream 8をAlmaLinux OS 8に変換
ただのインストール(方法1)では面白くも何ともないので、変換してみる。

:::note warn
各パッケージのバージョン、リビジョンが変わる可能性があるので、運用中のサーバで行う場合は要注意
:::

今回は標準OSでCentOS Stream 8インストール直後にパッケージを更新した上でAlmaLinux OS 8への移行を行う。

まずはパッケージ全更新。

```Bash
ndf -y upgrade
```

この状態でパッケージ/バージョン・リビジョンを記録。

```Bash
rpm -qa | sort > rpm-before.log
```

移行前に再起動。

```Bash
reboot
```

再起動後、まずは公式の移行ツールを試してみる。

https://github.com/AlmaLinux/almalinux-deploy

```Bash
curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
bash almalinux-deploy.sh
```
こうなる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/61794/508e4898-1f93-2d4d-af40-fd4d43367a5e.png)

これはある意味当然でCentOS Stream≠RHELクローンではないため、容易には移行できない。

なので、移行スクリプトを参考に手動でやってみる。

まずはCentOS Stream固有のパッケージの削除を行うため、固有パッケージを確認する。

```Bash
rpm -qa | grep centos
```

結果はこんな感じ。

```Bash
centos-stream-release-8.6-1.el8.noarch
centos-stream-repos-8-3.el8.noarch
centos-gpg-keys-8-3.el8.noarch
```

移行スクリプトではCentOS Linux 8からの移行の場合、"centos-linux-release" "centos-gpg-keys" "centos-linux-repos"が削除対象となっているので、上記結果に基づいたパッケージ名に変更してパッケージを削除する。

```Bash
rpm -e --nodeps --allmatches centos-stream-release centos-stream-repos centos-gpg-keys
```

次はAlmaLinuxのGPG keyのダウンロード&インポート。

```Bash
curl -O https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
rpm --import RPM-GPG-KEY-AlmaLinux
```

リリースパッケージをダウンロード&検証。

```Bash
curl -O https://repo.almalinux.org/almalinux/almalinux-release-latest-8.x86_64.rpm
rpm -K almalinux-release-latest-8.x86_64.rpm
```

検証結果が問題なければ、リリースパッケージをインストール。

```Bash
rpm -Uvh almalinux-release-latest-8.x86_64.rpm
```

:::note
Apache等が入っている場合は、ここで以下(に相当するパッケージ)を置き換える。
centos-backgrounds
centos-logos
centos-indexhtml
centos-logos-ipa
centos-logos-httpd
:::

あとは全更新。

```Bash
dnf distro-sync -y --enablerepo=powertools
```

早々に止まる。

```
 Problem: package glibc-gconv-extra-2.28-174.el8.x86_64 requires glibc(x86-64) = 2.28-174.el8, but none of the providers can be installed
  - glibc-2.28-174.el8.x86_64 does not belong to a distupgrade repository
  - problem with installed package glibc-gconv-extra-2.28-174.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
```

そもそも、glibc-gconv-extraはAlmaLinuxレポジトリに存在しないのでエラーになる。
また、前のバージョンに戻そうとしても依存関係があるとのこと。

調べてみるとglibc-gconv-extraはFedora35以降で新しく加わったパッケージらしい。

https://pkgs.org/download/glibc-gconv-extra

一旦glibcをallowerasingオプション付きでダウングレードして対応する。

```Bash
dnf downgrade glibc --allowerasing
```

改めて全更新。

```Bash
dnf distro-sync -y --enablerepo=powertools
```

しばし待つ。
更新といってもほぼダウングレードばかり。
CentOS StreamがRHELのアップストリームなので当然だけど。


完了したらパッケージ/バージョン・リビジョンを記録。

```Bash
rpm -qa | sort > rpm-after.log
```

早速diffしてみる。

```Bash
diff rpm-before.log rpm-after.log
```

ほぼ全部変わってそう。

<details><summary>diffの結果は大量すぎるので省略</summary><div>

```
6,8c6,9
< adwaita-cursor-theme-3.28.0-3.el8.noarch
< adwaita-icon-theme-3.28.0-3.el8.noarch
< annobin-10.29-1.el8.x86_64
---
> adwaita-cursor-theme-3.28.0-2.el8.noarch
> adwaita-icon-theme-3.28.0-2.el8.noarch
> almalinux-release-8.5-4.el8.x86_64
> annobin-9.72-1.el8_5.2.x86_64
21c22
< bash-4.4.20-3.el8.x86_64
---
> bash-4.4.20-2.el8.x86_64
23c24
< binutils-2.30-111.el8.x86_64
---
> binutils-2.30-108.el8_5.1.x86_64
38c39
< ca-certificates-2021.2.50-82.el8.noarch
---
> ca-certificates-2021.2.50-80.0.el8_4.noarch
41c42
< c-ares-1.13.0-6.el8.x86_64
---
> c-ares-1.13.0-5.el8.x86_64
43,44d43
< centos-stream-release-8.6-1.el8.noarch
< centos-stream-repos-8-3.el8.noarch
46c45
< chrony-4.1-1.el8.x86_64
---
> chrony-4.1-1.el8.alma.x86_64
51,52c50,51
< cpio-2.12-11.el8.x86_64
< cpp-8.5.0-6.el8.x86_64
---
> cpio-2.12-10.el8.x86_64
> cpp-8.5.0-4.el8_5.alma.x86_64
55,56c54,55
< cronie-1.5.2-6.el8.x86_64
< cronie-anacron-1.5.2-6.el8.x86_64
---
> cronie-1.5.2-4.el8.x86_64
> cronie-anacron-1.5.2-4.el8.x86_64
58,59c57,58
< crypto-policies-20211116-1.gitae470d6.el8.noarch
< crypto-policies-scripts-20211116-1.gitae470d6.el8.noarch
---
> crypto-policies-20210617-1.gitc776d3e.el8.noarch
> crypto-policies-scripts-20210617-1.gitc776d3e.el8.noarch
62c61
< cups-libs-2.2.6-41.el8.x86_64
---
> cups-libs-2.2.6-40.el8.x86_64
65,67c64,66
< dbus-1.12.8-18.el8.x86_64
< dbus-common-1.12.8-18.el8.noarch
< dbus-daemon-1.12.8-18.el8.x86_64
---
> dbus-1.12.8-14.el8.x86_64
> dbus-common-1.12.8-14.el8.noarch
> dbus-daemon-1.12.8-14.el8.x86_64
69,70c68,69
< dbus-libs-1.12.8-18.el8.x86_64
< dbus-tools-1.12.8-18.el8.x86_64
---
> dbus-libs-1.12.8-14.el8.x86_64
> dbus-tools-1.12.8-14.el8.x86_64
74,75c73,74
< device-mapper-1.02.181-1.el8.x86_64
< device-mapper-libs-1.02.181-1.el8.x86_64
---
> device-mapper-1.02.177-10.el8.x86_64
> device-mapper-libs-1.02.177-10.el8.x86_64
82,85c81,84
< dnf-4.7.0-5.el8.noarch
< dnf-data-4.7.0-5.el8.noarch
< dnf-plugins-core-4.0.21-7.el8.noarch
< dnf-plugin-subscription-manager-1.28.21-3.el8.x86_64
---
> dnf-4.7.0-4.el8.noarch
> dnf-data-4.7.0-4.el8.noarch
> dnf-plugins-core-4.0.21-3.el8.noarch
> dnf-plugin-subscription-manager-1.28.21-3.el8.alma.x86_64
98,105c97,104
< elfutils-0.186-1.el8.x86_64
< elfutils-debuginfod-client-0.186-1.el8.x86_64
< elfutils-debuginfod-client-devel-0.186-1.el8.x86_64
< elfutils-default-yama-scope-0.186-1.el8.noarch
< elfutils-devel-0.186-1.el8.x86_64
< elfutils-libelf-0.186-1.el8.x86_64
< elfutils-libelf-devel-0.186-1.el8.x86_64
< elfutils-libs-0.186-1.el8.x86_64
---
> elfutils-0.185-1.el8.x86_64
> elfutils-debuginfod-client-0.185-1.el8.x86_64
> elfutils-debuginfod-client-devel-0.185-1.el8.x86_64
> elfutils-default-yama-scope-0.185-1.el8.noarch
> elfutils-devel-0.185-1.el8.x86_64
> elfutils-libelf-0.185-1.el8.x86_64
> elfutils-libelf-devel-0.185-1.el8.x86_64
> elfutils-libs-0.185-1.el8.x86_64
107c106
< ethtool-5.13-1.el8.x86_64
---
> ethtool-5.8-7.el8.x86_64
113,114c112,113
< firewalld-0.9.3-11.el8.noarch
< firewalld-filesystem-0.9.3-11.el8.noarch
---
> firewalld-0.9.3-7.el8.noarch
> firewalld-filesystem-0.9.3-7.el8.noarch
118c117
< freetype-2.9.1-5.el8.x86_64
---
> freetype-2.9.1-4.el8_3.1.x86_64
123,125c122,124
< gcc-8.5.0-6.el8.x86_64
< gcc-c++-8.5.0-6.el8.x86_64
< gcc-gdb-plugin-8.5.0-6.el8.x86_64
---
> gcc-8.5.0-4.el8_5.alma.x86_64
> gcc-c++-8.5.0-4.el8_5.alma.x86_64
> gcc-gdb-plugin-8.5.0-4.el8_5.alma.x86_64
127,128c126,127
< gdb-8.2-17.el8.x86_64
< gdb-headless-8.2-17.el8.x86_64
---
> gdb-8.2-16.el8.x86_64
> gdb-headless-8.2-16.el8.x86_64
131c130
< gdisk-1.0.3-8.el8.x86_64
---
> gdisk-1.0.3-6.el8.x86_64
141,150c140,148
< git-2.31.1-2.el8.x86_64
< git-core-2.31.1-2.el8.x86_64
< git-core-doc-2.31.1-2.el8.noarch
< glib2-2.56.4-158.el8.x86_64
< glibc-2.28-174.el8.x86_64
< glibc-common-2.28-174.el8.x86_64
< glibc-devel-2.28-174.el8.x86_64
< glibc-gconv-extra-2.28-174.el8.x86_64
< glibc-headers-2.28-174.el8.x86_64
< glibc-langpack-en-2.28-174.el8.x86_64
---
> git-2.27.0-1.el8.x86_64
> git-core-2.27.0-1.el8.x86_64
> git-core-doc-2.27.0-1.el8.noarch
> glib2-2.56.4-156.el8.x86_64
> glibc-2.28-164.el8.x86_64
> glibc-common-2.28-164.el8.x86_64
> glibc-devel-2.28-164.el8.x86_64
> glibc-headers-2.28-164.el8.x86_64
> glibc-langpack-en-2.28-164.el8.x86_64
159a158
> gpg-pubkey-3abb34f8-5ffd890e
166,172c165,171
< grub2-common-2.02-106.el8.noarch
< grub2-pc-2.02-106.el8.x86_64
< grub2-pc-modules-2.02-106.el8.noarch
< grub2-tools-2.02-106.el8.x86_64
< grub2-tools-efi-2.02-106.el8.x86_64
< grub2-tools-extra-2.02-106.el8.x86_64
< grub2-tools-minimal-2.02-106.el8.x86_64
---
> grub2-common-2.02-106.el8.alma.noarch
> grub2-pc-2.02-106.el8.alma.x86_64
> grub2-pc-modules-2.02-106.el8.alma.noarch
> grub2-tools-2.02-106.el8.alma.x86_64
> grub2-tools-efi-2.02-106.el8.alma.x86_64
> grub2-tools-extra-2.02-106.el8.alma.x86_64
> grub2-tools-minimal-2.02-106.el8.alma.x86_64
184c183
< hostname-3.20-7.el8.0.1.x86_64
---
> hostname-3.20-6.el8.x86_64
191c190
< iproute-5.15.0-1.el8.x86_64
---
> iproute-5.12.0-4.el8.x86_64
195,197c194,196
< iptables-1.8.4-22.el8.x86_64
< iptables-ebtables-1.8.4-22.el8.x86_64
< iptables-libs-1.8.4-22.el8.x86_64
---
> iptables-1.8.4-20.el8.x86_64
> iptables-ebtables-1.8.4-20.el8.x86_64
> iptables-libs-1.8.4-20.el8.x86_64
201,214c200,213
< iwl1000-firmware-39.31.5.1-105.el8.1.noarch
< iwl100-firmware-39.31.5.1-105.el8.1.noarch
< iwl105-firmware-18.168.6.1-105.el8.1.noarch
< iwl135-firmware-18.168.6.1-105.el8.1.noarch
< iwl2000-firmware-18.168.6.1-105.el8.1.noarch
< iwl2030-firmware-18.168.6.1-105.el8.1.noarch
< iwl3160-firmware-25.30.13.0-105.el8.1.noarch
< iwl5000-firmware-8.83.5.1_1-105.el8.1.noarch
< iwl5150-firmware-8.24.2.2-105.el8.1.noarch
< iwl6000-firmware-9.221.4.1-105.el8.1.noarch
< iwl6000g2a-firmware-18.168.6.1-105.el8.1.noarch
< iwl6050-firmware-41.28.5.1-105.el8.1.noarch
< iwl7260-firmware-25.30.13.0-105.el8.1.noarch
< jansson-2.14-1.el8.x86_64
---
> iwl1000-firmware-39.31.5.1-103.el8.1.noarch
> iwl100-firmware-39.31.5.1-103.el8.1.noarch
> iwl105-firmware-18.168.6.1-103.el8.1.noarch
> iwl135-firmware-18.168.6.1-103.el8.1.noarch
> iwl2000-firmware-18.168.6.1-103.el8.1.noarch
> iwl2030-firmware-18.168.6.1-103.el8.1.noarch
> iwl3160-firmware-25.30.13.0-103.el8.1.noarch
> iwl5000-firmware-8.83.5.1_1-103.el8.1.noarch
> iwl5150-firmware-8.24.2.2-103.el8.1.noarch
> iwl6000-firmware-9.221.4.1-103.el8.1.noarch
> iwl6000g2a-firmware-18.168.6.1-103.el8.1.noarch
> iwl6050-firmware-41.28.5.1-103.el8.1.noarch
> iwl7260-firmware-25.30.13.0-103.el8.1.noarch
> jansson-2.11-3.el8.x86_64
217c216
< javapackages-filesystem-5.3.0-1.module_el8.0.0+11+5b8c10bd.noarch
---
> javapackages-filesystem-5.3.0-2.module_el8.0.0+6004+2fc32706.noarch
221c220
< json-c-0.13.1-3.el8.x86_64
---
> json-c-0.13.1-2.el8.x86_64
227a227
> kernel-4.18.0-348.7.1.el8_5.x86_64
229a230
> kernel-core-4.18.0-348.7.1.el8_5.x86_64
232c233,234
< kernel-headers-4.18.0-348.2.1.el8_5.x86_64
---
> kernel-devel-4.18.0-348.7.1.el8_5.x86_64
> kernel-headers-4.18.0-348.7.1.el8_5.x86_64
235,237c237,240
< kernel-tools-4.18.0-348.2.1.el8_5.x86_64
< kernel-tools-libs-4.18.0-348.2.1.el8_5.x86_64
< kexec-tools-2.0.20-63.el8.x86_64
---
> kernel-modules-4.18.0-348.7.1.el8_5.x86_64
> kernel-tools-4.18.0-348.7.1.el8_5.x86_64
> kernel-tools-libs-4.18.0-348.7.1.el8_5.x86_64
> kexec-tools-2.0.20-57.el8_5.1.x86_64
239,241c242,244
< kmod-25-19.el8.x86_64
< kmod-libs-25-19.el8.x86_64
< kpartx-0.8.4-20.el8.x86_64
---
> kmod-25-18.el8.x86_64
> kmod-libs-25-18.el8.x86_64
> kpartx-0.8.4-17.el8.x86_64
254c257
< libbpf-0.4.0-2.el8.x86_64
---
> libbpf-0.4.0-1.el8.x86_64
259c262
< libcomps-0.1.18-1.el8.x86_64
---
> libcomps-0.1.16-2.el8.x86_64
267c270
< libdnf-0.63.0-5.el8.x86_64
---
> libdnf-0.63.0-3.el8.x86_64
274c277
< libffi-3.1-23.el8.x86_64
---
> libffi-3.1-22.el8.x86_64
276c279
< libgcc-8.5.0-6.el8.x86_64
---
> libgcc-8.5.0-4.el8_5.alma.x86_64
278c281
< libgomp-8.5.0-6.el8.x86_64
---
> libgomp-8.5.0-4.el8_5.alma.x86_64
282c285
< libibverbs-37.1-1.el8.x86_64
---
> libibverbs-35.0-1.el8.x86_64
294c297
< libldb-2.4.1-1.el8.x86_64
---
> libldb-2.3.0-2.el8.x86_64
306c309
< libnfsidmap-2.3.3-47.el8.x86_64
---
> libnfsidmap-2.3.3-46.el8.x86_64
322,323c325,326
< librepo-1.14.2-1.el8.x86_64
< libreport-filesystem-2.9.5-15.el8.x86_64
---
> librepo-1.14.0-2.el8.x86_64
> libreport-filesystem-2.9.5-15.el8.alma.1.x86_64
325c328
< libseccomp-2.5.2-1.el8.x86_64
---
> libseccomp-2.5.1-1.el8.x86_64
334c337
< libsolv-0.7.20-1.el8.x86_64
---
> libsolv-0.7.19-1.el8.x86_64
337,345c340,348
< libssh-0.9.6-3.el8.x86_64
< libssh-config-0.9.6-3.el8.noarch
< libsss_autofs-2.5.2-2.el8_5.1.x86_64
< libsss_certmap-2.5.2-2.el8_5.1.x86_64
< libsss_idmap-2.5.2-2.el8_5.1.x86_64
< libsss_nss_idmap-2.5.2-2.el8_5.1.x86_64
< libsss_sudo-2.5.2-2.el8_5.1.x86_64
< libstdc++-8.5.0-6.el8.x86_64
< libstdc++-devel-8.5.0-6.el8.x86_64
---
> libssh-0.9.4-3.el8.x86_64
> libssh-config-0.9.4-3.el8.noarch
> libsss_autofs-2.5.2-2.el8_5.3.x86_64
> libsss_certmap-2.5.2-2.el8_5.3.x86_64
> libsss_idmap-2.5.2-2.el8_5.3.x86_64
> libsss_nss_idmap-2.5.2-2.el8_5.3.x86_64
> libsss_sudo-2.5.2-2.el8_5.3.x86_64
> libstdc++-8.5.0-4.el8_5.alma.x86_64
> libstdc++-devel-8.5.0-4.el8_5.alma.x86_64
347c350
< libtalloc-2.3.3-1.el8.x86_64
---
> libtalloc-2.3.2-1.el8.x86_64
349c352
< libtdb-1.4.4-1.el8.x86_64
---
> libtdb-1.4.3-1.el8.x86_64
353,354c356,357
< libtiff-4.0.9-21.el8.x86_64
< libtirpc-1.1.4-6.el8.x86_64
---
> libtiff-4.0.9-20.el8.x86_64
> libtirpc-1.1.4-5.el8.x86_64
359c362
< libuser-0.62-24.el8.x86_64
---
> libuser-0.62-23.el8.x86_64
383c386
< libxml2-2.9.7-11.el8.x86_64
---
> libxml2-2.9.7-9.el8_4.2.x86_64
396c399
< linux-firmware-20211119-105.gitf5d51956.el8.noarch
---
> linux-firmware-20210702-103.gitd79c2677.el8.noarch
408c411
< make-4.2.1-11.el8.x86_64
---
> make-4.2.1-10.el8.x86_64
419,422c422,425
< NetworkManager-1.36.0-0.2.el8.x86_64
< NetworkManager-libnm-1.36.0-0.2.el8.x86_64
< NetworkManager-team-1.36.0-0.2.el8.x86_64
< NetworkManager-tui-1.36.0-0.2.el8.x86_64
---
> NetworkManager-1.32.10-4.el8.x86_64
> NetworkManager-libnm-1.32.10-4.el8.x86_64
> NetworkManager-team-1.32.10-4.el8.x86_64
> NetworkManager-tui-1.32.10-4.el8.x86_64
424c427
< nftables-0.9.3-24.el8.x86_64
---
> nftables-0.9.3-21.el8.x86_64
438,440c441,443
< openssh-8.0p1-12.el8.x86_64
< openssh-clients-8.0p1-12.el8.x86_64
< openssh-server-8.0p1-12.el8.x86_64
---
> openssh-8.0p1-10.el8.x86_64
> openssh-clients-8.0p1-10.el8.x86_64
> openssh-server-8.0p1-10.el8.x86_64
452a456
> pciutils-3.7.0-1.el8.x86_64
462c466
< perl-Errno-1.28-421.el8.x86_64
---
> perl-Errno-1.28-420.el8.x86_64
470c474
< perl-Git-2.31.1-2.el8.noarch
---
> perl-Git-2.27.0-1.el8.noarch
472,473c476,477
< perl-interpreter-5.26.3-421.el8.x86_64
< perl-IO-1.38-421.el8.x86_64
---
> perl-interpreter-5.26.3-420.el8.x86_64
> perl-IO-1.38-420.el8.x86_64
475c479
< perl-IO-Socket-SSL-2.066-4.module_el8.4.0+517+be1595ff.noarch
---
> perl-IO-Socket-SSL-2.066-4.module_el8.3.0+2086+72f2d257.noarch
477,478c481,482
< perl-libs-5.26.3-421.el8.x86_64
< perl-macros-5.26.3-421.el8.x86_64
---
> perl-libs-5.26.3-420.el8.x86_64
> perl-macros-5.26.3-420.el8.x86_64
480,481c484,485
< perl-Mozilla-CA-20160104-7.module_el8.3.0+416+dee7bcef.noarch
< perl-Net-SSLeay-1.88-1.module_el8.4.0+517+be1595ff.x86_64
---
> perl-Mozilla-CA-20160104-7.module_el8.3.0+2091+9eecfe51.noarch
> perl-Net-SSLeay-1.88-1.module_el8.3.0+2086+72f2d257.x86_64
506c510
< pesign-0.112-26.el8.x86_64
---
> pesign-0.112-25.el8.alma.x86_64
513,514c517,518
< platform-python-3.6.8-44.el8.x86_64
< platform-python-pip-9.0.3-22.el8.noarch
---
> platform-python-3.6.8-41.el8.alma.x86_64
> platform-python-pip-9.0.3-20.el8.noarch
519c523
< policycoreutils-2.9-17.el8.x86_64
---
> policycoreutils-2.9-16.el8.x86_64
529c533
< python3-cloud-what-1.28.21-3.el8.x86_64
---
> python3-cloud-what-1.28.21-3.el8.alma.x86_64
535,536c539,540
< python3-dnf-4.7.0-5.el8.noarch
< python3-dnf-plugins-core-4.0.21-7.el8.noarch
---
> python3-dnf-4.7.0-4.el8.noarch
> python3-dnf-plugins-core-4.0.21-3.el8.noarch
538c542
< python3-firewall-0.9.3-11.el8.noarch
---
> python3-firewall-0.9.3-7.el8.noarch
541c545
< python3-hawkey-0.63.0-5.el8.x86_64
---
> python3-hawkey-0.63.0-3.el8.x86_64
545,548c549,552
< python3-libcomps-0.1.18-1.el8.x86_64
< python3-libdnf-0.63.0-5.el8.x86_64
< python3-librepo-1.14.2-1.el8.x86_64
< python3-libs-3.6.8-44.el8.x86_64
---
> python3-libcomps-0.1.16-2.el8.x86_64
> python3-libdnf-0.63.0-3.el8.x86_64
> python3-librepo-1.14.0-2.el8.x86_64
> python3-libs-3.6.8-41.el8.alma.x86_64
550,554c554,558
< python3-libxml2-2.9.7-11.el8.x86_64
< python3-linux-procfs-0.6.3-4.el8.noarch
< python3-nftables-0.9.3-24.el8.x86_64
< python3-perf-4.18.0-348.2.1.el8_5.x86_64
< python3-pip-wheel-9.0.3-22.el8.noarch
---
> python3-libxml2-2.9.7-9.el8_4.2.x86_64
> python3-linux-procfs-0.6.3-1.el8.noarch
> python3-nftables-0.9.3-21.el8.x86_64
> python3-perf-4.18.0-348.7.1.el8_5.x86_64
> python3-pip-wheel-9.0.3-20.el8.noarch
565,566c569,570
< python3-subscription-manager-rhsm-1.28.21-3.el8.x86_64
< python3-syspurpose-1.28.21-3.el8.x86_64
---
> python3-subscription-manager-rhsm-1.28.21-3.el8.alma.x86_64
> python3-syspurpose-1.28.21-3.el8.alma.x86_64
571c575
< qemu-guest-agent-6.1.0-5.module_el8.6.0+1040+0ae94936.x86_64
---
> qemu-guest-agent-4.2.0-59.module_el8.5.0+2608+72063365.1.x86_64
572a577
> rdma-core-35.0-1.el8.x86_64
574c579
< redhat-rpm-config-125-1.el8.noarch
---
> redhat-rpm-config-125-1.el8.alma.noarch
576c581
< rng-tools-6.14-4.git.b2b7934e.el8.x86_64
---
> rng-tools-6.13-1.git.d207e0b6.el8.x86_64
585c590
< rsyslog-8.2102.0-6.el8.x86_64
---
> rsyslog-8.2102.0-5.el8.x86_64
587,589c592,594
< sed-4.5-5.el8.x86_64
< selinux-policy-3.14.3-85.el8.noarch
< selinux-policy-targeted-3.14.3-85.el8.noarch
---
> sed-4.5-2.el8.x86_64
> selinux-policy-3.14.3-80.el8_5.2.noarch
> selinux-policy-targeted-3.14.3-80.el8_5.2.noarch
594c599
< shadow-utils-4.6-16.el8.x86_64
---
> shadow-utils-4.6-14.el8.x86_64
601,604c606,609
< sssd-client-2.5.2-2.el8_5.1.x86_64
< sssd-common-2.5.2-2.el8_5.1.x86_64
< sssd-kcm-2.5.2-2.el8_5.1.x86_64
< sssd-nfs-idmap-2.5.2-2.el8_5.1.x86_64
---
> sssd-client-2.5.2-2.el8_5.3.x86_64
> sssd-common-2.5.2-2.el8_5.3.x86_64
> sssd-kcm-2.5.2-2.el8_5.3.x86_64
> sssd-nfs-idmap-2.5.2-2.el8_5.3.x86_64
606,616c611,621
< subscription-manager-1.28.21-3.el8.x86_64
< subscription-manager-rhsm-certificates-1.28.21-3.el8.x86_64
< sudo-1.8.29-8.el8.x86_64
< systemd-239-51.el8.x86_64
< systemd-libs-239-51.el8.x86_64
< systemd-pam-239-51.el8.x86_64
< systemd-udev-239-51.el8.x86_64
< systemtap-4.6-4.el8.x86_64
< systemtap-client-4.6-4.el8.x86_64
< systemtap-devel-4.6-4.el8.x86_64
< systemtap-runtime-4.6-4.el8.x86_64
---
> subscription-manager-1.28.21-3.el8.alma.x86_64
> subscription-manager-rhsm-certificates-1.28.21-3.el8.alma.x86_64
> sudo-1.8.29-7.el8_4.1.x86_64
> systemd-239-51.el8_5.3.x86_64
> systemd-libs-239-51.el8_5.3.x86_64
> systemd-pam-239-51.el8_5.3.x86_64
> systemd-udev-239-51.el8_5.3.x86_64
> systemtap-4.5-3.el8.x86_64
> systemtap-client-4.5-3.el8.x86_64
> systemtap-devel-4.5-3.el8.x86_64
> systemtap-runtime-4.5-3.el8.x86_64
628c633
< unzip-6.0-45.el8.x86_64
---
> unzip-6.0-45.el8_4.x86_64
643,648c648,653
< valgrind-3.18.1-6.el8.x86_64
< valgrind-devel-3.18.1-6.el8.x86_64
< vim-common-8.0.1763-16.el8_5.2.x86_64
< vim-enhanced-8.0.1763-16.el8_5.2.x86_64
< vim-filesystem-8.0.1763-16.el8_5.2.noarch
< vim-minimal-8.0.1763-16.el8_5.2.x86_64
---
> valgrind-3.17.0-5.el8.x86_64
> valgrind-devel-3.17.0-5.el8.x86_64
> vim-common-8.0.1763-16.el8.x86_64
> vim-enhanced-8.0.1763-16.el8.x86_64
> vim-filesystem-8.0.1763-16.el8.noarch
> vim-minimal-8.0.1763-16.el8.x86_64
650,651c655,656
< which-2.21-17.el8.x86_64
< xfsprogs-5.0.0-10.el8.x86_64
---
> which-2.21-16.el8.x86_64
> xfsprogs-5.0.0-9.el8.x86_64
660c665
< yum-4.7.0-5.el8.noarch
---
> yum-4.7.0-4.el8.noarch
```
</div></details>

AlmaLinux向けパッケージだけ抜粋。

```
almalinux-release-8.5-4.el8.x86_64
chrony-4.1-1.el8.alma.x86_64
cpp-8.5.0-4.el8_5.alma.x86_64
dnf-plugin-subscription-manager-1.28.21-3.el8.alma.x86_64
gcc-8.5.0-4.el8_5.alma.x86_64
gcc-c++-8.5.0-4.el8_5.alma.x86_64
gcc-gdb-plugin-8.5.0-4.el8_5.alma.x86_64
grub2-common-2.02-106.el8.alma.noarch
grub2-pc-2.02-106.el8.alma.x86_64
grub2-pc-modules-2.02-106.el8.alma.noarch
grub2-tools-2.02-106.el8.alma.x86_64
grub2-tools-efi-2.02-106.el8.alma.x86_64
grub2-tools-extra-2.02-106.el8.alma.x86_64
grub2-tools-minimal-2.02-106.el8.alma.x86_64
libgcc-8.5.0-4.el8_5.alma.x86_64
libgomp-8.5.0-4.el8_5.alma.x86_64
libreport-filesystem-2.9.5-15.el8.alma.1.x86_64
libstdc++-8.5.0-4.el8_5.alma.x86_64
libstdc++-devel-8.5.0-4.el8_5.alma.x86_64
pesign-0.112-25.el8.alma.x86_64
platform-python-3.6.8-41.el8.alma.x86_64
python3-cloud-what-1.28.21-3.el8.alma.x86_64
python3-libs-3.6.8-41.el8.alma.x86_64
python3-subscription-manager-rhsm-1.28.21-3.el8.alma.x86_64
python3-syspurpose-1.28.21-3.el8.alma.x86_64
redhat-rpm-config-125-1.el8.alma.noarch
subscription-manager-1.28.21-3.el8.alma.x86_64
subscription-manager-rhsm-certificates-1.28.21-3.el8.alma.x86_64
```

再起動しても問題はなさそう。

ということでCentOS Stream 8からAlmaLinux OS 8への移行は可能ではある。

ただ、glibc-gconv-extraのようにパッケージ構成が変わってしまうなど心配な面もあるので、移行するよりも新規でインストールした方がよさそう＆間違いない。

少なくとも運用中のサーバで移行するのはお勧めしない。