當我嘗試交叉升級我的 Debian 架構時,我破壞了 apt-get 和 dpkg

當我嘗試交叉升級我的 Debian 架構時,我破壞了 apt-get 和 dpkg

我試圖將我的架構從 i386 交叉升級到 amd64(從https://wiki.debian.org/CrossGrading),我遇到了一些錯誤並破壞了 apt-get 和 dpkg。

apt-getdpkg輸出

cannot execute binary file: Exec format error

sudo apt-get輸出

/usr/bin/apt-get: 3: /usr/bin/apt-get: Syntax error: ")" unexpected

以下是運行一些命令的輸出,以便您了解:http://paste.debian.net/949117/

uname -a輸出

Linux chowder 3.16.0-4-686-pae #1 SMP Debian 3.16.43-2 (2017-04-30) i686 GNU/Linux

所以我認為我是 i686,我認為是 32 位元。因此,我認為問題在於我在運行 64 位元 apt-get 和 dpkg 的 32 位元系統上。這是有道理的,因為我可以在沒有正確交叉分級我的架構的情況下完成該 wiki 的“交叉分級 dpkg、tar 和 apt”部分 - 我可能會錯過錯誤。最終我想在 amd64 位元架構上下載 chrome 和各種東西,但首先我需要修復我的 apt-get 和 dpkg,也許這個最終目標只是一個白日夢。

我應該重新安裝作業系統而不是交叉分級嗎?

我應該降級 apt-get 和 dpkg (將它們從 64 位元更改為 32 位元)嗎?

如果是這樣,我可以在哪裡獲得 apt-get 或 dpkg - 32 位元的正式副本?我也想知道,一旦我得到了它,我該如何安裝它......

我在 #debian IRC 聊天中以 nate_(和 nate__ 的身份,因為我不小心打開了兩個選項卡)談論這個問題,但在得到答案之前不得不離開。其中“flying_commands”說“也許你可以從 debian.org(在另一台機器上?)手動提取 i686 deb 以取回二進位檔案?”但我不太確定如何做到這一點,以及如何在 dpkg 不工作的情況下安裝 debs。

感謝 #debian 的人們,迄今為止他們幫助提取了許多此類資訊。並提前感謝任何可以提供幫助的人。

答案1

我也嘗試過跨級,結果和你一樣。重新安裝系統是解決問題最簡單、最快的方法。

答案2

輸出uname -a顯示“i686”架構內核,這是 32 位元內核。如果不先安裝並載入 64 位元內核,您就無法(成功)升級使用者空間元件。這需要:(1) 安裝 64 位元內核,(2) 重新啟動,(3) 選擇新的 64 位元內核。

相關內容