ubuntu18.04 安装新版本openssl
首先我们应该知道ubuntu18.04内置了1.1.0g版本的openssl:
**使用下面的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库:
我们将使用新版本'/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
应该出现如下结果:
这时openssl已经安装成功了,但依然不能用于编程,只能用于终端。要想用于编程还需安装libssl-dev
使用如下命令:
sudo apt-get install libssl-dev
安装完毕后需按下图所示编译:
ubuntu18.04 安装新版本openssl的更多相关文章
- ubuntu18.04 安装UHD+GNU Radio
参考链接: ubuntu16.04下安装uhd与gnuradio:https://blog.csdn.net/qq_37748396/article/details/80339366 GNU Radi ...
- Ubuntu18.04安装mysql5.7
Ubuntu18.04安装mysql5.7 1.1安装 首先执行下面三条命令: # 安装mysql服务 sudo apt-get install mysql-server # 安装客户端 sudo a ...
- Ubuntu18.04安装RabbitMQ
Ubuntu18.04安装RabbitMQ 2018年06月10日 19:32:38 dmfrm 阅读数:2492 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...
- ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题(装)
ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题 https://blog.csdn.net/NeptuneClouds/article/details/80995 ...
- 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 ...
- Ubuntu18.04安装Virtualenv虚拟环境
在Ubuntu18.04安装Virtualenv虚拟环境 [实验环境]: 在这台电脑上已经安装了python3 [安装参考] 1.查看是否已安装virtualenv virtualenv --vers ...
- Ubuntu18.04安装thunderbird并设置中文
Ubuntu18.04安装thunderbird并设置中文 安装thunderbird sudo apt-get install thunderbird 安装中文包 sudo apt-get inst ...
- Ubuntu18.04安装Docker, centos7安装Docker
Ubuntu18.04安装Docker 第一种方法从Ubuntu的仓库直接下载安装: 安装比较简单,这种安装的Docker不是最新版本,不过对于学习够用了,依次执行下面命令进行安装. $ sudo a ...
- Ubuntu18.04安装和配置Java JDK11并卸载自带OpenJDK
卸载自带的OpenJDK方法: 在终端执行命令:sudo apt-get remove openjdk* Ubuntu18.04安装JDK11.0.2 前面步骤一样,可参考:https://www.c ...
随机推荐
- .Net拾忆:Asp.net请求管道
w3wp.exe应该很熟悉,调试应用时候附加到进程就是这个服务:w3wp.exe和应用池相关联,每个应用池会有一个w3wp; 一.Http请求到iis应用池 IIS 5.x iis运行在inetinf ...
- 转Git配置SSH,并Push到GitHub上的相关流程
首先,你可以试着输入git,看看系统有没有安装Git $ git The program 'git' is currently not installed. You can install it by ...
- 图像中的stride含义
这个不是卷积中的步长stride 是另外一个含义, stride = 每个像素所占字节数 * width input stride为我们正常进行卷积时候设置的stride值,output stride ...
- QT5中QByteArray转QString中文乱码
1.添加头文件 #include <QTextCodec> 2.用QTextCodec 设置格式转换 QByteArray barr; barr.insert(0,(char*)(pMsg ...
- 十二 总结JS原型
基本概念: 对象:属性和方法的集合(变量和函数的封装). 构造器函数:用于创建对象的函数,通过new关键字生成对象.函数名一般首字母大写的. 原型对象:每个函数都有一个prototype属性,它是一个 ...
- JavaScript(四):运算符&数据类型转换
+:算符的加法:连接字符串 加法会将其它类型的值,自动转为字符串,然后再进行连接运算! var a=1+2; console.log('first: '+a); var a=1+2+'3';//先计算 ...
- 【转】robot framework + python实现http接口自动化测试框架
前言 下周即将展开一个http接口测试的需求,刚刚完成的java类接口测试工作中,由于之前犯懒,没有提前搭建好自动化回归测试框架,以至于后期rd每修改一个bug,经常导致之前没有问题的case又产生了 ...
- CSS背景与边框属性-----box-shadow
box-shadow:none | <shadow> [ , <shadow> ]* <shadow> = inset? && <leng ...
- zookeeper开发
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 zookeeper-3.4.11 ZK客户端操作命令: #登 ...
- Python树形打印目录结构
前言 这两天整理数据文件的时候发现,一层层的点击文件夹查看很繁琐,于是想写一个工具来递归打印出文件目录的树形结构,网上找了一些资料几乎都是使用的os.walk, 调试了以后发现返回的貌似的是一个“生成 ...