Apt和dpkg快速參考

2021-04-16 02:28:02 字數 4071 閱讀 8948

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 刪除包及其依賴的軟體包+配置檔案等(只對6.10有效,強烈推薦))

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 安裝相關的編譯環境)

sudo apt-get check #-------檢查是否有損壞的依賴

apt-get install

apt-get remove [--purge]

移除 以及任何倚賴這個包裹的其它包裹。

--purge 指明這個包裹應該被完全清除 (purged) ,更多資訊請看 dpkg -p。

apt-get update

公升級來自 debian 映象的包裹列表,如果你想安裝當天的任何軟體,至少每天執行一次,而且每次修改了

/etc/apt/sources.list 後,必須執行。

apt-get upgrade [-u]

公升級所以已經安裝的包裹為最新可用版本。不會安裝新的或移除老的包裹。如果乙個包改變了倚賴關係而需要安裝乙個新的包裹,那麼它將不會被公升級,而是標誌為 hold。apt-get update 不會公升級被標誌為 hold 的包裹 (這個也就是 hold 的意思)。請看下文如何手動設定包裹為 hold。我建議同時使用 '-u' 選項,因為這樣你就能看到哪些包裹將會被公升級。

apt-get dist-upgrade [-u]

和 apt-get upgrade 類似,除了 dist-upgrade 會安裝和移除包裹來滿足倚賴關係。因此具有一定的危險性。

apt-cache search

搜尋滿足 的包裹和描述。

apt-cache show

顯示 的完整的描述。

apt-cache showpkg

顯示 許多細節,以及和其它包裹的關係。

dselect

console-apt

aptitude

gnome-apt

apt 的幾個圖形前端(其中一些在使用前得先安裝)。這裡 dselect 無疑是最強大的,也是最古老,最難駕馭。

普通 dpkg 用法

dpkg -i

dpkg -c

列出 的內容。

dpkg -i

從 中提取包裹資訊。

dpkg -r

移除乙個已安裝的包裹。

dpkg -p

完全清除乙個已安裝的包裹。和 remove 不同的是,remove 只是刪掉資料和可執行檔案,purge 另外還刪除所有的配製檔案。

dpkg -l

列出 安裝的所有檔案清單。同時請看 dpkg -c 來檢查乙個 .deb 檔案的內容。

dpkg -s

顯示已安裝包裹的資訊。同時請看 apt-cache 顯示 debian 存檔中的包裹資訊,以及 dpkg -i 來顯示從乙個 .deb 檔案中提取的包裹資訊。

dpkg-reconfigure

重新配製乙個已經安裝的包裹,如果它使用的是 debconf (debconf 為包裹安裝提供了乙個統一的配製介面)。你能夠重新配製 debconf 它本身,如你想改變它的前端或提問的優先權。例如,重新配製 debconf,使用乙個 dialog 前端,簡單執行:

dpkg-reconfigure --frontend=dialog debconf (如果你安裝時選錯了,這裡可以改回來喲:)

echo " hold" | dpkg --set-selections

設定 的狀態為 hlod (命令列方式)

dpkg --get-selections ""

取的 的當前狀態 (命令列方式)

支援萬用字元,如:

debian:~# dpkg --get-selections *wine*

libwine                                         hold

libwine-alsa                                    hold

libwine-arts                                    hold

libwine-dev                                     hold

libwine-nas                                     hold

libwine-print                                   hold

libwine-twain                                   hold

wine                                            hold

wine+                                           hold

wine-doc                                        hold

wine-utils                                      hold

例如:方法一:

debian:~# echo "gaim hold" | dpkg --set-selections

然後用下面命令檢查一下:

debian:~# dpkg --get-selections "gaim"

gaim                                            hold

現在的狀態標誌是 hold,就不能被公升級了。

如果想恢復怎麼辦呢?

debian:~# echo "gaim install" | dpkg --set-selections

debian:~# dpkg --get-selections "gaim"

gaim                                            install

這時狀態標誌又被重置為 install,可以繼續公升級了。

同志們會問,哪個這些狀態標誌都寫在哪個檔案中呢?

在 /var/lib/dpkg/status 裡,你也可以通過修改這個檔案實現 hold。

有時你會發現有的軟體狀態標誌是 purge,不要奇怪。

如:事先已經安裝了 amsn,然後把它卸了。

apt-get remove --purge amsn

那麼狀態標誌就從 install 變成 purge。

方法二:

在/etc/apt 下手動建乙個 preferences 檔案

內容:package: gaim

pin: version 0.58*

儲存dpkg -s

在包裹資料庫中查詢 ,並告訴你哪個包裹包含了這個檔案。(注:查詢的是事先已經安裝的包裹) 

apt和dpkg的區別

當客戶端需要安裝 公升級或刪除某個軟體包時,客戶端計算機取得deb索引清單壓縮檔案後,會將其解壓置放於 var state apt lists,而客戶端使用apt install或apt upgrade命令時,會將這個資料夾的資料和客戶端計算機的deb資料庫進行對比,知道哪些deb已安裝 未安裝或是...

Dpkg 常用指令操作快速參考

debian,以及基於 debian 的系統,如 ubuntu 等,所使用的包格式為 deb。以下為操作 deb 包的常用 dpkg 指令表,供初學的朋友參考。命令作用 dpkg i package.deb 安裝包dpkg r package 刪除包dpkg p package 刪除包 包括配置檔案...

Dpkg 常用指令操作快速參考

debian,以及基於 debian 的系統,如 ubuntu 等,所使用的包格式為 deb。以下為操作 deb 包的常用 dpkg 指令表,供初學的朋友參考。命令作用 dpkg i package.deb 安裝包dpkg r package 刪除包dpkg p package 刪除包 包括配置檔案...