zoukankan      html  css  js  c++  java
  • rpm安装包制作

    RPM是RPM Package Manager(RPM软件包管理器)

    1. 安装制作工具

    # yum install rpm-build

    2. 目录结构
    /root/rpmbuild/SOURCES — 存放源代码,补丁,图标等文件
    /root/rpmbuild/SPECS — 存放用于管理rpm制作进程的spec文件
    /root/rpmbuild/BUILD — 解压后的文件存放在这里
    /root/rpmbuild/RPMS — 存放由rpmbuild制作好的二进制包
    /root/rpmbuild/SRPMS —存放由rpmbuild制作好的源码包

    3. 以rp-pppoe为例
    下载rp-pppoe-3.10.tar.gz

    # tar xvf rp-pppoe-3.10.tar.gz
    # cp rp-pppoe-3.10.tar.gz /root/rpmbuild/SOURCES/
    # cp rp-pppoe.spec /root/rpmbuild/SOURCES/

    4. spec解释
    Summary:简单描述软件
    Name:定义rpm的名称
    Version:定义软件版本
    Release:发行版本
    License:定义许可证
    Group:软件分类
    Source:源码下载地址
    URL:源码相关网站
    Distribution:发行版系列
    Packager:打包人的信息
    %description:软件详细描述,可多行
    %prep:软件编译之前的处理,如解压
    %build:开始编译软件,如make
    %install:开始安装软件,如make install
    %files:指定哪些文件需要被打包,如/usr/local/nginx
    %preun:定义卸载之前的动作,如杀掉进程

    5. 制作

    # rpmbuild -bb rp-pppoe.spec
    # rpmbuild -ba rp-pppoe.spec
    # ls RPMS/x86_64/rp-pppoe-
    rp-pppoe-3.10-1.x86_64.rpm            rp-pppoe-gui-3.10-1.x86_64.rpm
    rp-pppoe-debuginfo-3.10-1.x86_64.rpm  

    6. 常见错误
    如果出错:
    RPM build errors:
    Installed (but unpackaged) file(s) found:

    解决办法:
    将/usr/lib/rpm/macros 中
    %__check_files /usr/lib/rpm/check-files %{buildroot} 注释掉

    如果出错:
    error: Failed build dependencies:

    解决办法:
    将spec文件中BuildRequires去掉

    7. rpmbuild 中文手册
    http://www.jinbuguo.com/redhat/rpmbuild.html

  • 相关阅读:
    hdu 4563
    CPU中的主要的寄存器
    ROC曲线及AUC
    light oj 1231 dp 多重背包
    light oj 1422 区间dp
    light oj 1098 数学规律
    light oj 1095 组合数学
    DRAM & SRAM
    C-static
    C-枚举
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709903.html
Copyright © 2011-2022 走看看