1. 程式人生 > >linux軟體包管理器

linux軟體包管理器

大多數現代類 Unix 作業系統都提供了一個集中的軟體包管理機制,以幫助使用者搜尋、安裝和管理軟體。而軟體通常以包的形式儲存在倉庫(repository)中,對軟體包的使用和管理被稱為包管理。而 Linux 包的基本組成部分通常有:共享庫、應用程式、服務和文件。

軟體包管理是指系統中一種安裝和維護軟體的方法。今天,通過從 Linux 發行版中安裝的軟體包, 已能滿足許多人所有需要的軟體。這不同於早期的 Linux,人們需要下載和編輯原始碼來安裝軟體。 編輯原始碼沒有任何問題,事實上,擁有對原始碼的訪問許可權是 Linux 的偉大奇蹟。它賦予我們才幹來檢測和提高系統性能。只是若有一個預先編譯好的軟體包處理起來要相對容易快速些。雖然所有主流 Linux 發行版都提供了強大且精緻的圖形管理程式來維護系統,但是學習命令列程式也非常重要。因為它們可以完成許多讓圖形化管理程式處理起來困難或者不可能的任務。

在GNU/Linux(以下簡稱Linux)作業系統中,RPM和DPKG為最常見的兩類軟體包管理工具,他們分別應用於基於RPM軟體包的Linux發行版本和DEB軟體包的Linux發行版本。軟體包管理工具的作用是提供在作業系統中安裝,升級,解除安裝需要的軟體的方法,並提供對系統中所有軟體狀態資訊的查詢。

RPM(全稱為RedhatPackage Manager),最早由RedHat公司制定實施,隨後被GNU開源作業系統接受併成為很多Linux系統(RHEL)的既定軟體標準。DEB是基於Debian作業系統(UBUNTU)的DEB軟體包管理工具-DPKG(全稱為Debian Package)。

一個RPM包包含了已壓縮的軟體檔案集以及該軟體的內容資訊(在標頭檔案中儲存),通常表現為以.rpm副檔名結尾的檔案,例如package.rpm。對其操作,需要使用rpm\ yum命令。

YUM(全稱為 Yellow dog Updater, Modified)基於RPM包管理工具,能夠從指定的源空間(伺服器,本地目錄等)自動下載目標RPM包並且安裝,可以自動處理依賴性關係並進行下載、安裝,無須繁瑣地手動下載、安裝每一個需要的依賴包。此外,YUM的另一個功能是進行系統中所有軟體的升級。如上所述,YUM的RPM包來源於源空間,在RHEL中由/etc/yum.repos.d/目錄中的.repo檔案配置指定。YUM的系統配置檔案位於/etc/yum.conf。

一個DEB包包含了已壓縮的軟體檔案集以及該軟體的內容資訊(在標頭檔案中儲存),通常表現為以.deb副檔名結尾的檔案,例如package.deb。對其操作,需要使用dpkg命令。下面介紹dpkg工具的引數和使用方法,並以IBM Lotus Notes在UBUNTU904安裝為例做具體說明。

APT(全稱為AdvancedPackaging Tools)與 YUM對應,它最早被設計成DPKG的前端軟體,現在通過apt-rpm也支援rpm管理。APT的主要包管理工具為APT-GET,通過此工具可滿足和上述YUM相似的功能要求。

Alien工具可以將RPM軟體包轉換成DEB軟體包,或把DEB軟體包轉換成RPM軟體包,以此適應相容性的需要。注意首先請在系統中安裝alien。