unattended-upgrades paketinin kurulu olması, güvenlik güncellemelerinin düzenli olarak uygulandığını kanıtlamaz. Otomasyonun çalışması için APT periyodik ayarı, systemd timer'ları, izin verilen depolar ve son çalışma kaydı birlikte sağlıklı olmalıdır. Kontrolü bu dört katmanda yapabilirsiniz.
Paket ile periyodik APT ayarını kontrol edin
dpkg-query -W unattended-upgrades
apt-config dump | grep -E 'APT::Periodic::(Enable|Update-Package-Lists|Unattended-Upgrade)'
Beklenen yapılandırmada periyodik işlemler açık, paket listesi yenileme ve gözetimsiz yükseltme aralıkları sıfırdan farklıdır. Ayarları tek bir dosyada aramak yanıltıcı olabilir; APT, /etc/apt/apt.conf.d/ altındaki dosyaları isim sırasıyla birleştirir. apt-config dump birleşmiş etkin değeri gösterir.
grep -RnsE 'APT::Periodic|Unattended-Upgrade::Allowed-Origins' \
/etc/apt/apt.conf.d/
İki systemd timer'ını ayrı ayrı doğrulayın
systemctl list-timers apt-daily.timer apt-daily-upgrade.timer --all
systemctl status apt-daily.timer apt-daily-upgrade.timer --no-pager
apt-daily.timer paket listesini yenileyen işi, apt-daily-upgrade.timer ise yükseltme işini tetikler. NEXT sütununda zaman görünmesi ve birimlerin etkin olması gerekir. Timer'ı elle başlatmak yerine önce ona bağlı servisi ve son sonucu inceleyin:
systemctl status apt-daily-upgrade.service --no-pager
systemctl show apt-daily-upgrade.service \
-p Result -p ExecMainCode -p ExecMainStatus -p ActiveEnterTimestamp
Journal ve unattended-upgrades loglarını eşleştirin
sudo journalctl -u apt-daily-upgrade.service --since '-7 days' --no-pager
sudo tail -n 100 /var/log/unattended-upgrades/unattended-upgrades.log
sudo tail -n 100 /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
Journal, systemd biriminin başlayıp başlamadığını ve çıkış kodunu; uygulama logu ise hangi paketlerin değerlendirildiğini ve kurulduğunu gösterir. Boş uygulama logu her zaman hata değildir: ilgili dönemde uygun güncelleme bulunmamış olabilir. Buna karşılık timer çalışmış görünürken servis başarısızsa journal içindeki APT kilidi, depo veya yapılandırma hatasına bakın.
Hangi depolardan otomatik güncelleme kabul edildiğini görün
apt-config dump | grep -A20 'Unattended-Upgrade::Allowed-Origins'
Ubuntu'nun güvenlik belgeleri, yerel değişikliklerin dağıtımla gelen 50unattended-upgrades dosyasını doğrudan bozmak yerine daha yüksek numaralı ayrı bir drop-in dosyasında tutulmasını önerir. Böylece paket güncellemeleriyle yerel politika birbirinden ayrılır.
Gerçek kurulum yapmadan değerlendirme çalıştırın
Başka bir APT veya dpkg işlemi çalışmadığından emin olun:
ps -ef | grep -E '[a]pt|[d]pkg|[u]nattended'
sudo unattended-upgrade --dry-run --debug
--dry-run paketleri kurmadan adayları ve yapılandırma kararlarını gösterir. Çıktı uzun olabilir; kimlik bilgisi içeren özel depo URL'lerini paylaşmadan önce temizleyin. “Lock could not be acquired” görürseniz kilit dosyasını silmeyin; çalışan APT sürecinin bitmesini bekleyin.
Yeniden başlatma gereksinimini ayrıca izleyin
if test -f /var/run/reboot-required; then
cat /var/run/reboot-required
cat /var/run/reboot-required.pkgs
fi
Güncellemenin kurulmuş olması yeni çekirdek veya kütüphanenin çalışan süreçlerde kullanıldığı anlamına gelmez. Yeniden başlatmayı bakım planına alın; otomatik güncelleme başarısını yalnızca “paket kuruldu” ölçütüyle değerlendirmeyin.
Sağlıklı zincirde iki timer etkin ve bir sonraki çalışma zamanı görünür, APT periyodik değerleri açıktır, izin verilen kaynaklar beklenen politikayı yansıtır ve son servis çalışması journal ile uygulama logunda tutarlı görünür.
Teknik başvuru: Ubuntu otomatik güvenlik güncellemeleri ve unattended-upgrades durumunu yorumlama.
Benzer Yazılar