1

如何重新创建已安装在 linux 系统上的 rpm?

4

4 回答 4

3

您使用的是哪个版本的 RPM?如果您使用的是较新的,我有一个可能对您有用的技巧。

较新版本的 RPM 具有事务安全回滚选项;只需使用 --repackage 命令,它就会生成一个包,其中包含原始安装的所有特殊废话。请注意,您实际上必须做一些事情(例如 rpm -e --repackage rpm_goes_here 这将删除原始文件,同时制作一个您应该能够恢复的包(在您制作副本之后),但是如果您希望这能完美运行,我有一个你可能想购买的 BRIDGE),所以如果你没有完整的备份,这有点信仰的飞跃。

涉及一些配置,您需要先测试测试测试,然后再尝试关键的东西,但这可能会奏效。

于 2010-01-07T01:21:17.873 回答
0

基本上,您必须执行以下操作:

1] 创建一个包含所有标题的 .spec 文件 [ http://www.rpm.org/max-rpm/s1-rpm-build-creating-spec-file.html ]

您必须使用 rpm -q --queryformat "" 从已安装的 rpm 中获取标头。例如。rpm -q --queryformat "Release: %{RELEASE}\n" installed_rpm

要获取文件以填充该%files部分,请使用该rpm -ql 命令。

2]运行 rpmbuild -bb specfile 生成rpm文件。

于 2010-01-06T10:08:06.493 回答
0

重新创建 RPM 的最佳方法是从源 RPM 进行。很棒的教程在这里

于 2010-01-07T01:09:44.193 回答
0

deltarpm包可以做到这一点:

A deltarpm contains the difference between an old and a new version of a rpm, which makes it possible to recreate the new rpm from the deltarpm and the old one. You don't have to have a copy of the old rpm, deltarpms can also work with installed rpms.

于 2010-11-10T01:30:07.683 回答