该命令会对软件包进行诊断吗?
dpkg-query --showformat='${Package}__${Version}__${Status}\n' --show | grep -v "ok installed"
答案1
有点。它将列出处于“完全安装和配置”或“从未安装或从系统中完全清除”以外状态的所有软件包。因此,它将列出所有安装已中断或配置失败的软件包。
但是,它还会列出您已删除但保留了配置文件的所有软件包(即,用//apt
行话来说,您拥有的软件包apt-get
aptitude
已删除但不是清除)。
还请注意,此信息仅基于包管理系统记录的包状态:它实际上不会检查包提供的所有文件是否存在且未修改或诸如此类。如果您想要这种诊断,请使用dpkg -V
。
答案2
您可以使用诊断工具;check
:
apt-get check
man apt-get
:
check
check is a diagnostic tool; it updates the package cache and checks
for broken dependencies.