摘自:https://www.linuxidc.com/Linux/2018-11/155380.htm
deb包是Debian,Ubuntu等Linux發行版的軟件安裝包,擴展名為.deb,是類似於rpm的軟件包,Debian,Ubuntu系統不推薦使用deb軟件包,因為要解決軟件包依賴問題,安裝也比較麻煩。
如果Ubuntu要安裝新軟件,已有deb安裝包(例如:linuxidc.deb),但是無法登錄到桌面環境。那該怎么安裝?答案是:使用dpkg命令。dpkg 是Debian linuxidc的簡寫,是為Debian 專門開發的套件管理系統,方便軟件的安裝、更新及移除。所有源自Debian的Linux發行版都使用dpkg,例如Ubuntu、Knoppix 等。
用法:dpkg [<選項> ...] <命令>
命令:
-i|--install <.deb 文件名> ... | -R|--recursive <目錄> ...
--unpack <.deb 文件名> ... | -R|--recursive <目錄> ...
-A|--record-avail <.deb 文件名> ... | -R|--recursive <目錄> ...
--configure <軟件包名> ... | -a|--pending
--triggers-only <軟件包名> ... | -a|--pending
-r|--remove <軟件包名> ... | -a|--pending
-P|--purge <軟件包名> ... | -a|--pending
-V|--verify <軟件包名> ... 檢查包的完整性。
--get-selections [<表達式> ...] 把已選中的軟件包列表打印到標准輸出。
--set-selections 從標准輸入里讀出要選擇的軟件。
--clear-selections 取消選中所有不必要的軟件包。
--update-avail <軟件包文件> 替換現有可安裝的軟件包信息。
--merge-avail <軟件包文件> 把文件中的信息合並到系統中。
--clear-avail 清除現有的軟件包信息。
--forget-old-unavail 忘卻已被卸載的不可安裝的軟件包。
-s|--status <軟件包名> ... 顯示指定軟件包的詳細狀態。
-p|--print-avail <軟件包名> ... 顯示可供安裝的軟件版本。
-L|--listfiles <軟件包名> ... 列出屬於指定軟件包的文件。
-l|--list [<表達式> ...] 簡明地列出軟件包的狀態。
-S|--search <表達式> ... 搜索含有指定文件的軟件包。
-C|--audit [<表達式> ...] 檢查是否有軟件包殘損。
--yet-to-unpack 列出標記為待解壓的軟件包。
--predep-package 列出待解壓的預依賴。
--add-architecture <體系結構> 添加 <體系結構> 到體系結構列表。
--remove-architecture <體系結構> 從架構列表中移除 <體系結構>。
--print-architecture 顯示 dpkg 體系結構。
--print-foreign-architectures 顯示已啟用的異質體系結構。
--assert-<特性> 對指定特性啟用斷言支持。
--validate-<屬性> <字符串> 驗證一個 <屬性>的 <字符串>。
--compare-vesions <a> <關系> <b> 比較版本號 - 見下。
--force-help 顯示本強制選項的幫助信息。
-Dh|--debug=help 顯示有關出錯調試的幫助信息。
-?, --help 顯示本幫助信息。
--version 顯示版本信息。
本文一linuxidc.deb為例講解。
1.一般在此類發行版中可以直接雙擊安裝。
2.手動安裝。如果您喜歡使用終端,您需要管理員權限來安裝一個 .deb 文件。
1.打開終端后,輸入:sudo dpkg -i linuxidc.deb
2.但是在包含有依賴關系的安裝包手動安裝的過程中會出現安裝不成功的問題,這時只需輸入命令:sudo apt-get -f install 待命令執行完成,軟件也就安裝成功了。
dpkg命令常用格式如下:
1、查看linuxidc.deb軟件包的詳細信息,包括軟件名稱、版本以及大小等(其中-I等價於--info)
sudo dpkg -I linuxidc.deb
2、查看linuxidc.deb軟件包中包含的文件結構(其中-c等價於--contents)
sudo dpkg -c linuxidc.deb
3、安裝linuxidc.deb軟件包(其中-i等價於--install)
sudo dpkg -i linuxidc.deb
4、查看linuxidc軟件包的信息(軟件名稱可通過dpkg -I命令查看,其中-l等價於--list)
sudo dpkg -l linuxidc
5、列出linuxidc軟件包安裝的所有文件清單(軟件名稱可通過dpkg -I命令查看,其中-L等價於--listfiles)
sudo dpkg -L linuxidc
6、顯示linuxidc軟件包的詳細信息(軟件名稱可通過dpkg -I命令查看,其中-s等價於--status)
同時請看apt-cache 顯示 Debian 存檔中的包裹信息,以及 dpkg -I 來顯示從一個 .deb 文件中提取的包裹信息:
sudo dpkg -s linuxidc
7、卸載linuxidc軟件包(軟件名稱可通過dpkg -I命令查看,其中-r等價於--remove)
sudo dpkg -r linuxidc
8、完全清除一個已安裝的包裹。和 remove 不同的是,remove 只是刪掉數據和可執行文件,purge 另外還刪除所有的配制文件:
sudo dpkg -P linuxidc
9、重新配制一個已經安裝的包,如果它使用的是 debconf (debconf 為包安裝提供了一個統一的配制界面):
dpkg-reconfigure linuxidc
注:dpkg命令無法自動解決依賴關系。如果安裝的deb包存在依賴包,則應避免使用此命令,或者按照依賴關系順序安裝依賴包。