отключить apt-listchanges (и другие интерактивные вещи) во время обновлений (надежно)

15

Я должен признать, я действительно ненавижу apt-listchanges. Если я собираюсь сделать огромное dist-upgrade, я хочу просто оставить компьютер там на несколько часов. Задававший этот вопрос о проблеме с сервером имел в виду аналогичную цель, но после реализации всех предложений в этом посте я все еще был поражен apt-listchanges.

Почему так трудно добиться неинтерактивности с aptпомощью превосходной программы, если учесть, что к ней стремится философия Unix?

Я надеюсь, что изменения, которые я внес /etc/apt/listchanges.conf, помогут, но я хочу предложения относительно того, как надежно выполнять обновления без какого-либо взаимодействия вообще.

[apt]
frontend=none
email_address=root
confirm=0
save_seen=/var/lib/apt/listchanges.db
which=news

Это команда, которую я использовал

DEBIAN_FRONTEND=noninteractive \
apt-get \
-o Dpkg::Options::="--force-confnew" \
--force-yes \
-fuy \
dist-upgrade

Я также добавил следующие строки в /etc/dpkg/dpkg.cfg

force-confold
force-confdef
ixtmixilix
источник
2
Если вам не нравится apt-listchanges, почему вы устанавливаете его?
Жиль "ТАК - перестань быть злым"
3
Разве это не apt-get purge apt-listchangesпомогает вам?
маргаритка
Warl0ck прав. Удалите его. Я использую apt-get неинтерактивно все время.
Багамат
4
он был предустановлен с моим последним Debian ... ооо!
ixtmixilix
1
Да, я действительно ненавижу, что это, кажется, по умолчанию.
UpTheCreek

Ответы:

11

Как вы обнаружили и установили в своем конфиге, apt-listchangesне должно запрашиваться, если вы установили интерфейс в none. Вы также можете установить переменную окружения APT_LISTCHANGES_FRONTEND=noneдля достижения того же самого.

Похоже, что вы действительно хотите сделать, это использовать unattended-upgradesпакет. Он обрабатывает все для вас: отключение apt-listchanges, настройку noninteractiveвнешнего интерфейса , проверку и избегание конфилированных запросов и т. Д. Если ничего другого, содержимое скрипта Python /usr/bin/unattended-upgradesдолжно отвечать на ваши вопросы о том, как он действует.

Джим Пэрис
источник
Как избежать подсказок? Это просто игнорирует их, сохраняя ваш конфиг или заменяя его?
Натали Адамс
Если ваш aptконфиг содержит --force-confoldили --force-confnewвDPkg::Options , они ведут себя как положено. В противном случае пакет, который вызвал бы запрос на отправку, не обновляется, и электронное письмо отправляется (если оно настроено unattended-upgrades). Если электронная почта недоступна, она регистрируется под /var/log/unattended-upgrades.
Джим Пэрис