03--軟件包管理工具 apt

APT
       APT(the Advanced Packaging Tool)是Ubuntu 軟件包管理系統的高級界面,由幾個名字以「apt-」打頭的程序組成。apt-get、apt-cache 和 apt-cdrom 是處理軟件包的命令行工具。最初只有.tar.gz的打包文件,用戶必須編譯每一個他想在GNU/Linux上運行的軟件。用戶們廣泛認爲系統頗有必要提供一種方法來管理這些安裝在機 器上的軟件包,當Debian誕生時,這樣一個管理工具也就應運而生,它被命名爲dpkg。從而著名的「package」概念第一次出如今 GNU/Linux系統中,稍後Red Hat才決定開發本身的「rpm」包管理系統。
  很快一個新的問題難倒了GNU/Linux製做者,他們須要一個快速、實用、高效的方法來安裝 軟件包,當軟件包更新時,這個工具應該能自動管理關聯文件和維護已有配置文件。Debian再次率先解決了這個問題,APT(Advanced Packaging Tool)做爲dpkg的前端誕生了。APT後來還被Conectiva改造用來管理rpm,並被其它Linux發行版本採用爲它們的軟件包管理工具。
       軟件包管理是區分不一樣發行版的一大特徵,如RedHat使用RPM軟件包來管理軟件,Debian使用Deb軟件包來管理軟件。apt-get 是 Debian的Deb軟件包管理工具,它的最低底層仍是調用dpkg包管理程序,經過apt-get工具可以使咱們很好地解決軟件包的依賴關係,方便軟件的安裝和升級。它是Debian發行版的最大特點,必定要好好掌握。

APT命令
apt-cache search # ------(package 搜索包)
apt-cache show #------(package 獲取包的相關信息,如說明、大小、版本等)
sudo apt-get install # ------(package 安裝包)
sudo apt-get install # -----(package - - reinstall 從新安裝包)
sudo apt-get -f install # -----(強制安裝?#"-f = --fix-missing"當是修復安裝吧...)
sudo apt-get remove #-----(package 刪除包)
sudo apt-get remove --purge # ------(package 刪除包,包括刪除配置文件等)
sudo apt-get autoremove --purge # ----(package 刪除包及其依賴的軟件包+配置文件等)
sudo apt-get update #------更新源
sudo apt-get upgrade #------更新已安裝的包
sudo apt-get dist-upgrade # ---------升級系統
sudo apt-get dselect-upgrade #------使用 dselect 升級
apt-cache depends #-------(package 瞭解使用依賴)
apt-cache rdepends # ------(package 瞭解某個具體的依賴?#當是查看該包被哪些包依賴吧...)
sudo apt-get build-dep # ------(package 安裝相關的編譯環境)
apt-get source #------(package 下載該包的源代碼)
sudo apt-get clean && sudo apt-get autoclean # --------清理下載文件的存檔 && 只清理過期的包
sudo apt-get check #-------檢查是否有損壞的依賴

apt-get
要使用好apt-get就要配置好一個名爲sources.list的資源列表,資源列表指向Debian系統的軟件庫,apt-get會從該軟件庫安裝各類軟件包。sources.list文件位於/etc/apt目錄下。具體命令以下:
(1) apt-get update :前端

更新 軟件包信息庫。在Debian中,軟件包是經過一個數據庫來管理的,經過這個數據庫中可跟蹤你係統中已安裝、沒有安裝和如今可安裝的軟件包信息。apt- get安裝軟件包時就是依靠這個數據庫來解決軟件包間的依賴關係,從而可自動安裝相關軟件。咱們需按期運行該命令,從而保持數據庫的信息爲最新。

(2) apt-get install package_name1 package_name2 package_name3 ... :正則表達式

安裝軟件包。若是軟件包需其它軟件包支持,apt-get會經過搜索軟件包數據庫找到這種依賴關係,一塊兒下載相關軟件。在一個命令行中可同時安裝多個軟件 包,中間用空格隔開便可。安裝的軟件包默認會存放在/var/cache/apt/archives目錄下,以便之後從新安裝。
# apt-get --reinstall install package_name :經過--reinstall選項來從新安裝;
# apt-get install package_name- :在需安裝的軟件包名後加一個減號會刪除軟件包;
# apt-get -d install package_name :只是下載軟件,不解包和安裝使用-d選項;
# apt-get install package_name --dry-run :使用--dry-run選項可以使apt-get在安裝軟件包前進行測試;

(3) apt-get remove package_name1 package_name2 package_name3 ... :數據庫

刪除軟件包。若是你想刪除沒用的軟件包,只要使用該命令便可。若是你想把該軟件的配置文件也刪除,能夠用--purge選項,如:# apt-get --purge remove package_name;相似地,在刪除軟件包名後加一個加號會安裝軟件包,如:apt-get remove package_name+。緩存

(4) apt-get source package_name1 package_name2 package_name3 :安全

下載軟件包的的源碼版本。網絡

(5) apt-get upgrade package_name1 package_name2 package_name3 ... :工具

軟件包升級功能是APT系統這麼成功的主要緣由。經過該命令,咱們就可把軟件升級到最新版本。在使用該命令前,最好先運行apt-get update命令,以更新軟件包數據庫。但該方案不是更新系統最好的方法,一些包會由於包依賴問題而保留(kept back)一些舊的軟件包。Debian提供了一個更好的升級方案,就是用dis-upgrade。下面一節會詳細介紹。測試

(6) apt-get dist-upgrade :ui

更新整個Debian系統。可從網絡或本地更新整個系統。它會從新安排好包的依賴性。若是有些包因爲一些緣由實在不能更新,咱們可經過如下命令查詢緣由:spa

# apt-get -o Debug::pkgProblemResolver=yes dist-upgrade

(7) apt-get clean :

刪除下載了的軟件包,當咱們經過apt-get安裝軟件包時,APT會把軟件包下載到本地/var/cache/apt/archives/目錄。該命令會刪除該文件夾內的除鎖住外的全部軟件包。

(8) apt-get autoclean :

刪除已下載的舊版本的軟件包。該命令相似於上面的命令,但它會有選擇地刪除舊版本的軟件包。

(9) apt-get dselect-upgrade :

經過dselect的「建議」和「推薦」功能更新系統。dselect是Debian中一個功能強大的包管理工具。它可幫助用戶選擇軟件包來安裝,其中一個有用功能是它會建議和推薦安裝其它相關軟件包。咱們可在APT中使用它這個功能。

(10) apt-get check :檢查系統中已安裝軟件包的依賴性。


apt-cache

apt-cache是一個apt軟件包管理工具,它可查詢apt的二進制軟件包緩存文件。經過它咱們可查詢軟件包的狀態信息。具體命令以下:

(1) apt-cache show package_name :顯示軟件的信息,包括版本號,安裝狀態和包依賴關係等。

(2) apt-cache search package_name :搜索軟件包,可用正則表達式。

(3) apt-cache showpkg package_name :顯示軟件包的依賴關係信息。

(4) apt-cache policy package_name :顯示軟件包的安裝狀態和版本信息。

(5) apt-cache depends package_name :顯示指定軟件包所依賴的軟件包。

(6) apt-cache rdepends package_name :顯示軟件包的反向依賴關係,即有何軟件包依賴所指定的軟件包。

 

apt-file

apt-file是一個軟件包查找工具,能夠查到軟件包所含的文件和安裝的位置。具體命令以下:

(1) apt-file update :更新軟件包的文件庫,第一次使用或apt-get update後都需運行一次。

(2) apt-file search file_name :查找該文件存在於哪些軟件包中。

(3) apt-file list package_name :顯示該軟件包的文件。

 

apt-key

apt-key是Debian軟件包的安全管理工具。每一個發佈的deb包,都是經過密鑰認證的,apt-key用來管理密鑰。

具體命令以下:

(1) apt-key list :列出已保存在系統中key。

(2) apt-key add keyname :把下載的key添加到本地trusted數據庫中。

(3) apt-key del keyname :從本地trusted數據庫刪除key。

(4) apt-key update :更新本地trusted數據庫,刪除過時沒用的key。

 

更多詳細內容請參考: Debian APT HOWTO

相關文章
相關標籤/搜索