В Ubuntu 12.04 LTS x64 мы хотели бы удалить внешнюю архитектуру i386, которая входит в комплект поставки, но я не вижу команды, dpkg
позволяющей сделать это корректно.
ВЗастрял с foreign-architecture=i386 при использовании apt-get, пользователю рекомендуется просто удалить строку из /etc/dpkg/dpkg.cfg.d/multiarch
, я могу это сделать (или даже удалить этот файл вообще), но мне интересно, есть ли более «подходящий» способ сделать это.
Причина, по которой мы хотим это сделать, заключается в том, что мы поддерживаем большое количество агентов непрерывной интеграции с использованием Puppet и хотим придерживаться "чистого 64". Мы устанавливаем наши собственные пакеты Debian из нашего собственного поддерживаемого репозитория, и это не срабатывает, если мы не предоставляем версию пакета i386. Я знаю, что можно переопределить архитектуру в конкретной конфигурации репозитория, но будет чище просто отключить архитектуру не-64 вообще.
решение1
Стандартный способ удаления архитектуры — через dpkg:
sudo dpkg --remove-architecture i386
Протестировано на Ubuntu 16.0.4 LTS.
Это также быстрее и проще, чем добавлять архитектуру после каждого deb ... в sources.list.
решение2
Кажется, чтокомментарий tumbleweedрешил вашу проблему.
Вы можете добавить параметр в определение источников Apt, который ограничивает архитектуры этого источника:
deb [arch=amd64] ...
Более подробную информацию см. на странице Wiki сообществауправление пакетами с несколькими архитектурами.