Centos7.9升级到100%重启时候报“自适应脚本执行失败,请定位失败原因。”错误

升级流程跑到100%,点击“重启”按钮,机子不会重启,工具页面报“自适应脚本执行失败,请定位失败原因。”

SSH连上待升级主机,重启了ssh服务。正常启动。在页面点击重试也不行。

服务端完整环境和日志文件:https://f.ws59.cn/f/edaftdmd1gq

scp -r -P 22 /opt/x2openEuler/output/env-check/node-192.168.2.39/pre-env-check-node-b5007d79-b99e-4089-8f98-dfe05c5411cd.json root@[192.168.2.39]:/opt/x2openEuler-upgrade/output/upgrade-check,这条命令执行失败了

从 x2openEuler 服务节点使用 scp 命令向待升级节点传送一个文件,看看是不是报这个错:
scp: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory

对对对,就是报这个错误,这是啥原因,咋解决? :frowning_with_open_mouth:

服务端:

rpm -qa | grep openss*

find / -name "*libcrypto.so*"


这个是在工具端截取的

2
这个是在待升级主机上截取的

服务端好像装的系统版本太高了,都执行一下这个看看 ldd $(which scp)

啊,我怎么感觉像是待升级主机的问题?因为这台服务端我测试升级另外一台全新的Centos7是正常的。

这是服务端的截图:

这是待升级主机的截图:

是的,待升级节点的 scp 有问题,调用了旧版本 openssl 的 libcrypto 库,升级过程中已经把旧版本 openssl 删除了,所以命令不能使用

看一下待升级节点的 scp 命令在哪里(which scp),看看是不是编译安装的:

如果是这样,就把 /usr/local/bin/scp 命令改名或者备份走,然后执行 which scp 命令查看 scp 的位置,确保该命令是由 openssh-clients 包提供的(rpm -qf $(which scp)

最后在前端页面点击重试即可

感谢大佬指点,果然是这个问题,然后我根据这个在深度查看,发现/usr/local/bin/还有其他几个文件,在根据这几个文件查找发现是有自编译的openssh-clients的包存在,同时发现原机升级系统前执行yum update进行系统更新时,openssh-clients作为依赖项又被安装了一次。所以在升级系统过程中yum安装的openssh-clients有被正常卸载,但自编译的没有被卸载,导致库引用有问题,因此SCP无法使能传输文件导致报错。

建议各位小伙伴在升级系统之前了解好原机是否有自编译软件,比如openssh-clients,python。都会影响升级,一定要在升级之前备份卸载掉。

1