错误:包架构 (amd64) 与系统 (i386) 不匹配

Geo*_*geJ 9 64-bit wireless 32-bit system-installation

我正在尝试安装 Ubuntu 12.10,顺便说一下,我的无线网络无法正常工作。所以,我正在尝试手动解决这个问题。我已经安装了 64 位 Ubuntu。问题是我无法安装任何软件包,因为安装时出现错误。例如,如果我运行命令

sudo dpkg -i wireless-bcm43142-dkms_6.20.55.19-1_amd64.deb
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

dpkg: error processing wireless-bcm43142-dkms_6.20.55.19-1_amd64.deb (--install: package architecture (amd64) does not match system (i386)
Run Code Online (Sandbox Code Playgroud)

如果我尝试安装任何其他软件包,我也会收到此错误。我的系统是戴尔 3421,它有一个 i5 处理器,所以我不知道为什么 Ubuntu 认为我有一个 i386 系统。如果我运行uname命令,我会得到以下结果:

uname -i 
i686

uname -p
i686

uname-m
i686
Run Code Online (Sandbox Code Playgroud)

Alb*_*rst 9

答案隐藏在以下文档中dpkg

dpkg --print-architecture
Run Code Online (Sandbox Code Playgroud)

将向您展示dpkg愿意为其安装软件包的架构。

如果架构amd64未列出,则 amd 包将被拒绝,即使其他一切看起来都很好。现在您可以尝试使用以下命令添加它:

dpkg --add-architecture amd64
Run Code Online (Sandbox Code Playgroud)

并使用以下命令显示它:

dpkg --print-foreign-architectures
Run Code Online (Sandbox Code Playgroud)

在明确安装为 amd64 的系统上,我成功地使 dpkg 尝试安装该软件包。当然,可能会检测到其他问题,例如失败的依赖关系。


fos*_*dom 4

的不同变体uname指示了您已安装的内核。

这反过来又提供了有关您安装的 Ubuntu 版本的线索以及错误的解释

错误:软件包架构(amd64)与系统(i386)不匹配

在 64 位安装上,您会期望类似以下内容:

Linux emachine 3.5.0-26-generic #42~precise1-Ubuntu SMP Mon Mar 11 22:17:58 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

关键部分是x86_64指示 64 位安装。

您的输出 -i686表明您已经安装了 32 位版本的 Ubuntu。

最后有一些有用的链接 - 足以说明 - 您无法在 32 位系统上安装 64 位 debian 软件包。这就是您的错误消息基本上通知您的内容。

您将需要该包的 32 位变体 - 它通常以名称结尾i386.deb


有用的链接: