dpkg 1.18.4 命令詳解


dpkg 是 Debian Packager 的簡寫。

為 Debian 專門開發的套件管理係統,方便軟件的安裝、更新及移除。

所有源自 Debian 的 Linux 發行版都有集成 dpkg,如 Ubuntu、Knoppix 等。

名詞由來


dpkg 與 rpm 十分相似,同樣可用於安裝、卸載和提供 deb 軟件包相關信息。

dpkg 是 Debian 軟件包管理器的基礎,它由伊恩·默多剋於 1993 年創建。

dpkg 是一個底層工具,相較使用更友好的 apt apt-get aptitude 上層工具。

另請參閱: apt     apt-get     aptitude     rpm

基本用法     詳細用法

dpkg -i package_file
			

基本語法

dpkg [<option> ...] <command>
			

Command 命令

參數 EN 解釋 中文翻譯 備注
-i|--install <.deb file name> ... | -R|--recursive <directory> ... 安裝軟件包 | 遞歸安裝軟件包
--unpack <.deb file name> ... | -R|--recursive <directory> ... 釋放軟件包 | 遞歸釋放軟件包
-A|--record-avail <.deb file name> ... | -R|--recursive <directory> ...
--configure <package> ... | -a|--pending 配置軟件包
--triggers-only <package> ... | -a|--pending 觸發軟件包
-r|--remove <package> ... | -a|--pending 移除軟件包
-P|--purge <package> ... | -a|--pending 清除軟件包
-V|--verify <package> ... Verify the integrity of package(s). 驗證包的完整性。
--get-selections [<pattern> ...] Get list of selections to stdout. 獲取到 stdout 的選擇列錶。
--set-selections Set package selections from stdin. 從 stdin 設置包選擇。
--clear-selections Deselect every non-essential package. 取消每個非必要包的選擇。
--update-avail [<Packages-file>] Replace available packages info. 替換可用的包信息。
--merge-avail [<Packages-file>] Merge with info from file. 閤並來自文件的信息。
--clear-avail Erase existing available info. 擦除現有可用信息。
--forget-old-unavail Forget uninstalled unavailable pkgs. 忘記卸載的不可用 pkgs。
-s|--status <package> ... Display package status details. 顯示包狀態細節。
-p|--print-avail <package> ... Display available version details. 顯示可用版本細節。
-L|--listfiles <package> ... List files 'owned' by package(s). 列齣包擁有的文件。
-l|--list [<pattern> ...] List packages concisely. 扼要列錶包。
-S|--search <pattern> ... Find package(s) owning file(s). 查找包擁有的文件。
-C|--audit [<package> ...] Check for broken package(s). 校驗斷開包。
--yet-to-unpack Print packages selected for installation. 打印選擇安裝包。
--predep-package Print pre-dependencies to unpack. 打印要解包的預依賴。
--add-architecture <arch> Add <arch> to the list of architectures. 將 <arch> 添加到體係結構列錶。
--remove-architecture <arch> Remove <arch> from the list of architectures. 從體係結構列錶移除 <arch>。
--print-architecture Print dpkg architecture. 打印 dpkg 體係結構。
--print-foreign-architectures Print allowed foreign architectures. 打印允許外來體係結構。
--assert-<feature> Assert support for the specified feature. 斷言支持指定特徵。

可用 feature:

support-predepends

working-epoch

long-filenames

multi-conrep

multi-arch

versioned-provides

--compare-versions <a> <op> <b> Compare version numbers - see below. 比較版本號。

lt le eq ne ge gt 空版本優先於任何版本

lt-nl le-nl ge-nl gt-nl 空版本晚於任何版本

< << <= = >= >> > 僅與控製文件語法兼容

--force-help Show help on forcing. 展示強製幫助。
-Dh|--debug=help Show help on debugging. 展示調試幫助。
-?, --help Show this help message. 展示此幫助信息。
--version Show the version. 展示版本。

Option 選項

參數 EN 解釋 中文翻譯 備注
--admindir=<directory> Use <directory> instead of /var/lib/dpkg. 使用 <directory> 而非 /var/lib/dpkg。
--root=<directory> Install on a different root directory. 安裝在不同 root 目錄中。
--instdir=<directory> Change installation dir without changing admin dir. 更改安裝目錄,不改變 admin 目錄。
--path-exclude=<pattern> Do not install paths which match a shell pattern. 不安裝匹配 shell 模式的路徑。
--path-include=<pattern> Re-include a pattern after a previous exclusion. 在先前排除之後重新包括模式。
-O|--selected-only Skip packages not selected for install/upgrade. 跳過未選擇用於安裝/升級的包。
-E|--skip-same-version Skip packages whose same version is installed. 跳過安裝瞭相同版本的包。
-G|--refuse-downgrade Skip packages with earlier version than installed. 跳過版本比安裝的更早的包。
-B|--auto-deconfigure Install even if it would break some other package. 即使會破壞某些其它包也要安裝。
--[no-]triggers Skip or force consequential trigger processing. 跳過或強製相應觸發處理。
--verify-format=<format> Verify output format (supported: 'rpm'). 驗證輸齣格式 (支持:rpm)。
--no-debsig Do not try to verify package signatures. 不要試著驗證包簽名。
--no-act|--dry-run|--simulate Just say what we would do - don't do it. 隻需說我們會做的 - 不做的。
-D|--debug=<octal> Enable debugging (see -Dhelp or --debug=help). 啓用調試 (見 -Dhelp 或 --debug=help)。
--status-fd <n> Send status change updates to file descriptor <n>. 將狀態改變更新發送給文件描述符 <n>。
--status-logger=<command> Send status change updates to <command>'s stdin. 將狀態改變更新發送給 <command> 的 stdin。
--log=<filename> Log status changes and actions to <filename>. 將狀態改變和動作日誌到 <filename>。
--ignore-depends=<package>,... Ignore dependencies involving <package>. 忽略依賴援引 <package>。
--force-... Override problems (see --force-help). 覆蓋問題 (見 --force-help)。
--no-force-...|--refuse-... Stop when problems encountered. 遇到問題時停止。
--abort-after <n> Abort after encountering <n> errors. 遇到 <n> 錯誤後中止。

基本用法

功能 命令 文字解釋 示例 示例解釋
安裝、釋放 dpkg -i package_file 安裝軟件包 dpkg -i avg71flm_r28-1_i386.deb 安裝 avg71flm_r28-1_i386.deb
dpkg -i -R dir 安裝目錄下的所有軟件包 dpkg -i -R /usr/local/src 安裝 /usr/local/src 下的所有軟件包
dpkg –-unpack package_file 釋放軟件包,但不進行配置 dpkg –-unpack avg71flm_r28-1_i386.deb 釋放 avg71flm_r28-1_i386.deb,但不進行配置
dpkg –-unpack -R package_dir 釋放目錄下的所有軟件包,但不進行配置
配置、釋放 dpkg --configure package_file 重新配置和釋放軟件包 dpkg –configure avg71flm_r28-1_i386.deb 重新配置和釋放軟件包 avg71flm_r28-1_i386.deb
dpkg -configure -a 重新配置和釋放所有軟件包
刪除、丟棄 dpkg -r package_file 刪除軟件包 (但保留其配置信息) dpkg -r avg71flm 刪除軟件包 avg71flm (但保留其配置信息)
dpkg -P package_file 刪除一個包 (包括配置信息)
dpkg --clear-avail 刪除軟件包 Avaliable 信息
dpkg --forget-old-unavail 丟棄所有 Uninstall 軟件包信息
替換、閤並 dpkg --update-avail package_file 替換軟件包信息
dpkg --merge-avail package_file 閤並軟件包信息
讀取、查找 dpkg -A package_file 從軟件包裏讀取軟件信息
dpkg -C 查找僅部分安裝的斷開包
比較、查看 dpkg --compare-versions ver1 op ver2 比較同一個包的不同版本之間的差彆
dpkg -? 顯示幫助信息
dpkg --help
dpkg –licence 顯示 dpkg 的 Licence
dpkg --version 顯示 dpkg 的版本號
dpkg --force-help 顯示 dpkg 強製幫助
dpkg -c filename 顯示一個 deb 文件的目錄
dpkg -s packagename 報告指定包的狀態信息
dpkg -I filename [control-file] 顯示一個 deb 文件的說明
dpkg -l | grep packagename 展示所有已安裝 packagename,同時展示版本號及扼要信息 dpkg -l | grep imagemagick 查看 imagemagick 軟件包是否安裝
dpkg -l packagename 搜索 deb 包 dpkg -l nginx 展示已安裝 nginx 包的版本號及簡短說明
dpkg -L packagename 顯示一個包安裝到係統裏麵的所有文件目錄信息 dpkg -L nginx 展示已安裝 nginx 包內的所有係統文件目錄信息
dpkg -S packagename 顯示 packagename 包含的所有文件
dpkg -p packagename 顯示包可用版本細節
構建、卸載 dpkg -b directory [filename] 建立一個 deb 文件
dpkg --force-all --purge packagename 有些軟件很難卸載,而且還阻止瞭彆的軟件的應用,就可以用這個,但有點冒險

 

版權聲明: 本文為獨傢原創稿件,版權歸 樂數軟件 ,未經許可不得轉載。