`

如何根据我们的需求制作RPM安装包

 
阅读更多
如何根据我们的需求制作RPM安装包呢?手顺整理如下:
1、 自定义工作目录(或车间,即%_topdir)
vi ~/.rpmmacros 
%_topdir        /tmp/rpmbuild    ##目录可以自定义 

mkdir /tmp/rpmbuild  

2、 在topdir下建立需要的目录
cd /tmp/rpmbuild  
mkdir -pv {BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} 

3、 把收集的源码放到SOURCES下
cp /usr/local/ffmpeg-2.8.6.tar.gz /tmp/rpmbuild/SOURCES/

4、 在SPECS下建立重要的spec文件
cd SPECS 
vi ffmpeg.spec          ##内容见sepc文件编写样例

5、 用rpmbuild命令制作rpm包,rpmbuild命令会根据spec文件来生成rpm包
1. rpmbuild  
2. -ba 既生成src.rpm又生成二进制rpm 
3. -bs 只生成src的rpm 
4. -bb 只生二进制的rpm 
5. -bp 执行到pre 
6. -bc 执行到 build段 
7. -bi 执行install段 
8. -bl 检测有文件没包含 

下面是一个完整的spec文件样例:
Name:           ffmpeg
Version:        2.8.6
Release:        1%{?dist}
Summary:        ffmpeg is a famous open sources bit images dev tools.
License:        GPLv2
URL:            http://www.ffmpeg.org
Packager:       Kotei <dev@kotei-info.com>
Vendor:         Kotei-info.com
Source0:        %{name}-%{version}.tar.gz


#patch0:            a.patch        
#BuildRoot:      %_topdir/BUILDROOT  
BuildRoot:      /tmp/rpmbuild/BUILDROOT

BuildRequires:  gcc,make
#Requires:       pcre,pcre-devel,openssl,chkconfig
%description                 
It is a ffmpeg tools... 

 
%prep  
%setup -q
#%patch0 -p1


%build 
./configure  --enable-shared  --prefix=/usr/local/ffmpeg --disable-yasm
  
make %{?_smp_mflags}

%install                                
rm -rf %{buildroot}  
make install DESTDIR=%{buildroot} 
 
###  4.1 scripts section 
%pre 
#if [ $1 == 1 ];then    #$1==1 
#        /usr/sbin/useradd -r nginx 2> /dev/null 
#fi 

%post
 
%preun
#if [ $1 == 0 ];then 
#        /usr/sbin/userdel -r nginx 2> /dev/null 
#fi 

%postun
 
###
 
%clean 
rm -rf %{buildroot} 
     
%files  
%defattr (-,root,root,0755)
/usr/local/ffmpeg/ 

%changelog 
*  Fri Dec 29 2012 2.8.6-1 
-  initial verison...



具体的spec文件编写详解可以参照:
http://laoguang.blog.51cto.com/6013350/1103628
https://www.ibm.com/developerworks/cn/linux/l-rpm/
分享到:
评论

相关推荐

    rpm安装包的制作1

    制作RPM安装包的过程涉及多个步骤,包括装包、配置文件说明、打包以及spec文件详解。以下是详细的知识点解析: 1. **装包**: 在Linux系统中,完成RPM安装后,会提供`rpmbuild`工具,用于创建RPM包。`rpmbuild`...

    制作nodejs的linux安装包

    ### 制作Node.js的Linux安装包(RPM、RUN、BIN) #### 一、概述 在Linux环境中,Node.js的部署与管理是一项常见的任务。本文档将详细介绍如何为...此外,您可以根据需要调整spec文件的内容来适应不同的需求或版本。

    nginx1.21离线RPM安装包银河麒麟V10SP1操作系统版本

    根据你的需求,你可以修改监听端口、服务器块(server blocks)以及其他设置。 5. **启动Nginx**:使用`systemctl start nginx`命令启动Nginx服务。如果需要使其在系统启动时自动启动,可以运行`systemctl enable ...

    minio.rar minio存储的rpm安装包、启动脚本、配置文件

    1. **MinIO RPM安装包**:在提供的压缩文件中,`minio-20210527220631.0.0.x86_64.rpm`是MinIO的RPM(Red Hat Package Manager)安装包。RPM是一种软件包管理器,广泛应用于基于Linux的系统,如CentOS、Fedora等。...

    基于 tengine-2.3.3 制作的 nginx rpm离线安装包

    2. **配置管理**:配置文件通常位于`/etc/nginx/nginx.conf`,可以根据需求进行修改。 3. **日志查看**:日志文件一般在`/var/log/nginx`目录下,可用于监控和调试。 4. **更新升级**:如果需要升级到新版本,可以...

    我的打包工具制作安装包

    下面,我们将深入探讨安装包的相关知识以及可能的制作过程。 首先,安装包是一种包含了所有运行一个软件所需文件的集合,包括可执行文件、库文件、配置文件、帮助文档等。它通常以.exe(Windows)或.dmg(macOS)等...

    InstallShield 安装包制作指南

    InstallShield是一款由Flexera Software公司开发的专业级安装包制作软件,主要面向Windows平台,也支持跨平台的安装程序制作。它为软件开发者或发行商提供了一个功能强大且灵活的解决方案,使得软件安装包可以在不同...

    linux安装包(run、bin)制作

    通过上述步骤,我们可以清晰地了解到如何制作Linux下的run和bin安装包。这两种安装包虽然简单易用,但在处理复杂安装逻辑时可能会显得力不从心。对于更复杂的安装需求,建议考虑使用如RPM或DEB等标准化的包管理系统...

    openssh9.0p1安装包rpm

    《OpenSSH 9.0p1 RPM安装包详解》 OpenSSH是开源社区提供的一款强大的安全网络服务套件,主要用于实现远程登录和其他基于SSH协议的安全网络通信。在Linux和Unix系统中,OpenSSH广泛用于替代传统的telnet和rlogin等...

    安装包制作方法及程序

    3. **选择制作工具**:根据你的需求和操作系统选择合适的打包工具。例如,Windows下可以使用Inno Setup、WiX Toolset,Linux下可以使用dpkg-buildpackage或rpmbuild,跨平台的有NSIS(Nullsoft Scriptable Install ...

    安装包制作

    安装包制作是软件开发流程中的重要环节,它使得用户能够便捷地下载、安装和使用软件。...同时,对于不同平台的安装包制作,需要了解对应的操作系统特性和用户习惯,以便制作出更加符合目标用户需求的安装包。

    根据remi仓库制作的php全系列离线仓库安装包

    1. **下载离线安装包**:根据上述信息,可以从百度网盘提供的链接下载离线安装包。需要注意的是,该离线安装包包含两个主要部分:`php74`文件夹和`safe`文件夹(其他版本位于`safe`文件夹内)。 2. **上传到服务器**...

    keepalived离线安装包及教程.zip

    5. **配置Keepalived**:根据你的需求,编辑`/etc/keepalived/keepalived.conf`配置文件,定义虚拟IP地址、监控的服务等。 6. **启动Keepalived**:使用`/usr/local/keepalived/sbin/keepalived`命令启动服务,并...

    Centos7-python3.6.8-离线rpm包

    在这种情况下,我们拥有一个名为"Centos7-python3.6.8-离线rpm包"的压缩文件,它包含了所有需要的RPM(Red Hat Package Manager)包,可以让我们在无网络环境下安装Python 3.6.8。 Python 3.6.8是Python 3的一个...

    统信系统(UOS)mips64 nginx离线安装包(亲测,没有任何问题)

    你可以根据实际需求编辑此文件,例如设置虚拟主机、SSL证书等。 6. **启动Nginx**:使用`systemctl start nginx`命令启动Nginx服务。若想让Nginx在系统启动时自动启动,使用`systemctl enable nginx`。 7. **验证...

    离线安装包制作

    ### 离线安装包制作知识点详解 #### 一、环境要求 为了成功地制作离线安装包,首先需要确保满足以下环境要求: ...通过以上步骤,可以顺利完成离线安装包的制作及部署过程,有效解决在网络受限环境下安装软件的需求。

    InstallAnywhere 7.1 制作JDK + JBOSS + JAR安装包

    在使用`InstallAnywhere 7.1`制作安装包时,我们需要遵循以下步骤: 1. **启动InstallAnywhere**:打开InstallAnywhere软件,创建一个新的项目。选择“Advanced”模式,因为它提供了更多的自定义选项,适合复杂的...

    安装包的概要介绍与分析

    ##### DEB和RPM安装包 - **适用平台**:Linux - **特点**: - .deb文件主要用于Debian及其衍生发行版,如Ubuntu。 - .rpm文件主要用于Red Hat系列发行版,如Fedora、CentOS等。 - **优势**: - 集成管理:利用...

    Apache_OpenOffice_4.1.10_Linux_x86-64_install-rpm_zh-CN.tar.zip

    这意味着开发者可以根据自己的需求定制功能,或者社区成员可以协作改进软件。此外,OpenOffice支持多种文件格式,包括Microsoft Office的.docx、.xlsx和.pptx等,方便与使用不同软件的用户交换文件。 该压缩文件中...

Global site tag (gtag.js) - Google Analytics