本文接“Docker:1、基于龙晰 (Anolis OS 8.8 )的基础镜像制作”,docker容器已经启动。
一、查看系统及 Openssl 版本
# cat /etc/os-release
# ssh -V
# openssl version
二、anolisos 的目录结构及openssl 软件下载
1).本文中主要用到的两个目录如下:
/usr/local 即个人文件夹,在本文中作为数据文件
/usr/bin 即存放用户基本命令目录
2).下载安装包
①、进入 openssl 官网
(https://www.openssl.org/source/),找到需要下载的软件版本,见下图。
(本次升级是把openssl的版本由1.1.1k 升级到1.1.1w)
②、在/usr/local目录下下载openssl安装包 openssl 1.1.1w
这里我选择下载了最新 openssl-1.1.1w.tar.gz 版本, 鼠标右键复制链接即可获取下载链接:https://www.openssl.org/source/openssl-1.1.1w.tar.gz,进入"/usr/local"文件夹,在/usr/local目录下下载openssl安装包(如果没有wget,则安装它)。
三、安装openssl
①、解压缩安装包
[root@ee551f87b3da local]# tar -xzvf openssl-1.1.1w.tar.gz
执行完上面的命令后,在/usr/local 目录下将会自动生成一个openssl-1.1.1w 目录,该目录就是解压缩后的文件夹,进入该文件夹。
②、为了更新/升级的安全性备份软件openssl
查找本机openssl 所在位置,然后进行备份,备份的目的是安装失败后,可以恢复。
# whereis openssl
# mv /usr/bin/openssl /usr/bin/openssl.old
# mv /usr/include/openssl /usr/include/openssl.old
③、配置安装
# ./config --prefix=/usr/local/openssl
上面的命令将安装文件的路径指定为/usr/local/openssl 目录下,为什么要这样指定,是因为我是升级安装,这样指定与老的配置路径相同,是最合适的安装。
(如果安装不能进行,则你需要安装openssl的安装依赖,安装依赖后,再重新运行上述安装)
# dnf install gcc -y
# dnf install perl -y
④、编译 make
出现下图所示即为编译成功。
⑤、测试
出现下述页面说明测试成功。
⑥ make install
出现下述页面说明安装成功。
本地查看是否成功:/usr/local/openssl/bin/openssl version -a
查看后你会发现 openssl version 更新为1.1.1w 了,但是库文件还是1.1.1K,下面就来解决这一问题。
⑦、创建软链接
当前我们的/usr/local文件夹内有三个文件夹openssl-1.1.1w.tar.gz,openssl-1.1.1w,openssl与我们的上述操作有关,
其中 openssl目录即是我们安装完成的软件目录,我们先进入openssl目录
# cd /usr/local/openssl
其中 /bin 目录下存放着我们安装完成的openssl软件,注意,这里的openssl为安装好的软件(可执行文件),不是目录。
我们要做的就是将 /usr/local/openssl/bin 目录下的 openssl 软件建立快捷方式放置到 /usr/bin目录下
# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
这时可能会提示 /usr/bin/openssl 已存在 或 /usr/bin/openssl is exist
这表示我们之前已经有了一个旧版本的openssl,我们将之删除即可。
# rm -rf /usr/bin/openssl
注意:由于我之前已经采用了备份,采用mv备份openssl 为:openssl .old ,所以这里就没有提示了,如果你的出现提示则一定要删除,然后重新执行上面的命令即可创建完成
如果一切正常,这是就可以通过 openssl version 命令查看当前版本了
如果程序正确输出了版本号,那么恭喜你,说明你已经安装成功。
四、最后一步,彻底解决版本号不一致问题
添加动态库的环境变量
首先使用vi 或 vim 打开 /etc/ld.so.conf 文件
vim /etc/ld.so.conf
然后添加以下内容
/usr/local/openssl/lib
(注意:如果你安装的不是openssl-1.1.1w 版本,则目录是不同的,openssl-3.0.12 的目录则为:/usr/local/ssl/lib64 ,这是让人开始安装openssl最容易搞不明白的地方。)
然后保存退出,应用配置。
# ldconfig /etc/ld.so.conf
如果不出意外,这时候就可以执行openssl version查看正确的版本了!对比以下红色划线部分你就可以看出,库版本与软件版本彻底一致了,至此 openssl 升级安装到此结束。
文章未尾,由于作者创作不易,希望看到这篇文章的读者加个关注,点个赞,谢谢!