编译OpenSSH8.4的RPM包及升级

目录

一、安装相关依赖包

二、创建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 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦行僧(csdn)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值