【Linux】一步一步学Linux——dpkg命令(269)
生活随笔
收集整理的這篇文章主要介紹了
【Linux】一步一步学Linux——dpkg命令(269)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
00. 目錄
文章目錄
- 00. 目錄
- 01. 命令概述
- 02. 命令格式
- 03. 常用選項
- 04. 參考示例
- 05. 附錄
01. 命令概述
dpkg命令的英文全稱是Debian package,dpkg是Debian Linux系統用來安裝、創建和管理軟件包的實用工具。
02. 命令格式
用法:dpkg [<選項> ...] <命令>03. 常用選項
選項:--admindir=<目錄> 使用 <目錄> 而非 /var/lib/dpkg。--root=<目錄> 安裝到另一個根目錄下。--instdir=<目錄> 改變安裝目錄的同時保持管理目錄不變。--path-exclude=<表達式> 不要安裝符合Shell表達式的路徑。--path-include=<表達式> 在排除模式后再包含一個模式。-O|--selected-only 忽略沒有被選中安裝或升級的軟件包。-E|--skip-same-version 忽略版本與已安裝軟件版本相同的軟件包。-G|--refuse-downgrade 忽略版本早于已安裝軟件版本的的軟件包。-B|--auto-deconfigure 就算會影響其他軟件包,也要安裝。--[no-]triggers 跳過或強制隨之發生的觸發器處理。--verify-format=<格式> 檢查輸出格式('rpm'被支持)。--no-debsig 不去嘗試驗證軟件包的簽名。--no-act|--dry-run|--simulate僅報告要執行的操作 - 但是不執行。-D|--debug=<八進制數> 開啟調試(參見 -Dhelp 或者 --debug=help)。--status-fd <n> 發送狀態更新到文件描述符<n>。--status-logger=<命令> 發送狀態更新到 <命令> 的標準輸入。--log=<文件名> 將狀態更新和操作信息到 <文件名>。--ignore-depends=<軟件包>,...忽略關于 <軟件包> 的所有依賴關系。--force-... 忽視遇到的問題(參見 --force-help)。--no-force-...|--refuse-...當遇到問題時中止運行。--abort-after <n> 累計遇到 <n> 個錯誤后中止。 命令:-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 顯示版本信息。04. 參考示例
4.1 安裝軟件
deng@itcast:~$ sudo dpkg -i tree_1.6.0-1_amd64.deb (正在讀取數據庫 ... 系統當前共安裝有 172173 個文件和目錄。) 正準備解包 tree_1.6.0-1_amd64.deb ... 正在將 tree (1.6.0-1) 解包到 (1.6.0-1) 上 ... 正在設置 tree (1.6.0-1) ... 正在處理用于 man-db (2.8.3-2) 的觸發器 ...4.2 卸載軟件
deng@itcast:~$ sudo dpkg -r tree (正在讀取數據庫 ... 系統當前共安裝有 172172 個文件和目錄。) 正在卸載 tree (1.6.0-1) ... 正在處理用于 man-db (2.8.3-2) 的觸發器 ... deng@itcast:~$4.3 列出已經安裝的軟件
deng@itcast:~$ dpkg -l4.4 列出deb包的內容
deng@itcast:~$ dpkg -c tree_1.6.0-1_amd64.deb drwxr-xr-x root/root 0 2012-05-02 00:43 ./ drwxr-xr-x root/root 0 2012-05-02 00:43 ./usr/ drwxr-xr-x root/root 0 2012-05-02 00:43 ./usr/bin/ -rwxr-xr-x root/root 57176 2012-05-02 00:43 ./usr/bin/tree drwxr-xr-x root/root 0 2012-05-02 00:43 ./usr/share/ drwxr-xr-x root/root 0 2012-05-02 00:43 ./usr/share/man/ drwxr-xr-x root/root 0 2012-05-02 00:43 ./usr/share/man/man1/ -rw-r--r-- root/root 4100 2012-05-02 00:43 ./usr/share/man/man1/tree.1.gz drwxr-xr-x root/root 0 2012-05-02 00:43 ./usr/share/doc/ drwxr-xr-x root/root 0 2012-05-02 00:43 ./usr/share/doc/tree/ -rw-r--r-- root/root 2210 2011-06-24 22:34 ./usr/share/doc/tree/TODO -rw-r--r-- root/root 2425 2012-02-04 21:32 ./usr/share/doc/tree/copyright -rw-r--r-- root/root 2254 2011-06-24 22:34 ./usr/share/doc/tree/README.gz -rw-r--r-- root/root 1552 2012-05-02 00:43 ./usr/share/doc/tree/changelog.Debian.gz deng@itcast:~$4.5 刪除軟件包(包括配置文件)
deng@itcast:~$ sudo dpkg -P tree (正在讀取數據庫 ... 系統當前共安裝有 172172 個文件和目錄。) 正在卸載 tree (1.6.0-1) ... 正在處理用于 man-db (2.8.3-2) 的觸發器 ... deng@itcast:~$4.6 列出與該軟件包關聯的文件
deng@itcast:~$ sudo dpkg -L tree /. /usr /usr/bin /usr/bin/tree /usr/share /usr/share/man /usr/share/man/man1 /usr/share/man/man1/tree.1.gz /usr/share/doc /usr/share/doc/tree /usr/share/doc/tree/TODO /usr/share/doc/tree/copyright /usr/share/doc/tree/README.gz /usr/share/doc/tree/changelog.Debian.gz deng@itcast:~$4.7 列出對應軟件包版本
deng@itcast:~$ sudo dpkg -l tree 期望狀態=未知(u)/安裝(i)/刪除(r)/清除(p)/保持(h) | 狀態=未安裝(n)/已安裝(i)/僅存配置(c)/僅解壓縮(U)/配置失敗(F)/不完全安裝(H)/觸發器等待(W)/觸發器未決(T) |/ 錯誤?=(無)/須重裝(R) (狀態,錯誤:大寫=故障) ||/ 名稱 版本 體系結構 描述 +++-==============-============-============-================================= ii tree 1.6.0-1 amd64 displays directory tree, in color deng@itcast:~$4.8 解開deb包的內容
deng@itcast:~/test$ sudo dpkg --unpack tree_1.6.0-1_amd64.deb (正在讀取數據庫 ... 系統當前共安裝有 172173 個文件和目錄。) 正準備解包 tree_1.6.0-1_amd64.deb ... 正在將 tree (1.6.0-1) 解包到 (1.6.0-1) 上 ... 正在處理用于 man-db (2.8.3-2) 的觸發器 ...4.9 配置軟件包
deng@itcast:~/test$ sudo dpkg --configure tree 正在設置 tree (1.6.0-1) ... deng@itcast:~/test$4.10 用法匯總
# dpkg -i package #安裝包# dpkg -R /usr/local/src #安裝一個目錄下面所有的軟件包# dpkg --unpack package #解開一個包,如果和-R一起使用,參數可以是一個目錄# dpkg --configure package #重新配置和釋放軟件包# dpkg -r package #刪除包# dpkg --merge-avail #合并包# dpkg -P #刪除包,包括配置文件# dpkg -A package #從軟件包里面讀取軟件的信息# dpkg --update-avail #替代軟件包的信息# dpkg --forget-old-unavail #刪除Uninstall的軟件包信息# dpkg --clear-avail #刪除軟件包的Avaliable信息# dpkg -C #查找只有部分安裝的軟件包信息# dpkg --compare-versions ver1 op ver2 #比較同一個包的不同版本之間的差別# dpkg -b directory [filename] #建立一個deb文件# dpkg -c filename #顯示一個Deb文件的目錄# dpkg -p package #顯示包的具體信息# dpkg -S filename-search-pattern #搜索指定包里面的文件(模糊查詢)# dpkg -L package #顯示一個包安裝到系統里面的文件目錄信息# dpkg -s package #報告指定包的狀態信息# dpkg -l #顯示所有已經安裝的Deb包,同時顯示版本號以及簡短說明05. 附錄
參考:【Linux】一步一步學Linux系列教程匯總
總結
以上是生活随笔為你收集整理的【Linux】一步一步学Linux——dpkg命令(269)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux】一步一步学Linux——r
- 下一篇: 【Linux】一步一步学Linux——d