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)
我收到此错误:
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)
如果我尝试安装任何其他软件包,我也会收到此错误。我的系统是戴尔 3421,它有一个 i5 处理器,所以我不知道为什么 Ubuntu 认为我有一个 i386 系统。如果我运行uname命令,我会得到以下结果:
uname -i
i686
uname -p
i686
uname-m
i686
Run Code Online (Sandbox Code Playgroud)
答案隐藏在以下文档中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 尝试安装该软件包。当然,可能会检测到其他问题,例如失败的依赖关系。
的不同变体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。