软链接删除坑:记一次降级openssl,删除软链接导致的ssh失效,服务器失联

0:直接上结论

删除软链接:直接
例如:libssl.so.10 -> libssl.so.1.1
(1)删除软链接文件名

rm -f libssl.so.10

(2)unlink 文件名

unlink libssl.so.10

注意,上边的方法都是正常的删除软链接方法,不会影响到被关联的文件,但是如果使用方法1如下:

rm -f libssl.so.10 -> libssl.so.1.1

这就是本人犯得严重错误,将导致被关联的原文件libssl.so.1.1也被同时清空,变为0字节,因为openssl和ssh登录相关,将原来的动态链接库清空,自然影响到了后续登录,从而服务器重启后直接失联。

1:背景描述

想要在一台P4的服务器上部署服务,但是服务本身所依赖的openssl版本比较低,当前服务器上原生带的版本较高,且不向下兼容,导致我不得不降级来适配。一些报错信息如下:
在这里插入图片描述

2:问题出现过程

起初因为当前服务器有其他版本的动态链接库,没想到高版本不向下兼容的问题,图省事,直接加个软链接指向这个缺少的libssl.so.10,如下

ln -s libssl.so.1.0.2 libssl.so.10
ln -s libcrypto.so.1.0.2 libcrypto.so.10

结果问题没有解决,问题指向了当前高版本不兼容我的服务依赖的版本。因此我决定降版本
降版本前,清理下刚刚创建的无效的软链接,注意,下面的是错误示范

rm -f libssl.so.10 -> libssl.so.1.0.2
rm -f libcrypto.so.10 -> libcrypto.so.1.0.2 
# 错误在于将关联的原文件内容也一并影响到了,被清空了

再粘贴一遍正常操作,只需要删除关联后生成的新文件即可:

rm -f libssl.so.10
rm -f libcrypto.so.10
wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz
tar -zxvf openssl-1.0.1e.tar.gz
cd openssl-1.0.1e
./config shared zlib-dynamic
make
#  这一步会出现找不到zlib.h。如果出现类似错误,请先sudo apt-get install libz-dev
# 不出意外的话这时候目录里应该出现libssl.so.1.0.0和libcrypto.so.1.0.0
cp libssl.so.1.0.0 libcrypto.so.1.0.0 /lib/x86_64-linux-gnu
cd /lib/x86_64-linux-gnu
sudo ln -s libssl.so.1.0.0 libssl.so.10
sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10

更换完成,最终服务启动正常,但是服务器重启后发现ssh登录不上了,因为自己软链接删除失误导致与ssh关联的旧版本的动态链接库被清空了,变成了0字节。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值