Skip to content
VDS · Güvenlik

Otomatik güvenlik güncellemeleri

Debian ve Ubuntu'da unattended-upgrades'i ve AlmaLinux'ta dnf-automatic'i nasıl yapılandırırsın ki yamalar gece servisi düşürmeden kendiliğinden kurulsun.

23 Ağustos 2026 tarihinde güncellendi

Çoğu ihlal, aylar önce yamalanmış güvenlik açıklarından geliyor. Manuel güncellemeler ertelenir; otomatik olanlar ertelenmez. Mantıklı bir kurulum yalnızca güvenlik güncellemelerini yükler, gerisine dokunmaz.

Debian ve Ubuntu

apt install -y unattended-upgrades apt-listchanges
dpkg-reconfigure -plow unattended-upgrades

/etc/apt/apt.conf.d/50unattended-upgrades dosyası:

Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::Package-Blacklist {
    "postgresql-.*";
    "docker-ce";
};
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Mail "you@example.com";

Zamanlama /etc/apt/apt.conf.d/20auto-upgrades içinde:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Değişiklik yapmadan deneme çalıştırması:

unattended-upgrade --dry-run --debug
systemctl status unattended-upgrades
cat /var/log/unattended-upgrades/unattended-upgrades.log

AlmaLinux ve CentOS Stream

dnf install -y dnf-automatic

/etc/dnf/automatic.conf içinde:

[commands]
upgrade_type = security
apply_updates = yes
reboot = never
systemctl enable --now dnf-automatic.timer
systemctl list-timers | grep dnf

Neleri hariç tutmalısın

Sürümü beklenmedik şekilde değiştiğinde bozulan her şeyi hariç tutma listesine ekle: veritabanı sunucusu, Docker, uygulamanın motoru. Bunları sakin bir saatte elle güncelle — bkz. sistem ve paket güncellemeleri.

Çekirdek güvenlik güncellemeleri de yüklenir, ancak yalnızca yeniden başlatmadan sonra etkili olur:

test -f /var/run/reboot-required && cat /var/run/reboot-required.pkgs

Yeniden başlatma: yalnızca insan kararı

Automatic-Reboot "true" ayarını yapma dürtüsü güçlüdür, ancak geceleri otomatik yeniden başlatma, hizmetin kimse izlemezken yeniden başlaması anlamına gelir. Bir şey ayağa kalkmazsa bunu sabah kullanıcılarından duyarsın.

Mantıklı bir uzlaşma: güncellemeler kendini yükler, sen ise ayda bir kez /hosting/vds/m/<id> panelinde konsolu izleyerek elle yeniden başlatırsın. Bu arada hizmetlerin kendiliğinden başladığını da kontrol et:

systemctl is-enabled nginx postgresql
systemctl list-units --state=failed

Sık yapılan hatalar

HataSonuçÇözüm
Yalnızca güvenlik değil, tüm depolar için güncellemeleri etkinleştirmekÖzellik değişiklikleri gelirYalnızca -security kaynağını tut
Veritabanı hariç tutma listesinde değilAna sürüm veriyi bozarPackage-Blacklist içine ekle
Geceleri otomatik yeniden başlatmaHizmet ayağa kalkmadı ve kimse fark etmediAutomatic-Reboot "false"
Kurup unutmakÇekirdek güncellenir ama güncelleme uygulanmazAyda bir kez reboot-required kontrol et
İndirilen paketler diski doldurduYer kalmazOtomatik önbellek temizliğini açık tut

Otomatik güncellemeler bir sigortadır, ilginin yerini tutmaz. Ayda bir kez makineyi aç, güncelleme kaydına, başarısız hizmetlerin listesine ve yeniden başlatma gerekip gerekmediğine bak. Ayda on beş dakika, ihlal belirtileri makalesindeki senaryoların çoğunu kapsar.