制作Linux RPM包

简介:     RPM是Redhat Package Manage的缩写。透过RPM的管理,使用者可以把Source Code包装成一种Source和Binary的档案形式。

    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开发速学宝典》出版,欢迎定购

目录
相关文章
|
1月前
|
存储 Shell Linux
【Shell 命令集合 系统设置 】Linux 软件包管理工具 rpm命令 使用指南
【Shell 命令集合 系统设置 】Linux 软件包管理工具 rpm命令 使用指南
49 0
|
2月前
|
Java Linux Shell
linux自动部署jar包,注册系统服务(基于Centos7)
linux自动部署jar包,注册系统服务(基于Centos7)
90 0
|
4月前
|
Java 关系型数据库 Linux
Linux|Java|jar包的解压和重新打包(更新配置)
Linux|Java|jar包的解压和重新打包(更新配置)
72 0
|
1月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
100 1
|
4月前
|
Linux
Linux|编译最新版的openssh-server-9.3的rpm包的使用方法(二)
Linux|编译最新版的openssh-server-9.3的rpm包的使用方法(二)
102 0
|
1月前
|
Java Linux 开发工具
Linux 下tar.bz2包的安装方法
Linux 下tar.bz2包的安装方法
40 0
|
3月前
|
算法 搜索推荐 Linux
【Linux】源代码包的安装
【Linux】源代码包的安装
45 0
|
3月前
|
算法 Linux 应用服务中间件
【Linux】RPM包管理工具
【Linux】RPM包管理工具
37 0
|
3月前
|
存储 算法 Linux
【Linux】Linux上的绿色免安装软件包
【Linux】Linux上的绿色免安装软件包
63 0
|
3月前
|
算法 Linux 开发者
【Linux】深入了解 RPM 软件包管理
【Linux】深入了解 RPM 软件包管理
56 0