Ubuntu軟件包管理

Ubuntu Linux採用了Debian的軟件包管理機制。由於軟件包具有易用性、靈活性和擴展性的特點,再加上Internet的支持,使用戶隨時都能擁有最新的 Ubuntu系統,這也是Ubuntu受到推崇的一個重要原因。因而,Deb軟件包管理也成爲Ubuntu中最有活力的部分。

Deb軟件包

Deb軟件包本質上是文件包,這點類似於tar文件將多個文件合併爲一個歸檔文件。但是Deb的身價不在於整合文件,而在於使應用程序更易於傳播。
Debian Linux開發出了APT軟件包管理器。它能夠自動檢查和修復軟件包之間的依賴關係。並且,利用Internet網絡帶來的快捷的連通手段,APT工具可 以幫助用戶主動獲取軟件包。因此,APT工具再次促進了Deb軟件包更爲廣泛地使用,成爲Debian Linux的一個無法替代的亮點。

軟件包的類型

  • 二進制軟件包(Binary Packages)

    包含可執行文件、庫文件、配置文件、man/info頁面、版權聲明和其他文檔。
    
  • 源碼包(Source Packages)

    包含軟件源代碼、版本修改說明、構建指令以及編譯工具等。先由tar工具歸檔爲.tar.gz文件,然後再打包成.dsc文件。
    

軟件包的命名

Filename_Version-Reversion_Architecture.deb

其中,Filename表示軟件包文件名,Version表示軟件版本號,Reversion表示修訂版本號,Architecture表示適用計算機架構。通常,修訂版本號是由Ubuntu開發者或創建這個軟件包的人指定。在軟件包被修改過之後,將修改版本號加1。

例如:g++_4.1.2-9ubuntu2_i386.deb軟件包爲例,g++是軟件包名,4.1.2是軟件版本號,9ubuntu2是修訂版本號,i386是適用的計算機架構。

軟件包的優先級

級 別 含 義 補 充 說 明
Required(必須) 該級別軟件包是保證系統正常運行所必須的 包含所有必要的系統工具。儘管Require級別的軟件不能滿足整個系統的服務,但至少能夠保證系統正常啓動。如果刪除其中一個軟件包,系統將受到損壞而無法恢復。例如bash、mount、upstart
Important(重要) 若缺少該級別軟件包,系統會運行困難或不好操作 該級別軟件包是一些實現系統底層功能的程序。例如,aptitude、ubuntu-keyring、cpio
Standard(基本) 該級別軟件包是任何Linux系統的標準件 該級別的軟件包可以支撐命令行控制檯系統運行,通常作爲默認安裝選項,例如,memtest86、telnet、pppconfig、ed
Optional(可選) 該級別軟件包是否安裝不影響系統的正常運行 該級別的軟件包用於滿足用戶特定的需求或服務,它們不會影響系統的正常運行。例如,X11、mysql、openoffic.org
Extra(額外) 該級別軟件包可能與其他高級別軟件包存在衝突

任何高優先級的軟件包都不能依賴於低優先級的軟件包。這樣可以實現按照優先級一層層凍結系統。

軟件包的狀態

  • 期望狀態

    標記用戶希望將某個軟件包處於的狀態。
    
  • 當前狀態

    標記用戶操作該軟件包後的最終狀態。
    

這裏寫圖片描述

軟件包的依賴性關係

Debian提出了程序依賴性機制,並做詳細的定義。程序依賴性是用來描述獨立運行程序與當前系統中程序之間存在的關聯程度。

這裏寫圖片描述

軟件包管理器將依據軟件包“依賴關係”完成組件 的安裝或卸載。例如,包含GNU C編譯器(gcc)的軟件包依賴於包含鏈接器和彙編器的binutils軟件包。如果用戶試圖在沒有安裝binutils的情況下安裝gcc,軟件包管理 器將會中止安裝,並出現錯誤提示,要求用戶事先安裝binutils。

發佈了105 篇原創文章 · 獲贊 59 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章