Tüm barındırma hizmetlerinde 15% tasarruf edin

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın: Skills Başlayın
Bölüm
Linux Yönetim

Ubuntu’da Otomatik Güncellemeleri Devre Dışı Bırakma (Tam Rehber)

Ubuntu varsayılan olarak sisteminizi güvenli ve kararlı tutmak için güncellemeleri otomatik olarak yükler. Bu davranış çoğu masaüstü kullanıcısı için ideal olsa da, üretim ortamlarında, test sunucularında veya yazılım sürümleri üzerinde kesin kontrol gerektiren herhangi bir durumda sorunlu olabilir. Beklenmedik güncellemeler bağımlılıkları bozabilir, çalışan hizmetleri kesintiye uğratabilir veya baskı altında tanılanması zor olan gerileme sorunları ortaya çıkarabilir.

Bu kılavuz, Ubuntu’da otomatik güncellemeleri devre dışı bırakmanın her yöntemini — APT, Snap ve systemd timer’larını kapsayarak — güncellemeleri manuel olarak yönetirken güvenli kalmanın en iyi uygulamalarıyla birlikte açıklar.

Otomatik Güncellemeleri Devre Dışı Bırakmak İsteyebileceğiniz Nedenler

Otomatik güncellemeler makul bir varsayılandır, ancak bunları kapatmak için meşru nedenler vardır:

  • Sunucu stabilitesi: Bir VPS Hosting veya özel sunucu ortamında, planlanmamış bir kernel güncellemesi veya hizmet yeniden başlatması beklenmedik kapalı kalma süresine neden olabilir.
  • Sürüm sabitleme: Katı bağımlılık gereksinimlerine sahip uygulamalar, temel paketler sessizce yükseltilirse bozulabilir.
  • Test ortamları: Tekrarlanabilir test ortamları, çalıştırmalar arasında tutarlı paket sürümleri gerektirir.
  • Kontrollü dağıtım işlem hatları: DevOps iş akışları genellikle güncellemeleri işletim sistemi yerine CI/CD işlem hatları aracılığıyla yönetir.
  • Kaynak kısıtlamaları: Otomatik arka plan güncellemeleri CPU, RAM ve bant genişliği tüketir — meşgul bir sunucuda kritik olabilecek kaynaklar.

Dengeleri anlamak önemlidir. Otomatik güncellemeleri devre dışı bırakmak, güvenlik yaması sorumluluğunu tamamen size kaydırır.

Ubuntu’daki Ana Otomatik Güncelleme Mekanizmaları

Herhangi bir şeyi devre dışı bırakmadan önce, aslında neyi kapattığınızı anlamak yardımcı olur. Ubuntu otomatik güncellemeler için dört ana mekanizma kullanır:

MekanizmaAmaç
unattended-upgradesGüvenlik ve diğer güncellemeleri otomatik olarak yükler
APT::PeriodicAPT’nin ne sıklıkta güncellemeleri kontrol ettiğini ve indirdiğini denetler
snapdSnap paketlerini otomatik olarak yeniler
systemd timersArka plan APT güncelleme görevlerini zamanlar

Bu mekanizmaların her biri bağımsız olarak devre dışı bırakılabilir ve sisteminizin güncelleme davranışı üzerinde ayrıntılı kontrol sağlar.

Yöntem 1: Yapılandırma Dosyası Aracılığıyla Otomatik APT Güncellemelerini Devre Dışı Bırakın

Bu en yaygın ve önerilen yaklaşımdır. Ubuntu’nun APT periyodik yapılandırması /etc/apt/apt.conf.d/20auto-upgrades içinde depolanır.

Adım 1: Yapılandırma Dosyasını Açın

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

Adım 2: Yapılandırma Değerlerini Değiştirin

Tipik olarak şuna benzer bir şey göreceksiniz:

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

Otomatik liste güncellemelerini ve katılımsız yükseltmeleri devre dışı bırakmak için her iki değeri de "0" olarak değiştirin:

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

Adım 3: Kaydedin ve Çıkın

Dosyayı kaydetmek için Ctrl+O tuşuna basın, ardından nano editörden çıkmak için Ctrl+X tuşuna basın.

İsteğe Bağlı: Genişletilmiş APT Periyodik Ayarları

Daha ayrıntılı kontrol için /etc/apt/apt.conf.d/10periodic dosyasını da düzenleyebilir veya oluşturabilirsiniz:

sudo nano /etc/apt/apt.conf.d/10periodic

Tüm değerleri "0" olarak ayarlayın:

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

Bu, arka planda hiçbir APT etkinliğinin gerçekleşmemesini sağlar.

Yöntem 2: unattended-upgrades Paketini Tamamen Kaldırın

Daha kesin bir yaklaşımı tercih ediyorsanız, unattended-upgrades paketini tamamen kaldırabilirsiniz:

sudo apt remove unattended-upgrades -y

Yapılandırma dosyalarını da kaldırmak için:

sudo apt purge unattended-upgrades -y

Bu, otomatik güvenlik güncellemeleri için sorumlu hizmeti tamamen ortadan kaldırır. Bu yaklaşımı yalnızca manuel güncelleme iş akışınızdan emin iseniz kullanın.

Yöntem 3: Otomatik Snap Güncellemelerini Devre Dışı Bırakın

Snap paketleri snapd tarafından yönetilir ve APT’den bağımsız olarak güncellenir. Bunu ele almanın iki yolu vardır.

Seçenek A: snapd Hizmetini Durdurun ve Devre Dışı Bırakın

Bu en agresif yaklaşımdır ve tüm Snap işlevselliğini engeller:

sudo systemctl stop snapd.service
sudo systemctl disable snapd.service

> Not: snapd tamamen devre dışı bırakmak tüm Snap paketlerinin çalışmasını engeller. Bunu yalnızca Snap tabanlı uygulamalara güvenmiyorsanız kullanın.

Seçenek B: Snap Yenileme Zamanlamasını Değiştirin (Önerilen)

Daha güvenli bir yaklaşım, yenileme zamanlayıcısını hiçbir zaman gerçekleşmeyen bir pencereye ayarlamak, böylece Snap’i işlevsel tutarken otomatik güncellemeleri etkili bir şekilde engellemektir:

sudo snap set system refresh.timer=00:00-00:00

Alternatif olarak, hizmet ortamını geçersiz kılmak için systemctl edit kullanabilirsiniz:

sudo systemctl edit snapd.service

Aşağıdaki bloğu ekleyin:

[Service]
Environment=SNAPD_REFRESH_TIMER=00:00-00:00

Kaydedin ve çıkın. Bu, Snap’in hizmeti tamamen devre dışı bırakmadan paketleri otomatik olarak yenilemesini engeller.

Yöntem 4: APT için systemd Zamanlayıcılarını Devre Dışı Bırakın

Ubuntu, APT güncelleme görevlerini zamanlamak için systemd zamanlayıcılarını kullanır. Bu zamanlayıcılar unattended-upgrades hizmetinden bağımsız olarak çalışır ve tam kontrol için devre dışı bırakılmalıdır.

Her iki zamanlayıcıyı tek bir komutla devre dışı bırakın ve durdurun:

sudo systemctl disable --now apt-daily.timer
sudo systemctl disable --now apt-daily-upgrade.timer
  • apt-daily.timer — günlük APT paket listesi güncellemesini tetikler
  • apt-daily-upgrade.timer — günlük yükseltme işlemini tetikler

--now bayrağı, zamanlayıcının önyüklemede başlamasını devre dışı bırakır ve şu anda çalışıyorsa hemen durdurur.

Otomatik Güncellemelerin Devre Dışı Bırakıldığını Doğrulama

Yukarıdaki değişiklikleri uyguladıktan sonra, her şeyin doğru şekilde devre dışı bırakıldığını onaylayın.

systemd Timer Durumunu Kontrol Edin

systemctl status apt-daily.timer apt-daily-upgrade.timer

Her iki timer de inactive (dead) olarak rapor edilmelidir. Herhangi biri active olarak gösteriliyorsa, yukarıdaki devre dışı bırakma adımlarını yeniden ziyaret edin.

APT Yapılandırmasını Doğrulayın

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

Beklenen çıktı:

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

unattended-upgrades Hizmet Durumunu Kontrol Edin

systemctl status unattended-upgrades

Paketi kaldırdıysanız, bu komut hizmetin mevcut olmadığını belirten bir hata döndürecektir — bu beklenen sonuçtur.

Otomatik Güncellemeleri Devre Dışı Bıraktıktan Sonra Önemli Güvenlik Hususları

Otomatik güncellemeleri devre dışı bırakmak geçerli bir yönetim seçimidir, ancak gerçek sorumluluklar beraberinde gelir. Sisteminizi güvenli tutmak için yapmanız gerekenler şunlardır:

1. Manuel ve Düzenli Olarak Güncelleyin

Aşağıdaki komutları tutarlı bir şekilde çalıştırın — en azından haftalık:

sudo apt update && sudo apt upgrade -y

Tam dağıtım düzeyinde yükseltme için:

sudo apt full-upgrade -y

2. Güvenlik Danışmalarını İzleyin

Ubuntu Security Notices (USN) posta listesine veya RSS beslemesine abone olun. Bu, kritik güvenlik açıkları açıklanır açıklanmaz bunlardan haberdar olmanızı sağlar.

3. Güncellemeden Önce Anlık Görüntü Alın

Üretim sunucularında, güncellemeleri uygulamadan önce her zaman bir sistem anlık görüntüsü veya yedek oluşturun. Dedicated Server çalıştırıyorsanız, sağlayıcınızın anlık görüntü araçlarını veya rsync, Timeshift veya LVM anlık görüntüleri gibi bir çözümü kullanarak bir geri yükleme noktası oluşturun.

4. Hazırlık Ortamı Kullanın

Güncellemeleri üretim ortamına uygulamadan önce bir hazırlık veya geliştirme ortamında test edin. Bu, özellikle karmaşık yığınlar çalıştıran sunucular için önemlidir.

5. Yüklü Paketleri Periyodik Olarak Denetleyin

apt list --upgradable

Bu, mevcut güncellemeleri olan tüm paketleri gösterir ve önceliğe göre seçici olarak yamalar uygulamanıza olanak tanır.

Otomatik Güncellemeleri Yeniden Etkinleştirme

Otomatik güncelleme davranışını geri yüklemeye karar verirseniz, işlem basittir.

Yapılandırma Dosyası Aracılığıyla Yeniden Etkinleştirme

/etc/apt/apt.conf.d/20auto-upgrades dosyasını düzenleyin ve değerleri "1" olarak ayarlayın:

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

unattended-upgrades Yeniden Yükleme

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

systemd Zamanlayıcılarını Yeniden Etkinleştirme

sudo systemctl enable --now apt-daily.timer
sudo systemctl enable --now apt-daily-upgrade.timer

Snap Otomatik Yenilemeyi Yeniden Etkinleştirme

sudo snap set system refresh.timer=00:00~24:00/4

Bu, varsayılan Snap yenileme zamanlamasını geri yükler (günde dört kez rastgele aralıklarla).

Manuel Güncelleme Kontrolü için Doğru Hosting Ortamını Seçme

Güncellemeleri manuel olarak yönetiyorsanız, kullandığınız hosting ortamının türü önemli ölçüde önem taşır. Bu kılavuzda açıklanan kontrol düzeyi için tam root erişimi gereklidir.

  • VPS Hosting — Ubuntu ortamı üzerinde tam kontrol gerektiren, güncelleme yönetimi, kernel yapılandırması ve hizmet planlaması dahil olmak üzere geliştiriciler ve sistem yöneticileri için idealdir.
  • Dedicated Servers — Güncelleme zamanlaması, kaynak kullanımı ve stabilite görev açısından kritik olan yüksek trafikli üretim iş yükleri için en iyisidir.
  • cPanel ile VPS — Sunucu ayarlarını ve barındırılan web sitelerini yönetmek için grafik bir arayüz ile birlikte root düzeyinde kontrol istiyorsanız iyi bir seçenektir.

Paylaşılan hosting ortamları genellikle APT veya systemd yapılandırmalarını değiştirmek için gereken işletim sistemi düzeyinde erişim sağlamaz.

Hızlı Referans: Tüm Komutlar Bir Bakışta

# Disable APT auto-updates via config
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
# Set both values to "0"

# Remove unattended-upgrades package
sudo apt remove unattended-upgrades -y

# Disable Snap auto-refresh (safe method)
sudo snap set system refresh.timer=00:00-00:00

# Disable Snap service entirely (aggressive)
sudo systemctl stop snapd.service
sudo systemctl disable snapd.service

# Disable systemd APT timers
sudo systemctl disable --now apt-daily.timer
sudo systemctl disable --now apt-daily-upgrade.timer

# Verify timer status
systemctl status apt-daily.timer apt-daily-upgrade.timer

# Manual update command
sudo apt update && sudo apt upgrade -y

Sonuç

Ubuntu’da otomatik güncellemeleri devre dışı bırakmak, değişikliklerin sisteminize ne zaman ve nasıl uygulanacağı konusunda kesin kontrol sağlar. Bu, özellikle sunucu ortamlarında, CI/CD ardışık düzenlerinde ve aciliyet yerine istikrar ve öngörülebilirliğin öncelik aldığı herhangi bir bağlamda değerlidir.

İşlem dört ana alanı içerir: APT periyodik yapılandırması, unattended-upgrades paketi, Snap’ın yenileme mekanizması ve systemd zamanlayıcıları. Dördünün de ele alınması, hiçbir arka plan güncelleme işleminin sisteminizi açık eyleminiz olmadan değiştiremeyeceğini sağlar.

Ancak bu kontrol sorumluluk getirir. Düzenli bir manuel güncelleme takvimi oluşturmaya, güvenlik danışmalarını izlemeye ve değişiklikleri uygulamadan önce yedeklemeler almaya kararlı olmalısınız. İyi yönetilen ve manuel güncellemeleri olan bir sunucu güvenlidir — ihmal edilen bir sunucu değildir.

Bir geliştirme ortamı, bir üretim uygulama sunucusu veya GPU Hosting üzerinde özel bir iş yükü çalıştırıyor olsanız da, güncelleme stratejinizi anlamak ve kontrol etmek profesyonel sistem yönetiminin temel bir parçasıdır.