• Linux 软件包工具rpmbuild


     下载工具rpm-build

    1. yum search rpm-build
    2. yum install rpm-build.x86_64

    制作属于自己的RPM

    1.准备打包目录

    1. ls rpmbuild/
    2. BUILD BUILDROOT RPMS SOURCES SPECS SRPMS

    2.放入软件包

     cp /root/nginx-1.18.0.tar.gz rpmbuild/SOURCES/

    3.编辑spec文件

     vim rpmbuild/SPECS/nginx.spec
    1. 文件内容如下
    2. Name: nginx # 软件包名
    3. Version: 1.18.0 # 版本
    4. Release: 1%{?dist} # 发行次数 需要手动修改
    5. Summary: A light-weight WEB server
    6. License: GPL # 开源协议
    7. URL: https://nginx.org/en/ # 项目官网
    8. Source0: nginx-1.18.0.tar.gz # 源码包 从soureces 目录下面找
    9. BuildRequires: gcc gcc-c++ make # 编译环境
    10. Requires: zlib zlib-devel openssl-devel openssl pcre pcre-devel # 软件包依赖关系
    11. %description # 描述信息
    12. Engine x is a light web server and a useful reverse proxy server.
    13. %prep # 安装rpm包前的准备脚本
    14. %setup -q # 解压源码包
    15. %build # 开始编译
    16. ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx # 配置编译参数
    17. make %{?_smp_mflags} # 编译
    18. %install # 安装
    19. make install DESTDIR=%{buildroot}
    20. %files # 指定文件释放路径
    21. /usr/local/nginx/*
    22. %post #安装
    23. useradd -M -s /sbin/nologin nginx
    24. ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
    25. %postun #卸载
    26. if [ $1 -eq 0 ]; then
    27. /usr/sbin/userdel nginx
    28. fi
    29. %changelog

    4.检查

    1. tree rpmbuild/
    2. rpmbuild/
    3. ├── BUILD // 源码包编译的工作现场
    4. ├── BUILDROOT // 另一个源码包编译的工作现场
    5. ├── RPMS // 保存打包完成的rpm包
    6. ├── SOURCES // 源码包
    7. │ └── nginx-1.18.0.tar.gz
    8. ├── SPECS // 制作RPM包要使用的配置文件
    9. │ └── nginx.spec
    10. └── SRPMS // 包含源码未编译的RPM包

    5.制作软件包

    rpmbuild -ba rpmbuild/SPECS/nginx.spec

    6.复制出来并检查

    cp rpmbuild/RPMS/x86_64/nginx-1.18.0-1.el8.x86_64.rpm .
    1. >rpm -qpi nginx-1.18.0-1.el8.x86_64.rpm
    2. Name : nginx
    3. Version : 1.18.0
    4. Release : 1.el8
    5. Architecture: x86_64
    6. Install Date: (not installed)
    7. Group : Unspecified
    8. Size : 773910
    9. License : GPL
    10. Signature : (none)
    11. Source RPM : nginx-1.18.0-1.el8.src.rpm
    12. Build Date : Wed 17 Apr 2024 02:03:02 AM PDT
    13. Build Host : bogon
    14. Relocations : (not relocatable)
    15. URL : https://nginx.org/en/
    16. Summary : A light-weight WEB server
    17. Description :
    18. Engine x is a light web server and a useful reverse proxy server.

  • 相关阅读:
    IO和进程day08(消息队列、共享内存、信号灯集)
    【多线程】Thread的interrupt()
    【Rust 日报】2022-08-04 异步Rust的实践:性能、隐患、分析​
    猿创征文|OpenCV编程——计算机视觉的登堂入室
    springcloud--微服务
    【考研数学】数学“背诵手册”(二)| 线代及概率论部分
    利用bert4keras实现多任务学习
    【广州华锐互动】AR远程连接专家进行协同管理,解放双手让协同更便捷
    Unity实现设计模式——责任链模式
    自动驾驶研究生就业如何,自动驾驶的研究方向
  • 原文地址:https://blog.csdn.net/weixin_55731208/article/details/137902643