制作Linux RPM包
来源:互联网 发布:知柏地黄丸中的知母 编辑:程序博客网 时间:2024/04/26 20:42
RPM是Redhat Package Manage的缩写。透过RPM的管理,使用者可以把SourceCode包装成一种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 -balynx-2.8.spec
其中-b 表示prep、compile、install,并build出一份binary RPM包。-a表示执行所有的build动作,即还要build 出一份source code RPM包。
如果一切顺利的话,可以在RPMS/目录下找到lynx-2.8-4.i386.rpm文件。可以执行:
rpm -qpllynx-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开发速学宝典》出版,欢迎定购
- 制作Linux RPM包
- linux rpm 包制作
- Linux rpm包制作
- linux下RPM包制作
- 如何制作LINUX的RPM包
- linux rpm 包制作 - 使用 rpmbuild
- linux rpm 包制作 - 使用 rpmbuild
- 【linux教程】rpm包制作指南
- Linux源码包制作RPM包之Apache
- 如何制作rpm包
- 如何制作rpm包
- RPM包的制作
- 制作rpm包
- 如何制作rpm包
- rpm包制作
- rpm包制作过程
- [整理] RPM包制作
- 如何制作rpm包
- eclipse + JBoss 5 + EJB3开发指南(5):使用配置文件发布Session Bean
- eclipse + JBoss 5 + EJB3开发指南(4):Session Bean中的注释方法
- Java网络编程从入门到精通(16):客户端套接字(Socket)的超时
- 使用脚本文件(jnlp)来发布Java程序
- Java网络编程从入门到精通(15):为什么要使用SocketAddress来管理网络地址
- 制作Linux RPM包
- Java网络编程从入门到精通(14):多种多样的建立网络连接的方式
- 35岁之前成功的12条黄金法则
- eclipse + JBoss 5 + EJB3开发指南(3):使用Session Bean的本地接口
- Java网络编程从入门到精通(13):使用Socket类接收和发送数据
- eclipse + JBoss 5 + EJB3开发指南(2):编写有状态的SessionBean
- Java网络编程从入门到精通(12):使用isReachable方法探测主机是否可以连通
- Java网络编程从入门到精通(11):使用NetworkInterface类获得网络接口信息
- Java网络编程从入门到精通(10):Inet4Address类和Inet6Address类