• openssl尽量不要动啊,成功恢复记录


    问题说明:

    起因:下载的elinks不能启动

    [root@wtstb lib]# elinks http://127.0.0.1:5000
    elinks: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory
    [root@wtstb lib]# ll libssl*
    lrwxrwxrwx 1 root root     13 Jul  7 09:23 libssl.so -> libssl.so.1.1
    -rwxr-xr-x 1 root root 463304 Jul  7 09:23 libssl.so.1.1
    [root@wtstb lib]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    检查并升级了openssl

    [root@wtstb pacman.d]# pacman -Q openssl
    openssl 1.1.1.q-1
    [root@wtstb pacman.d]# pacman -S openssl
    resolving dependencies...
    looking for conflicting packages...
    
    Packages (1) openssl-3.0.7-2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    新的问题,严重了:pacman命令不能执行了。

    [root@wtstb lib]# pacman
    pacman: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
    [root@wtstb lib]# openssl version
    OpenSSL 3.0.7 1 Nov 2022 (Library: OpenSSL 3.0.7 1 Nov 2022)
    
    • 1
    • 2
    • 3
    • 4

    处理步骤

    在官网https://archlinux.org/packages/ 搜索包,得到有1.1.1.s-2版本
    https://archlinux.org/packages/core/x86_64/openssl-1.1/
    右侧有个链接:Download From Mirror
    地址为 https://archlinux.org/packages/core/x86_64/openssl-1.1/download/
    下载命令都崩溃了。

    [root@wtstb tmp]# curl -v 
    curl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
    [root@wtstb tmp]# aria2c -v
    aria2c: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
    
    • 1
    • 2
    • 3
    • 4

    只能从其他机器下载,然后拷贝进去。
    新建ssh窗口失败

    Remote side unexpectedly closed network connection
    
    • 1

    原来打开的ssh窗口也不能开启sftp窗口了。
    还好,原来安装了rz,可以直接拉文件进去。

    [root@wtstb tmp]# rz
    rz waiting to receive.**
    [root@wtstb tmp]# ll open*
    -rw-rw-rw- 1 root root 1844827 Nov 26 22:24 openssl-1.1-1.1.1.s-2-x86_64.pkg.tar.zst
    
    tar -I zstd -xvf openssl-1.1-1.1.1.s-2-x86_64.pkg.tar.zst
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    还好,顺利解压成功,拷贝过去

    [root@wtstb tmp]# cp -p usr/lib/libcrypto.so.1.1 /usr/lib/
    [root@wtstb tmp]# cp -p usr/lib/libssl.so.1.1 /usr/lib/
    
    • 1
    • 2

    我去,没有恢复。

    [root@wtstb tmp]# pacman
    pacman: error while loading shared libraries: libcrypto.so.1.1: wrong ELF class: ELFCLASS64
    
    • 1
    • 2

    ELF是x86_64架构的文件,我的arm。大意了,还得另外去搞文件。
    删除这个有问题的,注意别删错啊
    [root@wtstb tmp]# rm -r .BUILDINFO .MTREE .PKGINFO usr/

    https://archlinuxarm.org/packages 输入openssl
    选择架构和版本
    https://archlinuxarm.org/packages/armv7h/openssl-1.1
    找到个镜像 https://mirrors.aliyun.com/archlinuxarm

    [root@wtstb tmp]# ll op*
    -rw-rw-rw- 1 root root 1421952 Nov 26 22:46 openssl-1.1-1.1.1.s-2-armv7h.pkg.tar.xz
    
    • 1
    • 2

    把-I的参数zstd换为xz,解压了

    tar -I xz -xvf openssl-1.1-1.1.1.s-2-armv7h.pkg.tar.xz
    
    • 1

    重新拷贝一下。
    问题解决了,ssh登录成功。

    [root@wtstb tmp]# pacman -h
    usage:  pacman <operation> [...]
    
    • 1
    • 2

    其他隐患:未知。
    拷贝防身

    [root@wtstb tmp]# cp -p usr/bin/openssl-1.1 /usr/bin/
    
    • 1

    其他的include,license不管。2个.so文件只是链接。
    其他就是2个目录可能有影响了,到时候再说吧。

    [root@wtstb tmp]# ls -l usr/lib/openssl-1.1/
    total 0
    drwxr-xr-x 2 root root 100 Nov  6 00:05 engines-1.1
    lrwxrwxrwx 1 root root  19 Nov  6 00:05 libcrypto.so -> ../libcrypto.so.1.1
    lrwxrwxrwx 1 root root  16 Nov  6 00:05 libssl.so -> ../libssl.so.1.1
    drwxr-xr-x 2 root root 100 Nov  6 00:05 pkgconfig
    [root@wtstb tmp]# cd usr/lib/openssl-1.1/
    [root@wtstb openssl-1.1]# pwd
    /tmp/usr/lib/openssl-1.1
    [root@wtstb openssl-1.1]# tree
    .
    ├── engines-1.1
    │   ├── afalg.so
    │   ├── capi.so
    │   └── padlock.so
    ├── libcrypto.so -> ../libcrypto.so.1.1
    ├── libssl.so -> ../libssl.so.1.1
    └── pkgconfig
        ├── libcrypto.pc
        ├── libssl.pc
        └── openssl.pc
    
    2 directories, 8 files
    [root@wtstb openssl-1.1]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    应该问题不大,自己折腾的机器。

    [root@wtstb openssl-1.1]# ls -l /usr/lib/openssl*
    ls: cannot access '/usr/lib/openssl*': No such file or directory
    
    • 1
    • 2

    之前检查失败的,现在都正常了。

    systemctl restart sshd
    
    • 1

    新开窗口ssh登录成功。
    reboot一把,ssh没有问题。

    总结:

    1、建议安装上lrzsz

    [root@wtstb ~]# pacman -Ss lrzsz
    community/lrzsz 0.12.20-8 [installed]
        xmodem, ymodem and zmodem file transfer protocols
    
    • 1
    • 2
    • 3

    安装使用-S,去掉后面的小s哦。
    2、有问题,不要急于重启,注意保持当前窗口正常连接,比如top起。
    3、最重要的openssl不要随便动。

  • 相关阅读:
    LeetCode-297-二叉树的序列化与反序列化
    2023开学礼山东财经大学《乡村振兴战略下传统村落文化旅游设计》许少辉新财经图书馆
    俄罗斯网络间谍组织在有针对性的攻击中部署LitterDrifter USB蠕虫
    数据结构---第六章图---图的应用---选择题
    js文字逐个显示
    JAVA滁州市住房公积金管理中心网站计算机毕业设计Mybatis+系统+数据库+调试部署
    【信号与系统】相位卷绕以及连续信号的符号表示
    k8s StatefulSet
    制作github上的demo网页注意事项
    【算法集训专题攻克篇】第十二篇之链表
  • 原文地址:https://blog.csdn.net/weixin_43869959/article/details/128058894