CentOS 8系统迁移至CentOS Stream
2020年12月8日,CentOS官方发布公告称CentOS 8将于2021年12月31日结束支持,取而代之的是CentOS Stream。
以前centos作为RHEL的重新编译版,即下游发型版: Fedora -> RHEL -> CentOS
现在是和Fedora一样专注于RHEL的上游测试分支: Fedora -> CentOS Stream -> RHEL
CentOS Stream发布方式改为滚动更新,不像传统的操作系统有着明确的系统版本号,而是在升级过程中使用来自上游的最新软件包版本以及内核功能等。其定位是吸收Fedora中测试稳定的软件,制作成相对稳定的滚动发型版,即给RHEL做测试,又为RHEL培养客户。对于稳定性要求不高的场景,可以直接从CentOS 8迁移至CentOS Stream。
迁移之前,先备份好数据及重要的配置!!备份好数据及重要的配置!!备份好数据及重要的配置!!
一、更新CentOS 8系统至最新
dnf update
重启后查看版本号:
cat /etc/redhat-release
CentOS Linux release 8.3.2011
二、安装CentOS Stream 软件源
dnf install centos-release-stream
将当前的CentOS 8源替换成CentOS Stream源:
dnf swap centos-{linux,stream}-repos
三、迁移并替换系统软件及内核
distro-sync工具会比对本地软件和CentOS Steam源中的软件及内核,并进行必要的升级、降级或者保持不变,这一步中有差异的软件选择Y替换成CentOS Stream提供的版本:
dnf distro-sync
这一步骤会下载比较多的软件并安装,耗时比较久。下载安装完成后,重启系统并验证版本:
cat /etc/redhat-release
CentOS Stream release 8
四、收尾验证
移除无用和冲突的软件包:
dnf autoremove
CentOS默认会保留5个旧内核,移除旧版的内核和旧版的kernel-headers、kernel-devel等软件包,有三种方式:
- 更改/etc/yum.conf中的 installonly_limit=5,之后使用dnf autoremove移除
- 安装yum-utils,并使用命令:package-cleanup --oldkernels --count=1进行移除
- rpm -qa 找出旧版内核,手动删除
清除了旧内核之后,如果之前使用了内核模块的软件,如wireguard等,需重新配置。
检查并重新设置开启启动,如firewalld等软件。另外,由于很多系统内核、系统软件和库文件被替换或升级,有些配置可能被更改或者软件无法启动,需一一进行验证。
总体来说,过程比较简单,也比较容易迁移。但是迁移毕竟是高风险操作,容易导致软件无法启动及灵异问题,排查起来比较麻烦,有条件仍然建议重新安装。
红帽官方不建议将CentOS Stream用于生产环境中,随着CentOS Stream的发布,Red Hat宣布放宽RHEL系统的独立开发者订阅,允许最多免费使用16个RHEL系统。如果服务器比较多,可以考虑迁移到Oracle Linux、Rocky Linux、AlmaLinux等基于RHEL的下游系统。
[...]CentOS 8系统迁移至CentOS Stream[...]