標籤:
Linux 命令學習系列之dpkg命令詳解
普通 dpkg 用法
dpkg -i 安裝一個Debian包裹檔案,如你手動下載的檔案。
dpkg -c 列出的內容。
dpkg -I 從中提取包裹資訊。
dpkg -r 移除一個已安裝的包裹。
dpkg -L 列出 安裝的所有檔案清單。同時請看 dpkg -c 來檢查一個 .deb 檔案的內容。
dpkg -P
完全清除一個已安裝的包裹。和 remove 不同的是,remove 只是刪掉資料和可執行檔,purge 另外還刪除所有的配製檔案。
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
例如:
大家現在用的都是 gaim-0.58 + QQ-plugin,為了防止 gaim 被升級,我們可以採用如下方法:
方法一:
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
在包裹資料庫中尋找 ,並告訴你哪個包裹包含了這個檔案。(註:尋找的是事先已經安裝的包裹)
linux dpkg命令