RHEL7下制作OpenSSH8.4rpm包

需求概述

   根据客户需求需要将生产环境下所有的OpenSSH版本升级至最新,客户环境比较整齐
都是红帽的操作系统,并且7版本居多,因系统较多源码升级会比较费时间,所以打算
通过制作rpm包的方式来升级。

系统环境

操作系统版本:
Red Hat Enterprise Linux 7.6
升级需求
当前OpenSSH版本:7.5
目标OpenSSH版本:8.4

制作方法

1. 前言
1. 再7版本环境下编译出来的包,只适合在RHELL7版本环境下使用,如想在其他版本使用此方式,请使用该版本重新编译。
2. 此方法同样适用于RHEL6版本,RHEL8及RHEL4,5版本请自行测试
3. 升级OpenSSH前建议将OpenSSL升级至官方最新
2. 配置Yum源
可参考 https://blog.csdn.net/m0_50335849/article/details/108228150
3. 安装依赖
 yum install rpm-build gcc make wget openssl-devel krb5-devel pam-devel libX11-devel xmkmf libXt-devel rpmdevtools  gtk2-devel -y
4. 创建编译环境
rpmdev-setuptree

目录结构

5. 下载OpenSSH与x11-ssh-askpass-1.2.4.1
 wget https://ftp.spline.de/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz
 wget 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
6. 将文件拷贝至/rpmbuild/SOURCES目录
 cp openssh-8.4p1.tar.gz  x11-ssh-askpass-1.2.4.1.tar.gz  rpmbuild/SOURCES/
7. 解压openssh-8.4p1.tar.gz 并将其中的openssh.spec拷贝至rpmbuild/SPECS/
tar -zxvf openssh-8.4p1.tar.gz
cp openssh-8.4p1/contrib/redhat/openssh.spec  rpmbuild/SPECS/
8. 修改openssh.spce文件内容,并将其用户与组修改为sshd
# 此处是为了取消不必要的包
sed -i -e "s/%global no_gnome_askpass 0/%global no_gnome_askpass 1/g" rpmbuild/SPECS/openssh.spec
sed -i -e "s/%global no_x11_askpass 0/%global no_x11_askpass 1/g" rpmbuild/SPECS/openssh.spec
chown sshd:sshd rpmbuild/SPECS/openssh.spec
9. 编译制作rpm包
cd rpmbuild/SPECS/
rpmbuild -ba openssh.spec 
10.取出rpm包
默认在/rpmbuild/RPMS/x86_64/下使用工具取出即可

问题排除

问题1 openssl-devel 被openssh8.4需要

openssl问题

vi openssh.spec
注释掉 BuildRequires: openssl-devel < 1.1
在这里插入图片描述

问题2 rpmbulid error

问题2

上述报错忘了截图了在日志里面找到,6版本应该会报这个错误,的解决方法如下:
vi /usr/lib/rpm/macros
注释 %__check_files %{_rpmconfigdir}/check-files %{buildroot}
在这里插入图片描述

升级方法

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值