大家好,又見面了,我是你們的朋友全棧君。
1. Linux 系統版本:
[root@bogon ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

圖 1 檢視Linux系統版本
2. 檢視Openssl安裝的版本
[root@bogon ~]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
圖 2 檢視openssl版本
3. 檢視Openssl路徑
[root@bogon ~]# which openssl
/usr/bin/openssl
圖 3 檢視openssl路徑
4.下載下傳Openssl
目前最新版本是1.1.1,可以通過修改版本号的方式下載下傳最新版本,最新版本可以在這個網站下載下傳:https://www.openssl.org/source
[root@bogon ~]# wget http://www.openssl.org/source/openssl-1.1.1b.tar.gz
圖 4 下載下傳openssl-1.1.1b.tar.gz
5. 安裝依賴
[root@bogon ~]# yum install -y zlib
[root@bogon ~]# yum install –y zlib-devel
[root@bogon ~]# yum install –y gcc
6. 安裝Perl
6.1下載下傳Perl
官方網站下載下傳新版本的源碼包:http://www.perl.org/get.html
[root@bogon ~]# wget https://www.cpan.org/src/5.0/perl-5.28.2.tar.gz
圖 5 下載下傳perl-5.28.2.tar.gz
6.2 解壓Perl
[root@bogon ~]# tar -zxvf perl-5.28.2.tar.gz
6.3建立檔案目錄,以供安裝時使用
[root@bogon ~]# mkdir /usr/local/perl
6.4配置Perl參數
進入perl-5.28.2.tar.gz的解壓目錄,執行:
[root@bogon ~]# cd perl-5.28.2
[root@bogon perl-5.28.2]# ./Configure -des -Dprefix=/usr/local/perl -Dusethreads –Uversiononly
6.5 編譯
[root@bogon perl-5.28.2]# make
6.6安裝
[root@bogon perl-5.28.2]# make install
6.7檢視版本
[root@bogon perl-5.28.2]# perl –v
圖 6 檢視perl版本
7. 安裝Openssl
7.1解壓Openssl
[root@bogon perl-5.28.2]# cd
[root@bogon ~]# tar -zxvf openssl-1.1.1b.tar.gz
7.2調用zlib共享庫
[root@bogon ~]# cd openssl-1.1.1b
[root@bogon openssl-1.1.1b]# ./config shared zlib
圖 7 配置openssl
7.3編譯
[root@bogon openssl-1.1.1b]# make
7.4安裝
[root@bogon openssl-1.1.1b]# make install
7.5備份目前Openssl
[root@bogon openssl-1.1.1b]# mv /usr/bin/openssl /usr/bin/openssl.old
[root@bogon openssl-1.1.1b]# mv /usr/lib64/openssl /usr/lib64/openssl.old
7.6使用新版Openssl
[root@bogon openssl-1.1.1b]# ln -s /usr/local/bin/openssl /usr/bin/openssl
[root@bogon openssl-1.1.1b]# ln -s /usr/local/include/openssl/ /usr/include/openssl
8.更新動态連結庫資料
[root@bogon openssl-1.1.1b]# echo “/usr/local/lib/” >> /etc/ld.so.conf
9.重新加載動态連結庫
[root@bogon openssl-1.1.1b]# ldconfig -v
10.檢視安裝完成後的最新版本
[root@bogon openssl-1.1.1b]# openssl version
[root@bogon openssl-1.1.1b]# openssl version –a
圖 8 openssl版本檢視
11.可能存在的異常
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
這是由于openssl庫的位置不正确造成的。
解決方法:
在root使用者下執行:
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
如上更新openssl版本後, 導緻某些服務編譯安裝失敗的坑, 如果短時間解決不來, 最好復原到之前的預設版本:
openssl由預設的OpenSSL 1.0.1e更新到OpenSSL 1.1.1e後, 編譯安裝openssh 出現下面報錯:
由于openssl更新後, 可能會導緻一個應用編譯安裝失敗, 遇到的有nginx, keepalived等, 不得已的辦法就是将openssl復原到之前預設的版本狀态, 操作方法如下:
檢視openssl, 然後删除更新後的openssl
[root@localhost ~]# find / -name openssl
[root@localhost ~]# rm -rf /usr/local/src/openssl-1.1.1
[root@localhost ~]# rm -rf /usr/local/bin/openssl
[root@localhost ~]# rm -rf /usr/local/share/doc/openssl
[root@localhost ~]# rm -rf /usr/local/include/openssl
然後檢視下openssl版本
[root@localhost ~]# which openssl
/usr/bin/openssl
[root@localhost ~]# openssl version -a
報錯說/usr/local/bin/openssl 找不到這個檔案
然後重新開機機器
[root@localhost ~]# init 6
重新開機機器後, 檢視openssl版本, 如果正常查出是預設版本, 則復原正常
[root@localhost ~]# openssl version -a
複制
釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/129077.html原文連結:https://javaforall.cn