Отключить подсказки при установке пакета Debian

22

Как я могу полностью отключить приглашения, которые появляются при установке пакета Debian, я использовал все варианты, которые я нашел, но есть некоторые пакеты, которые все еще запрашивают.

Я использую эту команду:

apt-get -y --allow-unauthenticated --force-yes -o DPkg::Options::="--force-overwrite" -o DPkg::Options::="--force-confdef" install x11-common

Почему пакет x11-common все еще подсказывает? как я могу избавиться от этих подсказок?

заранее спасибо

--Виктор

Изменить: просто чтобы уточнить, подсказки не являются подсказками «да / нет», это открытые вопросы на цветном экране (типичный двухцветный экран), но я хочу установить вариант этих вопросов по умолчанию

victorgp
источник

Ответы:

38

Выберите новый интерфейс, установив свой env.

DEBIAN_FRONTEND=noninteractive apt-get -y install x11-common

Я использую это все время в автоматизации установки пакетов с cfengine.

bahamat
источник
+1 Это правильный ответ
lynxman
В некоторых странных случаях, например, когда вам нужно использовать это внутри chroot не в интерактивном режиме, вы можете использоватьDEBIAN_FRONTEND=noninteractive sudo -E chroot . echo "something"
mschuett
8

Не устанавливая вручную x11-common, я не уверен, какие вопросы вам задают. Но если они приходят DebConf, то вы должны быть в состоянии заранее ответить на вопросы с debconf-set-selections.

Zoredache
источник
Это решение, спасибо. Я получил свойства с помощью debconf-get-selections и установил их ранее с помощью debconf-set-selections, и больше не появлялось
никаких запросов
Даже при выбранных настройках некоторые пакеты могут задавать вопросы в зависимости от приоритета. Но я рекомендую устанавливать выбор там, где это возможно. Установка внешнего интерфейса noninteractive- это волшебный флаг «не спрашивай меня, несмотря ни на что».
Багамат
4

Вам необходимо dpkg-reconfigure debconfуказать «Игнорировать вопросы с приоритетом меньше, чем: Критический».

Это не поможет вам ответить на критические вопросы.

DerfK
источник
1

Чтобы отключить глобальные запросы на переконфигурирование всех пакетов с помощью debconf, просто закомментируйте вторую строку из /etc/apt/apt.conf.d/70debconfфайла.

Или, если вы настраиваете виртуальную машину, добавьте эти команды в ваш сценарий обеспечения:

sudo ex +"%s@DPkg@//DPkg" -cwq /etc/apt/apt.conf.d/70debconf
sudo dpkg-reconfigure debconf -f noninteractive -p critical

Вы также можете попробовать то же самое, что и Travis CI:

sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install some_package

Для некоторых других пакетов, таких как ttf-mscorefonts-installer(который зависит от language-pack-en), описанное выше не работает, поэтому попробуйте:

echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
sudo apt-get install -y language-pack-en
kenorb
источник
1
--force-yesэто ОЧЕНЬ страшный и не рекомендуемый способ взрыва через подсказки. Не удивляйтесь, если однажды у вас будет сломанная и, возможно, неисправимая система.
dragon788