场景B 源码编译安装(/usr/local/openssl 或 /usr/local/ssl)
- 备份(动手前一次性完成):
- 备份可执行文件与链接:
sudo mv /usr/local/bin/openssl /usr/local/bin/openssl.bak
- 备份安装目录:
sudo cp -a /usr/local/openssl /usr/local/openssl.bak
- 备份库目录(若安装在 /usr/local/lib 下):
sudo cp -a /usr/local/lib/libssl.so* /usr/local/lib/libcrypto.so* /usr/local/lib/libssl.a /usr/local/lib/libcrypto.a /tmp/openssl-lib.bak/
- 备份头文件与引擎(如有自定义):
sudo cp -a /usr/local/include/openssl /usr/local/include/openssl.bak
sudo cp -a /usr/local/ssl /usr/local/ssl.bak 2>/dev/null || true
- 恢复(按与备份相反的顺序):
- 恢复库文件:
sudo cp -a /tmp/openssl-lib.bak/* /usr/local/lib/
- 恢复头文件:
sudo rm -rf /usr/local/include/openssl && sudo mv /usr/local/include/openssl.bak /usr/local/include/openssl
- 恢复二进制与链接:
sudo rm -f /usr/local/bin/openssl && sudo mv /usr/local/bin/openssl.bak /usr/local/bin/openssl
- 如曾创建自定义链接或目录,一并恢复:
sudo mv /usr/local/ssl.bak /usr/local/ssl 2>/dev/null || true
- 更新动态链接缓存:
echo “/usr/local/lib” | sudo tee /etc/ld.so.conf.d/openssl.conf
sudo ldconfig
- 验证:
which openssl && openssl version
以上流程与常见的“先备份旧版、再安装新版、出问题用备份回滚”的做法一致,适用于 /usr/local 前缀的源码安装场景。