我以前用openssl10replace了我的centos中的openssl,使用类似下面的指令 :
rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/... ...x86_64/ius-release-1.0-11.ius.centos6.noarch.rpm yum install yum-plugin-replace # Edit /etc/yum.repos.d/ius-archive.repo and # enable the ius-archive repo by changing enabled=0 to enabled=1. yum replace openssl --replace-with openssl10
然后,当我做一般的yum update我得到错误,因为openssl,所以而是我做的:
yum update -x openssl -x postfix
这似乎工作正常,但实际上,我不能再通过SSH重新连接到框:
me@local $ ssh -S none root@the_server ssh_exchange_identification: Connection closed by remote host
任何想法如何从这种情况下恢复?
编辑:当我在服务器上运行sshd (我仍然有一个打开的连接),我得到以下错误:
ssh: relocation error: ssh: symbol SSLeay_version, version OPENSSL_1.0.1 not defined in file libcrypto.so.10 with link time reference
使用IUS存储库时,使用openssl10replaceopenssl ,然后尝试升级到CentOS 6.5,出现了一些问题。
基本上你所要做的就是回到股票openssl – 现在在1.0.1版本上:
yum replace openssl10 --replace-with openssl
现在使用openssl10是不必要的,不受支持。
这也是为什么它只在档案库中可用。
欲了解更多信息,请参阅: https : //lists.launchpad.net/ius-community/msg00807.html和https://bugs.launchpad.net/ius/+bug/1034961/comments/60
应该首先尝试@faker的回答,但如果这样做不起作用,我会在rpm.org上find以下说明
如果你想在安全的方面,也下载百胜的rpms和所有的依赖
(replace为适合您的安装的确切一个)
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/openssl-<version>.rpm wget http://mirror.centos.org/centos/6/os/x86_64/Packages/openssl-devel-<version>.rpm rpm -i openssl-* file /usr/lib64/libcrypto.so.1.0.1e from install of openssl-1.0.1e-16.el6_5.4.x86_64 conflicts with file from package openssl10-libs-1.0.1e-1.ius.el6.x86_64 .... lots more lines
现在以这种方式备份所有这些冲突的文件,如果出现错误,可以将它们恢复到正确的文件夹。
最后,你可以跳跃,做:
rpm -iv --replacepkgs --replacefiles openssl-*
如果一切顺利yum update应该工作。
编辑:也擦除软件包,使他们不会冲突未来的更新:
rpm -qa |grep ius ... lists packages rpm -e openssl10-libs-1.0.1e-1.ius.el6.x86_64 rpm -e openssl10-devel-1.0.1e-1.ius.el6.x86_64
更容易解决上述问题
yum update openssl openssl-devel