Ubuntu 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 [<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 有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,但有点冒险

 

版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。