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:
| Mekanizma | Amaç |
|---|---|
unattended-upgrades | Güvenlik ve diğer güncellemeleri otomatik olarak yükler |
APT::Periodic | APT’nin ne sıklıkta güncellemeleri kontrol ettiğini ve indirdiğini denetler |
snapd | Snap paketlerini otomatik olarak yeniler |
systemd timers | Arka 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-upgradesAdı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/10periodicTü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 -yYapılandırma dosyalarını da kaldırmak için:
sudo apt purge unattended-upgrades -yBu, 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:00Alternatif olarak, hizmet ortamını geçersiz kılmak için systemctl edit kullanabilirsiniz:
sudo systemctl edit snapd.serviceAşağıdaki bloğu ekleyin:
[Service]
Environment=SNAPD_REFRESH_TIMER=00:00-00:00Kaydedin 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.timerapt-daily.timer— günlük APT paket listesi güncellemesini tetiklerapt-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.timerHer 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-upgradesBeklenen çıktı:
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";unattended-upgrades Hizmet Durumunu Kontrol Edin
systemctl status unattended-upgradesPaketi 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 -yTam dağıtım düzeyinde yükseltme için:
sudo apt full-upgrade -y2. 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 --upgradableBu, 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-upgradessystemd Zamanlayıcılarını Yeniden Etkinleştirme
sudo systemctl enable --now apt-daily.timer
sudo systemctl enable --now apt-daily-upgrade.timerSnap Otomatik Yenilemeyi Yeniden Etkinleştirme
sudo snap set system refresh.timer=00:00~24:00/4Bu, 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 -ySonuç
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.
tasarruf edin