CentOS 8からCentOS Stream 8へ移行してみた
はじめに
2020年12月8日、CentOS Projectのブログにて、今後はCentOS Streamの提供に焦点を移し、CentOS 8の提供を2021年末で終了する旨の発表がありました。
CentOS Project shifts focus to CentOS Stream
同記事の中で、CentOS 8の移行先としてCentOS Stream 8が推奨されていたので、移行手順を試してみました。
前提条件
以下バージョンで、移行の手順を確認しました。OSインストール時、パッケージは「最小限のインストール」を選択しています。
# cat /etc/redhat-release
CentOS Linux release 8.3.2011
# uname -r
4.18.0-240.el8.x86_64
移行前のリポジトリ情報は以下の通りです。CentOS 8用の3つのリポジトリが登録されています。
- AppStream
- BaseOS
- Extras
# dnf repoinfo
メタデータの期限切れの最終確認: 1:08:25 時間前の 2020年12月19日 08時54分31秒 に実施しました。
Repo-id : appstream
Repo-name : CentOS Linux 8 - AppStream
Repo-revision : 8.3.2011
Repo-distro-tags : [cpe:/o:centos:centos:8]: , 8, C, O, S, e, n, t
Repo-updated : 2020年11月21日 02時52分02秒
Repo-pkgs : 5,684
Repo-available-pkgs: 4,988
Repo-size : 6.9 G
Repo-mirrors : http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock
Repo-baseurl : http://mirrors.cat.net/centos/8.3.2011/AppStream/x86_64/os/ (9 more)
Repo-expire : 172,800 秒 (最終: 2020年12月19日 08時54分20秒)
Repo-filename : /etc/yum.repos.d/CentOS-Linux-AppStream.repo
Repo-id : baseos
Repo-name : CentOS Linux 8 - BaseOS
Repo-revision : 8.3.2011
Repo-distro-tags : [cpe:/o:centos:centos:8]: , 8, C, O, S, e, n, t
Repo-updated : 2020年12月16日 00時05分26秒
Repo-pkgs : 1,697
Repo-available-pkgs: 1,695
Repo-size : 1.1 G
Repo-mirrors : http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=BaseOS&infra=stock
Repo-baseurl : http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos/8.3.2011/BaseOS/x86_64/os/ (9 more)
Repo-expire : 172,800 秒 (最終: 2020年12月19日 08時54分27秒)
Repo-filename : /etc/yum.repos.d/CentOS-Linux-BaseOS.repo
Repo-id : extras
Repo-name : CentOS Linux 8 - Extras
Repo-revision : 1605188560
Repo-updated : 2020年11月12日 22時42分22秒
Repo-pkgs : 30
Repo-available-pkgs: 30
Repo-size : 338 k
Repo-mirrors : http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=extras&infra=stock
Repo-baseurl : http://ftp.jaist.ac.jp/pub/Linux/CentOS/8.3.2011/extras/x86_64/os/ (9 more)
Repo-expire : 172,800 秒 (最終: 2020年12月19日 08時54分31秒)
Repo-filename : /etc/yum.repos.d/CentOS-Linux-Extras.repo
総パッケージ: 7,411
移行手順
以下手順をベースに、CentOS 8からCentOS Stream 8への移行を行います。
https://centos.org/distro-faq/#q7-how-do-i-migrate-my-centos-linux-8-installation-to-centos-stream
CentOS Stream 8移行用のリポジトリをインストールします。
# dnf install -y centos-release-stream
===========================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
===========================================================================================================
インストール:
centos-release-stream x86_64 8.1-1.1911.0.7.el8 extras 11 k
トランザクションの概要
===========================================================================================================
インストール 1 パッケージ
ダウンロードサイズの合計: 11 k
インストール済みのサイズ: 6.6 k
(略)
完了しました!
CentOS 8用リポジトリ(centos-linux-repos
)をCentOS Stream 8用リポジトリ(centos-stream-repos
)に置き換えます。
# dnf swap -y centos-{linux,stream}-repos
===========================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
===========================================================================================================
インストール:
centos-stream-release noarch 8.4-1.el8 Stream-BaseOS 21 k
置き換え centos-linux-release.noarch 8.3-1.2011.el8
置き換え centos-release-stream.x86_64 8.1-1.1911.0.7.el8
centos-stream-repos noarch 8-2.el8 Stream-BaseOS 19 k
削除中:
centos-linux-repos noarch 8-2.el8 @anaconda 26 k
トランザクションの概要
===========================================================================================================
インストール 2 パッケージ
削除 1 パッケージ
ダウンロードサイズの合計: 40 k
(略)
完了しました!
インストール済みパッケージを、CentOS Stream 8用リポジトリの最新バージョンへ変更します。
# dnf distro-sync -y
===========================================================================================================
パッケージ Arch バージョン Repo サイズ
===========================================================================================================
インストール:
kernel x86_64 4.18.0-257.el8 baseos 4.9 M
kernel-core x86_64 4.18.0-257.el8 baseos 31 M
kernel-modules x86_64 4.18.0-257.el8 baseos 27 M
アップグレード:
NetworkManager x86_64 1:1.30.0-0.3.el8 baseos 2.5 M
NetworkManager-libnm x86_64 1:1.30.0-0.3.el8 baseos 1.8 M
NetworkManager-team x86_64 1:1.30.0-0.3.el8 baseos 142 k
NetworkManager-tui x86_64 1:1.30.0-0.3.el8 baseos 323 k
authselect x86_64 1.2.2-1.el8 baseos 128 k
authselect-libs x86_64 1.2.2-1.el8 baseos 214 k
bind-export-libs x86_64 32:9.11.20-6.el8 baseos 1.1 M
cpio x86_64 2.12-9.el8 baseos 265 k
curl x86_64 7.61.1-17.el8 baseos 353 k
dbus x86_64 1:1.12.8-12.el8 baseos 41 k
dbus-common noarch 1:1.12.8-12.el8 baseos 45 k
dbus-daemon x86_64 1:1.12.8-12.el8 baseos 240 k
dbus-libs x86_64 1:1.12.8-12.el8 baseos 183 k
dbus-tools x86_64 1:1.12.8-12.el8 baseos 85 k
device-mapper x86_64 8:1.02.175-0.2.20201103git8801a86.el8 baseos 373 k
device-mapper-event x86_64 8:1.02.175-0.2.20201103git8801a86.el8 baseos 268 k
device-mapper-event-libs x86_64 8:1.02.175-0.2.20201103git8801a86.el8 baseos 267 k
device-mapper-libs x86_64 8:1.02.175-0.2.20201103git8801a86.el8 baseos 406 k
dhcp-client x86_64 12:4.3.6-42.el8 baseos 318 k
dhcp-common noarch 12:4.3.6-42.el8 baseos 207 k
dhcp-libs x86_64 12:4.3.6-42.el8 baseos 147 k
dnf noarch 4.4.2-2.el8 baseos 539 k
dnf-data noarch 4.4.2-2.el8 baseos 150 k
dnf-plugins-core noarch 4.0.18-1.el8 baseos 67 k
efi-filesystem noarch 3-3.el8 baseos 9.0 k
elfutils-debuginfod-client x86_64 0.182-2.el8 baseos 65 k
elfutils-default-yama-scope noarch 0.182-2.el8 baseos 49 k
elfutils-libelf x86_64 0.182-2.el8 baseos 216 k
elfutils-libs x86_64 0.182-2.el8 baseos 293 k
ethtool x86_64 2:5.8-5.el8 baseos 206 k
filesystem x86_64 3.8-4.el8 baseos 1.1 M
firewalld noarch 0.8.2-3.el8 baseos 488 k
firewalld-filesystem noarch 0.8.2-3.el8 baseos 76 k
freetype x86_64 2.9.1-5.el8 baseos 394 k
gawk x86_64 4.2.1-2.el8 baseos 1.1 M
glib2 x86_64 2.56.4-9.el8 baseos 2.5 M
glibc x86_64 2.28-141.el8 baseos 3.6 M
glibc-common x86_64 2.28-141.el8 baseos 1.3 M
glibc-langpack-ja x86_64 2.28-141.el8 baseos 331 k
gpgme x86_64 1.13.1-6.el8 baseos 335 k
hdparm x86_64 9.54-3.el8 baseos 100 k
initscripts x86_64 10.00.10-1.el8 baseos 338 k
iproute x86_64 5.9.0-1.el8 baseos 692 k
iptables x86_64 1.8.4-16.el8 baseos 585 k
iptables-ebtables x86_64 1.8.4-16.el8 baseos 71 k
iptables-libs x86_64 1.8.4-16.el8 baseos 106 k
iputils x86_64 20180629-3.el8 baseos 148 k
irqbalance x86_64 2:1.4.0-5.el8 baseos 55 k
iwl100-firmware noarch 39.31.5.1-100.el8.1 baseos 170 k
iwl1000-firmware noarch 1:39.31.5.1-100.el8.1 baseos 233 k
iwl105-firmware noarch 18.168.6.1-100.el8.1 baseos 254 k
iwl135-firmware noarch 18.168.6.1-100.el8.1 baseos 263 k
iwl2000-firmware noarch 18.168.6.1-100.el8.1 baseos 256 k
iwl2030-firmware noarch 18.168.6.1-100.el8.1 baseos 265 k
iwl3160-firmware noarch 1:25.30.13.0-100.el8.1 baseos 1.7 M
iwl5000-firmware noarch 8.83.5.1_1-100.el8.1 baseos 314 k
iwl5150-firmware noarch 8.24.2.2-100.el8.1 baseos 166 k
iwl6000-firmware noarch 9.221.4.1-100.el8.1 baseos 186 k
iwl6000g2a-firmware noarch 18.168.6.1-100.el8.1 baseos 329 k
iwl6050-firmware noarch 41.28.5.1-100.el8.1 baseos 262 k
iwl7260-firmware noarch 1:25.30.13.0-100.el8.1 baseos 16 M
json-c x86_64 0.13.1-0.3.el8 baseos 40 k
kernel-tools x86_64 4.18.0-257.el8 baseos 5.1 M
kernel-tools-libs x86_64 4.18.0-257.el8 baseos 5.0 M
kexec-tools x86_64 2.0.20-36.el8 baseos 498 k
krb5-libs x86_64 1.18.2-7.el8 baseos 838 k
libarchive x86_64 3.3.3-1.el8 baseos 359 k
libcurl x86_64 7.61.1-17.el8 baseos 299 k
libdb x86_64 5.3.28-40.el8 baseos 751 k
libdb-utils x86_64 5.3.28-40.el8 baseos 150 k
libdnf x86_64 0.55.0-1.el8 baseos 677 k
libgcc x86_64 8.4.1-1.el8 baseos 78 k
libgomp x86_64 8.4.1-1.el8 baseos 204 k
libldb x86_64 2.2.0-1.el8 baseos 188 k
libnfsidmap x86_64 1:2.3.3-36.el8 baseos 119 k
libpwquality x86_64 1.4.4-1.el8 baseos 107 k
libselinux x86_64 2.9-5.el8 baseos 165 k
libselinux-utils x86_64 2.9-5.el8 baseos 243 k
libsemanage x86_64 2.9-4.el8 baseos 165 k
libsolv x86_64 0.7.16-1.el8 baseos 361 k
libstdc++ x86_64 8.4.1-1.el8 baseos 451 k
libxml2 x86_64 2.9.7-9.el8 baseos 696 k
linux-firmware noarch 20201022-100.gitdae4b4cd.el8 baseos 114 M
lshw x86_64 B.02.19.2-3.el8 baseos 340 k
lsscsi x86_64 0.32-2.el8 baseos 71 k
lvm2 x86_64 8:2.03.11-0.2.20201103git8801a86.el8 baseos 1.6 M
lvm2-libs x86_64 8:2.03.11-0.2.20201103git8801a86.el8 baseos 1.1 M
microcode_ctl x86_64 4:20201112-1.el8 baseos 4.6 M
openldap x86_64 2.4.46-16.el8 baseos 351 k
p11-kit x86_64 0.23.21-4.el8 baseos 325 k
p11-kit-trust x86_64 0.23.21-4.el8 baseos 137 k
pam x86_64 1.3.1-14.el8 baseos 738 k
pciutils-libs x86_64 3.7.0-1.el8 baseos 54 k
platform-python x86_64 3.6.8-33.el8 baseos 84 k
procps-ng x86_64 3.3.15-5.el8 baseos 329 k
python3-dnf noarch 4.4.2-2.el8 baseos 538 k
python3-dnf-plugins-core noarch 4.0.18-1.el8 baseos 221 k
python3-firewall noarch 0.8.2-3.el8 baseos 393 k
python3-gpg x86_64 1.13.1-6.el8 baseos 244 k
python3-hawkey x86_64 0.55.0-1.el8 baseos 113 k
python3-libdnf x86_64 0.55.0-1.el8 baseos 765 k
python3-libs x86_64 3.6.8-33.el8 baseos 7.8 M
python3-libselinux x86_64 2.9-5.el8 baseos 283 k
python3-libxml2 x86_64 2.9.7-9.el8 baseos 237 k
python3-perf x86_64 4.18.0-257.el8 baseos 5.1 M
python3-syspurpose x86_64 1.28.5-1.el8 baseos 298 k
python3-unbound x86_64 1.7.3-15.el8 appstream 119 k
rsyslog x86_64 8.1911.0-7.el8 appstream 732 k
selinux-policy noarch 3.14.3-58.el8 baseos 624 k
selinux-policy-targeted noarch 3.14.3-58.el8 baseos 15 M
shadow-utils x86_64 2:4.6-12.el8 baseos 1.2 M
sqlite-libs x86_64 3.26.0-13.el8 baseos 580 k
systemd x86_64 239-43.el8 baseos 3.6 M
systemd-libs x86_64 239-43.el8 baseos 1.1 M
systemd-pam x86_64 239-43.el8 baseos 461 k
systemd-udev x86_64 239-43.el8 baseos 1.4 M
trousers x86_64 0.3.15-1.el8 baseos 152 k
trousers-lib x86_64 0.3.15-1.el8 baseos 168 k
tuned noarch 2.15.0-0.1.rc1.el8 baseos 302 k
unbound-libs x86_64 1.7.3-15.el8 appstream 503 k
yum noarch 4.4.2-2.el8 baseos 200 k
zlib x86_64 1.2.11-17.el8 baseos 102 k
依存関係のインストール:
adwaita-cursor-theme noarch 3.28.0-2.el8 baseos 647 k
adwaita-icon-theme noarch 3.28.0-2.el8 baseos 11 M
at-spi2-atk x86_64 2.26.2-1.el8 baseos 89 k
at-spi2-core x86_64 2.28.0-1.el8 baseos 169 k
atk x86_64 2.28.1-1.el8 baseos 272 k
avahi-libs x86_64 0.7-20.el8 baseos 62 k
cairo x86_64 1.15.12-3.el8 baseos 721 k
cairo-gobject x86_64 1.15.12-3.el8 baseos 33 k
colord-libs x86_64 1.4.2-1.el8 baseos 236 k
cups-libs x86_64 1:2.2.6-38.el8 baseos 433 k
dejavu-fonts-common noarch 2.35-6.el8 baseos 74 k
dejavu-sans-mono-fonts noarch 2.35-6.el8 baseos 447 k
dnf-plugin-subscription-manager x86_64 1.28.5-1.el8 baseos 289 k
fontconfig x86_64 2.13.1-3.el8 baseos 275 k
fontpackages-filesystem noarch 1.44-22.el8 baseos 16 k
fribidi x86_64 1.0.4-8.el8 baseos 89 k
gdk-pixbuf2 x86_64 2.36.12-5.el8 baseos 467 k
gdk-pixbuf2-modules x86_64 2.36.12-5.el8 baseos 109 k
glib-networking x86_64 2.56.1-1.1.el8 baseos 155 k
graphite2 x86_64 1.3.10-10.el8 baseos 122 k
gsettings-desktop-schemas x86_64 3.32.0-5.el8 baseos 633 k
gtk-update-icon-cache x86_64 3.22.30-6.el8 baseos 32 k
gtk3 x86_64 3.22.30-6.el8 baseos 4.5 M
harfbuzz x86_64 1.7.5-3.el8 baseos 295 k
hicolor-icon-theme noarch 0.17-2.el8 baseos 49 k
jasper-libs x86_64 2.0.14-4.el8 baseos 167 k
jbigkit-libs x86_64 2.1-14.el8 baseos 55 k
json-glib x86_64 1.4.4-1.el8 baseos 144 k
lcms2 x86_64 2.9-2.el8 baseos 165 k
libX11 x86_64 1.6.8-4.el8 baseos 611 k
libX11-common noarch 1.6.8-4.el8 baseos 158 k
libXau x86_64 1.0.9-3.el8 baseos 37 k
libXcomposite x86_64 0.4.4-14.el8 baseos 28 k
libXcursor x86_64 1.1.15-3.el8 baseos 36 k
libXdamage x86_64 1.1.4-14.el8 baseos 27 k
libXext x86_64 1.3.4-1.el8 baseos 45 k
libXfixes x86_64 5.0.3-7.el8 baseos 25 k
libXft x86_64 2.3.3-1.el8 baseos 67 k
libXi x86_64 1.7.10-1.el8 baseos 49 k
libXinerama x86_64 1.1.4-1.el8 baseos 16 k
libXrandr x86_64 1.5.2-1.el8 baseos 34 k
libXrender x86_64 0.9.10-7.el8 baseos 33 k
libXtst x86_64 1.2.3-7.el8 baseos 22 k
libdatrie x86_64 0.2.9-7.el8 baseos 33 k
libepoxy x86_64 1.5.3-1.el8 baseos 225 k
libgusb x86_64 0.3.0-1.el8 baseos 49 k
libjpeg-turbo x86_64 1.5.3-10.el8 baseos 156 k
libmodman x86_64 2.0.1-17.el8 baseos 36 k
libproxy x86_64 0.4.15-5.2.el8 baseos 75 k
libsoup x86_64 2.62.3-2.el8 baseos 424 k
libthai x86_64 0.1.27-2.el8 baseos 203 k
libtiff x86_64 4.0.9-18.el8 baseos 188 k
libwayland-client x86_64 1.17.0-1.el8 baseos 39 k
libwayland-cursor x86_64 1.17.0-1.el8 baseos 26 k
libwayland-egl x86_64 1.17.0-1.el8 baseos 19 k
libxcb x86_64 1.13.1-1.el8 baseos 229 k
lmdb-libs x86_64 0.9.24-1.el8 baseos 58 k
pango x86_64 1.42.4-6.el8 baseos 298 k
pixman x86_64 0.38.4-1.el8 baseos 257 k
python3-ethtool x86_64 0.14-3.el8 baseos 45 k
python3-iniparse noarch 0.4-31.el8 baseos 49 k
python3-inotify noarch 0.9.6-13.el8 baseos 57 k
python3-librepo x86_64 1.12.0-2.el8 baseos 52 k
python3-subscription-manager-rhsm x86_64 1.28.5-1.el8 baseos 362 k
rest x86_64 0.8.1-2.el8 baseos 70 k
subscription-manager x86_64 1.28.5-1.el8 baseos 1.1 M
subscription-manager-rhsm-certificates x86_64 1.28.5-1.el8 baseos 258 k
usermode x86_64 1.113-1.el8 baseos 202 k
弱い依存関係のインストール:
abattis-cantarell-fonts noarch 0.0.25-4.el8 appstream 155 k
dconf x86_64 0.28.0-4.el8 appstream 108 k
トランザクションの概要
===========================================================================================================
インストール 73 パッケージ
アップグレード 122 パッケージ
ダウンロードサイズの合計: 317 M
(略)
完了しました!
カーネルに変更が入っているので、一度OSを再起動します。
# shutdown -r now
CentOS Stream 8へ移行できたことを確認します。
# cat /etc/redhat-release
CentOS Stream release 8
# uname -r
4.18.0-257.el8.x86_64
# dnf repoinfo
メタデータの期限切れの最終確認: 0:13:23 時間前の 2020年12月19日 10時09分06秒 に実施しました。
Repo-id : appstream
Repo-name : CentOS Stream 8 - AppStream
Repo-revision : 8-stream
Repo-distro-tags : [cpe:/o:centos-stream:centos-stream:8]: , , 8, C, O, S, S, a, e, e, m, n, r, t, t
Repo-updated : 2020年12月16日 07時16分39秒
Repo-pkgs : 5,688
Repo-available-pkgs: 4,987
Repo-size : 7.1 G
Repo-mirrors : http://mirrorlist.centos.org/?release=8-stream&arch=x86_64&repo=AppStream&infra=stock
Repo-baseurl : http://ftp.jaist.ac.jp/pub/Linux/CentOS/8-stream/AppStream/x86_64/os/ (9 more)
Repo-expire : 172,800 秒 (最終: 2020年12月19日 10時08分55秒)
Repo-filename : /etc/yum.repos.d/CentOS-Stream-AppStream.repo
Repo-id : baseos
Repo-name : CentOS Stream 8 - BaseOS
Repo-revision : 8-stream
Repo-distro-tags : [cpe:/o:centos-stream:centos-stream:8]: , , 8, C, O, S, S, a, e, e, m, n, r, t, t
Repo-updated : 2020年12月16日 07時16分36秒
Repo-pkgs : 1,784
Repo-available-pkgs: 1,782
Repo-size : 1.1 G
Repo-mirrors : http://mirrorlist.centos.org/?release=8-stream&arch=x86_64&repo=BaseOS&infra=stock
Repo-baseurl : http://ftp.iij.ad.jp/pub/linux/centos/8-stream/BaseOS/x86_64/os/ (9 more)
Repo-expire : 172,800 秒 (最終: 2020年12月19日 10時09分03秒)
Repo-filename : /etc/yum.repos.d/CentOS-Stream-BaseOS.repo
Repo-id : extras
Repo-name : CentOS Stream 8 - Extras
Repo-revision : 1594390776
Repo-updated : 2020年07月10日 23時19分28秒
Repo-pkgs : 21
Repo-available-pkgs: 21
Repo-size : 252 k
Repo-mirrors : http://mirrorlist.centos.org/?release=8-stream&arch=x86_64&repo=extras&infra=stock
Repo-baseurl : http://ftp.iij.ad.jp/pub/linux/centos/8-stream/extras/x86_64/os/ (9 more)
Repo-expire : 172,800 秒 (最終: 2020年12月19日 10時09分06秒)
Repo-filename : /etc/yum.repos.d/CentOS-Stream-Extras.repo
総パッケージ: 7,493
参考情報
ソフトウェアパッケージに含まれるOSロゴ
従来のCentOSはRHELのダウンストリーム製品ということで、RHELのソースコードをリビルドする際にRed Hat社の商標に触れる部分は取り除かれていました。
CentOS StreamはRHELのアップストリーム製品という位置付けのため、パッケージに含まれる商標関係の状態がどうなっているのか気になり、ApacheとNginxのWelcome画面をそれぞれ確認したところ、興味深い結果となりました。
ApacheのWelcome画面は、CentOSのロゴが表示されました。
それに対し、NginxのWelcome画面は、RHELのロゴが表示されました。
CentOS StreamはRHELのアップストリームなのでCentOSのロゴで統一し、RHEL開発時にロゴが差し替えられるものだと思っていました、そうではないようです。
CentOS StreamはRHELのクローンOSではないのでパッケージの内容に差分が生じるのは想定できるものの、両OSの開発プロセスの中で差分の変更がどの様に行われるのか気になりました。