dpkg: ошибка: невозможно удалить архитектуру 'i386', которая в данный момент используется базой данных

11

Я использовал эту команду для добавления арки i386:

sudo dpkg --add-architecture i386

И затем сразу же после установки каких-либо пакетов я попытался удалить арку i386 следующим образом:

sudo dpkg --remove-architecture i386

И я получил ошибку:

dpkg: error: cannot remove architecture 'i386' currently in use by the database

Решения, которые я видел до сих пор, включают удаление пакетов i386, я не установил ни одного, а те, которые установлены , жизненно важны для функционирования ОС. Что мне делать?

ИЗМЕНИТЬ, ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ СЛЕДУЮЩЕЕ, ЧТОБЫ ИЗБЕЖАТЬ УНИЧТОЖЕНИЯ ВАШЕЙ ОС:

Оказывается, что 64-битные ОС Linux уже включают в себя арку i386, поэтому команда sudo dpkg --add-architecture i386ничего не сделала.

дака
источник

Ответы:

7

В установке amd64 (64-разрядный ПК) по умолчанию активна архитектура i386 (32-разрядный ПК). Из вашего списка, похоже, вы только что использовали 32-битные пакеты для Wine. Wine нуждается в связке 32-битных библиотек для запуска 32-битных приложений Windows. Вы не сможете удалить архитектуру i386, если не удалите 32-разрядную версию Wine. Но в этом нет никакого смысла: нет ничего плохого в том, что архитектура i386 включена.

Жиль "ТАК - перестань быть злым"
источник
26

Бегать

dpkg --get-selections | awk '/i386/{print $1}'

А потом, если доволен их удалением, беги

apt-get remove --purge `dpkg --get-selections | awk '/i386/{print $1}'`

А затем повторите попытку

dpkg --remove-architecture i386
Стив
источник
2
Спасибо за это, очень полезно! Знаете ли вы, безопасно ли это делать в 64-битной Ubuntu 16.04? Я спрашиваю, потому что я вижу длинный список пакетов и беспокоюсь, что что-то может пойти не так, если я
уберу
2
@sunyata, если ваша цель состоит в том, чтобы удалить i386 из вашей системы, то так: удалите все пакеты i386, а затем удалите архитектуру.
Брайам
Это помогло мне. После того, как я удалил i386, мне удалось обновить Firefox. Спасибо.
Маккаси