Show Table of Contents
4.4.6. RPM 套件管理程式(RPM)更新
Red Hat Enterprise Linux 7 提供了更新版本的 RPM Package Manager。此更新帶來了數項可能會影響遷移的特性變更。
- 衝突偵測現在已較為嚴格且正確。基於此提升的衝突敏感度,部分能安裝在 Red Hat Enterprise Linux 6 上的套件可能無法安裝在 Red Hat Enterprise Linux 7 上。
- 自行衝突的套件現在已能安裝,允許使用者在替代項目之間建立單一特性。
- 已被既有、已安裝之套件淘汰的套件將不會被安裝。
- 淘汰規則現在已包含了所有相符的套件,不論其它屬性為何(例如架構)。
- 相依性計算已不再考量未安裝的檔案,或是已透過像是
--nodocs、--noconfig或--force這類選項替換的檔案。 - 現在當您在重新建立一個發生異常情況(
DB_RUNRECOVER)的 RPM 套件管理程式資料庫時,您已無需手動式執行rm -f /var/lib/rpm/__db.。 - 透過 OpenPGP 3 建立的公共金鑰已不再受到支援。
--info選項現在會在每一行上輸出個別的 tag-value 配對,以改善可讀性。任何依賴先前--info格式的 script 皆需要重新編寫。- spec parser 現在已更加嚴格且正確,因此部分先前接受的 spec 檔案可能會無法叵析,或是顯示警告。
%license現在已能使用來在規格檔案的%files部分中,將檔案標記為必須安裝的使用權限(儘管--nodocs已指定)。- 版本比較現在支援了 dpkg 形式的波狀符號(
~)運算子,以更有效地處理預發行的軟體。比方說,foo-2.0~beta1會被視為比foo-2.0還要舊的版本,如此一來便無需「發行版」的欄位亦可處理這些常見的上游版本做法。 - 自動相依性產生器已被重新編寫為一個可延伸、可自訂、基於規則的系統,搭配內建式的篩選機制。
這項更新亦包含了下列功能增強:
- 您現在已能查詢安裝的套件中包含的檔案(
INSTFILENAMES)、檔案的硬連結數量(FILENLINKS)、套件版本控制系統詳細資料(VCS),以及格式化的相依性字串捷徑(PROVIDENEVRS、REQUIRENEVRS、CONFLICTNEVRS、OBSOLETENEVRS)。 - 已提供了幾項新的指令,包括:
rpmkeysrpmdbrpmspecrpmsign
- RPM 套件管理程式現在已包含了新的程式碼片段切換選項,以啟用 runtime 巨集擴展或是 runtime queryformat 擴展。
- 交易前與交易後的程式碼片段相依性現在已能正確以
Requires(pretrans)和Requires(posttrans)顯示。 - RPM 套件管理程式現在包含了
OrderWithRequires標籤,以允許使用者提供額外的排序資訊。這個新標籤使用了與 Requires 標籤相同的語法,不過卻不會產生相依性。若提及的套件存在相同的交易中,當計算交易排序時,排序提示(ordering hint)將會被視為「Requires」。 - 規格檔案中的行接續符號和巨集擴展已不再受到指定的限制。
- RPM 套件管理程式現在已允許使用者指定上游版本的控制軟體庫資訊。
- RPM 套件管理程式現在包含了一個
%autosetup巨集,以協助自動化套用更新的程序。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.