打印

rpm 建包原理(2010.11.22 更新)

有几个问题想请教:
1、怎样增加一个文件到rpm包中?例如:把libqq.so集成到gaim的rpm中;
2、怎样在安装时自动修改某个配置文件?例如:安装aaa.rpm时修改/etc/bbb.conf第32行或者某个指定的字段?
3、怎样实现在安装aaa.rpm时自动检查是否有所依赖的libbbb.so、如果没有就自动从%URL字段所指的位置下载libbbb.so的包?

TOP

rpm的机理确实比tgz复杂一些,但对于用户则更简易一些。

其实目前存在的几种软件包格式都有一定的不足:
1、tarball格式对于开发者来说比较容易理解,只要按照规范,做起来也容易,但对于用户来说却并不是最简单的;
2、rpm和deb都功能强大,deb在解决倚赖性方面甚至更胜一筹,但制作起来都比较麻烦,对于用户也不是完全那么简易的。

DOS/Windows下,过去没有统一的软件包格式,一般都是分为压缩包直接拷贝和自行开发安装程序,最后发展出多种安装程序制作工具。微软受到rpm和deb的启发后开发了msi软件包格式,逐渐将以前的安装程序制作工具整合为一种统一的类似rpm的格式,从而使安装包的制作和使用更加简便。

解决软件包问题是Magic Linux推广普及的一个重要关口,解决这个问题只需要做两件事情:
1、开发使软件包制作更加简易的工具。这个工具应解决软件包维护、集成套件打包、自开发软件打包等问题,让即使是初学者、刚加入ML项目的朋友也能够完成软件包的制作工作。
2、开发适用于所有Linux软件包格式的用户工具。将现有的rpm管理工具、deb管理工具、tarball管理工具等软件管理工具集成起来,建立统一的软件包倚赖关系树,同时解决单独的软件包管理工具的缺陷和不足之处。

以上是我的一点拙见,对彻底解决感兴趣的朋友不放尝试一下。

TOP