如果我检查我的软件包列表,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 个版本?
adduser
是一个独立于架构的包;这就是“全部”的意思。它在所有架构中都是相同的(通常是因为它包含一种或另一种解释的脚本或数据)。与体系结构无关的包包含在所有特定于体系结构的存储库中,这就是您在
amd64
和中都看到该包的原因i386
。此外,Debian 10 和unstable 目前拥有相同版本的adduser
.您只安装了一个版本的软件包。
apt policy
显示包含给定包的所有存储库,这就是您在这里看到的。换句话说,您当前已
adduser_3.118_all.deb
安装,并且该软件包可从您配置的两个存储库中获得,在您dpkg
设置为支持的两种体系结构中。