• openEuler 22.03 制作openssh9.5p1rpm包


     1、yum安装编译依赖的组件

    yum install -y rpm-build gcc gcc-c++ glibc glibc-devel openssl-devel openssl pcre-devel zlib zlib-devel make wget krb5-devel pam-devel libX11-devel  libXt-devel initscripts libXt-devel  gtk2-devel lrzsz

    虚拟机配置可参考本地yum源

    2、建立编译目录

    mkdir -pv /root/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}

    3、源码包下载并修改,迁移到到/root/rpmbuild/SOURCES

    1. wget http://mirror.aarnet.edu.au/pub/OpenBSD/OpenSSH/portable/openssh-9.5p1.tar.gz -O /home/openssh-9.5p1.tar.gz
    2. cd /home && tar -xf openssh-9.5p1.tar.gz && cd openssh-9.5p1/contrib/redhat/
    3. cp -p sshd.pam sshd.pam.old && cp -p sshd.init sshd.init.old
    4. cd ../../..;mv openssh-9.5p1.tar.gz openssh-9.5p1_$(date "+%Y%m%d%H%M%S").tar.gz
    5. tar -cf openssh-9.5p1.tar.gz openssh-9.5p1/
    6. cp openssh-9.5p1.tar.gz /root/rpmbuild/SOURCES/openssh-9.5p1.tar.gz

     4、解压spec编译文件

    1. cd /root/rpmbuild/SOURCES/
    2. tar -xf openssh-9.5p1.tar.gz openssh-9.5p1/contrib/redhat/openssh.spec
    3. mv openssh-9.5p1 /root/rpmbuild/SPECS

    5、配置spec编译文件

    a、不生成askpass包

    1. cd /root/rpmbuild/SPECS/openssh-9.5p1/contrib/redhat/
    2. sed -i -e "s/%global no_gnome_askpass 0/%global no_gnome_askpass 1/g" openssh.spec
    3. sed -i -e "s/%global no_x11_askpass 0/%global no_x11_askpass 1/g" openssh.spec

    ps:生成askpass包,需要/root/rpmbuild/SOURCES/x11-ssh-askpass-1.2.4.1.tar.gz,下载链接如下

    Index of /repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz

    b、解决openssl-devel < 1.1报错

    1. sed -i '/openssl-devel < 1.1/s/^/#/' openssh.spec

    6、编译openssh源码

    rpmbuild -bb /root/rpmbuild/SPECS/openssh-9.5p1/contrib/redhat/openssh.spec

     编译最后无报错即编译成功

    7、查看编译的RPM文件

    在/root/rpmbuild/RPMS/x86_64/

     8、升级(debug文件外可以删除)

    升级之前先安装xinetd,开启telnet

    避免出现sshd_config中参数出现Deprecated导致重启失败

    rpm -Uvh openssh-9.5p1-1.x86_64.rpm openssh-clients-9.5p1-1.x86_64.rpm openssh-server-9.5p1-1.x86_64.rpm

  • 相关阅读:
    3分钟搭建自己的MQTT服务器,就是这么简单!
    进程间的通信终章之【消息队列,信号量,共享内存】
    Casbin——Java版本(笔记)
    Cocos Creator 3.6 新特性详解 1/3:编辑器篇
    exness:美元/瑞郎维持承压,空头指向七个月支撑
    CPDA|对招聘HR来说,会数据分析有多香?
    Notepad++的全局环境变量
    C#多维数组的属性获取方法及操作注意
    python 笔记
    Java SE 7将于7月退役
  • 原文地址:https://blog.csdn.net/rzhidong/article/details/134512216