Linux 發(fā)行版本質(zhì)量最重要的決定因素是軟件包管理系統(tǒng)和其支持社區(qū)的持久性尝抖。隨著我們花更多的時(shí)間在 Linux 上次伶,會(huì)漸漸發(fā)現(xiàn)它的軟件園地是非常動(dòng)態(tài)的婉支。軟件不斷變化秉颗,大多數(shù)一 線 Linux 發(fā)行版每隔六個(gè)月發(fā)布一個(gè)新版本痢毒,并且許多獨(dú)立的程序每天都會(huì)更新。為了能和很多軟件保持聯(lián)系蚕甥,我們就需要一些好工具來進(jìn)行軟件包管理哪替。
軟件包管理是指系統(tǒng)中一種安裝和維護(hù)軟件的方法。如今菇怀,通過從Linux發(fā)行版中安裝的軟件包凭舶,已經(jīng)能夠滿足需足許多人所需要的軟件。不同的 Linux 發(fā)行版使用不同的打包系統(tǒng)爱沟,一般而言帅霜,大多數(shù)發(fā)行版分別屬于兩大包 管理技術(shù)陣營(yíng):Debian 的 “.deb”,和紅帽的”.rpm”呼伸。Linux 系統(tǒng)中幾乎所有的軟件都可以在互聯(lián)網(wǎng)上找到身冀。其中大多數(shù)軟件由 發(fā)行商以包文件的形式提供,剩下的則以源碼形式存在蜂大,可以手動(dòng)安裝闽铐。
在包管理系統(tǒng)中軟件的基本單元是包文件蝶怔。包文件是一個(gè)構(gòu)成軟件包的文件壓縮集合奶浦。一個(gè)軟件包可能由大量程序以及支持這些程序的數(shù)據(jù)文件組成。除了安裝文件之外踢星,軟件包文件也包括關(guān)于這個(gè)包的元數(shù)據(jù)澳叉,如軟件包及其內(nèi)容的文本說明。另外沐悦,許多軟件包還包括預(yù)安裝和安裝后腳本成洗,這些腳本用來在軟件安裝之前和之后執(zhí)行配置任務(wù)。
因軟件開發(fā)生命周期不同階段的需要藏否,一個(gè)系統(tǒng)發(fā)行版可能維護(hù)著幾個(gè)不同的資源庫(kù)瓶殃。例 如,通常會(huì)有一個(gè) “測(cè)試” 資源庫(kù)副签,其中包含剛剛建立的軟件包遥椿,它們想要勇敢的用戶來使用基矮, 在這些軟件包正式發(fā)布之前,讓用戶查找錯(cuò)誤冠场。系統(tǒng)發(fā)行版經(jīng)常會(huì)有一個(gè) “開發(fā)” 資源庫(kù)家浇,這 個(gè)資源庫(kù)中保存著注定要包含到下一個(gè)主要版本中的半成品軟件包。
這樣就可以從資源庫(kù)中安裝一個(gè)軟件包碴裙,再通過軟件包來安裝文件钢悲、卸載文件;也可以從資源庫(kù)來更新軟件包舔株,接著便通過軟件包文件來升級(jí)軟件莺琳。