首先我们应该知道ubuntu18.04内置了1.1.0g版本的openssl:

![](https://img2018.cnblogs.com/blog/1506386/201903/1506386-20190326201008296-1333290882.png)

**使用下面的apt命令更新Ubuntu存储库并安装软件包编译的软件包依赖项:**
```
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y
```

转到'/ usr / local / src'目录并使用wget下载OpenSSL-1.1.1b的源代码:

cd /usr/local/src/
sudo wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz

为什么选这个版本呢?因为它最大······

现在解压缩openssl-1.1.1b.tar.gz文件,然后转到'openssl-1.1.1b'目录:

sudo tar -xf openssl-1.1.1b.tar.gz
cd openssl-1.1.1b

使用以下命令配置和编译OpenSSL:

sudo ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib

sudo make
sudo make test

注意:

  • prefix和--openssldir =设置OpenSSL的输出路径。
  • shared = force来创建共享库。
  • zlib =使用zlib库启用压缩。

编译过程完成后,使用以下命令安装OpenSSL:

sudo make install

OpenSSL安装在'/usr/local/ssl'目录中。

接下来,我们将为OpenSSL配置共享库。 新的OpenSSL二进制文件将从'/usr/local/ssl/lib'目录加载库文件。

转到'/etc/ld.so.conf.d'目录并创建新配置文件'openssl-1.1.1b.conf':

cd /etc/ld.so.conf.d/
sudo vim openss1-1.1.1b.conf

粘贴openssl库路径目录:

/usr/local/ssl/lib

现在使用以下命令重新加载动态链接:

sudo ldconfig -v

您将看到已加载'/usr/local/ssl/lib'目录中的OpenSSL库:

![](https://img2018.cnblogs.com/blog/1506386/201903/1506386-20190326201016819-100684975.png)

我们将使用新版本'/usr/local/ssl/bin/openssl'替换默认的openssl二进制文件'/usr/bin/openssl或/bin/openssl'。

备份二进制文件:

sudo mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
sudo mv /usr/bin/openssl /usr/bin/openssl.BEKUP

使用vim编辑'/etc/environment'文件:

sudo vim /etc/environment

添加新的OpenSSL二进制目录:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"

重新加载环境文件并测试新更新的二进制PATH:

source /etc/environment
echo $PATH

查看安装结果:

openssl version -a

应该出现如下结果:

![](https://img2018.cnblogs.com/blog/1506386/201903/1506386-20190326201025000-1477784500.png)

这时openssl已经安装成功了,但依然不能用于编程,只能用于终端。要想用于编程还需安装libssl-dev

使用如下命令:

sudo apt-get install libssl-dev

安装完毕后需按下图所示编译:

![](https://img2018.cnblogs.com/blog/1506386/201903/1506386-20190326202026914-987847219.png)

ubuntu18.04 安装新版本openssl的更多相关文章

  1. ubuntu18.04 安装UHD+GNU Radio

    参考链接: ubuntu16.04下安装uhd与gnuradio:https://blog.csdn.net/qq_37748396/article/details/80339366 GNU Radi ...

  2. Ubuntu18.04安装mysql5.7

    Ubuntu18.04安装mysql5.7 1.1安装 首先执行下面三条命令: # 安装mysql服务 sudo apt-get install mysql-server # 安装客户端 sudo a ...

  3. Ubuntu18.04安装RabbitMQ

    Ubuntu18.04安装RabbitMQ 2018年06月10日 19:32:38 dmfrm 阅读数:2492    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...

  4. ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题(装)

    ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题      https://blog.csdn.net/NeptuneClouds/article/details/80995 ...

  5. ubuntu18.04 安装hadoop 2.7.3+hive 2.3.4

    1. 安装hadoop 详细请参见本人的另外一片博文<Hadoop 2.7.3 分布式集群安装> 2. 下载hive 2.3.4 解压文件到/opt/software -bin.tar.g ...

  6. Ubuntu18.04安装Virtualenv虚拟环境

    在Ubuntu18.04安装Virtualenv虚拟环境 [实验环境]: 在这台电脑上已经安装了python3 [安装参考] 1.查看是否已安装virtualenv virtualenv --vers ...

  7. Ubuntu18.04安装thunderbird并设置中文

    Ubuntu18.04安装thunderbird并设置中文 安装thunderbird sudo apt-get install thunderbird 安装中文包 sudo apt-get inst ...

  8. Ubuntu18.04安装Docker, centos7安装Docker

    Ubuntu18.04安装Docker 第一种方法从Ubuntu的仓库直接下载安装: 安装比较简单,这种安装的Docker不是最新版本,不过对于学习够用了,依次执行下面命令进行安装. $ sudo a ...

  9. Ubuntu18.04安装和配置Java JDK11并卸载自带OpenJDK

    卸载自带的OpenJDK方法: 在终端执行命令:sudo apt-get remove openjdk* Ubuntu18.04安装JDK11.0.2 前面步骤一样,可参考:https://www.c ...

随机推荐

  1. jmeter BeanShell断言(一)

    原文地址https://blog.csdn.net/lijing742180/article/details/81157947 原文地址https://blog.csdn.net/zailushang ...

  2. cocos2d-x android工程接入第三方支付宝SDK

    1. 首先去支付宝官网下载开发者文档 2. 然后按着开发者文档将支付宝的sdk导入到你的工程中,并关联到工程中,步骤入下图: (1)将从支付宝官方网站获得的支付宝的sdk的jar包拷贝到工程中的lib ...

  3. 转git的使用

    git的使用(包括创建远程仓库到上传代码到git的详细步骤以及git的一些常用命令) A创建远程仓库到上传代码到git 1)登陆或这注册git账号 https://github.com 2)创建远程仓 ...

  4. ####### Scripts Summary #######

    Scripts Summary Version: 1.0.1 issueDate: 2017-11-11 modifiedDate: 2017-11-28 0.configuration 1.oper ...

  5. 只使用处理I/O的printDigit方法,编写一种方法一输出任意的double型量(可以是负的)

    /** * Question:只使用处理IO的printDigit函数,编写一个过程以输出任意double型量(可以为负) * @author wulei * 这道题我的理解是使用最基本的System ...

  6. 关于toolchain(工具链)的一点知识

    之前一直觉得toolchain是个高大上的东西,现摘录 uClibc中的FAQ以助理解. A toolchain consists of GNU binutils, the gcc compiler, ...

  7. Oil Deposits HDU 1241

    The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSu ...

  8. ubuntu之redis集群配置

    redis3版本以上支持集群 需要ruby的支持 root@iZ2zejfbthvbzs5lxf37vjZ:/usr/local/src/redis-3.2.9/src# apt-get instal ...

  9. js数组内数字按大小排序实现函数

    正常冒泡排序: function evlabc(a) { //排序大小 var i = j = t = 0; for (i = 0; i < a.length; i++) { for (j = ...

  10. CAN学习网站

    百度搜索:Controller Area Network http://www.esd-electronics-usa.com/Controller-Area-Network-CAN-Introduc ...