Есть ли способ сделать apt-get dist-upgrade
в Debian, который не только автоматически отвечает «да» на все задаваемые вопросы, но также использует разумные значения по умолчанию в качестве ответов на вопросы, достаточно сложные, чтобы требовать всплывающих диалоговых окон? Я думаю о раскладке клавиш, которая появляется при обновлении libc6
, и выборе образа ядра.
Цель состоит в том, чтобы иметь возможность удаленно инициировать довольно крупную dist-upgrade
- даже для машины, которая сильно отстала от времени - и вообще не приходиться нянчиться с ней, если только что-то не ужасно, катастрофически неправильно.
Конечно, это возможно?
Заранее спасибо!
Ответы:
Если вы установите
DEBIAN_FRONTEND=noninteractive
(чтобы запретить появление запросов debconf) и добавилиforce-confold
иforce-confdef
к своему/etc/dpkg/dpkg.cfg
файлу, у вас должен быть совершенно неинтерактивный опыт установки пакетов. Любой пакет, который все еще запрашивает у вас информацию, имеет критическую ошибку релиза (и я говорю, что и как наркоман автоматизации, и как разработчик Debian).источник
apt-listchanges
был открытless
.Флориан Лохофф опубликовал способ получить то, что предложил womble, в одной команде:
Конечно, вы также можете использовать
-o Dpkg::Options::="--force-confnew --force-confdef"
(ищите confnew на справочной странице dpkg). Я не уверен, в каких случаях это будет иметь значение, хотя. Я лично нуждаюсь в неинтерактивном обновлении, чтобы обновлять ванильные образы, и в этом случае я полагаю, всегда--force-confdef
разумно выбирать новый файл конфигурации (без ).источник
W: --force-yes is deprecated, use one of the options starting with --allow instead.
Несмотря на то, что ответ Womble выше, как правило, хороший, он не сработал для меня, и мне пришлось провести дополнительное исследование, чтобы остаться без присмотра. Я думал, что поделюсь результатом в сжатой форме, чтобы сделать вещи проще для будущих посетителей.
Ниже приведен скрипт, который будет работать в соответствии с рекомендациями по обновлению примечаний к выпуску Debian 8 (в основном), а также с флагами и переменными среды, которые сделают его необслуживаемым. (
echo
s только для отладки и могут быть удалены - хотя я рекомендую сохранить их, так что если скрипт застрянет, вы будете знать, где)источник
> = Апт 1.1
Если вы используете Апт 1,1 или выше,
--force-yes
является устаревшим , поэтому вы , чтобы использовать опции , начиная с--allow
вместо этого, например--allow-downgrades
,--allow-remove-essential
,--allow-change-held-packages
.Итак, команда:
Примечание: используйте,
--force-confold
чтобы сохранить старые и--force-confnew
сохранить новые конфиги.Источник: CFE-2360: Информировать о версии модуля пакета apt_get .
Связанный:
источник
Со
apt-get(8)
страницы руководства :Для справки,
-y
опция работаетyum(8)
также.источник