Ubuntu(WSL)卸载与安装指定版本的 openssl

卸载 openssl


1)查找并删除 openssl 关联的目录与文件

bash 复制代码
whereis openssl

which openssl

rm -rf /a/b/c/    // 使用 rm 命令删除所有 openssl 相关目录

2)删除软件安装包

bash 复制代码
apt-get purge openssl

3)删除配置文件

bash 复制代码
rm -rf /etc/ssl

安装 openssl


openssl 版本下载链接:/source/old/index.html (openssl.org)

1)解压

bash 复制代码
tar -zxvf openssl-1.0.2p.tar.gz

2)进入目录

bash 复制代码
cd openssl-1.0.2p

3)创建安装目录

bash 复制代码
mkdir /usr/local/openssl

4)选择安装目录(prefix 是安装目录),并使用 -fPIC 参数链接动态库

bash 复制代码
./config --prefix=/usr/local/openssl -fPIC

5)编译

bash 复制代码
make

6)安装

bash 复制代码
make install

7)查看版本

bash 复制代码
cd /usr/local/openssl/bin
./openssl version

把安装的 openssl 设置为全局(可选)


1)删除软链接(rm -rf ./软链接名称,若rm -rf ./软链接名称/ ,则会把软链接以及软链接指向下的内容删除)

bash 复制代码
正确:rm -rf /usr/bin/openssl
错误:rm -rf /usr/bin/openssl/

正确:rm -rf /usr/include/openssl
错误:rm -rf /usr/include/openssl/

2)创建软链接

bash 复制代码
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl

说明:/usr/bin/openssl、/usr/include/openssl 是 openssl 软件包的默认扫描路径,如果使用命令安装 openssl 会自动安装到该目录下(每个软件包都有一个系统默认路径);使用软链接的目的就是把自己的安装目录链接到系统路径,然后就可以在任意地方执行 openssl version 查看 openssl 版本,而无需进入到 /usr/local/openssl/bin 路径下查看版本。

3)查看 OpenSSL 版本,安装完成

bash 复制代码
openssl version

如果安装完成后遇到如下错误:

bash 复制代码
root@BZD25521:/etc/ld.so.conf.d# openssl version openssl: symbol lookup error: openssl: undefined symbol: EVP_mdc2, version OPENSSL_1_1_0

解决办法见:安装 openssl 时报错:openssl: symbol lookup error: openssl: undefined symbol: EVP_mdc2, version OPENSSL_1_-CSDN博客

相关推荐
x-cmd1 小时前
Mac 涨价后,本地 AI 还能千元入门吗?
linux·人工智能·macos·ai·agent·amd·本地ai入门
AOwhisky3 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
不羁的木木6 小时前
HarmonyOS APP实战-基于Image Kit的图像处理APP - 第9篇:批量处理与编辑历史
图像处理·ubuntu·harmonyos
春卷同学7 小时前
HarmonyOS掌上记账APP开发实践第15篇:ArkTS 类型系统深度解析 — 从接口到联合类型的灵活运用
ubuntu·华为·harmonyos
摇滚侠7 小时前
Linux 零基础教程 09、11、77
linux·运维·服务器
Lottie20267 小时前
电商自动化提质增效:API接口落地的核心价值与实战用法
运维·自动化
Hardworking6669 小时前
第6章 数据工程
运维·服务器·数据库·数据工程
jieyucx9 小时前
Docker 入门第六阶段:综合实战项目
运维·docker·容器
美丽的欣情10 小时前
RK3588 Debian 交叉编译环境搭建(Windows + VMware Debian + CMake)
运维·windows·debian
嵌入式学习和实践10 小时前
嵌入式 Linux 调闭源 SDK 怕崩?用 dlopen 把第三方动态库库“隔离“起来
linux·三方库