Deb軟件包管理


一、流行的兩種軟件包管理機制

1、Debian Linux首先提出“軟件包”的管理機制——Deb軟件包

將應用程序的二進制文件、配置文檔、man/info幫助頁面等文件合並打包在一個文件中,用戶使用軟件包管理器直接操作軟件包,完成獲取、安裝、卸載、查詢等操作。

2、Redhat Linux基於這個理念推出了自己的軟件包管理機制——Rpm軟件包。

3、隨着Linux操作系統規模的不斷擴大,系統中軟件包間復雜的依賴關系,導致Linux用戶麻煩不斷。Debian Linux開發出了APT軟件包管理器:檢查和修復軟件包依賴關系,利用Internet網絡幫助用戶主動獲取軟件包。APT工具再次促進了Deb軟件包更為廣泛地使用,成為Debian Linux的一個無法替代的亮點。

二、軟件包的類型

Ubuntu有兩種類型的軟件包:二進制軟件包(deb)和源碼包(deb-src)

1、二進制軟件包(Binary Packages):它包含可執行文件、庫文件、配置文件、man/info頁面、版權聲明和其它文檔。

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

在用戶不確定一個軟件包類型時,可以使用file命令查看文件類型。

三、軟件包的命名

image

四、軟件包管理工具分類

image

五、dpkg相關命令

dpkg -i <package> 安裝一個在本地文件系統上存在的Debian軟件包

dpkg -r <package> 移除一個已經安裝的軟件包

dpkg -P <package> 移除已安裝軟件包及配置文件

dpkg -L <package> 列出安裝的軟件包清單

dpkg -s <package> 顯出軟件包的安裝狀態

六、APT工作原理

1、Ubuntu采用集中式的軟件倉庫機制,將各式各樣的軟件包分門別類地存放在軟件倉庫中,進行有效地組織和管理。然后,將軟件倉庫置於許許多多的鏡像服務器中,並保持基本一致。因此,對於用戶,這些鏡像服務器就是他們的軟件源(reposity)。

2、在Ubuntu系統中,使用軟件源配置文件/etc/apt/sources.list 列出鏡像站點地址;軟件源配置文件只是告知Ubuntu系統可以訪問的鏡像站點地址。但那些鏡像站點都擁有什么軟件資源並不清楚。若是每安裝一個軟件包,就在服務器上尋找一邊,效率是很低的。因而,就有必要為這些軟件資源列個清單(建立索引文件),以便本地主機查詢。這就是APT軟件包管理器的工作原理。

3、/etc/apt/sources.list。本質就是一個普通的文本文件,可以在超級管理員授權下,使用任何文本編輯器進行編輯。

4、修改了配置文件——/etc/apt/sources.list,目的只是告知軟件源鏡像站點的地址。但那些所指向的鏡像站點所具有的軟件資源並不清楚,需要將這些資源列個清單,以便本地主機知曉可以申請哪些資源。 使用“apt-get update”命令會掃描每一個軟件源服務器,並為該服務器所具有軟件包資源建立索引文件,存放在本地的/var/lib/apt/lists/目錄中。

七、軟件管理相關命令

1、在Ubuntu Linux中,通常使用apt-get命令管理軟件包,只需告知軟件包名字,就可以自動完成軟件包的獲取、安裝、編譯和卸載,以及檢查軟件包依賴關系。

image

image

2、修復軟件包依賴關系

如果由於故障而中斷軟件安裝過程,可能會造成關聯的軟件包只有部分安裝。之后,用戶就會發現該軟件既不能重裝又不能刪除。

作為組合命令,下面前者用於檢查軟件包依賴關系,后者用於修復依賴關系。“apt-get check”——“apt-get -f install”。在處理依賴關系上,apt-get會自動下載並安裝具有依賴關系(depends)的軟件包,但不會處理與安裝軟件包存在推薦(recommends)和建議(suggests)關系的軟件包。

3、更新軟件包

在Ubuntu Linux中,只需使用命令“apt-get upgrade”就可以輕松地將系統中的所有軟件包一次性升級到最新版本。

4、安裝軟件包

在准備好軟件源並連通網絡后,用戶只需告知安裝軟件的名稱,“apt-get install”命令就可以輕松完成整個安裝過程,而無須考慮軟件包的版本、優先級、依賴關系等。

使用“apt-get install”下載軟件包大體分為四步:

STEP1,掃描本地存放的軟件包更新列表(由apt-get update命令刷新更新列表),找到最新版本的軟件包。

STEP2,進行軟件包依賴關系檢查,找到支持該軟件正常運行的所有軟件包。

STEP3,從軟件源所指的鏡像站點中,下載相關軟件包。

STEP4 ,解壓軟件包,並自動完成應用程序的安裝和配置。

5、重新安裝軟件包

當用戶不小心損壞了已安裝的軟件包,而需要修復。或者,希望重新安裝軟件包中某些文件的最新版本,可以使用“apt-get --reinstall install”重新安裝軟件包。

6、卸載軟件包

不完全卸載 :“apt-get remove”會關注那些與被刪除的軟件包相關的其它軟件包,刪除一個軟件包時,將會連帶刪除與該軟件包有依賴關系的軟件包。

完全卸載:“apt-get --purge remove”命令在卸載軟件包文件的同時,還刪除該軟件包所使用的配置文件。

7、清理軟件包緩沖區

a、如果用戶認為軟件包緩沖區中的文件沒有任何價值了,有必要刪除全部下載的軟件包,可以使用“apt-get clean”清理整個軟件包緩沖區,除了lock鎖文件和partial目錄。

b、如果用戶希望緩沖區中只保留最新版本的軟件包,多余版本全部清除,可以使用“apt-get autoclean”命令,按照依賴關系清理緩沖區中多余的軟件包。

8、查詢軟件包信息

使用apt-cache命令完成查詢軟件源和軟件包的相關信息。

image

使用“apt-cache show”命令獲取指定軟件包的詳細信息,包括軟件包安裝狀態、優先級、適用架構、版本、存在依賴關系的軟件包,以及功能描述。該命令可以同時顯現多個軟件包的詳細信息。

使用“apt-cache policy”可以獲取軟件包當前的安裝狀態

如果用戶僅想了解某個軟件包依賴於哪些軟件包,可以使用“apt-cache depends”命令

如果用戶僅想了解某個軟件包被哪些軟件包所依賴,可以使用“apt-cache rdepends”命令。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM