Я пытался перенести архитектуру с i386 на amd64 (сhttps://wiki.debian.org/CrossGrading) и я получил какую-то ошибку и сломал 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. Это имеет смысл, потому что я мог бы выполнить часть "Crossgrade dpkg, tar и apt" этой вики без надлежащего crossgrade моей архитектуры - я мог бы пропустить ошибку. В конце концов, я хочу быть на архитектуре amd64 бит, чтобы загрузить chrome и все такое, но сначала мне нужно будет исправить мой apt-get и dpkg, и, возможно, эта конечная цель - просто несбыточная мечта.
Стоит ли мне просто переустановить ОС вместо кросс-обновления?
Стоит ли мне понизить версию apt-get и dpkg (изменить их с 64-битной на 32-битную)?
Если да, то где я могу получить официальную копию apt-get или dpkg - 32 бит? Интересно, как мне ее установить, если я ее тоже получу...
Я был в чате #debian IRC как nate_ (и nate__ в какой-то момент, потому что я случайно открыл две вкладки), обсуждая эту проблему, но мне пришлось уйти, прежде чем я получил ответ. Там "flying_commands" сказал: "может быть, вы могли бы вручную извлечь deb i686 из debian.org (на другой машине?), чтобы вернуть двоичные файлы?", но я не совсем уверен, как это сделать, и как установить deb без работающего dpkg.
Спасибо всем в #debian, кто помог извлечь большую часть этой информации. И заранее спасибо всем, кто может помочь.
решение1
Я тоже пробовал кроссгрейдить, но результат был тот же, что и у вас. Переустановка системы — самый простой и быстрый способ решения вашей проблемы.
решение2
Вывод uname -a
показывает ядро архитектуры "i686", которое является 32-битным ядром. Вы не можете (успешно) обновить компоненты пользовательского пространства, не установив и не загрузив сначала 64-битное ядро. Для этого требуется: (1) установить 64-битное ядро и (2) перезагрузить и (3) выбрать новое 64-битное ядро.