当前位置: 首页 > news >正文

Ubuntu(WSL)卸载与安装指定版本的 openssl

卸载 openssl


1)查找并删除 openssl 关联的目录与文件

whereis opensslwhich opensslrm -rf /a/b/c/    // 使用 rm 命令删除所有 openssl 相关目录

2)删除软件安装包

apt-get purge openssl

3)删除配置文件 

rm -rf /etc/ssl

安装 openssl


openssl 版本下载链接:/source/old/index.html (openssl.org)

1)解压

tar -zxvf openssl-1.0.2p.tar.gz

2)进入目录

cd openssl-1.0.2p

3)创建安装目录

mkdir /usr/local/openssl

4)选择安装目录(prefix 是安装目录),并使用 -fPIC 参数链接动态库

./config --prefix=/usr/local/openssl -fPIC

5)编译

make

6)安装

make install

7)查看版本

cd /usr/local/openssl/bin
./openssl version

把安装的 openssl 设置为全局(可选)


1)删除软链接(rm -rf   ./软链接名称,若rm -rf ./软链接名称/ ,则会把软链接以及软链接指向下的内容删除)

正确:rm -rf /usr/bin/openssl
错误:rm -rf /usr/bin/openssl/正确:rm -rf /usr/include/openssl
错误:rm -rf /usr/include/openssl/

2)创建软链接

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl

说明:/usr/bin/openssl、/usr/include/openssl 是 openssl 软件包的默认扫描路径,如果使用命令安装 openssl 会自动安装到该目录下(每个软件包都有一个系统默认路径);使用软链接的目的就是把自己的安装目录链接到系统路径,然后就可以在任意地方执行 openssl version 查看 openssl 版本,而无需进入到 /usr/local/openssl/bin 路径下查看版本。

3)查看 OpenSSL 版本,安装完成

openssl version

 


如果安装完成后遇到如下错误:

root@BZD25521:/etc/ld.so.conf.d# openssl version openssl: symbol lookup error: openssl: undefined symbol: EVP_mdc2, version OPENSSL_1_1_0

解决办法见:安装 openssl 时报错:openssl: symbol lookup error: openssl: undefined symbol: EVP_mdc2, version OPENSSL_1_-CSDN博客

相关文章:

Ubuntu(WSL)卸载与安装指定版本的 openssl

卸载 openssl 1)查找并删除 openssl 关联的目录与文件 whereis opensslwhich opensslrm -rf /a/b/c/ // 使用 rm 命令删除所有 openssl 相关目录 2)删除软件安装包 apt-get purge openssl 3)删除配置文件 rm -rf /etc/ssl 安装 ope…...

leetcode1115. 交替打印 FooBar

题目 1115. 交替打印 FooBar 给你一个类&#xff1a; class FooBar {public void foo() {for (int i 0; i < n; i) {print("foo");}}public void bar() {for (int i 0; i < n; i) {print("bar");}} }两个不同的线程将会共用一个 FooBar 实例&am…...

qt有哪些常用控件

Qt 是一个跨平台的应用程序开发框架&#xff0c;提供了许多不同类型的控件来构建用户界面。以下是一些常见的 Qt 控件&#xff1a; 按钮&#xff08;Button&#xff09;&#xff1a;用于执行操作或触发事件。文本框&#xff08;TextBox&#xff09;&#xff1a;用于输入和显示文…...

docker 手工redis7.x cluster

IP端口192.168.0.816379/6380192.168.0.826379/6380192.168.0.1146379/6380 mdkir /data/{6379,6380}cat <<END> /data/6379.conf # 端口号 port 6379# 设置客户端连接后进行任何其他指定前需要使用的密码 #requirepass 123456 ## 当master服务设置了密码保护时(用re…...

【华为OD题库-082】TLV解析II-Java

题目 两端通过TLVQ格式的报文来通信&#xff0c;现在收到对端的一个TLV格式的消息包&#xff0c;要求生成匹配后的(tag,length,valueOffset)列表。具体要求如下: (1)消息包中多组tag、length、value紧密排列&#xff0c;其中tag,length各占1字节(uint8),value所占字节数等于len…...

Memcached学习

一、概念 Memcached是一个开源的&#xff0c;高性能的内存缓存软件&#xff0c;从名称上看Mem就是内存&#xff0c;二cache是缓存。作用通过在事先规划好的内存空间中临时缓存数据库中的各类数据&#xff0c;以达到减少业务对数据库的直接高并发访问&#xff0c;从而达到提升数…...

2024最新金三银四软件测试面试题

一直以来大大小小参与过不少面试&#xff0c;遇到过不少坑&#xff0c;但是没来的及好好总结汇总下。现在把之前遇到的问题汇总下&#xff0c;希望以后自己能加深印象。 1、appium 怎么定位toast弹框 appium1.6以后回答需要升级u2进行定位。 2、什么是事务&#xff0c;知道事…...

微信小程序动态加载图表[echart]

1.引入Echarts &#xff08;1&#xff09;将ec-canvas文件拷贝下来放到你自己的项目中&#xff1a; &#xff08;2&#xff09;在你需要使用Echarts的页面的json文件中引入Echarts "usingComponents": {"ec-canvas": "../utils/ec-canvas/ec-canva…...

《opencv实用探索·十八》Camshift进行目标追踪流程

CamShift&#xff08;Continuously Adaptive Mean Shift&#xff09;是一种用于目标跟踪的方法&#xff0c;它是均值漂移&#xff08;Mean Shift&#xff09;的扩展&#xff0c;支持对目标的旋转跟踪&#xff0c;能够对目标的大小和形状进行自适应调整。 cv::CamShift和cv::me…...

MAP: Multimodal Uncertainty-Aware Vision-Language Pre-training Model

问题 多模态语义理解通常需要处理不确定性&#xff0c;这意味着获得的消息往往涉及多个目标。这种不确定性对我们的解释来说是有问题的&#xff0c;包括模式间和模式内的不确定性。人们很少研究这种不确定性的建模&#xff0c;特别是在未标记数据集的预训练和特定任务下游数据…...

【SpringCache】快速入门 通俗易懂

1. 介绍 Spring Cache 是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;只需要简单地加一个注解&#xff0c;就能实现缓存功能。 Spring Cache 提供了一层抽象&#xff0c;底层可以切换不同的缓存实现&#xff0c;例如&#xff1a; EHCache Caffeine Redis(常用…...

GeoTools学习笔记

Feature要素&#xff1a; 例子&#xff1a;Csv2Shape.java 创建要素&#xff0c;先创建FeatureType&#xff0c;再创建Feature 根据FeatureCollection&#xff0c;可以创建shapefile https://docs.geotools.org/latest/userguide/library/main/data.html API详解&#xff1a;…...

短剧规模达到了百亿元,短剧分销成为短剧新模式

我国短剧市场规模直接突破了三百多亿元&#xff0c;目前已经是互联网的一大创业风口&#xff01; 一、短剧特点 在当下快节奏的生活中&#xff0c;短剧具有的快节奏、剧情紧凑的特点&#xff0c;符合大众对影视的需求。目前我国的短剧题材主要是言情、总裁、赘婿等&#xff0…...

Kotlin 中的 `as` 关键字:类型转换的艺术

在 Android 编程中&#xff0c;类型转换是一项常见的操作。为了使这一过程更加流畅和安全&#xff0c;Kotlin 提供了 as 关键字。本文将深入探讨 as 关键字的用法和最佳实践。 一、as 关键字的基本概念 &#x1f680; as 关键字在 Kotlin 中用于显式类型转换。它将一个表达式…...

CDN可以给企业网站带来哪些优势?

企业网站带来哪些优势&#xff1f;现在企业最关心的问题&#xff0c;就是我的网站能不能打开&#xff0c;用户访问到的是不是正常的页面&#xff0c;网站是否能够正常运营&#xff0c;而互联网是 一个开放式的平台&#xff0c;网站是否能够正常运营和很多因素都有关系&#xff…...

离线运行Oracle Database In-Memory Advisor

概念 离线运行Oracle Database In-Memory Advisor&#xff0c;就是不在生产系统上运行。这样可以避免影响生产系统。但需要从生产系统导出以下的数据&#xff1a; AWR DumpAWR补充数据 过程 导出AWR Dump 连接到CDB root运行。 SQL> connect / as sysdba SQL> ?/r…...

2,PyCharm的下载与安装

1&#xff0c;PyCharm的下载 a&#xff1a;打开PyCharm官网&#xff0c;并选择Developer Tools → PyCharm Pycharm官网地址 b&#xff1a;点击Download c&#xff1a;下载完成后&#xff0c;会在下载文件夹中&#xff0c;出现“pycharm-professional-2023.3.exe”文件 2&a…...

HNU计算机视觉作业一

前言 选修的是蔡mj老师的计算机视觉&#xff0c;上课还是不错的&#xff0c;但是OpenCV可能需要自己学才能完整把作业写出来。由于没有认真学&#xff0c;这门课最后混了80多分&#xff0c;所以下面作业解题过程均为自己写的&#xff0c;并不是标准答案&#xff0c;仅供参考 …...

Java:SpringBoot获取当前运行的环境activeProfile

代码示例 /*** 启动监听器*/ Component public class AppListener implements ApplicationListener<ApplicationReadyEvent> {Overridepublic void onApplicationEvent(ApplicationReadyEvent event) {// 获取当前的环境&#xff0c;如果是test&#xff0c;则直接返回Co…...

射频功率放大器的参数有哪些

射频功率放大器是射频通信系统中重要的组件&#xff0c;用于将输入的射频信号放大到需要的功率水平。在设计和选择射频功率放大器时&#xff0c;需要考虑多种参数。下面西安安泰将详细介绍射频功率放大器的常见参数。 1、P1dB功率压缩点 当放大器的输入功率比较低时&#xff0c…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...