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 | 有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,但有点冒险 |
版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。