[实践OK]当一台服务器被yum删除grep的rpm包导致mount grep cp因为openssl-libs和krb5-libs被不小心yum remove掉后的恢复办法。
背景:突然一台阿里云玩的低配机器的SSHD服务因缺少openssl-libs和krb5-libs两RPM包无法连接了,建议您使用管理控制台登陆远程,查看一下是否资源满了。
原因:是我自己升级CentOS7.4作yum update时不小心把 grep 的RPM包删除了,导致openssl-libs和krb5-libs被不小心yum remove掉了,引起了SSDH服务挂掉,wget和curl以及mount挂载都丢了,现在我修好了,关单了,如下操作:
提了个单说用非SecureCRT的网页终端连接,试了一下果然,这个是串口连接的或是Lio。对于yum instal,yum localinstall 都无法用(libcrypto.so.10 找不到,也就是rpm -qf /usr/lib64/libcrypto.so.10 openssl-libs-1.0.2k-8.el7.x86_64包被卸载了导致的),而yum localinstall也不可用,Wget和Scp也都无法用,最后,还好有nc,采用了nc侦听端口,进而传RPM,然后,通过rpm2cpio xx.rpm|cpio -div解压后把,缺少的so全mv到原来rpm安装的位置,救活了系统的sshd和yum install,说明这两个包太TM重要了不要删除,且在卸载rpm包时,特别是依赖这两个包有可能一并卸载时一定要睁大眼睛注意。
rpm -e grep-2.20-3.el7
rpm -e grep-2.20-3.el7 --noscripts
为依赖而移除:
coreutils x86_64 8.22-18.el7 @base 14 M
krb5-libs x86_64 1.15.1-8.el7 installed 1.9 M
openssl-libs x86_64 1:1.0.2k-8.el7 @base 3.1 M
导致了,sshd,wget,curl,mount全给坍塌了,连接不上服务器了都。
yum remove grep
1)正在处理依赖关系 grep,它被软件包 krb5-libs-1.15.1-8.el7.x86_64 需要:
rpm -q krb5-libs --requires|grep grep
grep
2)libgssapi_krb5.so.2()(64bit),它被软件包 1:openssl-libs-1.0.2k-8.el7.x86_64 需要
#rpm -q openssl-libs --requires|grep krb5
libgssapi_krb5.so.2()(64bit)
libkrb5.so.3()(64bit)
libkrb5.so.3(krb5_3_MIT)(64bit)
SO来自krb5-libs-1.15.1-8.el7.x86_64.rpm。
3)libcrypto.so.10()(64bit),它被软件包 coreutils-8.22-18.el7.x86_64 需要:
#rpm -q coreutils --requires|grep libcrypto
libcrypto.so.10()(64bit)
libcrypto.so.10(libcrypto.so.10)(64bit)
用到yumdownloader和rpm2cpio解压rpm包到目录的cpio -div:
yumdownloader krb5-libs-1.15.1-8.el7.x86_64 #krb5-libs-1.15.1-8.el7.x86_64.rpm
nc 101.200.228.13* 4444 < /tmp/krb5-libs-1.15.1-8.el7.x86_64.rpm
nc -l 4444 > /tmp/krb5-libs-1.15.1-8.el7.x86_64.rpm
rpm2cpio openssl-libs-1.0.2k-8.el7.x86_64.rpm | cpio -div
用到nc重定向后还用到挪动命令mv:mv usr/lib64/* /usr/lib64 #发现用cp都不行,额的个神。
#rpm -ql openssl-libs-1.0.2k-8.el7 #查看rpm包里有哪些文件
/usr/lib64/libssl.so.10
/usr/lib64/libcrypto.so.10
服务器有一个叫iLO远程管理的东西,阿里云的这个应该也是类似的,即使SSHD进程挂了用SecureCRT的SSH连接不上了,可以通过管理控制台登陆远程操作服务器,应该是基于Websocket做的,救急是很有用的,就像这次就是一个活生生的例子:
工程师 64515 号 : 您好,我们根据您的问题情况检查进度如下:
[ 问题现象 ] 无法连接远程
[ 问题实例 ]
[ 处理意见 ] 您好,建议您使用管理控制台登陆远程,查看一下是否资源满了。
阿里云售后提示您: 对于涉及到文件操作,磁盘扩容,磁盘重置,磁盘更换,配置调整等操作,建议您先通过控制台手动创建快照,以免误操作带来的数据丢失风险。
原因:是我自己升级CentOS7.4作yum update时不小心把 grep 的RPM包删除了,导致openssl-libs和krb5-libs被不小心yum remove掉了,引起了SSDH服务挂掉,wget和curl以及mount挂载都丢了,现在我修好了,关单了,如下操作:
提了个单说用非SecureCRT的网页终端连接,试了一下果然,这个是串口连接的或是Lio。对于yum instal,yum localinstall 都无法用(libcrypto.so.10 找不到,也就是rpm -qf /usr/lib64/libcrypto.so.10 openssl-libs-1.0.2k-8.el7.x86_64包被卸载了导致的),而yum localinstall也不可用,Wget和Scp也都无法用,最后,还好有nc,采用了nc侦听端口,进而传RPM,然后,通过rpm2cpio xx.rpm|cpio -div解压后把,缺少的so全mv到原来rpm安装的位置,救活了系统的sshd和yum install,说明这两个包太TM重要了不要删除,且在卸载rpm包时,特别是依赖这两个包有可能一并卸载时一定要睁大眼睛注意。
rpm -e grep-2.20-3.el7
rpm -e grep-2.20-3.el7 --noscripts
为依赖而移除:
coreutils x86_64 8.22-18.el7 @base 14 M
krb5-libs x86_64 1.15.1-8.el7 installed 1.9 M
openssl-libs x86_64 1:1.0.2k-8.el7 @base 3.1 M
导致了,sshd,wget,curl,mount全给坍塌了,连接不上服务器了都。
yum remove grep
1)正在处理依赖关系 grep,它被软件包 krb5-libs-1.15.1-8.el7.x86_64 需要:
rpm -q krb5-libs --requires|grep grep
grep
2)libgssapi_krb5.so.2()(64bit),它被软件包 1:openssl-libs-1.0.2k-8.el7.x86_64 需要
#rpm -q openssl-libs --requires|grep krb5
libgssapi_krb5.so.2()(64bit)
libkrb5.so.3()(64bit)
libkrb5.so.3(krb5_3_MIT)(64bit)
SO来自krb5-libs-1.15.1-8.el7.x86_64.rpm。
3)libcrypto.so.10()(64bit),它被软件包 coreutils-8.22-18.el7.x86_64 需要:
#rpm -q coreutils --requires|grep libcrypto
libcrypto.so.10()(64bit)
libcrypto.so.10(libcrypto.so.10)(64bit)
用到yumdownloader和rpm2cpio解压rpm包到目录的cpio -div:
yumdownloader krb5-libs-1.15.1-8.el7.x86_64 #krb5-libs-1.15.1-8.el7.x86_64.rpm
nc 101.200.228.13* 4444 < /tmp/krb5-libs-1.15.1-8.el7.x86_64.rpm
nc -l 4444 > /tmp/krb5-libs-1.15.1-8.el7.x86_64.rpm
rpm2cpio openssl-libs-1.0.2k-8.el7.x86_64.rpm | cpio -div
用到nc重定向后还用到挪动命令mv:mv usr/lib64/* /usr/lib64 #发现用cp都不行,额的个神。
#rpm -ql openssl-libs-1.0.2k-8.el7 #查看rpm包里有哪些文件
/usr/lib64/libssl.so.10
/usr/lib64/libcrypto.so.10
服务器有一个叫iLO远程管理的东西,阿里云的这个应该也是类似的,即使SSHD进程挂了用SecureCRT的SSH连接不上了,可以通过管理控制台登陆远程操作服务器,应该是基于Websocket做的,救急是很有用的,就像这次就是一个活生生的例子:
工程师 64515 号 : 您好,我们根据您的问题情况检查进度如下:
[ 问题现象 ] 无法连接远程
[ 问题实例 ]
[ 处理意见 ] 您好,建议您使用管理控制台登陆远程,查看一下是否资源满了。
阿里云售后提示您: 对于涉及到文件操作,磁盘扩容,磁盘重置,磁盘更换,配置调整等操作,建议您先通过控制台手动创建快照,以免误操作带来的数据丢失风险。
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/9668/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2018-3-17 19:50
评论列表