![dpkg 是做什么的?](https://linux22.com/image/1096601/dpkg%20%E6%98%AF%E5%81%9A%E4%BB%80%E4%B9%88%E7%9A%84%EF%BC%9F.png)
我的问题很简单 —— 我想了解有关 dpkg 的更多信息 —— 它有什么作用?
答案1
如上所述,dpkg
是一个用于提取、分析、解压和安装或删除 .deb 文件的低级系统工具。但是,最好使用Software Centre
或Gdebi
安装或删除从其他来源获得的 .deb 文件,因为这两个程序具有依赖性解析功能。
然而,尚未解释的是解剖学dpkg
使用和进行更新apt-get
。例如,如果我们调用apt-get
install 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 软件中心,但从未真正安装它或出现问题。