• rpm包制作


    安装

    # apt-get install rpm
    

    安装完成:
    默认在用户目录下会自动生成如下目录

    ~/rpmbuild# ls
    BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS
    
    BUILD目录:tar.gz自动解压到此目录,并在此目录进行编译
    SPECS目录:存放.spec文件。制作文件,下面会详细介绍
    RPMS目录:保存制作好的rpm包
    SOURCES目录:保存源代码。制作过程中用到的源码及配置文件
    SRPMS目录:保存制作好的src.rpm包
    BUILDROOT目录:保存编译安装好的文件,可以通过--prefix指定
    

    spec文件举例

    Name:           webserver    #软件名,和压缩文件名一致
    Version:        1.0		#版本号
    Release:       1%{?dist}		#次版本号
    Summary:       webserver	#软件包简介
    
    License:        GPL
    URL:             www.baidu.com
    Source0:        %{name}-%{version}.tar.gz  #变量名:%{SOURCE0}
    
    Requires:       gcc
    
    BuildRoot:      %_topdir/BUILDROOT
    
    %description			#软件描述
    webserver 1.0
    
    %prep		#编译准备工作
    %setup -q   #自动解压Source0中的tar.gz
    
    %build		#一般执行./configure和make
    %install		#一般执行make install
    rm -rf %{buildroot}
    mkdir %{buildroot}
    cp -rp %_topdir/BUILD/%{name}-%{version}/*  $RPM_BUILD_ROOT	#保存到BUILDROOT,后面使用
    
    %pre		#安装前
    %post		#安装后
    %preun		#卸载前
    %postun		#卸载后
    %clean
    %files		#打包时的文件。会自动在BUILDROOT中查找,在rpm -i安装的时候,可以自动安装到相应目录
    %defattr (-,root,root,0755)
    /sbin/boa
    /etc/mime.types
    /etc/boa/boa.conf
    /etc/init.d/webserver.sh
    /usr/www/favicon.ico
    /usr/www/cgi-bin/cgi-test.cgi
    /usr/www/cgi-bin/cgictest.cgi
    
    %changelog
    

    执行过程

    rpmbuild -bp:执行%prep
    rpmbuild -bc:执行%build
    rpmbuild -bi:执行%install
    rpmbuild -ba:编译后做成rpm包和src.rpm包
    rpmbuild -bs:仅制作src.rpm包
    rpmbuild -bb:仅制作rpm包
    

    一步到位

    # rpmbuild -bb xxx.spec
    
  • 相关阅读:
    Mysql第八天 分区与分表
    ios—项目开发需求文档
    spark资料下载
    网络爬虫:使用多线程爬取网页链接
    调用微信高级群发接口--视频群发接口出问题(微信官方文档错误纠正)
    享元模式
    在JAVA中怎样跳出当前的多重嵌套循环?
    获取个人借阅信息---图书馆client
    IOS 以随意点为圆心 旋转UIView
    ESP8266学习笔记4:ESP8266的SmartConfig
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709332.html
Copyright © 2020-2023  润新知