小智 19
如前所述,它dpkg
是一个用于提取、分析、解压缩和安装或删除 .deb 文件的低级系统工具。但是,最好使用Software Centre
或Gdebi
安装或删除从其他来源获得的 .deb 文件,因为这两个程序具有依赖项解析。
但是,尚未解释的是使用和更新的解剖结构。例如,如果我们调用install ,则会分析依赖树并通过 获取必要的文件,然后将它们传递给以提取、分析和安装到正确的位置,并根据其中的脚本配置它们。dpkg
apt-get
apt-get
cheese
apt-get
dpkg
dpkg
每个 .deb 文件中读取的脚本很重要,因为它们向程序提供有关软件包安装、删除和配置的信息。因此,当您查看时,/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>
Run Code Online (Sandbox Code Playgroud)
或者,如果更新出现问题并且某些包的配置仍待处理,则对所有未配置的包进行配置:
sudo dpkg --configure -a
Run Code Online (Sandbox Code Playgroud)
有关关注dpkg
和的优秀教程apt-get
,请参阅Debian 手册 的第 5 章和第 6 章,这是可用的最佳讨论。输入man dpkg
您的终端或在线查看Ubuntu 联机帮助页以查看所有可用选项,例如dpkg -l
用于列出当前安装的软件包。