私はアーキテクチャをi386からamd64にクロスグレードしようとしていました(https://wiki.debian.org/クロスグレーディング) 何らかのエラーが発生し、apt-get と dpkg が壊れました。
apt-get
およびdpkg
出力
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 ビットだと思います。したがって、問題は 32 ビット システムで 64 ビットの apt-get と dpkg を実行していることだと思います。これは、アーキテクチャを適切にクロスグレードせずに、その wiki の「dpkg、tar、apt のクロスグレード」の部分を実行できたため、納得できます。エラーを見逃した可能性があります。最終的には、Chrome やその他さまざまなものをダウンロードするために amd64 ビット アーキテクチャに移行したいのですが、まずは apt-get と dpkg を修正する必要があります。おそらく、その最終目標は単なる夢物語です。
クロスグレードする代わりに、OS を再インストールするべきでしょうか?
apt-get と dpkg をダウングレード (64 ビットから 32 ビットに変更) する必要がありますか?
もしそうなら、apt-get または dpkg - 32 ビットの公式コピーはどこで入手できますか? 入手したら、どうやってインストールすればいいのかも気になります...
私は nate_ として (そしてある時点では誤って 2 つのタブを開いていたため nate__ として) #debian IRC チャットに参加してこの問題について話していましたが、回答を得る前に退出する必要がありました。そこで「flying_commands」は「バイナリを戻すには、debian.org (別のマシン?) から i686 debs を手動で抽出できるのではないでしょうか?」と言いましたが、その方法や、dpkg を動作させずに debs をインストールする方法がわかりません。
これまでこの情報の多くを抽出するのに協力してくれた #debian の皆さんに感謝します。また、協力していただける方には事前に感謝いたします。
答え1
私もクロスグレードを試みましたが、あなたと同じ結果になりました。システムを再インストールするのが、問題のトラブルシューティングを行う最も簡単で最速の方法です。
答え2
出力uname -a
には、32 ビット カーネルである「i686」アーキテクチャ カーネルが表示されます。64 ビット カーネルをインストールしてロードしないと、ユーザー空間コンポーネントを (正常に) アップグレードすることはできません。そのためには、(1) 64 ビット カーネルをインストールし、(2) 再起動し、(3) 新しい 64 ビット カーネルを選択する必要があります。