Plesk环境CentOS转AlmaLinux升级失败,求解决及重复执行可行性
CentOS转AlmaLinux升级失败问题解决指南
问题概述
使用Plesk官方的centos2alma工具(v1.4.0)执行CentOS转AlmaLinux升级时,系统表面显示完成,但实际升级失败。查看/var/log/plesk/centos2alma.log发现:
- 核心阻止项:远程root登录可能存在问题,导致
leapp preupgrade命令返回非零状态 - 同时存在4个高优先级、1个中优先级的系统兼容性问题
已执行sudo yum update确认系统无待更新包,但问题仍存在。
解决步骤
1. 优先处理核心阻止项:远程root登录问题
这是升级被直接终止的原因,必须先解决:
- 编辑SSH配置文件:
vi /etc/ssh/sshd_config,确保PermitRootLogin设置为yes(密码登录)或prohibit-password(密钥登录),不要设为no - 重启SSH服务生效:
systemctl restart sshd - 测试root远程登录是否正常,确保无连接问题
2. 逐个处理高优先级兼容性问题
(1) 清理非Red Hat签名的第三方包
- 列出所有非官方签名的包:
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} %{VENDOR}\n" | grep -v "Red Hat" - 处理方式:
- 替换为AlmaLinux官方仓库提供的同功能包
- 若为必要第三方工具,确认其支持AlmaLinux 8后保留,否则暂时卸载(升级完成后再重装适配版本)
(2) 移除不再维护的内核驱动
- 查看Leapp报告里的具体驱动列表:
cat /var/log/leapp/leapp-report.txt | grep -A5 -B5 "loaded kernel drivers which are no longer maintained" - 卸载对应驱动包,或替换为AlmaLinux 8兼容的版本
- 重启系统后,确认驱动已不再加载
(3) 适配Python版本差异
CentOS 7默认用Python 2.7,AlmaLinux 8以Python 3为主,需处理依赖问题:
- 列出依赖Python 2的系统包:
rpm -qa --whatrequires python2 - 升级这些包到支持Python 3的版本,或修改相关脚本适配Python 3(Plesk自身已适配,重点检查第三方工具)
(4) 处理PAM模块pam_pkcs11移除问题
- 先备份PAM配置:
cp -r /etc/pam.d /etc/pam.d.bak - 手动移除
/etc/pam.d下所有配置文件中关于pam_pkcs11.so的行,或确认该模块无用途后直接删除相关包
3. 确认Leapp交互选项
Leapp生成了/var/log/leapp/answerfile,需确认所有需要人工确认的选项:
- 编辑文件:
vi /var/log/leapp/answerfile - 对GRUB2更新、Python版本变更等选项,设置回答为
Yes - 保存退出
4. 清理升级残留文件
- 删除Leapp缓存和报告:
rm -rf /var/log/leapp/* - 释放升级锁文件(如果存在):
rm -f /usr/local/psa/var/centos2alma/centos2alma.lock
5. 重新执行升级
完成以上所有步骤后,重新运行升级命令:
./centos2alma
⚠️ 注意:升级过程请勿中断,确保服务器网络稳定、电源充足,建议在维护窗口操作。
关于重复运行升级的疑问
可以重复运行升级操作,但必须先解决日志中所有阻止项和高优先级问题,否则会再次失败。每次运行前务必清理Leapp缓存和锁文件,保证环境干净。
内容的提问来源于stack exchange,提问作者abe1432181
相关产品推荐
相关产品推荐

