2010-01-06 98 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