默认CentOS7.x是无法直接升级到8.x任何版本的,为了解决CentOS7.x升级到8.x版本的问题,AlmaLinux推出了一个名为ELevate项目来帮助用户从7.x版本升级到8.x。
ELevate支持的操作系统有:AlmaLinux8、CentOS8、EuroLinux8、Oracle Linux8、Rocky Linux8。
项目官方网址:https://almalinux.org/elevate/
github开源地址:https://github.com/AlmaLinux/leapp-repository/tree/almalinux
请注意升级前一定要做好数据备份,避免某种原因导致升级失败!!!
CentOS7.x升级至RockyLinux8.x开始
1、更新当前CentOS7.x版本为最新
1 |
yum update |
2、更新完成后重启
1 |
reboot |
3、安装elevate库
1 |
yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm |
4、安装leapp包以及升级包
在文章开始介绍了ELevate支持5个7.x至8.x版本的系统升级,所以这里你要先确定要升级的8.x版本是哪一个,然后安装对应的升级包。
我这里是从7.x升级到rocky8.x,所以需要安装leapp-data-rocky包
1 |
yum install leapp-upgrade leapp-data-rocky -y |
注:如果你是要升级到其他8.x版本则需要安装其他的包,总之想要升级到哪个版本就安装哪个
leapp-upgrade leapp-data-almalinux
leapp-upgrade leapp-data-centos
leapp-upgrade leapp-data-eurolinux
leapp-upgrade leapp-data-oraclelinux
5、升级前检查
执行升级前检查命令,Leapp会创建一个/var/log/leapp/leapp-report.txt文件,这个文件会包含可能出现的问题以及推荐的解决方案,在检查阶段,不会安装任何rpm包组。
注:如果你当前不允许root登录,则需要执行以下命令,放通root
1 |
sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config |
执行升级前检查命令
1 |
leapp preupgrade |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
============================================================ UPGRADE INHIBITED ============================================================ Upgrade has been inhibited due to the following problems: 1. Inhibitor: A YUM/DNF repository defined multiple times 2. Inhibitor: Missing required answers in the answer file Consult the pre-upgrade report for details and possible remediation. ============================================================ UPGRADE INHIBITED ============================================================ Debug output written to /var/log/leapp/leapp-preupgrade.log ============================================================ REPORT ============================================================ A report has been generated at /var/log/leapp/leapp-report.json A report has been generated at /var/log/leapp/leapp-report.txt ============================================================ END OF REPORT ============================================================ |
解决检查出现的问题:
问题一:因为我这里安装了内网的yum源,和默认的源冲突了,所以我需要把冲突的源解决掉,如果你没有改动过yum源的话,一般也不会出现yum源的报错。
问题二:查看log
1 |
cat /var/log/leapp/leapp-report.txt |
可以看到需要你执行这个命令
1 |
leapp answer --section remove_pam_pkcs11_module_check.confirm=True |
问题解决完成后,再次执行升级前检查命令,确保检查升级通过
1 |
leapp preupgrade |
看到以下内容,即表示检查通过
1 2 3 4 5 6 7 8 9 10 |
============================================================ REPORT ============================================================ A report has been generated at /var/log/leapp/leapp-report.json A report has been generated at /var/log/leapp/leapp-report.txt ============================================================ END OF REPORT ============================================================ |
6、开始升级
1 |
leapp upgrade |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
A reboot is required to continue. Please reboot your system. Debug output written to /var/log/leapp/leapp-upgrade.log ============================================================ REPORT ============================================================ A report has been generated at /var/log/leapp/leapp-report.json A report has been generated at /var/log/leapp/leapp-report.txt ============================================================ END OF REPORT ============================================================ |
7、根据上面提示,重启系统
1 |
reboot |
重启后可以看到,系统还在进行升级操作
升级完成后,还会自动重启,二次自动重启完成后就是最新的Rocky8系统了
8、查看升级后的系统版本
1 |
cat /etc/os-release |
NAME="Rocky Linux"
VERSION="8.7 (Green Obsidian)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.7"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Rocky Linux 8.7 (Green Obsidian)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:8:GA"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-8"
ROCKY_SUPPORT_PRODUCT_VERSION="8.7"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.7"
至此升级完成
原文链接:CentOS7.x升级至RockyLinux8.x,转载请注明来源!
感谢大佬的指引,我补充一个企业HyperV环境的报错:
error: /vmlinuz-upgrade.x86_64 has invalid signature.
error: you need to load the kernel first.
Press any key to continue...
这个是企业环境HyperV-安全-安全引导-开启安全引导,导致的