Как отключить поддержку multiarch?

Я не хочу устанавливать какой-либо пакет i386. Есть ли способ отключить функциональность?

48
задан 1 May 2012 в 23:32

6 ответов

Начиная с 12.10

dpkg --remove-architecture i386

, чтобы избавиться от мультиархитектуры при установке amd64. В случае, если у вас появится сообщение, например:

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

, вы должны удалить все пакеты i386 до:

dpkg -l | grep i386
62
ответ дан 1 May 2012 в 23:32

11.10 и 12.04

Поддержка мультиархитектуры включена файлом /etc/dpkg/dpkg. cfg.d/multiarch

Если вы переименуете этот файл и запустите обновление в терминале, вы заметите, что репозитории i386 больше не видны.

Таким образом

sudo mv /etc/dpkg/dpkg.cfg.d/multiarch /etc/dpkg/dpkg.cfg.d/multiarch.backup
17
ответ дан 1 May 2012 в 23:32

Прежде всего удалите все пакеты i386, например:

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

Обратите внимание: Skype, Steam, teamviewer и т. Д. Также могут быть удалены.

Затем приступайте к советам fossfreedoms.

12
ответ дан 1 May 2012 в 23:32

На основе как ответа Бена , так и ответа пользователя41220 I сделал следующее:

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

Затем

sudo dpkg --remove-architecture i386

, и это сработало для меня.

13
ответ дан 1 May 2012 в 23:32

Более простая альтернатива

sudo apt purge .*:i386

При необходимости ( dpkg --print-foreign-architecture )

sudo dpkg --remove-architecture i386
0
ответ дан 5 January 2021 в 23:50

Для тех, кто хочет отключить поддержку мультиархитектурности с самого начала, вот один лайнер, который можно использовать в (init) скриптах ...

[ ! $(dpkg --get-selections | grep -q i386) ] && dpkg --remove-architecture i386

Это позволит удалить архитектуру i386, как и ожидалось, при первом запуске. При последовательном запуске будет отображаться следующее предупреждение ...

dpkg: warning: невозможно удалить не стороннюю архитектуру 'i386'

Этот однострочный файл может быть полезен на большинстве облачных серверов, где нет пакетов i386 установлены (по умолчанию). Хотя это форум Ubuntu, вот некоторая подробная информация о мультиархитектуре от Debian ... https://wiki.debian.org/Multiarch/HOWTO .

В других ответах рекомендуется dpkg -l , чтобы получить список пакетов, а затем grep результат. По моему опыту, dpkg -l не смог показать некоторые пакеты (с i386 arch), но dpkg --get-selections показал их, четко пометив их как package_name: i386 . Итак, если мы хотим удалить ранее установленные пакеты i386, а затем удалить их, вот действующая команда, которая работает ...

apt-get remove --purge `dpkg --get-selections | awk '/i386/{print $1}'`
0
ответ дан 7 May 2021 в 21:50

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

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