# Linux, Windows ve macOS sunucularda otomatik güvenlik güncellemeleri

> Sunucuları günlük uğraş olmadan güncel tutun: Ubuntu ve Debian'da unattended-upgrades, dnf-automatic, Windows Server'da Windows Update ve macOS güncellemeleri.

Zorluk: Başlangıç\
Denendiği sistemler: Ubuntu 24.04 LTS, Ubuntu 26.04 LTS, Debian 12, Debian 13, Windows Server 2022, Windows Server 2025, macOS Tahoe 26

Başarılı saldırıların çoğu aylar önce düzeltilmiş açıkları kullanır. Otomatik güvenlik güncellemeleri bu boşluğu günlük uğraş olmadan kapatır. Bu rehber Ubuntu ve Debian, RHEL ailesi sistemler, Windows Server ve macOS'ta bunları yapılandırır ve yeniden başlatmaların nasıl yönetileceğini gösterir.

## Başlamadan önce

- Bir yedeğiniz ya da planınız sunuyorsa bir snapshot'ınız olsun. Windows VPS planları ücretsiz snapshot içerir.
- Sunucunun ne zaman yeniden başlayabileceğine karar verin. Çoğu web sitesi için gece sakin bir saat uygundur.

## Ubuntu ve Debian: unattended-upgrades

### Kurun ve etkinleştirin

Ubuntu paketi varsayılan olarak kurar; Debian'da kurun. Ardından periyodik çalışmayı etkinleştirin:

```bash
sudo apt install unattended-upgrades apt-listchanges
sudo dpkg-reconfigure -plow unattended-upgrades
```

**Yes** yanıtını verin. Bu, `/etc/apt/apt.conf.d/20auto-upgrades` dosyasını yazar:

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

**Doğrulama:** deneme çalıştırması neyin kurulacağını ve yapılandırmanın çalıştığını gösterir:

```bash
sudo unattended-upgrade --dry-run --debug
```

### Neyin güncelleneceğini seçin

`/etc/apt/apt.conf.d/50unattended-upgrades` izinli kaynakları listeler. Varsayılan olarak yalnızca güvenlik güncellemeleri kurulur; bu güvenli seçimdir. Bir paketin otomatik güncellenmesini önlemek için onu kara liste bölümüne ekleyin:

```text
Unattended-Upgrade::Package-Blacklist {
    "mariadb-server";
};
```

### Otomatik yeniden başlatma (isteğe bağlı)

Aynı dosyada, bir güncelleme gerektirdiğinde sabit bir saatte yeniden başlatmaya izin verin:

```text
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "03:30";
```

Yeniden başlatmanın gözetim gerektirdiği sunucularda otomatik yeniden başlatmayı kapalı bırakın ve bunun yerine bir bakım aralığında yeniden başlatın.

### Yeniden başlatma gerekip gerekmediğini kontrol edin

```bash
ls /var/run/reboot-required
sudo needrestart
```

Ubuntu'da bekleyen bir yeniden başlatma olduğunda `/var/run/reboot-required` dosyası bulunur. `needrestart` (Ubuntu'da varsayılan olarak kurulu; Debian'da `sudo apt install needrestart`) hâlâ eski kütüphanelerle çalışan servisleri ve çekirdeğin güncel olup olmadığını listeler.

### Kaydı okuyun

```bash
sudo tail -n 50 /var/log/unattended-upgrades/unattended-upgrades.log
```

## AlmaLinux ve Rocky Linux: dnf-automatic

```bash
sudo dnf install dnf-automatic
```

`/etc/dnf/automatic.conf` içinde `upgrade_type = security` ve `apply_updates = yes` ayarlayın, ardından zamanlayıcıyı etkinleştirin:

```bash
sudo systemctl enable --now dnf-automatic.timer
```

**Doğrulama:** `systemctl list-timers dnf-automatic.timer` bir sonraki çalışmayı gösterir.

## Windows Server

Masaüstü Deneyimi olan Windows Server'da güncellemeleri denetlemek ve geçmişi görmek için **Settings › Windows Update** sayfasını açın; **Advanced options** etkin saatleri ayarlar. Her kurulumda SConfig'i kullanabilirsiniz: PowerShell'i yönetici olarak açın, `SConfig` çalıştırın, `5` numaralı seçeneği (**Update setting**) seçin ve otomatik için **A**'yı seçin: güncellemeler artık her gün sunucu saatiyle 03.00'te kurulur. `6` numaralı seçenek güncellemeleri hemen kurar.

Güncellemelerden sonra seçtiğiniz bir saatte yeniden başlatın. Bir Windows VPS'te büyük toplu güncellemelerden önce snapshot alın.

## macOS sunucular

Bir macOS VPS veya VDS'te **Sistem Ayarları › Genel › Yazılım Güncelleme** sayfasını açın ve neyin indirilip kurulacağını seçmek için **Otomatik güncellemeler**'in yanındaki bilgi düğmesini kullanın. Bir derleme sunucusunda macOS güncellemelerini elle kurmayı düşünün: yeni bir macOS sürümü daha yeni bir Xcode gerektirebilir. SSH üzerinden:

```bash
softwareupdate --list
sudo softwareupdate --install --all --restart
```

## Paket yöneticisinin kapsamadığı güncellemeler

Otomatik sistem güncellemeleri şunları güncellemez:

- elle kurduğunuz uygulamalar (bir CMS, eklentileri ve temaları, indirilmiş programlar);
- yeniden derlediğiniz veya yeniden çektiğiniz container imajları;
- `pip`, `npm` veya `composer` ile kurulan dil paketleri.

Bunları kendi araçlarıyla güncelleyin ve güvenlik duyurularına abone olun.

## Sorun giderme

**Güncellemeler çalışmıyor.** Zamanlayıcıları kontrol edin: `systemctl list-timers apt-daily.timer apt-daily-upgrade.timer`. İkisi de bir sonraki çalışmayı göstermelidir.

**apt, dpkg'nin yarıda kesildiğini bildiriyor.** Sunucu yeniden başlarken bir güncelleme çalışıyordu. Yarıda kalan kurulumu tamamlamak için `sudo dpkg --configure -a` çalıştırın.

**Bir paket bekletiliyor (held back).** Yeni bağımlılıklara ihtiyaç duyuyor; neyin değiştiğini okuduktan sonra bir bakım aralığında `sudo apt full-upgrade` ile kurun.

## Sonraki adımlar

- Temel ayarları tamamlayın: [yeni bir Linux sunucuyu güvenli hale getirin](/guides/secure-a-new-linux-server) ve [Windows sunucuyu güvenli hale getirin](/guides/secure-windows-server).
- Geri dönmeye hazır olun: [yedekleme stratejisi](/guides/backup-strategy-3-2-1).

## Sık sorulan sorular

### Otomatik güncellemeler sunucumu bozabilir mi?

Kararlı sürümlerdeki güvenlik güncellemeleri olabildiğince az şey değiştirir; bu yüzden bozulma nadirdir. Güncellenmemiş yazılım çalıştırmanın riski çok daha yüksektir. Yedek veya snapshot tutun ve büyük değişikliklerden sonra güncelleme kaydını gözden geçirin.

### Yine de yeniden başlatmam gerekir mi?

Evet; çekirdek ve bazı kütüphane güncellemeleri için. Ya sakin bir saatte otomatik yeniden başlatmaya izin verin ya da örneğin ayda bir düzenli bir bakım aralığı planlayın.

### Tüm güncellemeler otomatik mi kurulur?

Varsayılan olarak unattended-upgrades yalnızca güvenlik güncellemelerini kurar. Başka güncelleme kaynakları ekleyebilirsiniz, ama özellik güncellemelerini değişiklikleri okuduktan sonra elle kurmak daha iyidir.

### Neyin güncellendiğini nasıl anlarım?

Ubuntu ve Debian'da /var/log/unattended-upgrades/unattended-upgrades.log dosyasını, Windows'ta Windows Update geçmişini okuyun. E-posta bildirimleri de açılabilir.

### Paket yöneticisi dışındaki yazılımlar ne olacak?

Bir CMS, eklentileri veya indirilmiş bir program gibi elle kurulan uygulamalar bu araçlarla güncellenmez. Onları kendi mekanizmalarıyla güncelleyin ve güvenlik duyurularına abone olun.

---

Kaynak: <https://hyperdc.com/tr/guides/security/automatic-updates>\
Son güncelleme: 2026-10-09
