RHEL7.5编译openssl1.1.1w源码包到rpm包
openssl1.1.1w下载地址
https://www.openssl.org/source/

安装依赖包
yum -y install curl which make gcc perl perl-WWW-Curl rpm-build
wget http://mirrors.aliyun.com/centos-vault/7.5.1804/os/x86_64/Packages/perl-WWW-Curl-4.15-13.el7.x86_64.rpm
rpm -ivh perl-WWW-Curl-4.15-13.el7.x86_64.rpm
创建编译时需要的目录
mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
上传源码包到指定目录
cp openssl-1.1.1w.tar.gz /root/rpmbuild/SOURCES/
新建编译文件
cat << 'EOF' > /root/rpmbuild/SPECS/openssl.spec
Summary: OpenSSL 1.1.1w for redhat
Name: openssl
Version: %{?version}%{!?version:1.1.1w}
Release: 1%{?dist}
Obsoletes: %{name} <= %{version}
Provides: %{name} = %{version}
URL: https://www.openssl.org/
License: GPLv2+Source: https://www.openssl.org/source/%{name}-%{version}.tar.gzBuildRequires: make gcc perl perl-WWW-Curl
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%global openssldir /usr/local/openssl1.1.1w%description
OpenSSL RPM for version 1.1.1w on redhat%package devel
Summary: Development files for programs which will use the openssl library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}%description devel
OpenSSL RPM for version 1.1.1w on redhat (development package)%prep
%setup -q%build
./config --prefix=%{openssldir} --openssldir=%{openssldir}
make -j4%install
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
%make_installmkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libssl.so.1.1 %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libcrypto.so.1.1 %{buildroot}%{_libdir}
ln -sf %{openssldir}/bin/openssl %{buildroot}%{_bindir}%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}%files
%{openssldir}
%defattr(-,root,root)
/usr/bin/openssl
/usr/lib64/libcrypto.so.1.1
/usr/lib64/libssl.so.1.1%files devel
%{openssldir}/include/*
%defattr(-,root,root)%post -p /sbin/ldconfig%postun -p /sbin/ldconfig
EOF
注意里面的
%global openssldir /usr/local/openssl1.1.1w
这个是编译安装的rpm的默认安装地址,这个可以自定义,但是要跟后续的openssh的编译安装的时候的configure命令对应。
执行编译rpm包命令
cd /root/rpmbuild/SPECS && \
rpmbuild \
-D "version 1.1.1w" \
-ba openssl.spec
查看生成的openssl的rpm包

执行升级openssl的操作
cd /root/rpmbuild/RPMS/x86_64/
rpm -ivh openssl-1.1.1w-1.el7.x86_64.rpm openssl-devel-1.1.1w-1.el7.x86_64.rpm --force --nodeps
这个安装完后会新增openssl-1.1.1w的版本,但是原来老的版本的openssl还是在。
卸载老版本的openssl
rpm -e openssl-1.0.2k-12.el7.x86_64 openssl-devel-1.0.2k-12.el7.x86_64 --nodeps
检查
# rpm -qa | grep openssl
相关文章:
RHEL7.5编译openssl1.1.1w源码包到rpm包
openssl1.1.1w下载地址 https://www.openssl.org/source/ 安装依赖包 yum -y install curl which make gcc perl perl-WWW-Curl rpm-build wget http://mirrors.aliyun.com/centos-vault/7.5.1804/os/x86_64/Packages/perl-WWW-Curl-4.15-13.el7.x86_64.rpm rpm -ivh pe…...
结构型设计模式(二)装饰器模式 适配器模式
装饰器模式 Decorator 1、什么是装饰器模式 装饰器模式允许通过将对象放入特殊的包装对象中来为原始对象添加新的行为。这种模式是一种结构型模式,因为它通过改变结构来改变被装饰对象的行为。它涉及到一组装饰器类,这些类用来包装具体组件。 2、为什…...
C#数据结构
C#数据结构 常见结构 1、集合 2、线性结构 3、树形结构 4、图形结构 Array/ArrayList/List 特点:内存上连续存储,节约空间,可以索引访问,读取快,增删慢 using System; namespace ArrayApplication {class MyAr…...
代码随想Day39 | 62.不同路径、63. 不同路径 II
62.不同路径 每次向右或者向下走两个选择,定义dp数组dp[i][j] 为到达索引ij的路径和,状态转移公式为 dp[i][j]dp[i-1][j]dp[i][j-1],初始状态的第一行和第一列为1,从左上到右下开始遍历即可。详细代码如下: class Sol…...
Autosar通信实战系列07-Com模块要点及其配置介绍(二)
本文框架 前言1. ComGeneral配置2. ComConfig配置2.1 ComGwMapping2.2 ComIPdus2.3 ComIPduGroups2.4 ComIPduSignals2.5 ComIPduSignalGroups2.6 ComTimeBasis前言 在本系列笔者将结合工作中对通信实战部分的应用经验进一步介绍常用,包括但不限于通信各模块的开发教程,代码…...
DSP捕获输入简单笔记
之前使用stm32的大概原理是: 输入引脚输入一个脉冲,捕获1开始极性捕获,捕获的是从启动捕获功能开始计数,捕获的是当前的计数值; 例如一个脉冲,捕获1捕获上升沿,捕获2捕获下降沿;而两…...
【Java基础】HashMap 原理
文章目录 1、HashMap 设置值的原理2、HashMap 获取值原理3、HashMap Hash优化4、HashMap 寻址优化5、HashMap 是如何解决Hash冲突的?5.1 get数据的时候,如果定位到指定位置的元素是一个链表,怎么办呢?5.2 红黑树 6、数组扩容6.1 数…...
vue3的大致使用
<template><div class"login_wrap"><div class"form_wrap"> <!-- 账号输入--> <el-form ref"formRef" :model"user" class"demo-dynamic" > <!--prop要跟属性名称对应-->…...
什么是计算机网络?计算机网络基础知识
1.网络的组成部分:由主机,路由器,交换机等组成 2.网络结构:网络的网络 3.信息交换方式:电路交换和分组交换 4.网络分层:分清职责,物理层,链路层,网络层,运…...
【机器学习 | 假设检验系列】假设检验系列—卡方检验(详细案例,数学公式原理推导),最常被忽视得假设检验确定不来看看?
🤵♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…...
RealBasicVSR高清处理视频
autodl做了镜像:高清RealBasicVSR 首先在剪映将视频剪好导出,最多是720像素的,不然后面超分的时候会爆显存。剪映视频也最好是双数帧数结尾的,不然超分的时候单数图片会报错->RuntimeError: non-empty 3D or 4D input tensor …...
晚期食管癌肿瘤治疗线程分类
文章目录 1、肿瘤治疗的线数1.1 基础概念1.2 线程定义1.3 如何计算治疗线数 2 食管癌治疗指南2.1 食管癌诊疗指南2.1 CSCO 本文前半部分主要来源于参考文件1,其余部分来源于官方指南。无原创内容,全部为摘要。 1、肿瘤治疗的线数 1.1 基础概念 抗肿瘤药…...
高效营销系统集成:百度营销的API无代码解决方案,提升电商与广告效率
百度营销API连接:构建无代码开发的高效集成体系 在数字营销的高速发展时代,企业追求的是快速响应市场的能力以及提高用户运营的效率。百度营销API连接正是为此而生,它通过无代码开发的方式,实现了电商平台、营销系统和CRM的一站式…...
网络基础(十一):VRRP原理与配置
目录 前言: 1、VRRP的基本概述 2、VRRP的基本原理 2.1VRRP的基本结构 2.2设备类型 2.3状态机 2.4VRRP路由器的抢占功能 2.5VRRP路由器的优先级 2.6VRRP工作原理 2.7主备路由器的工作内容 3、VRRP的基本配置 3.1配置主路由器和备用路由器 3.2配置PC1与P…...
设计模式——状态模式
引言 状态模式是一种行为设计模式, 让你能在一个对象的内部状态变化时改变其行为, 使其看上去就像改变了自身所属的类一样。 问题 状态模式与有限状态机 的概念紧密相关。 其主要思想是程序在任意时刻仅可处于几种有限的状态中。 在任何一个特定状态中…...
2020-XNUCA babyv8
做的第一道存在指针压缩机制的V8题,通过小越界写修改length构造大越界读写,然后利用arraybuffer的backing store构造任意地址写,利用wasm rwx段地址的特点以及堆空间的分布,搜索到rwx段的具体地址,然后利用任意地址写将…...
货物数据处理pandas版
1求和 from openpyxl import load_workbook import pandas as pddef print_hi(name):# Use a breakpoint in the code line below to debug your script.print(fHi, {name}) # Press CtrlF8 to toggle the breakpoint.# Press the green button in the gutter to run the scr…...
MC-30A (32.768 kHz用于汽车应用的晶体单元)
MC-30A 32.768 kHz用于汽车应用的晶体,车规晶振中的热销型号之一。该款石英晶体谐振器,可以在-40 to 85 C的温度内稳定工作,能满足起动振动的要求。同时满足AEC-Q200无源元件质量标准认证,满足汽车仪表系统的所有要求。 频率范围…...
TrustZone之其他设备及可信基础系统架构
一、其他设备 最后,我们将查看系统中的其他设备,如下图所示: 我们的示例TrustZone启用的系统包括一些尚未涵盖的设备,但我们需要这些设备来构建一个实际的系统。 • 一次性可编程存储器(OTP)或保险丝 这些是一旦写入就无法更改的存储器。与每个芯片上都包含相同…...
自由编程学习资源:free-programming-books
最近,我发现了一个在GitHub上备受欢迎的项目,它为程序员和编程爱好者提供了丰富、免费且高质量的学习资料,这就是"free-programming-books"。目前,这个项目在GitHub上已经有305k的star,显示出它在开发者社区…...
如何用React打造经典Windows XP桌面体验:完整实现指南
如何用React打造经典Windows XP桌面体验:完整实现指南 【免费下载链接】winXP 🏁 Web based Windows XP desktop recreation. 项目地址: https://gitcode.com/gh_mirrors/wi/winXP Windows XP作为微软最经典的操作系统之一,至今仍被许…...
银河麒麟V4.0.2-sp4系统初始化实战:网络、DNS与软件源一站式配置指南
1. 银河麒麟V4.0.2-sp4网络配置实战 刚装完系统的银河麒麟服务器就像刚交房的新家,水电网络都没通。作为系统管理员,配置网络就是给服务器"通水电"的第一步。我遇到过不少新手直接照着网上教程操作,结果把网卡配置搞乱导致服务器失…...
从权重计分到算杀引擎:五子棋AI核心算法实战解析
1. 五子棋AI的算法演进:从基础评分到算杀引擎 五子棋作为一款经典策略游戏,其AI算法的核心在于如何评估棋盘局势并做出最优决策。早期AI主要依赖简单的评分机制,比如给不同的棋形(活二、活三、冲四等)赋予固定分值&…...
Claudia:提升开发效率的智能代码助手桌面应用
Claudia:提升开发效率的智能代码助手桌面应用 【免费下载链接】opcode A powerful GUI app and Toolkit for Claude Code - Create custom agents, manage interactive Claude Code sessions, run secure background agents, and more. 项目地址: https://gitcode…...
告别Date混乱:kotlinx-datetime 0.6.0版本完全避坑指南
告别Date混乱:kotlinx-datetime 0.6.0版本完全避坑指南 如果你曾在Kotlin项目中处理过跨时区生日提醒、电商促销倒计时或航班时刻转换,大概率体验过被java.util.Date支配的恐惧——隐式时区转换、毫秒值溢出、不可变性问题如同定时炸弹般散落在代码各处。…...
Java大厂面试揭秘:从Spring Boot到Kubernetes的技术深挖
Java大厂面试揭秘:从Spring Boot到Kubernetes的技术深挖 场景背景 王大壮是一位初入职场的程序员,怀揣着对互联网大厂的向往,来到了一家知名互联网企业参加Java开发岗的面试。面试官老李以严肃的态度,针对核心技术栈进行了深挖式提…...
别再只盯着GPS了!手把手教你用Python仿真UWB定位,30厘米精度是怎么来的?
用Python仿真UWB定位:从纳秒脉冲到30厘米精度的全流程解析 在室内导航、工业自动化或仓储物流等领域,定位精度直接决定了系统性能的上限。传统GPS在开阔地带表现优异,但一旦进入室内环境,其信号衰减和多径效应会导致定位误差急剧…...
coze-loop效果展示:看AI如何将冗长代码重构为高效简洁版本
coze-loop效果展示:看AI如何将冗长代码重构为高效简洁版本 1. 引言:AI代码优化的革命性工具 在软件开发领域,代码优化一直是一项既重要又具有挑战性的任务。传统的优化过程往往需要开发者具备深厚的算法知识和丰富的经验积累。而今天&#…...
PyCharm远程调试避坑指南:从数据集同步到依赖安装,搞定AuToDL服务器上的代码运行
PyCharm远程调试避坑指南:从数据集同步到依赖安装,搞定AuToDL服务器上的代码运行 在深度学习项目的实际开发中,本地环境往往难以满足大规模计算需求。许多开发者选择将代码迁移到AuToDL等云服务器上运行,却常常在远程调试环节遇到…...
1998-2025年区县政府工作报告文本数据
县域政府工作报告是县级政府向同级人民代表大会汇报年度工作的核心文件,报告既总结上一年度经济社会发展和政府工作成效,也提出当前形势判断、政策取向及下一阶段重点任务,是集中反映政府施政理念、政策重点和发展方向的重要文本 整理了1998…...
