管理套件︰安裝、更新和解除安裝

一般而言,安裝 RPM 歸檔很簡單︰rpm -i package.rpm。使用此指令可安裝套件,但是必須滿足套件的相依性,而且套件不可與其他套件衝突。如果 rpm 要求要安裝的套件必須符合相依性要求,會顯示錯誤訊息。RPM 資料庫會在背景中確認沒有產生衝突 — 特定的檔案僅可屬於一個套件。藉由選擇不同選項,您可以強迫 rpm 忽略這些預設,但只有進階使用者才可以這樣做。否則,會有危害系統完整性的風險,而且可能會危害更新系統的能力。

選項 -U--upgrade-F--freshen 可用來更新套件,例如,rpm -F package.rpm。此指令會移除舊版的檔案,並立刻安裝新檔案。兩個版本之間的不同在於 -U 會安裝先前系統中沒有的套件,而 -F 僅更新先前安裝的套件。在更新時,rpm 會使用下列策略小心地更新組態檔:

在更新之後,應該在比較完 .rpmsave.rpmnew 之後將它們移除,才不會妨礙未來的更新。如果 RPM 資料庫之前無法辨識檔案,會指定 .rpmorig 副檔名。

否則,會使用 .rpmsave。換言之,.rpmorig 是在將外來格式更新為 RPM 後產生的。.rpmsave 是在將舊版 RPM 更新為新版 RPM 後產生的。.rpmnew 不會透露任何關於系統管理員是否曾對組態檔做過任何變更的資訊。可在 /var/adm/rpmconfigcheck 找到這些檔案的清單。部分組態檔 (如 /etc/httpd/httpd.conf) 不會覆寫以允許後續操作。

-U 切換參數的功能不完全等同於使用 -e 選項進行解除安裝以及使用 -i 選項進行安裝。如果可能,請使用 -U

若要移除套件,請輸入 rpm -e package。如果沒有無法解析的相依性,rpm 僅會刪除套件。只要其他應用程式還需要它,理論上無法刪除 Tcl/Tk,。即使是這種情況下,RPM 還是可從資料庫呼叫以得到協助。如果此種刪除是 (不論出於何種原因或處於不尋常的狀況下) 不可行的 — 即使存在額外的相依性,使用選項 --rebuilddb 來重建 RPM 資料庫可能有幫助。