制作Linux RPM包

    RPM是Redhat Package Manage的缩写。透过RPM的管理,使用者可以把Source
Code包装成一种Source和Binary的档案形式。利用它,我们可以用Binary的档案进行安装,用 Source
的档案形式重新整理包装。许多Linux爱好者对安装RPM包比较熟悉,但对如何在Linux下制作RPM包不甚了解,因此,我将通过实例,讲解如何在Linux下制作RPM包。

1. 最初要求

为了创建RPM,你需要RPM要编译的源代码、一个rpmrc文件(设置一些RPM的缺省值并控制它的行为),以及一个spec文件(控制包的建立过程)。这里假定已有其它的开发环境(gcc、make、install、vi等),而且你的源代码已经编译成功。

2. 制作流程

1)确定/etc/rpmrc(也可能是/usr/lib/rpm/rpmrc)已经正确设定。rpmrc文件控制几乎所有RPM的行为。如果你
想重载一个或多个全局设置,可以在~/.rpmrc文件中包含你的定制。可以使用rpm--showrc来显示RPM的当前设置。大多数情况下,
rpmrc 文件的设置不需要改变。

2)取回所建造的源代码并放入正确的目录中。

3)编写spec文件。

4)使用rpm
-ba 来构造整个程式套件。

3.应用举例

现在以Lynx实用程序来介绍构造RPM包的整个过程。Lynx是在文本方式下的Web浏览器,可以从ftp://www.slcc.edu/pub/lynx/取得。

1)得到lynx源代码。

2)lynx-2.8.spec文件的详细编写方法略。

3)使用RPM来构造包。

按照rpmrc文件的缺省设置,应该把lynx-2.8.spec文件放入SPECS/目录下,然后执行:

rpm -ba
lynx-2.8.spec

其中-b 表示prep、compile、install,并build出一份binary RPM包。-a
表示执行所有的build动作,即还要build 出一份source code RPM包。

如果一切顺利的话,可以在RPMS/目录下找到lynx-2.8-4.i386.rpm文件。可以执行:

rpm -qpl
lynx-2.8-4.i386.rpm

来观察RPM 包中是否包含了要求的所有文件。

为了测试它的正确性,可以拷贝此文件到另一台机器上,并执行:

rpm -ivh lynx-2.8-4.i386.rpm

进行安装测试。

一旦测试成功,就可以上载你的大作,享受成功的喜悦。

小结

     制作RPM包需要开发人员做很多工作。比如不仅要懂得c/c++编程,而且还要能熟练掌握像make、autoconf、diff、
patch、tar、install等工具的使用并能编写spec文件。但从长远来看,应用RPM,在软件包的维护和方便性方面使得开发者受益。

原文:http://www.host01.com/article/server/00070002/0542417260388231.htm

国内最棒的Google Android技术社区(eoeandroid),欢迎访问!

《银河系列原创教程》发布

《Java Web开发速学宝典》出版,欢迎定购

时间: 2024-10-12 22:57:47

制作Linux RPM包的相关文章

linux下制作安装rpm包的方法

  一.制作rpm包  以rp-pppoe-3.10为列进行制作过程. 1.下载rp-pppoe-3.10.tar.gz [root@localhost home]# pwd /home [root@localhost home]# 2.解压 # tar zxvf rp-pppoe-3.10.tar.gz 3. # cp /home/rp-pppoe-3.10/rp-pppoe.spec /usr/src/redhat/SOURCES/ # cp /home/rp-pppoe-3.10.tar.

怎么制作rpm包

最近有好多朋友问到怎么制作rpm包,可不可把其它服务器上编译好的软件目录复杂到其它服务器上直接应用等等...这里做个简单的介绍,高级复杂的不会. 此方法是通过编写spec文件,使用rpmbuild来完成一个rpm的打包. 以nginx为例进行介绍 制作平台:centos 5.x X86_64 四步走: 第一步:建立目录结构 mkdir /usr/src/redhat/{SOURCES,SPECS,BUILD,RPMS,SRPMS} -p 相关目录介绍: /usr/src/redhat/SOURC

制作nginx的RPM包教程_nginx

本文讲述了制作nginx的RPM包的方法,实例如下: 1. 下载nginx源码,直接运行命令: cd /root wget http://nginx.org/download/nginx-1.7.1.tar.gz 在拿到源码包之后,解压,并进入目录: tar zxvf nginx-1.7.1.tar.gz cd nginx-1.7.1 2. 编写SPEC文件 文件名为:nginx.spec Summary: High Performance Web Server Name: nginx Vers

CentOS 6.6 x86_64 RPM包制作教程

一.RPM包介绍 对RPM包有五种基本的操作功能:安装.卸载.升级.查询和验证.linux软件包分为两大类:    1. 二进制类包:包括rpm安装包(一般分为i386和x86_64这几种)     2. 源码类包:源码包和开发包(.src.rpm)都是属于此类 有时候为了方便源码包的安装,和我们自己订制软件包的需求,我们会把一些源码包按照我们的需求来做成rpm包,当有源码包就可以直接编译得到二进制安装和其他任意包,另外,我们也可以使用rpm包来打包一些文件或者自己开发的一套软件,使用rpm有数

Linux使用src rpm包做二次rpm封包

安装编译需要的gcc gcc-c++ 和rpmbuild [root@LookBack-Node ~]# yum install gcc gcc-c++ rpm-build 添加个普通用户 [root@LookBack-Node ~]# name=rpmbuild [root@LookBack-Node ~]# useradd $name 设定普通用户的rpmbuild根目录 [root@LookBack-Node ~]# echo "%_topdir  /home/$name/rpmbuild

Linux源码包制作RPM包之Apache

公司服务器比较多,需要把apache源码包制作成rpm包,然后放到公司内网yum源上进行下载安装.apache的rpm包安装方式比源码安装方式比较快,这能节约不少的时间. 有关内网yum源的搭建,可以参考<烂泥:yum的使用及配置>这篇文章. 一.安装rpm-build 查阅相关资料得知,要把源码包制作成rpm包需要使用rpm打包工具rpm-build. rpm-build通过rpmbuild命令根据本地源码包,通过spec文件中的规则就可以把源码包制作成rpm包. 现在我们来安装rpm-bu

linux中制作PHP的RPM包教程

下面我们以制作php的rpm开始介绍其制作方法.以下操作在CentOS6.6 64位系统进行. 安装rpm-build [root@linuxeye.com SOURCES]# yum -y install rpm-build 建立工作车间目录 [root@linuxeye.com SOURCES]# vim ~/.rpmmacros %_topdir /root/rpmbuild [root@linuxeye.com SOURCES]# mkdir -pv ~/rpmbuild/{BUILD,

linux虚拟机-linux光盘中加入自己的rpm,重新制作成iso后,虚拟机启动少了几个rpm包

问题描述 linux光盘中加入自己的rpm,重新制作成iso后,虚拟机启动少了几个rpm包 大体步骤就是先把光盘文件考到计算机中,然后在Package中加入自己的包,createrepo后制作镜像,虚拟机启动后用命令查发现少了几个包,问了项目老大,老大让我自己改依赖关系文件,自己摸索着改后发现启动不了了,大神请帮忙分析分析.

详解Linux 操作系统下安装rpm包的方法步骤_linux shell

第2代Linux操作系统在安装软件方面相当简单:第一步,搜索你要的软件,比如你要找一个游戏软件,它的名称叫myward,这个游戏软件的说明是:myown war game.Linux操作系统搜索这个软件包就只需要输入命令apt-cache searchmyward,或者输入软件名称的一部分apt-cache searchwar,或者你不知道软件名称. 下面有一张图可以清晰地表示linux软件应用的架构关系: 在Linux启动的时候.首先会启动内核(kernel),内核是一段计算机程序,这个程序直