zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    Nginx 允许多个域名跨域访问
    mongo 命令
    PyTorch torch.cuda.device_count 返回值与实际 GPU 数量不一致
    APUE 学习笔记 —— 文件I/O
    Django transaction 误用之后遇到的一个问题与解决方法
    如何更新 CentOS 镜像源
    Supervisor 的安装与配置教程
    Sentry的安装搭建与使用
    Python, Django 性能分析工具的使用
    记一次 Apache HUE 优化之因使用 Python 魔术方法而遇到的坑
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709332.html
Copyright © 2011-2022 走看看