Home » Linux » Ubuntu’da Paket Güncellemesini Durdurmak (Hold Etmek)

Ubuntu’da Paket Güncellemesini Durdurmak (Hold Etmek)

Ubuntu kullanıyorsan güncelleme yapmak genelde sorunsuzdur. Ama bazen öyle bir an gelir ki, “bu paket şu haliyle gayet iyi, sakın dokunma” dersin. Yeni sürüm çıkar ama senin için risklidir. İşte tam bu noktada paketi hold etmek, yani güncellemeden bilerek geri tutmak devreye girer.

Ben bunu özellikle canlı sistemlerde, sunucularda ya da “çalışıyorsa kurcalama” dediğim paketlerde sıkça kullanıyorum.


Neden Bir Paketi Hold Edersin?

Şu senaryolar tanıdık olabilir:

  • Yeni sürüm çıktı ama eski sürüm taş gibi çalışıyor
  • Güncelleme sonrası konfigürasyon bozulmasın istiyorsun
  • Bağımlı bir uygulama sadece belirli sürümle uyumlu
  • Test ortamında denemeden prod’a almak istemiyorsun

Böyle durumlarda pakete küçük bir “yerinde say” demek çok işe yarıyor.


En Pratik Yöntem: apt-mark

Ubuntu’da bu işin en temiz yolu apt-mark.

Paketi Güncellemeden Alıkoymak

sudo apt-mark hold paket-adi

Örnek:

sudo apt-mark hold nginx

Bundan sonra sistem güncellemesi yapsan bile nginx olduğu yerde kalır.


Hold’u Kaldırmak

Fikrini değiştirdin diyelim:

sudo apt-mark unhold paket-adi

Hold’lu Paketleri Görmek

Sistemde hangi paketleri tutmuşum diye bakmak için:

apt-mark showhold

Uzun liste varsa grep ile süzebilirsin:

apt-mark showhold | grep nginx

Alternatif Yol: dpkg ile

Biraz daha “eski usul” ama hâlâ çalışır.

Hold Etmek

echo "paket-adi hold" | sudo dpkg --set-selections

Hold’dan Çıkarmak

echo "paket-adi install" | sudo dpkg --set-selections

Kontrol etmek için:

dpkg --get-selections | grep paket-adi

Ben şahsen günlük kullanımda apt-mark tercih ediyorum; daha net ve temiz.


Daha İnce Ayar: Belirli Sürüme Sabitleme (APT Pinning)

Bazen tamamen kilitlemek yerine “şu sürüm aralığının dışına çıkma” demek istersin.

Bunun için /etc/apt/preferences.d/ altına küçük bir dosya bırakıp şöyle bir tanım yapabilirsin:

Package: nginx
Pin: version 1.18.*
Pin-Priority: 1001

Bu ayarla paket sadece 1.18 serisinde kalır, üstüne çıkmaz. Biraz daha teknik ama kontrol sende olur.


Küçük Ama İşe Yarar Notlar

  • apt upgrade sırasında “geri tutulan paketler” uyarısı görüyorsan, sebebi büyük ihtimalle hold’dur
  • Hold, otomatik güncellemeyi durdurur ama istersen manuel güncelleme hâlâ mümkün
  • Güvenlik güncellemeleri için arada bir hold’lu paketleri gözden geçirmek iyi fikir

Kapanış

Benim için paket hold etmek, özellikle sunucularda beklenmedik sürprizleri önleyen küçük ama etkili bir alışkanlık.
Ama unutma: Hold bir “geçici çözüm”. Ara sıra kontrol edip neyi neden tuttuğunu hatırlamak her zaman faydalı.

Yorum yapın