RPM 與修補程式

為了確保系統的操作安全性,必須經常在系統上安裝更新套件。以前,要除去套件中的錯誤,只能夠更換整個套件。在大型套件中,如果有包含錯誤的小檔案就很容易產生大量的資料。但是,SUSE RPM 提供在套件中安裝修補程式的功能。

最重要的考量可用 pine 當作範例:

修補程式 RPM 是否適用於我的系統?

若要進行檢查,首先請查詢安裝的套件版本。以 pine 為例,可使用指令

rpm -q pine
pine-4.44-188

然後檢查修補程式 RPM 是否適用於此版本的 pine:

rpm -qp --basedon pine-4.44-224.i586.patch.rpm 
pine = 4.44-188
pine = 4.44-195
pine = 4.44-207

此修補程式適用於三種不同版本的 Pine。範例中也列出安裝的版本,因此可安裝此修補程式。

修補程式會更換哪些檔案?

受到修補程式影響的檔案可在修補程式 RPM 中輕易地看出。rpm 參數 -P 可讓您選擇特殊的修補程式功能。可使用以下指令顯示檔案清單:

rpm -qpPl pine-4.44-224.i586.patch.rpm
/etc/pine.conf
/etc/pine.conf.fixed
/usr/bin/pine

或者,如果已經安裝修補程式,可使用以下指令:

rpm -qPl pine
/etc/pine.conf
/etc/pine.conf.fixed
/usr/bin/pine
修補程式 RPM 如何安裝於系統中?

修補程式 RPM 可做為一般 RPM 使用。唯一的不同是必須已經安裝適合的 RPM。

系統中已經安裝哪個修補程式,是用於哪個套件版本?

使用指令 rpm -qPa 可顯示系統中已經安裝的所有修補程式清單。如果新系統中僅安裝一個修補程式 (如本範例),則清單顯示如下:

rpm -qPa
pine-4.44-224

如果在日後,您想要知道原始安裝的套件版本,可在 RPM 資料庫中找到此資訊。以 pine 為例,可使用以下指令顯示此資訊:

rpm -q --basedon pine
pine = 4.44-188

可在 rpm 以及 rpmbuild 的 man 頁面中找到包括 RPM 修補程式功能的相關資訊。