Ubuntu軟件包易用性、靈活性
讓大家理解LIUNX Ubuntu軟件包作用,然后全面介紹Ubuntu軟件包是用方法,希望對大家有用。Ubuntu 宣言: 軟件應免費提供,軟件工具應能以人們本地語種的形式可用且不犧牲任何功能,人們應擁有定制及改變他們軟件的自由,這包括以任何他們認為適宜的方式。
Ubuntu軟件包管理概述
Ubuntu Linux采用了Debian的軟件包管理機制。由于Ubuntu軟件包具有易用性、靈活性和擴展性的特點,再加上Internet的支持,使用戶隨時都能擁有最新的 Ubuntu系統,這也是Ubuntu受到推崇的一個重要原因。因而,Deb軟件包管理也成為Ubuntu中最有活力的部分。本章介紹Ubuntu軟件包管理和dpkg軟件包管理器。
Deb軟件包概述
Deb軟件包本質上是文件包,這點類似于tar文件將多個文件合并為一個歸檔文件。但是Deb的身價不在于整合文件,而在于使應用程序更易于傳播。
流行的兩種Ubuntu軟件包管理機制
最初,基于Linux系統的開發者在完成應用程序開發后,將很多二進制文件發給用戶,用戶使用之前需要將相關程序逐個安裝。因此,Debian Linux首先提出“Ubuntu軟件包”的管理機制——Deb軟件包,將應用程序的二進制文件、配置文檔、man/info幫助頁面等文件合并打包在一個文件中,用戶使用Ubuntu軟件包管理器直接操作軟件包,完成獲取、安裝、卸載、查詢等操作。
隨即,Redhat Linux基于這個理念推出了自己的軟件包管理機制——Rpm軟件包。當然,Redhat Linux采用了自己的打包格式生成Rpm包文件,由Rpm包管理器負責安裝、維護、查詢,甚至Ubuntu軟件包版本管理。由于Redhat Linux系統的普及,Rpm軟件包被廣泛使用,甚至出現第三方開發的軟件管理工具,專門管理Rpm格式的軟件包。
隨著Linux操作系統規模的不斷擴大,系統中軟件包之間復雜的依賴關系,導致Linux用戶麻煩不斷。為了解決這個問題,Debian Linux開發出了APT軟件包管理器。它能夠自動檢查和修復軟件包之間的依賴關系。并且,利用Internet網絡帶來的快捷的連通手段,APT工具可以幫助用戶主動獲取Ubuntu軟件包。因此,APT工具再次促進了Deb軟件包更為廣泛地使用,成為Debian Linux的一個無法替代的亮點。
Ubuntu Linux系統的軟件包管理機制延續了Debian的包管理方法。
Ubuntu軟件包的類型
Debian包文件包含了二進制可執行文件、庫文件、配置文件和man/info幫助頁面等文檔。通常Debian包文件的后綴為.deb,因此稱為“Deb軟件包”。Ubuntu有兩種類型的軟件包:二進制軟件包(deb)和源碼包(deb-src)。
二進制軟件包(Binary Packages):包含可執行文件、庫文件、配置文件、man/info頁面、版權聲明和其他文檔。
源碼包(Source Packages):包含軟件源代碼、版本修改說明、構建指令以及編譯工具等。先由tar工具歸檔為.tar.gz文件,然后再打包成.dsc文件。
用戶不確定一個軟件包具體類型時,可以使用file命令查看文件類型。例如下面命令用于證實一個軟件包的文件類型是否是Deb軟件包文件。
wdl@UbuntuFisher:~$ file g++_4.1.2-9ubuntu2_i386.deb
g++_4.1.2-9ubuntu2_i386: Debian binary package (format 2.0)
在Ubuntu Linux中,需要說明一個概念——虛擬軟件包。將系統中具有相同或相近功能的多個軟件包作為一個軟件包集合,稱為虛擬軟件包,并指定其中一個軟件包作為虛擬軟件包的默認首選項。提出虛擬軟件的意圖就是為了防止軟件安裝過程中發生沖突。例如,exim、sendmail和postfix軟件包都是用于郵件傳輸代理,將“mail-transport-agent”指定為它們的虛擬軟件包。當用戶安裝“mail-transport-agent”時,將選擇安裝exim、sendmail和postfix其中的首選項。
Ubuntu軟件包的命名
在Ubuntu Linux中,軟件包的命名遵循以下約定:Filename_Version-Reversion_Architecture.deb
其中,Filename表示軟件包文件名,Version表示軟件版本號,Reversion表示修訂版本號,Architecture表示適用計算機架構。通常,修訂版本號是由Ubuntu開發者或創建這個Ubuntu軟件包的人指定。在軟件包被修改過之后,將修改版本號加1。
以g++_4.1.2-9ubuntu2_i386.deb軟件包為例,g++是軟件包名,4.1.2是軟件版本號,9ubuntu2是修訂版本號,i386是適用的計算機架構。
【編輯推薦】