Redhat7源码ssh包编译为RPM包

openssh下载位置:https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/

x11-ssh-askpass依赖包下载位置:https://src.fedoraproject.org/repo/pkgs/openssh

安装过程

1. 安装相关依赖

yum -y install gdb imake libXt-devel gtk2-devel  rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel unzip krb5-devel  libX11-devel  initscripts

2. 创建编译openssh目录

mkdir -p /root/rpmbuild/{SOURCES,SPECS}

 3. 上传openssh和x11-ssh-askpass到/root/rpmbuild/SOURCES目录

[root@localhost SOURCES]# ls
openssh-9.3p1.tar.gz  x11-ssh-askpass-1.2.4.1.tar.gz
[root@localhost SOURCES]# pwd
/root/rpmbuild/SOURCES

4. 解压 openssh安装包

[root@localhost SOURCES]# tar xzvf openssh-9.3p1.tar.gz

5. 复制openssh.spec文件到SPECS目录

[root@localhost SOURCES]# cp openssh-9.3p1/contrib/redhat/openssh.spec  /root/rpmbuild/SPECS

5. 修改openssh.spec文件

[root@localhost SOURCES]# sed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" /root/rpmbuild/SPECS/openssh.spec
[root@localhost SOURCES]# sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" /root/rpmbuild/SPECS/openssh.spec

6. 注释BuildRequires: openssl-devel < 1.1

vim /root/rpmbuild/SPECS/openssh.spec 
BuildRequires: openssl-devel >= 1.0.1
#BuildRequires: openssl-devel < 1.1
根据自己openssl版本,注释

7. 开始编译

[root@localhost SOURCES]# rpmbuild -ba /root/rpmbuild/SPECS/openssh.spec

8. 操作验证

1. 编译完成后查看返回状态码是否为0

Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.qM0dgN
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd openssh-9.3p1
+ rm -rf /root/rpmbuild/BUILDROOT/openssh-9.3p1-1.el7.x86_64
+ exit 0

2. 去/root/rpmbuild/RPMS/x86_64目录查看是否生成openssh相关rpm包

[root@localhost SOURCES]# cd /root/rpmbuild/RPMS/x86_64
[root@localhost x86_64]# ls
openssh-9.3p1-1.el7.x86_64.rpm          openssh-askpass-gnome-9.3p1-1.el7.x86_64.rpm  openssh-debuginfo-9.3p1-1.el7.x86_64.rpm
openssh-askpass-9.3p1-1.el7.x86_64.rpm  openssh-clients-9.3p1-1.el7.x86_64.rpm        openssh-server-9.3p1-1.el7.x86_64.rpm

猜你喜欢

转载自blog.csdn.net/weixin_50877409/article/details/130390446