目录

一、安装相关依赖包

二、创建rpmbuild目录并下载源码

三、打包及排错

四、升级到OpenSSH 8.4p1


以下是打包好的OpenSSH 8.4p1,包括7个rpm包,欢迎下载使用。

OpenSSH-8.4p1-Bundle

一、安装相关依赖包

根据以往经验,需要安装wget、rpm-build、openssl-devel、krb5-devel、pam-devel。其中wget用于下载源码,rpm-build是打包工具,其余三个是编译OpenSSH的依赖。

[root@toy ~]# yum install wget rpm-build openssl-devel krb5-devel pam-devel

二、创建rpmbuild目录并下载源码

  1. 此时运行rpmbuild -ba openssh.spec会报错,我们的目的是得到一个完整的rpmbuild目录,省的一个一个创建。
  2. 下载openssh-8.4p1.tar.gz、x11-ssh-askpass-1.2.4.1.tar.gz两个源码包。
  3. 将两个源码包的所属用户、所属组都改为sshd。
  4. 解压openssh源码包,并将openssh.spec文件放到指定位置。
  5. 注释掉openssh.spec的BuildRequires: openssl-devel < 1.1,防止报错。
[root@toy ~]# rpmbuild -ba openssh.spec
[root@toy ~]# cd ~/rpmbuild/SOURCES[root@toy SOURCES]# wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz
[root@toy SOURCES]# wget http://ftp.riken.jp/Linux/momonga/6/Everything/SOURCES/x11-ssh-askpass-1.2.4.1.tar.gz
[root@toy SOURCES]# chown sshd:sshd openssh-8.4p1.tar.gz
[root@toy SOURCES]# chown sshd:sshd x11-ssh-askpass-1.2.4.1.tar.gz[root@toy SOURCES]# tar xvzv openssh-8.4p1.tar.gz
[root@toy SOURCES]# cp openssh-8.4p1/contrib/redhat/openssh.spec ../SPECS/
[root@toy SOURCES]# cd ../SPECS/
[root@toy SPECS]# vim openssh.spec
#BuildRequires: openssl-devel < 1.1

三、打包及排错

打包,此时报错缺少3个依赖包,安装即可。安装完libXt-devel、imake、gtk2-devel这3个依赖包后再次编译。

[root@toy SPECS]# rpmbuild -ba openssh.spec
[root@toy SPECS]# yum install  libXt-devel imake gtk2-devel

看到有7行Wrote,生成了rpm包,打包完成。1个在SRPMS目录下,6个在RPMS目录下。

……
Wrote: /root/rpmbuild/SRPMS/openssh-8.4p1-1.el7.src.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-8.4p1-1.el7.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-clients-8.4p1-1.el7.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-server-8.4p1-1.el7.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-askpass-8.4p1-1.el7.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-askpass-gnome-8.4p1-1.el7.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-debuginfo-8.4p1-1.el7.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.AtLkIV
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd openssh-8.4p1
+ rm -rf /root/rpmbuild/BUILDROOT/openssh-8.4p1-1.el7.x86_64
+ exit 0
[root@toy SPECS]#

四、升级到OpenSSH 8.4p1

切换到RPMS目录,使用rpm -Uvh或者yum localinstall升级三个包即可。

[root@toy SPECS]# cd ../RPMS/x86_64/
[root@toy x86_64]# ll
total 4564
-rw-r--r-- 1 root root  606720 Nov 22 22:57 openssh-8.4p1-1.el7.x86_64.rpm
-rw-r--r-- 1 root root   44348 Nov 22 22:57 openssh-askpass-8.4p1-1.el7.x86_64.rpm
-rw-r--r-- 1 root root   25580 Nov 22 22:57 openssh-askpass-gnome-8.4p1-1.el7.x86_64.rpm
-rw-r--r-- 1 root root  561448 Nov 22 22:57 openssh-clients-8.4p1-1.el7.x86_64.rpm
-rw-r--r-- 1 root root 2996936 Nov 22 22:57 openssh-debuginfo-8.4p1-1.el7.x86_64.rpm
-rw-r--r-- 1 root root  423404 Nov 22 22:57 openssh-server-8.4p1-1.el7.x86_64.rpm
[root@toy x86_64]# rpm -Uvh ./openssh-8.4p1-1.el7.x86_64.rpm ./openssh-server-8.4p1-1.el7.x86_64.rpm ./openssh-clients-8.4p1-1.el7.x86_64.rpm[root@toy x86_64]# ssh -V
OpenSSH_8.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

a

编译OpenSSH8.4的RPM包及升级相关推荐

  1. centos7全盘备份到本地_CentOS7下制作openssl1.1.1i RPM包并升级

    点击上方"walkingcloud"关注,并选择"星标"公众号 CentOS7下制作openssl1.1.1i RPM包并升级 OpenSSL最新漏洞 Open ...

  2. rhel6编译ssh的src.rpm包并修改spec参数

    安全扫描要求屏蔽ssh版本信息,也就是说在你ssh -V的时候,不能够显示ssh的版本信息,我之后在网上查找了一些资料,都说需要使用tar包安装ssh,并在解压之后修改sshd.c文件,将versio ...

  3. 解决编译nginx模块与rpm包安装的nginx不兼容问题

    环境:centos  nginx-10.0.1 现象: 自己开发一个nginx模块,放到rpm包安装的nginx服务器上启动服务时报错如下: 30490#0: module "/usr/li ...

  4. linux4.9编译内核,centos编译linux-4.9内核rpm包

    实际环境中,有时需要用到某个版本的linux内核,但这个版本的内核并没有rpm包,这时我们就需要编译linux内核rpm包.本文介绍在centos6下编译linux-4.9版本内核rpm包,以linu ...

  5. 通过Bigtop编译Hadoop组件的rpm包

    我安装所使用的系统是CentOS6,也可以是red5.6都可以.Bigtop官方网上有Ubuntu系统安装的具体过程. 1.    安装系统依赖 1.1   系统更新并安装新的包 Building B ...

  6. OpenSSH升级8.5版本rpm包制作过程及安装。OpenSSH 命令注入漏洞

    OpenSSH升级8.5版本 3月3日OpenSSH官方发布最新版OpenSSH8.5,此次更新修复了之前版本存在的注入漏洞.用源码编译的方式比较慢 而且需要相关的依赖特别的多,而且公司一般都是内网环 ...

  7. 13. 软件包详解,rpm包的查找,安装,升级,卸载,验证等所有操作

    本小节会详细介绍linux中的软件包管理,涉及软件包的定义/安装/卸载/依赖等操作.以及会详细演示rpm这个非常重要命令的使用. 文章目录 前言 软件包 源码包 二进制包 源码包 VS二进制包 依赖性 ...

  8. Linux RPM包安装、卸载和升级(rpm命令)详解

    本节讲解如何使用 rpm 命令对 RPM 二进制包进行安装.卸载和升级操作. 我们以安装 apache 程序为例.因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码 ...

  9. linuxrpm命令卸载python_Linux RPM包安装、卸载、升级命令讲解

    一个 RPM 包包含了已压缩的软件文件集以及该软件的内容信息,通常表现为以 .rpm 扩展名结尾的文件,例如 samba.rpm .如果需要对RPM包进行操作则需要使用rpm命令. 一.RPM包的来源 ...

最新文章

  1. 凤翅医话——小青龙加石膏汤
  2. python启动jupyter,在Jupyter上启动python脚本作为后台作业
  3. swift. 扩展类添加属性_Swift快速为类扩展属性
  4. mysql 统一字符编码
  5. n皇后问题c语言_用栈解决N皇后问题(C语言)
  6. 获取指定年份至今年分列表
  7. linux中ldd命令查看二进制文件(程序或库)所依赖的其他库(LIBTIFF_4.0未定义的引用问题)
  8. 2021年道路运输企业安全生产管理人员考试内容及道路运输企业安全生产管理人员考试报名
  9. 计算机网络:从入门到放弃
  10. 使用python调整图片大小
  11. Read-olny file system-mysql建表不成功
  12. 计算机网络中数据包的分布,计算机网络习题
  13. 安卓手机突然很卡_为什么你的安卓手机越用越卡,真是内存不够?终于找到原因了!...
  14. python1到100奇数相加_Python:从inpu将奇数相加
  15. 系统吞吐量、QPS、并发数、响应时间,以及提高吞吐量的思路
  16. 955.WLB 红包封面来啦!送给希望不加班的你~
  17. 肺癌治疗正式开启“免疫时代”
  18. 光刻胶剥离和光掩模清洁的工艺顺序
  19. MATLAB2016笔记(八):符号数学计算(MATLAB-Maple组件)
  20. CSS样式实现选择按钮

热门文章

  1. Angular 可观察对象(Observable)
  2. iOS SwiftUI篇-5 专题NavigationView、NavigationLink
  3. siwft 写时复制 Copy-On-Write
  4. Drill storage plugin实现原理分析
  5. CSS将长文字换行的方法 (转)
  6. Python函数式编程-map/reduce
  7. 盖茨基金会:如何使用Python拯救生命
  8. Node.js v0.10版本发布
  9. PLSQL developer 连接不上64位Oracle 解决办法
  10. Google Analytics功能篇 - 如何跟踪邮件打开率与点击率