LINUX.ORG.RU
ФорумAdmin

Как настроить авто обновление Debian 12 ночью?

 , , ,


0

1

Доброго дня. На сервере установлен Debian 12 с панелью HestiaCP. Как проще всего настроить авто обновление дистрибутива каждые сутки в 3 часа ночи по времени сервера?

В панели HestiaCP уже есть функционал авто обновления, он у меня включен, но кажется он обновляет только саму панель, но не дистрибутив и пакеты.

Из простых вариантов мне видится добавление в CRON такой задачи:

0 3 * * * (/usr/bin/apt update && /usr/bin/apt full-upgrade -y) > /root/update.log 2>&1

Однако, я предвижу проблемы: не смотря на наличие аргумента -y, если в процессе обновления вылезут какие-нибудь вопросы, выборы или требования согласия с лицензией, процесс обновления встанет. Я руками проверял: все эти согласия для микрокода все равно вылезают, не смотря на наличие -y.

Как вы сами решаете проблему авто обновления? Расскажите, пожалуйста, про свой опыт.



Последнее исправление: nadim (всего исправлений: 4)
Ответ на: комментарий от jura12

наверно вы никому не нужны раз не ломают.

Ломают не по принципу нужен/не-нужен, а по принципу ломаем/не-ломаем хост. Все уже давно, очень давно, автоматизировано по самые гланды.

anc ★★★★★
()

При обновлении также нужно перезапускать процессы, чьи бинарники были заменены. Утилита needrestart как раз выводит список таких демонов после apt upgrade. Даже если система будет автоматически обновляться, всё равно будут торчать старые процессы со старыми уязвимостями. Куда более надёжным решением будет вывести в заббикс триггер о наличии уязвимостей на сервере и вручную обновлять пакеты дабы была возможность откатить обновление если что-то пойдёт не так. Как пример

system.run[/usr/bin/apt list --upgradable 2>/dev/null | /usr/bin/grep security | /usr/bin/wc -l]

GLaDOS
()
Ответ на: комментарий от Dimez

Кстати, починили, но не видел, чтобы исправленный вариант в main завезли. Немножко офигел, когда узнал, что эта регрессия была известна, но ядро с ней всё равно протянули в релиз.

Radjah ★★★★★
()
Ответ на: комментарий от GLaDOS

При обновлении также нужно перезапускать процессы, чьи бинарники были заменены.

Дык они и так перезапускаются на этапе настройки. По крайней мере не видел такого, чтобы при обновлении пакетов не из сторонних реп сервисы не перезапускались.

Radjah ★★★★★
()

как вы сами решаете проблему авто обновления?

Отказом от оного и обновлением вручную, когда скучно. Тогда всё видишь, что обновилось, возникли ли какие-то проблемы или выборы, и не получаешь неожиданных сюрпризов.

Автоматические обновления рано или поздно приведут к каким-то неожиданностям. Возможно поздно, а не рано. Возможно не каким-то критическим. Но точно приведут.

CrX ★★★★★
()

Использую эти команды когда нужно обновить образ Vagrant и затем настроить через Ansible:

sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
sudo DEBIAN_FRONTEND=noninteractive apt-get \
-o Dpkg::Options::='--force-confnew' \ # использовать новый файл
-o Dpkg::Options::='--force-confdef' \
upgrade -yq

Детали можно здесь посмотреть: https://unix.stackexchange.com/q/641099

axle_nix ★★
()
Последнее исправление: axle_nix (всего исправлений: 2)
Ответ на: комментарий от GLaDOS

Про ядро согласен, хотя в Ubuntu LTS есть какие-то online-обновления без перезагрузку. У systemd есть daemon-reexec для перезагрузки конфигурации и перезапуска самого менеджера. В выводе dmesg при этом появится сообщение от PID 1 с версией и конфигурацией. Журнал и прочее перезапускаются так же штатно.

Про d-bus не знаю. Помню, что d-bus или udev при обновлении пишут, что для завершения обновления нужна перезагрузка.

Radjah ★★★★★
()
Ответ на: комментарий от Radjah

daemon-reexec

Не знал, возьму на вооружение

в Ubuntu LTS есть какие-то online-обновления без перезагрузки

Если речь про kexec, то там не совсем без ребута. Скорее с очень быстрым ребутом за счёт загрузки нового ядра в оперативную память. Ну и плюс, если используется LUKS, с kexec возникает совершенно не стоящий того геморрой. Быстрее уж по старинке

GLaDOS
()