2010-01-06 130 views

回答

3

您使用的是哪个版本的RPM?如果你使用的是更新的,我有一个可能适合你的技巧。

较新版本的RPM有transaction safe rollback option;只需使用--repackage命令,它将生成一个包含原始安装的所有特殊废话的包。请注意,你必须真正做一些事情(例如,rpm -e --repackage rpm_goes_here,这将删除原始文件,同时制作一个你应该能够恢复的文件包(在完成复制之后),但是如果你希望这能够完美地工作,我有一个你可能想购买的BRIDGE),所以如果你没有完整的备份,这是一个信心的飞跃。

有一些配置涉及到,并且在对某些重要事项尝试此操作之前,您需要测试测试测试,但这可能有效。

0

基本上,你必须做到以下几点:

1]所有头[http://www.rpm.org/max-rpm/s1-rpm-build-creating-spec-file.html]创建的.spec文件

你将不得不使用rpm -q --queryformat“”到从已安装的rpm中获取头文件。例如, rpm -q --queryformat "Release: %{RELEASE}\n" installed_rpm

要使文件填满%files部分,请使用rpm -ql命令。

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

+0

有一个选项来重新创建它。我正在想那样的事情 – Hulk 2010-01-06 14:21:17

+0

AFAIK没有这样的选择。但如果你找到一个,请让我知道。 – CodeRain 2010-01-06 15:40:09

0

重新创建RPM的最佳方法是从源RPM执行此操作。大教程here

0

deltarpm包可以这样做:

甲deltarpm包含一个老的 一转,这使得能够重新创建从 deltarpm和旧新的RPM的新版本之间的差别一。您不必拥有旧版 rpm的副本,deltarpms也可以使用安装的RPM。

+0

这也不是反馈。它最好完全省略。 – 2015-10-28 17:55:09

+0

改写为答案。 – MarcH 2015-10-29 21:11:46