dpkg 是做什么的?

dpkg 是做什么的?

我的问题很简单 —— 我想了解有关 dpkg 的更多信息 —— 它有什么作用?

答案1

如上所述,dpkg是一个用于提取、分析、解压和安装或删除 .deb 文件的低级系统工具。但是,最好使用Software CentreGdebi安装或删除从其他来源获得的 .deb 文件,因为这两个程序具有依赖性解析功能。

然而,尚未解释的是解剖学dpkg使用和进行更新apt-get。例如,如果我们调用apt-getinstall cheese,依赖关系树将被分析,所需文件将被获取apt-get,然后传递给dpkg提取、分析和安装到正确的位置,并根据其中的脚本进行配置。

每个 .deb 文件中读取的脚本dpkg非常重要,因为它们为程序提供了有关软件包安装、删除和配置的信息。因此,当您查看时,/var/log/dpkg.log会发现很多有关“触发器”和软件包经历不同解包和配置阶段的详细信息。在他的博客中,Raphael Hertzog(他是 Debian 的主要开发人员和软件包的维护者dpkg解释更多关于 dpkg 触发器的信息dpkg以及检查和配置包的方式。

我们现在开始了解它的核心功能dpkg;它能够熟练地处理 Debian 软件包,而不是它们的依赖项。dpkg-deb例如,使用 ,您可以执行各种操作来分析和手动提取 .deb 档案中的文件;man dpkg-deb有关更多信息,请参阅。

每个包的状态都列在 中/var/lib/dpkg/status,可以使用 来grep检查特定包。Dpkg也可以调用它来重新配置已经配置的特定包(参见man dpkg-reconfigure):

sudo dpkg-reconfigure <package>

或者,如果更新出现问题并且某些包的配置仍未完成,则对所有未配置的包进行配置:

sudo dpkg --configure -a

有关dpkg和的精彩教程apt-get,请参阅Debian 手册,这是最好的讨论。man dpkg在终端或视图中输入Ubuntu 手册页在线查看所有可用的选项,例如使用dpkg -l列出当前安装的软件包。

答案2

dpkg 是一种命令行方式,用于从 .deb 安装或删除已安装的软件包。例如,如果您的主目录中有一个 .deb 文件,则运行dpkg -i yourpackage.deb将为您安装该软件包。我发现这至少对我来说很有用,因为有时单击 .deb 文件时它会加载 Ubuntu 软件中心,但从未真正安装它或出现问题。

答案3

与往常一样,man命令是一个很好的起点。
man dpkg可以为您提供所有选项,尽管如此:

dpkg 是基于 Debian 系统的包管理器。它可以安装、删除和构建包,但与其他包管理系统不同,它无法自动下载和安装包及其依赖项。

所以基本上它是没有依赖解析的 apt-get,用于安装 .deb 文件。

不过我要警告你:在大多数情况下,不建议使用 dpkg 卸载软件包。最好使用处理依赖关系的软件包管理器,以确保系统处于一致状态。

例如,dpkg -r zip您可以删除 zip 包,但任何依赖于它的包仍将被安装,并且可能无法再正常运行。

您可以在服务器指南, 和别处

相关内容