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 | 有些軟件很難卸載,而且還阻止瞭彆的軟件的應用,就可以用這個,但有點冒險 |
版權聲明: 本文為獨傢原創稿件,版權歸 樂數軟件 ,未經許可不得轉載。