Способы оплаты Abuse

Как настроить автоматические обновления пакетов на сервере с Ubuntu

30.05.2025, 18:29

Сервер работает, сайт открывается, всё идёт по плану. Но проходит пара месяцев — и начинаются проблемы: вылезают уязвимости, сыплются ошибки, что-то перестаёт работать. Откуда всё это? Ответ простой: вы забыли про обновления.

Серверы на Ubuntu с доступом по SSH регулярно проверяют на прочность, сканируют и атакуют, чтобы найти бреши и слабые места. Если не ставить обновления, можно нарваться на утечку данных, падение сайта или даже скрытую установку майнеров.

Регулярные апдейты закрывают дыры в безопасности, устраняют баги и повышают стабильность. Особенно это важно для VPS с ограниченными ресурсами — любое вмешательство вредоносного кода может легко положить сервер.

Чтобы избежать лишнего риска, лучше всего включить автоматические обновления сразу после настройки сервера. Делать это вручную — долго и ненадежно. А если вы уехали в отпуск, забыли или просто не хотите этим заниматься — тогда на помощь приходит unattended-upgrades.

Что такое unattended-upgrades

Это системный инструмент Ubuntu, который сам проверяет, загружает и устанавливает важные обновления безопасности. Особенно удобно, когда вы — единственный, кто управляет сервером. Утилита позволяет не следить за выходом патчей и не заходить каждый раз в консоль вручную.

Главное, она умеет ставить только проверенные, стабильные апдейты — те, что точно не сломают систему. А это уже хороший уровень защиты для любого сервера.

Подключаемся к серверу

Если вы только запустили свой Ubuntu-сервер, у вас наверняка есть письмо от с данными для входа. Обычно в нём указаны:

— IP-адрес (например, 123.45.67.89).
— логин (root — по умолчанию).
— пароль.

Команда для подключения:

ssh root@123.45.67.89

Вставьте свой IP и логин. Пароль копируйте и вставляйте вслепую (в терминале он не отображается — это нормально).

Устанавливаем и настраиваем автообновления

Шаг 1. Установка пакета

Часто unattended-upgrades уже установлен, но на всякий случай:

apt update && apt install unattended-upgrades -y

Если он уже есть — ничего страшного, система просто пропустит установку.

Шаг 2. Включение автообновлений

Запускаем конфигуратор:

dpkg-reconfigure --priority=low unattended-upgrades

На синем экране выбираем Yes, чтобы разрешить установку важных обновлений безопасности.
Важно: если этот шаг пропустить, утилита установится, но работать не будет.

Что именно будет обновляться

Файл настроек:

nano /etc/apt/apt.conf.d/50unattended-upgrades

Ищем блок:

Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
    // "${distro_id}:${distro_codename}-updates";
    // "${distro_id}:${distro_codename}-proposed";
    // "${distro_id}:${distro_codename}-backports";
};

Что означают строки:
→ -security — обязательно, отвечает за закрытие уязвимостей

→ -updates — можно включить, если хотите получать стандартные обновления

→ -proposed, -backports — лучше не трогать, могут быть нестабильными

Чтобы включить обычные апдейты, удалите // перед нужной строкой.

Проверка и отладка

Проверьте, что всё работает:

unattended-upgrades --dry-run --debug

Если в выводе будут упомянуты пакеты — значит система видит, что есть что обновить. Если нет — возможно, всё уже актуально.

Нужно ли перезагружать сервер?

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

Unattended-Upgrade::Automatic-Reboot "false";

Замените false на true, если хотите включить перезагрузку.

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

Настройка расписания

Файл:

nano /etc/apt/apt.conf.d/20auto-upgrades

Пример настроек:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

→ "1" — каждый день.
→ "7" — раз в неделю.

Как получать уведомления об обновлениях

Всё настраивается в том же файле 50unattended-upgrades. Найдите строку:

//Unattended-Upgrade::Mail "root";

И замените на:

Unattended-Upgrade::Mail "you@example.com";

Важно: для отправки писем на сервере должен быть настроен почтовый клиент. Один из простых вариантов — msmtp.

Настройка отправки писем через msmtp

Установка:

apt update && apt install msmtp msmtp-mta bsd-mailx -y

Конфигурация:

Файл /etc/msmtprc:
defaults
auth           on
tls            on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile        /var/log/msmtp.log

account        default
host           smtp.mail.ru
port           587
from           yourlogin@mail.ru
user           yourlogin@mail.ru
password       yourpassword

После этого закройте доступ к файлу:

chmod 600 /etc/msmtprc
chown root:root /etc/msmtprc

Проверка:

echo "Mail check" | mail -s "Test" you@example.com

Если письмо дошло — всё настроено.

В итоге

Автообновления на сервере — это простая, но важная мера безопасности. Они не требуют от вас постоянного внимания, но защищают от уязвимостей и багов, которые могут стоить вам времени, данных и денег.

Настройте всё один раз — и сервер будет сам о себе заботиться.