1. 程式人生 > >apt-get常用命令及工作原理

apt-get常用命令及工作原理

一,什麼的是apt-get

高階包裝工具(英語:Advanced Packaging Tools,簡稱:APT)是Debian及其衍生髮行版(如:ubuntu)的軟體包管理器。APT可以自動下載,配置,安裝二進位制或者原始碼格式的軟 件包,因此簡化了 Unix系統上管理軟體的過程,apt-get命令一般需要root許可權執行,所以一般跟著sudo命令。

二,apt-get中文引數

用法:

apt-get [選項] 命令 apt-get [選項] install|remove pkg1 [pkg2 ...]

apt-get [選項] source pkg1 [pkg2 ...]

apt-get 是一個下載安裝軟體包的簡單命令列介面。 最常用的命令是update(更新) 和install(安裝)。

命令: 

update - 重新獲取軟體包列表 

upgrade - 進行更新 

install - 安裝新的軟體包 

remove - 移除軟體包 

autoremove - 自動移除全部不使用的軟體包 

purge - 移除軟體包和配置檔案 

source - 下載原始碼檔案 

build-dep - 為原始碼包配置編譯依賴 

dist-upgrade - 發行版升級

dselect-upgrade - 依照 dselect 的選擇更新 

clean - 清除下載的歸檔檔案 

autoclean - 清除舊的的已下載的歸檔檔案 

check - 檢驗是否有損壞的依賴 

選項: 

-h 本幫助檔案。 

-q 輸出到日誌 - 無進展指示 

-qq 不輸出資訊,錯誤除外 

-d 僅下載 - 不安裝或解壓歸檔檔案 

-s 不實際安裝。模擬執行命令

-y 假定對所有的詢問選是,不提示 

-f 嘗試修正系統依賴損壞處 

-m 如果歸檔無法定位,嘗試繼續

-u 同時顯示更新軟體包的列表 

-b 獲取原始碼包後編譯 -V 顯示詳細的版本號

-c=? 閱讀此配置檔案

-o=? 設定自定的配置選項,如 -o dir::cache=/tmp

三,apt-get 常用例項

apt-cache search packagename 搜尋包 apt-cache show packagename 

獲取包的相關資訊,如說明、大小、版本等 apt-get install packagename 安裝包 apt-get install packagename --reinstall 重新安裝包 apt-get -f install 修復安裝”-f = –fix-missing” apt-get remove packagename 刪除包 apt-get remove packagename --purge 刪除包,包括刪除配置檔案等 apt-get update 更新源 apt-get upgrade 更新已安裝的包 apt-get dist-upgrade 升級系統 apt-get dselect-upgrade 使用 dselect 升級 apt-cache depends packagename 瞭解使用依賴 apt-cache rdepends packagename 是檢視該包被哪些包依賴 apt-get build-dep packagename 安裝相關的編譯環境 apt-get source packagename 下載該包的原始碼 apt-get clean 清理無用的包 apt-get autoclean 清理無用的包 apt-get check 檢查是否有損壞的依賴

apt-get工作原理簡介

眾所周知,在linux作業系統下,利用apt-get來安裝軟體是非常方便的。只要一個sudo apt-get install 軟體名;就可以輕易的解決軟體的安裝,最關鍵的是他可以解決其中存在的各種複雜的依賴關係,讓你不用為此頭疼,而在apt-get出現之前,利用dpkg或者更早之前的./configure;make;make install來安裝軟體真是無法想象,安裝完軟體A,提示你要安裝軟體B,好不容易安裝完了,又提示要安裝軟體C。。。。各種糾結!所以說apt這個高階包管理工具極大的方便了廣大的linux使用者,更降低了linux使用者的入門的門檻。好了,零零碎碎說了這麼多廢話,咱們迴歸正題。

為了搞清其中原理,我在網上折騰了半天,最後自己摸索了好久,終於有點頭緒,每當執行命令進行軟體的安裝或著更新,或者軟體源的更新時,apt會訪問/etc/apt/sources.list內的地址,並在該網站中找到對應系統的包資訊例如我的作業系統是ubuntu,網站是deb http://mirrors.163.com/ubuntu/ precise main restricted universe multiverse網易的,那麼當我們執行安裝的命令時,他就會對應的訪問http://mirrors.163.com/ubuntu/dists/lucid/main/binary-i386/的packages.gz,這個檔案是伺服器上軟體包及其依賴關係的清單,並且用gzip壓縮過了。apt-get update使用這個清單來確定能夠獲得哪些補充的軟體包且他的內容會被儲存在/var/lib/apt/lists內,通過訪問這個lists確定該軟體是否已安裝,是否是最新版本,依賴關係是否滿足,從而確定要更新內容,並進行更新,其安裝過程主要是由dpkg來完成。

總體上來說apt是傾向於下載的一個管理工具。