dpkg 是 Debian GNU/Linux 底下管理套件的工具,提供比較低階的安裝維護功能,一般而言,使用者會使用比較友善的 dselect 或是 aptitude。
顯示目前裝在系統中的所有 packages(rpm 用 rpm -qa)
dpkg --list
想知道總共有那些檔案安裝在系統中(rpm 為 rpm -ql samba)
dpkg --listfiles samba
或是在系統中有某個執行檔, 想知道屬於那個 package, 這樣在別台機器中才有辦法安裝
$ which smbd
/usr/sbin/smbd
$ dpkg --search /usr/sbin/smbd
samba: /usr/sbin/smbd
最前面的 samba 即為 package 名稱, 先用 which 找到 smbd 這個執行檔放在那個路徑, 再用 dpkg --search 來找到 package
名稱(redhat 中則用 rpm -qf /usr/sbin/smbd)
看 package 的說明(redhat 為 rpm -qi samba)
dpkg --status package_name
或
dpkg -s package_name
假設我們由網路上自行抓了一個 .deb 的檔回來, 這時就要用 dpkg 來安裝(redhat 為 rpm -i xxx.rpm)
dpkg --install package_name.deb
或
dpkg -i package_name.deb
移除某個 package(rpm 為 rpm -e package_name)
dpkg --remove package_name
或
dpkg -r package_name
徹底移除 package
dpkg --purge package_name
或
dpkg -P package_name
在還未安裝到系統中前, 查看會安裝那些檔案在系統中(rpm 用 rpm -qlp xxx.rpm)
dpkg --contents package_name.deb
或
dpkg -c package_name.deb
在還未安裝到系統中前, 查看 deb 檔es的資訊(rpm 用 rpm -qip xxx.rpm)
dpkg --info xxx.deb
顯示目前各個軟體套件的安裝狀態(未安裝、正確安裝、被移除、完整移除、安裝失敗等等)
dpkg --get-selections
如何在升級套件時, 讓某些套件不要更新:
echo "packagename hold" | dpkg --set-selections
沒有留言:
張貼留言