Что нового

Ubuntu 22.04 - автообновление пакетов

ckpunmkug

Посетитель
Регистрация
22 Мар 2026
Сообщения
4
Реакции
0
Как не пародоксально, но здравого автоматического обновления системы по умолчанию в дебианных линуксах нет, видимо предполагается что админ будет регулярно заходить и ручками грузить обновки. Но практика показывает, что обычно бывает так - взяли VDS с Ubuntu, залили сайт и админ забыл про сервак пока он не сломается. Самое неприятное что система управления пакетами - apt, не любит автоматический режим и спотыкается, когда в обновлённых пакетах появлется иная конфигурация. Ещё иногда нужно перегрузить систему после обновления. Погуглив и покурив мануалы я накидал скрипт который на полном автомате, неспоткнувшись, установит свежие пакеты и если надо перегрузит систему, а ход обновления сохранит в лог.

В консоле создаём скрипт
Код:
cat > /usr/local/sbin/apt_auto_update << 'EOF'
#!/bin/sh

date +"%g-%m-%d_%H:%M" > /var/log/apt/update.log

export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none
apt-get update -q >> /var/log/apt/update.log
apt upgrade -q -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' -o Dpkg::Use-Pty=0 >> /var/log/apt/update.log

if test -f /var/run/reboot-required.pkgs
        then
        wall "The reboot will occur in 30 seconds."
        sleep 30
        reboot
        fi
EOF

Делаем его запускабельным
Код:
chmod 755 /usr/local/sbin/apt_auto_update

Предпочитаю устанавливать рандомное время для загрузки обновок
Код:
echo $(( RANDOM % 61 )) $(( RANDOM % 25 ))

Прописываем запуск в крон
Код:
crontab -e
Код:
3 16 * * * /usr/local/sbin/apt_auto_updatep
 
Вообще, звучит красиво, пока не упрешься в реальность. Поставь себе убунту 20 с кучей зависимостей, разными версиями пакетов, несколькими сайтами и кастомными костылями - и потом включи такой "автомат". С высокой вероятностью словишь отвал сервисов, конфликты зависимостей или внезапный апдейт php/mysql, после которого половина проекта просто не поднимется.

APT не любит автоматический режим - это не баг, а намек. Он как бы говорит "чел, проверь ручками что ты обновляешь".
 
Поизучайте что такое докер и как в нем поднять проекты
 
Вообще, звучит красиво, пока не упрешься в реальность. Поставь себе убунту 20 с кучей зависимостей, разными версиями пакетов, несколькими сайтами и кастомными костылями - и потом включи такой "автомат". С высокой вероятностью словишь отвал сервисов, конфликты зависимостей или внезапный апдейт php/mysql, после которого половина проекта просто не поднимется.

APT не любит автоматический режим - это не баг, а намек. Он как бы говорит "чел, проверь ручками что ты обновляешь".
Согласен, необходима талантливая криворукость и устаревшее програмное обеспечение, что бы система падала при каждом чихе. Но что бы собрать автономную, отказоустойчивую систему, для этого к сожалению нужны мозги.
 
Верх