- 金錢
- 7346
- 威望
- 577
- 貢獻值
- 0
- 推廣值
- 0
- 在線時間
- 156 小時
- 最後登錄
- 2024-10-27
- 主題
- 86
- 精華
- 0
- 閱讀權限
- 30
- 註冊時間
- 2011-3-5
- 帖子
- 139
TA的每日心情 | 開心 2024-10-15 21:32 |
---|
簽到天數: 1627 天 [LV.Master]伴壇終老 - 推廣值
- 0
- 貢獻值
- 0
- 金錢
- 7346
- 威望
- 577
- 主題
- 86
|
樓主
發表於 2014-11-15 20:28:57
新版的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发布的软件包之外, 这是个值得拥有的工具.
|
|