Centos7 制作Openssh9.5 RPM包

Centos7 制作Openssh9.5 RPM包

最近都在升级Openssh版本到9.3+.在博客里也放了openssh 9.5的rpm包.
详见:https://blog.csdn.net/qq_29974229/article/details/133878576
但还是有小伙伴不停追问这个rpm包是怎么做的,怕下载别人的rpm包里被加了盐.
于是做了个关于怎么用官方的openssh-9.5p1.tar.gz生成自己rpm包的手册供大家学习使用.

1. 环境说明

实验环境操作系统版本Centos 7.9 x86_64

[root@centos7 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@centos7 ~]# uname -r
3.10.0-1160.el7.x86_64
[root@centos7 ~]#

2. 配置Yum仓库

2.1 配置Yum仓库和epel仓库

rm -f /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

请添加图片描述

2.2 建立yum仓库缓存

yum clean all
yum makecache

中间报错忽略即可

请添加图片描述

3. 安装rpmbuild环境

3.1 安装rpmdevtools

yum install -y rpmdevtools rpmlint

请添加图片描述

3.2 安装Openssl

yum install -y libXt-devel imake gtk2-devel gcc krb5-devel openssl-devel pam-devel

请添加图片描述

wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz --no-check-certificate
tar xf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./config --openssldir=/usr/local/openssl && make && make install

请添加图片描述
配置openssl环境变量

ln -sf /usr/local/openssl/include/openssl /usr/include
ln -sf /root/openssl-1.1.1w/libcrypto.so /usr/local/lib/libcrypto.so
echo 'export PATH=/usr/local/openssl/bin:$PATH' >/etc/profile
echo '/usr/local/include/openssl/' >> /etc/ld.so.conf
echo '/usr/local/lib64' >> /etc/ld.so.conf
ldconfig -v
source /etc/profile
openssl version

请添加图片描述

4. 配置生成rpm包

4.1 生成配置目录环境

cd
rpmdev-setuptree
cd rpmbuild/SOURCES/

4.2 获取openssh包

wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.5p1.tar.gz
tar xf openssh-9.5p1.tar.gz
cp openssh-9.5p1/contrib/redhat/openssh.spec ../SPECS/
cd ../SPECS/

4.3 修改SPEC文件

sed -i 's#Source1:.*#Source1: https://src.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-1.2.4.1.tar.gz#g' openssh.spec
sed -i 's#%global no_x11_askpass 0#%global no_x11_askpass 1#g' openssh.spec
sed -i 's#%global no_gnome_askpass 0#%global no_gnome_askpass 1#g' openssh.spec
sed -i '/mandir=%/a\        --with-openssl-includes=/usr/local/include/openssl \\' openssh.spec
sed -i '/with-openssl-includes=/a\        --with-ssl-dir=/root/openssl-1.1.1w \\' openssh.spec
sed -i "342 a cp -r /etc/ssh /etc/ssh.bak" openssh.spec
sed -i "343 a cp -r /usr/bin/ssh /usr/bin/ssh.bak" openssh.spec
sed -i '344 a sed -i -e  "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config' openssh.spec
sed -i '345 a echo "PermitRootLogin yes" >> /etc/ssh/sshd_config' openssh.spec
sed -i '346 a sed -i  -e  "s/UsePAM yes/UsePAM no/g" /etc/ssh/sshd_config' openssh.spec
sed -i '347 a chmod 600 /etc/ssh/ssh_host*' openssh.spec
sed -i '348 a systemctl restart sshd' openssh.spec
sed -i '/openssl-devel < 1.1/d' ~/rpmbuild/SPECS/openssh.spec

请添加图片描述

请添加图片描述

请添加图片描述

删除104行

请添加图片描述

4.4 下载软件包

通过spec文件下载依赖软件包

rm -rf ~/rpmbuild/SOURCES/openssh-9.5p1/
spectool -g -R ~/rpmbuild/SPECS/openssh.spec

请添加图片描述

5. 生成rpm包

rpmbuild -ba ~/rpmbuild/SPECS/openssh.spec

请添加图片描述

将openssh-9.5p1-1.el7.x86_64.rpm,openssh-debuginfo-9.5p1-1.el7.x86_64.rpm,openssh-server-9.5p1-1.el7.x86_64.rpm三个包安装即可完成openssh升级.

不同版本用不同版本的os制作即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/199608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

yolov5实现多图形识别和图像训练

1.使用了yolov7,检测更好,但是训练上有问题,运行不起来,转了一圈发现yolov5是应用更广泛使用简单 2.怎么使用 //下载代码 https://github.com/ultralytics/yolov5 //安装依赖 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple some-package //按…

CMake中的CACHE关键字

2023年12月5日&#xff0c;周二晚上 在 CMake 中&#xff0c;CACHE 关键字用于在变量定义时将其值缓存起来&#xff0c;以便在后续的 CMake 运行中重用。这对于在多次构建过程中保持变量的持久性和一致性非常有用。 当使用 CACHE 关键字定义一个变量时&#xff0c;CMake 将会为…

【Axure高保真原型】3D大屏可视化模板

今天和大家分享3D大屏可视化的原型模板&#xff0c;里面包括3D条形图、3D柱状图、3D饼图、3D环形图、3D金字塔图&#xff0c;鼠标移入图表&#xff0c;对应区域会高亮变色&#xff0c;并且显示对应的数据标签&#xff0c;具体效果可以点击下方视频观看或打开下方预览地址查看哦…

【PduR路由】PduR模块详细介绍

目录 1.PDUR模块功能介绍 2.关键概念理解 3.功能详细设计 3.1I-PDU handling 3.1.1 I-PDU Reception to upper module(s) 3.1.1.1 Communication Interface 3.1.1.2 Transport Protocol 3.1.2 I-PDU Transmission from upper module(s) 3.1.2.1 Multicast 3.1.2.2 Co…

LeetCode 2477. 到达首都的最少油耗:深度优先搜索(DFS)

【LetMeFly】2477.到达首都的最少油耗&#xff1a;深度优先搜索(DFS) 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-fuel-cost-to-report-to-the-capital/ 给你一棵 n 个节点的树&#xff08;一个无向、连通、无环图&#xff09;&#xff0c;每个节点表示一…

仓库管理系统【GUI/Swing+MySQL】(Java课设)

系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设&#xff01;&#xff01;&#xff01; 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址&#xff1a; 更多系统资源库地址&#xff1a;更多Java课设系统 更多系统运行效果展示…

JavaSE基础50题:5. 求两个正整数的最大公约数

方法 我们用到辗转相除法&#xff0c;也叫欧几里得算法。 如&#xff1a;求 32和26 的最大公约数。 32➗ 26 1……6 &#xff08;此时余数不为0&#xff0c;继续&#xff0c;此行的除数26作为下一行的被除数&#xff0c;余数6作为下一行的除数&#xff09; 26 ➗ 6 4……2&a…

为什么Nginx被称为反向代理

下图显示了 &#x1d41f;&#x1d428;&#x1d42b;&#x1d430;&#x1d41a;&#x1d42b;&#x1d41d; &#x1d429;&#x1d42b;&#x1d428;&#x1d431;&#x1d432; 和 &#x1d42b;&#x1d41e;&#x1d42f;&#x1d41e;&#x1d42b;&#x1d42c;&#…

甘草书店:#7 2023年11月19日 星期日 波澜不惊的日子里稳步前行

前进&#xff0c;可以伴着惊涛骇浪&#xff0c;也可以波澜不惊。 几番沟通&#xff0c;多方协商之后&#xff0c;甘草书店硬装方案基本确定&#xff0c;近期开始施工。 书目选择方面也在逐步推进。 就像之前设想的&#xff0c;划分成企业经管和个人成长两大类的前提下&#…

SpringBoot3-创建自定义启动器,使用自定义starter启动器

1、创建自定义启动工程pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.a…

软件设计之适配器模式

类模式 我们知道插座的电压为交流电220V&#xff0c;而日常电器使用的是直流电且电压会较小&#xff0c;比如手机充电会通过插头适配器达到额定的输入电流。下面我们实现这个案例&#xff1a;将220V电压转化为5V的电压。 package Adapter.Class;public class Adapter extends …

算法通关村——数论问题

数论是一个很重要的学科&#xff0c;覆盖领域极广&#xff0c;小到小学的智力问题&#xff0c;大到世界顶级科学家都一直在研究相关问题&#xff0c;因此其难度跨度非常大。在程序设计里 &#xff0c;也经常会出现数论的问题&#xff0c;但是&#xff0c;这些一般都是比较基本的…

【@ConfigurationProperties注解的用处】

介绍 ConfigurationProperties 是 Spring 框架中的一个注解&#xff0c;用于将配置文件中的属性映射到 Java 对象的字段上。它的主要用途是简化配置文件与 Java 对象之间的映射过程&#xff0c;使得配置更加方便、可读&#xff0c;并提供类型安全的属性访问。 用途和特性 属性…

vmware ubuntu22 访问github

1.虚拟机选NAT模式。 2.firefox找到下图setting。 3.选第四个&#xff0c;填主机ip和局域网代理的端口号。 4. 此时你应该能访问github了。

vue+ts实现离线高德地图 内网离线高德地图

1、下载瓦片 我是用最简单的软件下载——MapDownloader 链接&#xff1a;https://pan.baidu.com/s/1Hz__HcA5QhtGmjLNezC_pQ 提取码&#xff1a;6lek 来源&#xff1a;https://blog.csdn.net/fuhanghang/article/details/131330034 2、部署私有化瓦片资源 这里也是用最简单的…

顺序表和链表面试题

文章目录 顺序表(1)原地移除数组中所有的元素val&#xff0c;要求时间复杂度为O(N)&#xff0c;空间复杂度为O(1)。(2)删除有序数组中的重复项(3)合并两个有序数组 链表(1)删除链表中等于给定值 val 的所有节点(2)反转一个单链表(3) 合并两个有序链表(4)链表的中间结点(5)链表中…

顶级资源!五个免费图标素材网站

图片太花哨了&#xff0c;纯文本太单调了&#xff1f;别忘了设计师的魔法武器——图标&#xff01;图标材料是UI设计师不可缺少的一部分。优秀的图标设计不仅可以提高界面美感&#xff0c;还可以提高用户的互动体验&#xff0c;帮助用户更好地了解应用程序的功能和信息。在本文…

动态类型语言与静态类型语言的对比与比较

编程语言可以根据类型系统和类型检查时机分为动态编程语言和静态编程语言两大类&#xff0c;它们在运行时的代码检查方式、变量类型的使用方式等方面有很大的区别。这一块你知道吗&#xff1f; 本文将为您详细讲解两种编程语言的优缺点&#xff0c;以及它们的应用场景。 动态编…

Innodb-ruby深入探索Innodb存储结构

达在之前已经分享过Innodb数据存储结构知识&#xff0c;但是都是基于理论原理知识理解&#xff0c;今天利用Innodb文件解析工具ruby进行探索Innodb真实的存储结构。 索引原理过程&#xff1a;【Mysql】 InnoDB引擎深入 - 数据页 | 聚集索引_innodb的聚集索引的数据插入_Surviv…

2952. 需要添加的硬币的最小数量(结论题)

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 分析知&#xff1a;设指针值从1开始依次递增&#xff0c;每次将coins里的值累加起来看能否得到或者大于当前指针值 &#xff0c;否则就将该指针值累加起来&#xff0c;即需要添加的数 class Solution …