Я должен признать, я действительно ненавижу 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
apt-listchanges
, почему вы устанавливаете его?apt-get purge apt-listchanges
помогает вам?Ответы:
Как вы обнаружили и установили в своем конфиге,
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
.