Повечето пробити сървъри не падат от някакъв хитър трик. Те са пускали софтуер с известен и отдавна поправен бъг, а никой не е инсталирал поправката. Автоматичните обновления за сигурност затварят тази дупка, без да трябва да помниш да влизаш. Това са едни от най-изгодните пет минути, които можеш да дадеш на нов сървър.
Ubuntu и Debian: unattended-upgrades
Образите на Ubuntu обикновено го имат предварително; Debian може и да няма. Инсталирай го и го включи:
apt update
apt install -y unattended-upgrades apt-listchanges
dpkg-reconfigure -plow unattended-upgrades # answer "Yes"
Това създава /etc/apt/apt.conf.d/20auto-upgrades:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
Двете стойности 1 значат: всеки ден опреснявай списъците с пакети и инсталирай обновленията за сигурност.
Реши въпроса с рестартите
Кръпките на ядрото искат рестарт, за да влязат в сила. За автоматичен рестарт в тих час редактирай /etc/apt/apt.conf.d/50unattended-upgrades и задай:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Сървърът се рестартира само когато обновление наистина го изисква (когато съществува /var/run/reboot-required).
Тествай
unattended-upgrade --dry-run --debug
Логовете са в /var/log/unattended-upgrades/.
Rocky Linux и AlmaLinux: dnf-automatic
dnf install -y dnf-automatic
Редактирай /etc/dnf/automatic.conf:
[commands]
upgrade_type = security
apply_updates = yes
Включи таймера:
systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer
За да разбереш дали обновление иска рестарт, инсталирай dnf-utils и пусни needs-restarting -r.
Коя политика за рестарти ти пасва?
- Едно приложение, което може да спре за минута през нощта (бот, лична услуга, малък сайт): автоматичният рестарт е включен.
- Нещо, което хората ползват денонощно, или база, която предпочиташ да рестартираш сам: автоматичният рестарт е изключен, плюс напомняне да рестартираш, когато се появи
/var/run/reboot-required.
Какво не покрива
Само системните пакети. Docker образите ти, зависимостите на езиците (pip, npm) и ръчно инсталираните бинарни файлове не се обновяват сами: планирай ги отделно. И обновленията в рамките на версия са автоматични; преминаването към нова версия (Ubuntu 22.04 → 24.04) остава умишлена, ръчна работа.
Ако някога лошо обновление счупи зареждането, уеб конзолата в панела на EQVPS те пуска вътре без SSH, а Managed Backups ти дават точка за възстановяване отпреди промяната.
Коментари
Още няма коментари. Бъди първият.