我正在尝试安装 Ubuntu 12.10,顺便说一句,我的无线网不工作。所以,我试图手动修复这个问题。我已经安装了 64 位 Ubuntu。问题是我无法安装任何软件包,因为当我安装时会出错。例如,如果我运行命令
sudo dpkg -i wireless-bcm43142-dkms_6.20.55.19-1_amd64.deb
我收到此错误:
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
答案1
答案隐藏在以下文档中dpkg
:
dpkg --print-architecture
将向您展示dpkg
愿意安装软件包的体系结构。
如果架构amd64未列出,即使其他一切正常,amd 包也会被拒绝。现在您可以尝试使用以下命令添加它:
dpkg --add-architecture amd64
并使用以下命令显示它:
dpkg --print-foreign-architectures
在明确安装为 amd64 的系统上,我成功使用 dpkg 尝试安装该软件包。当然,可能会检测到其他问题,例如依赖项失败。
答案2
的不同变体uname
指示了您已安装的内核。
这反过来会给你安装的 Ubuntu 版本提供线索,以及错误原因的解释
错误:软件包体系结构(amd64)与系统(i386)不匹配
在 64 位安装中,你会看到类似以下内容:
Linux emachine 3.5.0-26-generic #42~precise1-Ubuntu SMP 2013 年 3 月 11 日星期一 22:17:58 UTC x86_64 x86_64 x86_64 GNU/Linux
关键部分是x86_64
指示 64 位安装。
您的输出 -i686
表明您已经安装了 32 位版本的 Ubuntu。
最后有一些有用的链接 - 足以说明 - 您无法在 32 位系统上安装 64 位 Debian 软件包。这就是您的错误消息基本上告知您的内容。
您将需要该软件包的 32 位变体 - 它通常以名称结尾i386.deb
。