Почему я не смог получить никаких обновлений системы (через Software Updater и APT) после добавления иностранной архитектуры?

После добавления новой иностранной архитектуры в Ubuntu 21.04 я больше не смог получить никаких обновлений, используя ни автоматическое обновление ПО niether, ни apt update.

Единственное решение, которое я нашел, это удалить добавленную чужую архитектуру (в данном случае armhf) с помощью команды sudo dpkg --remove-architecture armhf.

Сразу после удаления я получил накопленные обновления с момента добавления чужой архитектуры до момента ее удаления (без перезагрузки системы).

Я хотел бы узнать причину этой проблемы. (Это была ошибка? кто-нибудь еще сталкивался с этим?)

Спасибо за ваше время и усилия, чтобы ответить на мой вопрос заранее.

Edit 1:

Результат dpkg --print-foreign-architectures был:

i386 armhf

Результат dpkg --print-architecture был:

amd64

Проблема была на ноутбуке ASUS N551JW.

1
задан 12 August 2021 в 10:47

1 ответ

Два момента об архитектуре процессора armhf - ему нужна виртуализация, его пакеты находятся на другом зеркальном сервере.

Поэтому при выполнении следующих команд на свежей amd64 системе:

sudo dpkg --add-architecture armhf

вы получите следующие ошибки при следующем запуске sudo apt-get update:

E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/hirsute/multiverse/binary-armhf/Packages 404 Not Found [IP: 192.168.3.222 8000].
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/hirsute-updates/main/binary-armhf/Packages 404 Not Found [IP: 192.168.3.222 8000]
E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/hirsute-security/universe/binary-armhf/Packages 404 Not Found [IP: 192.168.3.222 8000]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/hirsute-backports/universe/binary-armhf/Packages 404 Not Found [IP: 192.168.3.222 8000]
E: Не удалось загрузить некоторые индексные файлы. Они были проигнорированы, или вместо них были использованы старые.

поэтому APT будет серьезно нарушен.

Поэтому вы должны удалить armhf чужеродную архитектуру из системы с помощью sudo dpkg --remove-architecture armhf, а затем снова запустить sudo apt-get update, чтобы все было в порядке.

Насколько я понимаю, для amd64 существует только одна правильная зарубежная архитектура - это 32-битный вариант под названием i386. Многие пакеты используют его, например Wine.

1
ответ дан 20 August 2021 в 10:27

Другие вопросы по тегам:

Похожие вопросы: