Linux 命令學(xué)習(xí)系列之dpkg命令詳解
普通 dpkg 用法
dpkg -i 安裝一個(gè)Debian包裹文件,如你手動(dòng)下載的文件。
dpkg -c 列出的內(nèi)容。
dpkg -I 從中提取包裹信息。
dpkg -r 移除一個(gè)已安裝的包裹。
dpkg -L 列出 安裝的所有文件清單。同時(shí)請看 dpkg -c 來檢查一個(gè) .deb 文件的內(nèi)容。
dpkg -P
完全清除一個(gè)已安裝的包裹。和 remove 不同的是,remove 只是刪掉數(shù)據(jù)和可執(zhí)行文件,purge 另外還刪除所有的配制文件。
dpkg -s
顯示已安裝包裹的信息。同時(shí)請看 apt-cache 顯示 Debian 存檔中的包裹信息,以及 dpkg -I 來顯示從一個(gè) .deb 文件中提取的包裹信息。
dpkg-reconfigure
重新配制一個(gè)已經(jīng)安裝的包裹,如果它使用的是 debconf (debconf 為包裹安裝提供了一個(gè)統(tǒng)一的配制界面)??荚嚧筇崾灸隳軌蛑匦屡渲?debconf 它本身,如你想改變它的前端或提問的優(yōu)先權(quán)。例如,重新配制 debconf,使用一個(gè) dialog 前端,簡單運(yùn)行:dpkg-reconfigure –frontend=dialog debconf (如果你安裝時(shí)選錯(cuò)了,這里可以改回來喲:)
echo ” hold” | dpkg –set-selections 設(shè)置的狀態(tài)為 hlod (命令行方式)
dpkg –get-selections “” 取得的當(dāng)前狀態(tài) (命令行方式)
支持通配符,如:
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
例如:
大家現(xiàn)在用的都是 gaim-0.58 + QQ-plugin,為了防止 gaim 被升級,我們可以采用如下方法:
方法一:
Debian:~# echo “gaim hold” | dpkg –set-selections
然后用下面命令檢查一下:
Debian:~# dpkg –get-selections “gaim”
gaim hold
現(xiàn)在的狀態(tài)標(biāo)志是 hold,就不能被升級了。
如果想恢復(fù)怎么辦呢?
Debian:~# echo “gaim install” | dpkg –set-selections
Debian:~# dpkg –get-selections “gaim”
gaim install
這時(shí)狀態(tài)標(biāo)志又被重置為 install,可以繼續(xù)升級了。
同志們會問,哪個(gè)這些狀態(tài)標(biāo)志都寫在哪個(gè)文件中呢?
在 /var/lib/dpkg/status 里,你也可以通過修改這個(gè)文件實(shí)現(xiàn) hold。
有時(shí)你會發(fā)現(xiàn)有的軟件狀態(tài)標(biāo)志是 purge,不要奇怪。
如:事先已經(jīng)安裝了 amsn,然后把它卸了。
apt-get remove –purge amsn
那么狀態(tài)標(biāo)志就從 install 變成 purge。
方法二:
在/etc/apt 下手動(dòng)建一個(gè) preferences 文件
內(nèi)容:
Package: gaim
Pin: version 0.58*
保存
dpkg -S
在包裹數(shù)據(jù)庫中查找 ,并告訴你哪個(gè)包裹包含了這個(gè)文件。(注:查找的是事先已經(jīng)安裝的包裹)
普通 dpkg 用法
dpkg -i 安裝一個(gè)Debian包裹文件,如你手動(dòng)下載的文件。
dpkg -c 列出的內(nèi)容。
dpkg -I 從中提取包裹信息。
dpkg -r 移除一個(gè)已安裝的包裹。
dpkg -L 列出 安裝的所有文件清單。同時(shí)請看 dpkg -c 來檢查一個(gè) .deb 文件的內(nèi)容。
dpkg -P
完全清除一個(gè)已安裝的包裹。和 remove 不同的是,remove 只是刪掉數(shù)據(jù)和可執(zhí)行文件,purge 另外還刪除所有的配制文件。
dpkg -s
顯示已安裝包裹的信息。同時(shí)請看 apt-cache 顯示 Debian 存檔中的包裹信息,以及 dpkg -I 來顯示從一個(gè) .deb 文件中提取的包裹信息。
dpkg-reconfigure
重新配制一個(gè)已經(jīng)安裝的包裹,如果它使用的是 debconf (debconf 為包裹安裝提供了一個(gè)統(tǒng)一的配制界面)??荚嚧筇崾灸隳軌蛑匦屡渲?debconf 它本身,如你想改變它的前端或提問的優(yōu)先權(quán)。例如,重新配制 debconf,使用一個(gè) dialog 前端,簡單運(yùn)行:dpkg-reconfigure –frontend=dialog debconf (如果你安裝時(shí)選錯(cuò)了,這里可以改回來喲:)
echo ” hold” | dpkg –set-selections 設(shè)置的狀態(tài)為 hlod (命令行方式)
dpkg –get-selections “” 取得的當(dāng)前狀態(tài) (命令行方式)
支持通配符,如:
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
例如:
大家現(xiàn)在用的都是 gaim-0.58 + QQ-plugin,為了防止 gaim 被升級,我們可以采用如下方法:
方法一:
Debian:~# echo “gaim hold” | dpkg –set-selections
然后用下面命令檢查一下:
Debian:~# dpkg –get-selections “gaim”
gaim hold
現(xiàn)在的狀態(tài)標(biāo)志是 hold,就不能被升級了。
如果想恢復(fù)怎么辦呢?
Debian:~# echo “gaim install” | dpkg –set-selections
Debian:~# dpkg –get-selections “gaim”
gaim install
這時(shí)狀態(tài)標(biāo)志又被重置為 install,可以繼續(xù)升級了。
同志們會問,哪個(gè)這些狀態(tài)標(biāo)志都寫在哪個(gè)文件中呢?
在 /var/lib/dpkg/status 里,你也可以通過修改這個(gè)文件實(shí)現(xiàn) hold。
有時(shí)你會發(fā)現(xiàn)有的軟件狀態(tài)標(biāo)志是 purge,不要奇怪。
如:事先已經(jīng)安裝了 amsn,然后把它卸了。
apt-get remove –purge amsn
那么狀態(tài)標(biāo)志就從 install 變成 purge。
方法二:
在/etc/apt 下手動(dòng)建一個(gè) preferences 文件
內(nèi)容:
Package: gaim
Pin: version 0.58*
保存
dpkg -S
在包裹數(shù)據(jù)庫中查找 ,并告訴你哪個(gè)包裹包含了這個(gè)文件。(注:查找的是事先已經(jīng)安裝的包裹)