У меня есть около 7 серверов Debian, которыми я управляю, и я бы хотел настроить их на автоматическое обновление. Итак, я создал скрипт как таковой:
#!/bin/sh
apt-get update
apt-get upgrade
и поместил его в root
список crontab. К сожалению, он всегда висит в разделе Обновление, спрашивая, уверен ли я, что хочу обновить. Поскольку это работа cron, я не вижу вывод, пока он не напишет мне, что он провалился. Есть ли способ, чтобы пропустить это приглашение и просто выполнить обновление автоматически?
Ответы:
Используйте опцию -y, чтобы apt-get не спрашивал. От
man apt-get
:Вы также можете установить переменную DEBIAN_FRONTEND env
источник
DEBIAN_FRONTEND
? Используется ли он и для других процессов?DEBIAN_FRONTEND
. Это не упомянуто в моем Debianman debconf
, так что это может быть вещь Ubuntu.man 7 debconf
;)man 7 debconf
но ничего не получил. Теперь я знаю, почему :)Ну, может быть, вы используете не тот инструмент.
unattended-upgrades
пакет устанавливает обновления безопасности ежедневно (можно настроить), вы можете настроить, какие пакеты обновлять или не обновлять и т. д. Можно установить с помощью:От
man unattended-upgrades
:источник
/etc/apt/apt.conf.d/
но только те, которые начинаются с,Unattended-Upgrade::
анализируются.в то время как предыдущие ответы являются информативными, они не обходят «проблему» ввода, требуемую человеческими средствами во время
upgrade
. поэтому я использую следующее:чтобы включить обновления дистрибутива, такие как ядра, используйте
dist-upgrade
команду.пожалуйста, обратитесь к руководству
dpkg
за подробной информацией об этих параметрах.importat note : требуется вызов,
sudo
включая-E
параметр:Indicates to the security policy that the user wishes to preserve their existing environment variables. The security policy may return an error if the user does not have permission to preserve the environment.
в противном случае
EXPORT
заявления не будут влиять на вызовыapt-get
!заслуга Реми ван Элста ! Благодарность!
источник
root
- так что вам вообще не нужно их использоватьsudo
. «другие параметры» настроены для запуска без присмотра в любом случае. пожалуйста, смотрите ссылочнуюman
страницу.Универсальный инструмент для такого рода вещей
yes
:Так, например, вы могли бы сделать
Обратите внимание, что в конкретном случае лучше
apt-get upgrade
использовать параметры, предложенные @Braiam или @ArthurUlfeldt .источник
apt-get update && yes | apt-get upgrade
(наши серверы не должны использоватьsudo
... Не спрашивайте ...)