新版的rpm(至少 4.4.2)包括一个 --repackage 的选项, 只能与 -e 一起使用(rpmrebuild的作者说的), 它会在卸载的同时产生出与原始用来安装这个软件包的rpm几乎一模一样的rpm文件, 这是个新出现的选项, 我用它来执行软件发布之后的hotfix, 但是这个功能尚有缺陷, 首先, 它对生成的新文件没有任何提示, 一开始我怀疑它是否真正生成了, 通过strace的跟踪, 找到了它把文件放在 /var/spool/repackage/ 目录下.
另外, 最严重的是, 它生成的rpm 在尝试安装时出现了错误.
所以 rpmrebuild 项目还是需要的, 注意是rebuild, 不是redhat 本来就有的rpmbuild.
这个sourceforge上的项目通过脚本从已安装的二进制(或许通过rpm文件也可, 我没试过)生成原来的RPM包, 可以对安装后的文件作修改后重新打包, 这正是我的需要的用法.
至少有一次, 通过它生成的RPM包也在安装时出现了错误, 但其它的尝试都是成功的, 它可以做的最强的功能就是让你修改完整的spec 文件, 多数的单个选项都是便捷地只让你修改spec文件中的某一项, 如release version, 可以向一个已发布的RPM文件中新添加一个文件, 可以修改已有的文件等等.
在标准redhat发布的软件包之外, 这是个值得拥有的工具.
阅读(5353) | 评论(0) | 转发(0) |