2.5.9. dpkg 命令

dpkg(1) 是 Debian 软件包管理中最底层的工具。它非常强大,必须小心使用。

当安装名为 “<package_name>” 的软件包时,dpkg 会按照下列的顺序处理它。

  1. 解包 deb 文件(等同于 “ar -x”)

  2. 使用 debconf(1) 执行 “<package_name>.preinst

  3. 将软件包安装到系统中(等同于 “tar -x”)

  4. 使用 debconf(1) 执行 “<package_name>.postinst

debconf 系统提供带有 I18N 和 L10N (第 8 章 国际化和本地化)支持的标准化用户交互。

表 2.17. dpkg 创建的重要文件

文件内容说明
/var/lib/dpkg/info/<package_name>.conffiles列出配置文件。(使用者可修改的)
/var/lib/dpkg/info/<package_name>.list列出软件包安装的所有文件和目录
/var/lib/dpkg/info/<package_name>.md5sums列出软件包安装的文件的 MD5 哈希值
/var/lib/dpkg/info/<package_name>.preinst软件包安装之前运行的软件包脚本
/var/lib/dpkg/info/<package_name>.postinst软件包安装之后运行的软件包脚本
/var/lib/dpkg/info/<package_name>.prerm软件包移除之前运行的软件包脚本
/var/lib/dpkg/info/<package_name>.postrm软件包移除之后运行的软件包脚本
/var/lib/dpkg/info/<package_name>.config用于 debconf 系统的软件包脚本
/var/lib/dpkg/alternatives/<package_name>update-alternatives 命令使用的替代信息
/var/lib/dpkg/available所有软件包的可用性信息
/var/lib/dpkg/diversionsdpkg(1) 使用的文件移动信息,由 dpkg-divert(8) 设置
/var/lib/dpkg/statoverridedpkg(1) 使用的文件状态改变信息,由 dpkg-statoverride(8) 设置
/var/lib/dpkg/status所有软件包的状态信息
/var/lib/dpkg/status-oldvar/lib/dpkg/status” 文件的第一代备份
/var/backups/dpkg.status*第二代备份,以及“var/lib/dpkg/status”文件更旧的备份

status” 文件也被例如 dpkg(1)、“dselect update” 和 “apt-get -u dselect-upgrade” 等工具使用。

专门的搜索命令 grep-dctrl(1) 可以搜索 “status” 和 “available” 元数据的本地副本。

[提示]提示

debian 安装器环境下, udpkg 命令用于打开udeb 软件包,udpkg 命令是 dpkg 命令的一个精简版本.