經過近兩年的發展, 新產品的推出 版本 來自包裝經理 RPM 4.15。0. RPM Package Manager(或RPM,最初稱為Red Hat Package Manager,但成為遞歸縮寫) 是軟件包管理工具 主要用於GNU / Linux。 它能夠安裝,更新,卸載,驗證和請求程序。
RPM4項目是由Red Hat開發的,並用於RHEL等發行版中 (包括來自 CentOS,科學Linux,亞洲Linux,紅旗Linux,Oracle Linux), Fedora、SUSE、openSUSE、ALT Linux、OpenMandriva、Mageia、PCLinuxOS、Tizen 等。
以前,一個獨立的開發團隊開發了RPM5項目,該項目與RPM4沒有直接關係,目前已被放棄(自2010年以來未進行更新)。
RPM軟件包可以包含任意文件集。 最 RPM文件是“二進制RPM” (或BRPM)包含某些軟件的編譯版本。
還有“源 RPM”(或 SRPM),其中包含用於構建二進制包的源代碼。
它們在文件頭中有一個適當的標籤,將它們與普通 RPM 區分開來,從而使它們在安裝時被提取到 /usr/src 中。
SRPM 通常帶有文件擴展名“.src.rpm”(文件系統上的 .spm 限制為 3 個字符擴展名,例如舊的 DOS FAT)。
RPM功能包括:
- 數據包可以使用GPG和MD5進行加密和驗證。
- 源代碼文件(例如.tar.gz,.tar.bz2)包含在SRPM中,以便以後進行驗證。
- 與補丁文件等效的PatchRPM和DeltaRPM可以增量更新已安裝的RPM軟件包。
- 依賴關係可以由程序包管理器自動解決。
RPM 4.15中的新增功能
在這個新版本的RPM 4.15中 Rpmbuild增加了對動態構建依賴關係的支持 將其包含在 src.rpm 中。 添加了對spec文件中“%generate_buildrequires”部分的支持,該部分的內容被視為需要驗證的依賴項(BuildRequires)列表(如果沒有依賴項,將顯示錯誤)。
此版本中的另一個新穎之處在於 增加了對依賴chroot而不需要root的操作的實驗支持 (通過用戶命名空間)這將允許在 chroot 環境中進行非特權編譯。
此外, 並行化軟件包集支持已在多核系統上實現。 通過宏“%_smp_build_ncpus”和變量$ RPM_設置線程數限制。
還 對ARM體系結構的支持已得到改進,並添加了對armv8的支持。
另一個重要的變化是 添加虛擬數據庫後端以幫助RPM 可以在非RPMDB系統(例如Debian)上運行。
在廣告中突出顯示的其他更改中:
- 添加了“ –scm”選項以啟用“%autosetup SCM”模式
- 添加內置宏“%{expr:...}”來計算任意表達式(前幾天還提出了“%[expr]”格式)
- 默認情況下,標頭中的字符串數據使用UTF-8編碼
- 添加了帶有編譯器和鏈接器標誌的 %build_cflags、%build_cxxflags、%build_fflags 和 %build_ldflags 全局宏
- 添加了宏“%dnl”(丟棄到下一行)以插入註釋
- Python 3 的綁定以 UTF-8 屏蔽序列而不是字節數據的形式提供字符串返回。
- 繼續提供對 Lua 5.2-5.3 的支持,不需要在代碼中定義兼容性。
- 添加了新的部分“%patchlist”和“%sourcelist”,可用於從簡單的名稱列表添加補丁和源代碼,而無需指定註冊表號(例如,您可以指定%“popt-0-pkgconfig.patch”,而不是“Patch1,16:-popt 1.16-pkgconfig.patch”補丁列表部分);
最後,對於那些有興趣測試這個新版本的包管理器的改進的人來說,他們應該知道: Fedora 31 beta是實現此新版本RPM 4.15的首批發行版之一。
如果您想了解更多信息,可以諮詢 以下鏈接。