我正在嘗試安裝 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)
如果我嘗試安裝任何其他軟體包,我也會收到此錯誤。我的系統是 Dell 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 3 月 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
。