如果我检查我的软件包列表,dpkg -l
我会发现“所有”体系结构中安装了多个软件包。然后,如果我apt policy <name_of_package>
使用随机包的名称运行该包,该包表示已为所有架构安装,我会得到以下输出(例如adduser
):
adduser:
Installed: 3.118
Candidate: 3.118
Version table:
*** 3.118 990
990 http://deb.debian.org/debian buster/main amd64 Packages
990 http://deb.debian.org/debian buster/main i386 Packages
500 http://deb.debian.org/debian sid/main amd64 Packages
500 http://deb.debian.org/debian sid/main i386 Packages
100 /var/lib/dpkg/status
该软件包只有一个版本,而且我知道三个星号意味着该版本已安装。
好的,但我可以看到 4 个不同的来源,具有不同的架构和版本。
所以
如何检查已安装哪个?或者它们都安装了,所以我安装了同一个包的4个版本?
答案1
adduser
是一个独立于体系结构的包;这就是“全部”的意思。它在所有体系结构中都是相同的(通常是因为它包含一种或另一种解释脚本或数据)。
与体系结构无关的包包含在所有特定于体系结构的存储库中,这就是您在 和 中看到该包的amd64
原因i386
。此外,Debian 10和unstable目前拥有相同版本的adduser
.
您只安装了该软件包的一个版本。apt policy
显示包含给定包的所有存储库,这就是您在这里看到的内容。
换句话说,您当前已经adduser_3.118_all.deb
安装了这些软件包,并且可以从您配置的两个存储库中获取这些软件包,在您dpkg
设置为支持的两种体系结构中。