OpenSSL 升级、回滚
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with OpenSSL 1.0.2k-fips 26 Jan 2017. See: https://github.com/urllib3/urllib3/issues/2168
安装
[root@localhost pdserving]# openssl version
# 备份
[root@localhost pdserving]# cp -r /usr/bin/openssl /usr/bin/openssl_bak
[root@localhost pdserving]# cp -r /usr/include/openssl /usr/include/openssl_bak
[root@localhost pdserving]# cd /usr/local/
# 下载 OpenSSL
[root@localhost local]# wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1t.tar.gz
[root@localhost local]# tar -zxvf openssl-1.1.1t.tar.gz
[root@localhost local]# cd openssl-1.1.1
# 配置
[root@localhost local]# ./config --prefix=/opt/openssl --openssldir=/usr/local/ssl
# 编译&安装
[root@localhost local]# make &&make install
如下图可以看出,程序被安装到了 /opt/openssl 目录下了

设置软连接
[root@localhost openssl-1.1.1t]# ln -s /opt/openssl/bin/openssl /usr/bin/openssl
ln: 无法创建符号链接"/usr/bin/openssl": 文件已存在
# 如已存在先将原来的软连接文件mv到/tmp目录下,
[root@localhost openssl-1.1.1t]# mv /usr/bin/openssl /tmp/
# 设置软连接
[root@localhost openssl-1.1.1t]# ln -s /opt/openssl/bin/openssl /usr/bin/openssl
[root@localhost openssl-1.1.1t]# ln -s /opt/openssl/include/openssl /usr/include/openssl
[root@localhost openssl-1.1.1t]# openssl version
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
[root@localhost openssl-1.1.1t]# ll /opt/openssl/lib/
总用量 10528
drwxr-xr-x. 2 root root 39 5月 18 13:37 engines-1.1
-rw-r--r--. 1 root root 5655624 5月 18 13:37 libcrypto.a
lrwxrwxrwx. 1 root root 16 5月 18 13:37 libcrypto.so -> libcrypto.so.1.1
-rwxr-xr-x. 1 root root 3397152 5月 18 13:37 libcrypto.so.1.1
-rw-r--r--. 1 root root 1028434 5月 18 13:37 libssl.a
lrwxrwxrwx. 1 root root 13 5月 18 13:37 libssl.so -> libssl.so.1.1
-rwxr-xr-x. 1 root root 689576 5月 18 13:37 libssl.so.1.1
drwxr-xr-x. 2 root root 61 5月 18 13:37 pkgconfig
# 已存以先移除
# mv /usr/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1.bak
# mv /usr/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1.bak
[root@localhost openssl-1.1.1t]# ln -s /opt/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
[root@localhost openssl-1.1.1t]# ln -s /opt/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
[root@localhost openssl-1.1.1t]# echo "/usr/local/lib/" >> /etc/ld.so.conf
[root@localhost openssl-1.1.1t]# ldconfig -v
[root@localhost openssl-1.1.1t]# openssl version -a
OpenSSL 1.1.1t 7 Feb 2023
回滚
升级后可能会导致某些服务安装失败,回滚到之前的默认版本【以下没测试】
# 查看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
OpenSSL 升级、回滚的更多相关文章
- 入门Kubernetes - 滚动升级/回滚
一.前言 上一篇文章中对yaml文件格式进行了解,并对k8s中各种主要资源通过yaml创建时的定义模板.接来下就进一步学习k8s的各种特点.并应用在示例中. 接下来先实现.Net Core Api程序 ...
- Swarm平滑升级回滚
#滚动更新创建服务: docker service create --name my_web --replicas=5 nginx:1.12更新为1.14 docker service update ...
- Kubernetes:Pod 升级、回滚
本篇主要讨论如何实现滚动更新和回滚,任意更换版本并且回滚以前的版本(版本更新),而下一章会讨论到 Pod 缩放,根据机器资源自动拓展和收缩应用(自动扩容实例). 本文为作者的 Kubernetes 系 ...
- kubernetes deployment升级和回滚
a.创建deployment pod kubectl run mynginx --image=docker.io/nginx: --record 准备svc文件 apiVersion: v1 kind ...
- 原创|1分钟搞定 Nginx 版本的平滑升级与回滚
Nginx无论是对于运维.开发.还是测试来说,都是日常工作需要掌握的一个知识点,之前也写过不少关于Nginx相关的文章: Nginx服务介绍与安装 Nginx服务配置文件介绍 Nginx配置虚拟主机 ...
- kubernetes云平台管理实战: 滚动升级秒级回滚(六)
一.nginx保证有两个版本 1.查看当前容器运行nginx版本 [root@k8s-master ~]# kubectl get pod -o wide NAME READY STATUS REST ...
- Hadoop HDFS概念学习系列之HDFS升级和回滚机制(十二)
不多说,直接上干货! HDFS升级和回滚机制 作为一个大型的分布式系统,Hadoop内部实现了一套升级机制,当在一个集群上升级Hadoop时,像其他的软件升级一样,可能会有新的bug或一些会影响现有应 ...
- 022.掌握Pod-Pod升级和回滚
一 deploymentPod升级和回滚 1.1 deployment升级 若Pod是通过Deployment创建的,可以在运行时修改Deployment的Pod定义(spec.template)或镜 ...
- kubernetes Pod的升级与回滚
一:Deployment的升级 1.通过kubectl set image命令为Deployment设置新的镜像名称kubectl set image deployment/nginx-deploym ...
- Docker & Kubenetes 系列四:集群,扩容,升级,回滚
本篇将会讲解应用部署到Kubenetes集群,集群副本集查看,集群自愈能力演示,集群扩容,滚动升级,以及回滚. 本篇是Docker&Kubenetes系列的第四篇,在前面的篇幅中,我们向Kub ...
随机推荐
- Redis创始人开源最小聊天服务器,仅200行代码,几天功夫已获2.8K Star!
中午时候,在技术交流群里聊起关于Redis创始人的一些趣事,比如离开Redis之后,去写科幻小说之类的. 因为好奇科幻小说,TJ君就去搜索了一下.结果一搜,发现Redis作者最近居然又搞了个新活儿! ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-25-处理单选和多选按钮-中篇
1.简介 上一篇中宏哥讲解和介绍的单选框有点多,而且由于时间的关系,宏哥决定今天讲解和分享复选框的相关知识. 2.什么是单选框.复选框? 单选按钮一般叫raido button,就像我们在电子版的单选 ...
- 解决 IAR中 Warning[Pa082] 的警告问题
这个警告不属于严重问题 在 IAR (for STM8)的编译中,经常有如下的警告: Warning[Pa082]: undefined behavior: the order of volatile ...
- TPshop商城的安装流程(windows)----超详细版
提前准备 phpStudy下载:https://www.xp.cn/download.html 选择适合自己的版本下载 TPshop商城源文件下载链接:https://pan.baidu.com/s/ ...
- 学习JavaScript的第一天
JavaScript概述 JavaScript的介绍 js属于一门面向对象的编程语言 属于跨平台 面向对象(oop) 以对象方式实现所有的功能 跨平台:js代码不论是在什么样的操作系统上执行结果都是一 ...
- Kubernetes 中的服务注册与发现原理分析
公众号「架构成长指南」,专注于生产实践.云原生.分布式系统.大数据技术分享. 对k8s有点了解技术人员,应该都只知道k8s是有服务注册发现的,今天就分析下这个原理,看看怎么实现的. 什么是服务注册与发 ...
- Net 高级调试之十一:托管堆布局架构和对象分配机制
一.简介 今天是<Net 高级调试>的第十一篇文章,这篇文章来的有点晚,因为,最近比较忙,就没时间写文章了.现在终于有点时间,继续开始我们这个系列.这篇文章我们主要介绍托管堆的架构,对象的 ...
- 拖.sql文件到cmd中运行
这个非常简单,但是网上说的又不清楚. 第一步cmd中进入数据库 其操作是 mysql -u root - p 密码: 第二步使用数据库 其操作是use 数据库名字: ...
- [ABC237G] Range Sort Query
Problem Statement Given is a permutation $P=(P_1,P_2,\ldots,P_N)$ of $1,2,\ldots,N$, and an integer ...
- liunx系统sed命令使用
增 sed '$行数i 新增内容' 文件名在文件里某行上面新增内容 sed '$行数a 新增内容' 文件名在文件里某行下面新增内容 -i.bak对源文件进行修改并备份修改之前源文件 #在文件里第5行上 ...