dpkg-query 列出多个已安装的同名软件包

dpkg-query 列出多个已安装的同名软件包

我使用此命令按大小列出已安装的软件包

dpkg-query -Wf '${Installed-Size}\t${Package}\n\t${Version}\n' | sort -n

这列出了一些具有相同名称但大小不同的包两次,例如

177788  libwine 3.0-1ubuntu1
187570  libwine 3.0-1ubuntu1
232263  libgl1-mesa-dri 19.2.8-0ubuntu0~18.04.3
250581  libgl1-mesa-dri 19.2.8-0ubuntu0~18.04.3

这是什么意思?

我应该删除其中一个重复项吗?删除哪个?我该如何在它们之间进行选择?

答案1

Debian 和 Ubuntu 支持一种称为多架构的软件包系统,该系统允许安装具有相同名称但不同体系结构的多个软件包。这通常用于i386在 64 位系统上安装和使用 32 位软件(通常是体系结构),但它也可用于安装完全不相关的体系结构的软件(例如,arm64amd64硬件上)。

在这种情况下,您可能安装了这些软件包的 32 位和 64 位版本。通常,安装 Wine 时会同时使用 32 位和 64 位模式,因为许多 Windows 程序(尤其是游戏)仍是 32 位的。Wine 将需要(或至少强烈推荐)OpenGL 支持,这就是您还会看到 Mesa 库的原因。

如果您想使用 来查看dpkg-query,可以运行以下命令:

$ dpkg-query -Wf '${Installed-Size}\t${Package}:${Architecture}\n\t${Version}\n'

它还会打印出软件包的架构。

相关内容