为什么无法通过apt-get安装任何软件包的i386版本?

为什么无法使用apt-get安装libpcap-dev的i386版本?
$ sudo apt-get install libpcap-dev:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libpcap-dev:i386 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libpcap-dev:i386' has no installation candidate

然而,这个软件包明显存在:https://launchpad.net/ubuntu/trusty/i386/libpcap-dev。我使用的是Ubuntu 14.04 x64版本。

那个名字中的冒号是什么意思?它应该在那里吗?此外,尝试使用 apt-cache search NAME 找到正确的名称。 - arsaKasra
@arsaKasra 这意味着我想要32位版本,而不是64位版本。包名就像我在链接中指出的那样是正确的。 - chacham15
可能是一个重复的问题:无法在64位环境下安装libpcap0.8-dev:i386以编译32位应用程序 - bain
2个回答

通常情况下,这是因为您没有启用多架构并更新软件包列表。这可以很容易地实现:
sudo dpkg --add-architecture i386
sudo apt-get update

第一个告诉dpkg我们希望在我们的系统中支持i386二进制文件,APT查询并开始下载不仅amd64软件包列表,还有i386的。我不确定为什么这不是Ubuntu的默认设置(在Debian中也不是,默认支持更多的架构),但就是这样。

这个包可能存在,但是这个包是一个与架构无关的包(请参考这里获取源包信息),因为这是一个什么都不做,只安装另一个包的过渡性包。这样的包不需要为每个架构进行“构建”。
它安装的包是libpcap0.8-dev(别问我为什么他们决定在开发包后缀加上版本号),它是多架构的。