SSD Nodes Learn Hosting plans →
Rehberler Matt ConnorYazan Matt Connor · Güncellendi 2026-08-27

Ubuntu VPS'de Başlatılacak Çekirdek Sürümünü Sabitleme

Ubuntu bulut imajlarında GRUB_DEFAULT ayarının neden geçersiz kaldığını öğrenin. Sunucunuzdaki mevcut menü girdilerini listeleyerek sistemi kurtarma konsoluna düşmeden güncelleyin.

VPS'nizin hangi çekirdekle başlatılacağına ne karar verir

VPS'nizin bir sonraki başlatmada hangi çekirdeği kullanacağı, oluşturulan bir dosya olan /boot/grub/grub.cfg ile belirlenir. Bu dosyayı asla düzenlememelisiniz. Bunun yerine, dosyayı besleyen girdileri düzenleyip dosyayı yeniden oluşturmanız gerekir. Ubuntu bulut imajlarında bu girdilerden biri imaj sağlayıcısı tarafından sağlanır ve bu durum menü seçimini geçersiz kılabilir. Bir dizüstü bilgisayar kurulumunda işe yarayan GRUB_DEFAULT=1 ve ardından update-grub adımlarının kiralanmış bir sunucuda hiçbir şeyi değiştirmemesinin nedeni budur.

Sırasıyla şu adımları izleyin. Çekirdek seçme yetkinizin olup olmadığını doğrulayın. Sağlayıcının ekledikleri de dahil olmak üzere tüm girdi dosyalarını okuyun. Oluşturulan çıktıyı okuyun ve içinde gerçekten kaç girdi bulunduğunu sayın. Ancak bu işlemlerden sonra bir sabitleme yöntemi seçin. Yalnızca SSH üzerinden erişebildiğiniz bir makinede bu işlemi hatalı yapmak, kurtarma konsoluna ihtiyaç duymanıza neden olur; bu nedenle en güvenli yanıtlar bu sayfanın sonundadır ve genellikle doğru olanlar da bunlardır.

Çekirdeğin sabitlenmeye uygun olduğunu doğrulayın

uname -r
systemd-detect-virt
ls -1 /boot/vmlinuz-*

systemd-detect-virt çıktısının kvm, qemu veya xen olması, kendi çekirdeğinizi çalıştırdığınızı ve aşağıdaki tüm adımların geçerli olduğunu gösterir. lxc veya openvz çıktısı, sunucunuzun ana makine çekirdeğini paylaştığı anlamına gelir; bu durumda size ait bir önyükleyici (bootloader) yoktur ve sabitlenecek bir şey bulunmaz. Bu senaryoda uname -r, /boot/vmlinuz-* içinde hiç yer almayan bir sürüm bildirir; çünkü çalışan çekirdek ana makineye aittir ve diskinizdeki hiçbir ayar bunu değiştiremez.

ls -1 /boot/vmlinuz-*, seçebileceğiniz çekirdeklerin gerçek listesidir. Eğer liste tek bir satırdan oluşuyorsa, önceki çekirdek zaten silinmiştir ve hiçbir önyükleyici ayarı onu geri getiremez. Bu durum genellikle bir autoremove işlemi sırasında gerçekleşir; bu nedenle, önemsediğiniz bir sunucuda Ubuntu üzerinde eski çekirdekleri temizleme işlemini yapmadan önce bu mekanizmayı anlamak önemlidir.

Düzenlediğiniz dosya GRUB'ın okuduğu dosya değildir

/etc/default/grub, düz kabuk değişkeni atamalarını tutar. Bu bir girdidir. /boot/grub/grub.cfg ise çıktıdır ve # DO NOT EDIT THIS FILE ile gerekçesiyle başlar. Çıktı dosyasına yazdığınız her şey, bir çekirdek paketi kurulduğunda veya kaldırıldığında silinir; çünkü bu paket betikleri dosyayı yeniden oluşturur.

cat /usr/sbin/update-grub

update-grub bir sarmalayıcıdır. Değişkenleri okuyan, /etc/grub.d/ içindeki her betiği çalıştıran ve sonucu yazan grub-mkconfig -o /boot/grub/grub.cfg aracını çalıştırır. İki komut, tek yön: girdiler içeri girer, grub.cfg dışarı çıkar.

Ayarlarınızı ne geçersiz kılar: /etc/default/grub.d

grep -rn '^[^#]' /etc/default/grub /etc/default/grub.d/

İkinci yol, insanların gözden kaçırdığı kısımdır. grub-mkconfig önce /etc/default/grub dosyasını, ardından /etc/default/grub.d/ dizinindeki her bir *.cfg dosyasını glob sırasına göre işler. Bunu yapan kodu inceleyin:

grep -n 'default/grub' /usr/sbin/grub-mkconfig

İşleme süreci standart shell mantığıyla çalışır, bu nedenle en son yapılan atama geçerli olur. Ubuntu cloud imajları bu dizin içerisinde dosyalarla gelir ve sizin dosyanız okunduktan sonra timeout süresi veya kernel komut satırı gibi ayarları yeniden yapılandırırlar. /etc/default/grub içerisindeki GRUB_TIMEOUT=10 değeriniz, kısa bir süre sonra bunu 0 olarak ayarlayan bir üretici dosyası tarafından üzerine yazılır. Yukarıdaki grep komutu imajınızdaki kesin atamaları listeler; bu nedenle bu cümleye güvenmek yerine çıktıları okuyun.

Buradan çıkan pratik kural şudur: /etc/default/grub dosyasını düzenlemek yerine, kendi ayarlarınızı alfabetik olarak en son işlenecek bir dosyaya, örneğin /etc/default/grub.d/99-local.cfg dosyasına yazın. Böylece imajla birlikte gelen hiçbir ayar, sizin ayarlarınızdan sonra işlenemez.

GRUB_FORCE_PARTUUID neden menü seçimini geçersiz kılar

grep -rn GRUB_FORCE_PARTUUID /etc/default/grub /etc/default/grub.d/
grep -n GRUB_FORCE_PARTUUID /etc/grub.d/10_linux
sudo grep -n 'root=PARTUUID' /boot/grub/grub.cfg

GRUB_FORCE_PARTUUID, oluşturucuya kök dosya sistemini önyükleme sırasında bir dosya sistemi UUID'si aramak yerine, doğrudan çekirdek komut satırına root=PARTUUID=... olarak yazılmış bölüm UUID'si ile bulmasını söyler. Görüntü sağlayıcısı bunu, tek bir disk görüntüsünün oluşturulmadığı donanımlarda güvenilir bir şekilde önyüklenmesini sağlamak için ayarlar. İkinci grep komutu, /etc/grub.d/10_linux içinde değişken üzerinde işlem yapan kodu gösterir. Bu betik kendi diskinizdedir ve görüntünüzün ne yaptığı konusunda yetkili kaynaktır.

Burada önemli olan sonuç şudur: bu yolda oluşturucu, yüklü çekirdeklerin tam bir listesi yerine doğrudan bir önyükleme girdisi yazar. Elinizde ne kaldığını sayın.

sudo grep -cE '^\s*(menuentry|submenu) ' /boot/grub/grub.cfg
sudo grep -nE '^\s*(menuentry|submenu) ' /boot/grub/grub.cfg

Eğer sayı 1 ise, seçilecek ikinci bir girdi yoktur, bu nedenle GRUB_DEFAULT=1 mevcut olmayan bir girdiyi adlandırır. GRUB bunu çözümleyemez, bu yüzden kaçınmaya çalıştığınız yeni çekirdek olan ilk girdiyi önyükler. grub-set-default de yardımcı olmaz, çünkü varsayılan ayar hatalı olan kısım değildir. Seçmeye çalıştığınız menü hiçbir zaman oluşturulmamıştır.

Tam bir menüyü geri almak için, sağlayıcı dosyasını başka bir yere taşıyın ve uygulamadan önce sonucu önizleyin. -o içermeyen grub-mkconfig, standart çıktıya yazar ve diskte hiçbir şeye dokunmaz.

sudo grub-mkconfig 2>/dev/null | grep -cE '^\s*(menuentry|submenu) '
sudo mkdir -p /root/grub-backup
sudo mv /etc/default/grub.d/<the file your grep named> /root/grub-backup/
sudo grub-mkconfig 2>/dev/null | grep -cE '^\s*(menuentry|submenu) '

1'den fazlasına çıkan bir sayı, zorlama kaldırıldığında girdilerin göründüğü anlamına gelir. Henüz hiçbir şey yazılmamıştır. Eğer ikinci sayı doğru görünmüyorsa dosyayı geri koyun, çünkü zorunlu tutulan PARTUUID, sağlayıcınızın görüntüsünün kök dosya sistemini bulma yöntemidir ve bunu kaldırmak makineyi arama yoluna yönlendirir. update-grub komutunu gerçekten çalıştırmadan önce bir anlık görüntü (snapshot) alın.

Tek amacınız hatalı bir çekirdekten kurtulmaksa, burada durun ve aşağıda belirtilen daha güvenli seçenekleri kullanın. Tek bir güncellemeden kaçmak için uzak bir sunucuda önyükleme menüsünü yeniden oluşturmak, sorunun kendisinden daha fazla risk taşır.

Girdi numaralarını sabitlemenin neden yanlış olduğu

GRUB_DEFAULT bir numara, başlık veya tanımlayıcı kabul eder. Numaralar, 0'dan başlayarak en üst seviyedeki girdileri sayar. İç içe geçmiş bir girdi, ayırıcı olarak > kullanır; bu nedenle GRUB_DEFAULT="1>2", 1. dizindeki alt menünün içindeki 2. dizinde yer alan girdi anlamına gelir.

Dizinler değişebilir. 10_linux çekirdekleri en yenisi en üstte olacak şekilde listeler; bu nedenle yeni bir çekirdek yüklemek tüm eski girdileri bir sıra aşağı iter, bir çekirdeği kaldırmak ise onları yukarı çeker. Özenle hazırladığınız 1>2, bu işlemden sonra da çözümlenmeye devam eder. Ancak artık farklı bir çekirdeği işaret eder. Hiçbir hata oluşmaz, hiçbir uyarı verilmez ve durumu ancak yeniden başlatma sonrasında fark edersiniz.

Tanımlayıcılar yer değiştirmez, çünkü her biri çekirdek sürümünü içerir. Kendi tanımlayıcılarınızı şu şekilde okuyabilirsiniz:

sudo awk -F"'" '/menuentry_id_option/ {print $2, "==>", $4}' /boot/grub/grub.cfg

Çıktının, başlıkta tanımlanan değişkeni gösteren ilk birkaç satırını görmezden gelin. Bundan sonra, sol taraf kullanıcının gördüğü başlığı, sağ taraf ise araçlara ileteceğiniz tanımlayıcıyı temsil eder. Bir alt menü içindeki girdi için, alt menü tanımlayıcısı ile girdi tanımlayıcısını, tıpkı sayısal biçimde olduğu gibi, > ile bu sırayla birleştirin.

grub-reboot ile önceki çekirdeği bir kez başlatma

Uzak bir sunucuda tek seferlik seçim yapmak en doğru yöntemdir çünkü bu işlem kendi kendini geri alır. grub-reboot, next_entry değerini /boot/grub/grubenv içine yazar. GRUB bu değişkeni okur, temizler ve herhangi bir şeyi başlatmadan önce temizlenmiş değeri kaydeder; böylece çekirdek panik yaşarsa bir sonraki açılışta tekrar denenmez. Bir deneme hakkınız olur, ardından makine kendi kendine normal varsayılan ayarlarına döner.

Öncelikle oluşturulan yapılandırmanızın bu değişkeni okuduğunu doğrulayın:

sudo grep -n -B2 -A5 'next_entry' /boot/grub/grub.cfg

Bir load_env satırı ve next_entry üzerinden default değerini atayan bir blok görmelisiniz. Eğer grep hiçbir çıktı vermezse, imajınız açılışta grubenv değerini okumuyor demektir; bu durumda grub-reboot komutu kabukta kabul edilecek ancak önyükleyici tarafından görmezden gelinecektir. Bu, önceki bölümde görülen zorunlu doğrudan önyükleme yolunun ikinci bir yerde karşımıza çıkmasıdır.

sudo grub-reboot '<the identifier you copied>'
sudo grub-editenv list

grub-editenv list artık tam olarak gönderdiğiniz değeri içeren bir next_entry= satırı yazdırmalıdır. Tarayıcınızda sağlayıcınızın konsolunu açın, ardından yeniden başlatın ve sonucu kontrol edin.

sudo reboot
uname -r

uname -r çıktısının eski sürümü göstermesi, sabitlemenin (pin) çalıştığı anlamına gelir. Yeni sürümü göstermesi ise tanımlayıcının çözümlenemediği veya grubenv değerinin okunmadığı anlamına gelir; her iki durumda da makine açılır, bu da tek seferlik yöntemi kullanmanın temel amacıdır.

Seçimi GRUB_DEFAULT=saved ile kalıcı hale getirin

GRUB_DEFAULT=saved, varsayılan değerin grubenv içindeki saved_entry dosyasından alınmasını sağlar ve bu değeri grub-set-default ile ayarlarsınız. Bu ayar çekirdek kurulumlarından etkilenmez; çünkü update-grub, grub.cfg dosyasını yeniden yazar ancak grubenv dosyasına asla dokunmaz.

echo 'GRUB_DEFAULT=saved' | sudo tee /etc/default/grub.d/99-local.cfg
sudo update-grub
sudo grub-set-default '<the identifier you copied>'
sudo grub-editenv list
sudo grep -n 'set default' /boot/grub/grub.cfg

Son komut set default="${saved_entry}" çıktısını vermelidir. Eğer set default="0" çıktısını veriyorsa, dosyanızdan sonra işlenen bir yapılandırma GRUB_DEFAULT değerini tekrar sabit bir değere döndürmüş demektir; bu durumda /etc/default/grub.d/ dosyasını tekrar listeleyin ve 99-local.cfg değerinin gerçekten en sonda yer aldığını doğrulayın.

GRUB_SAVEDEFAULT=true farklı bir ayardır ve bununla karıştırılması kolaydır. Bu ayar, en son başlattığınız sistemi yeni varsayılan olarak kaydeder; yani varsayılan değer, en son başarılı önyüklemeyi takip eder. Bir sunucuda bu, gözetimsiz bir yeniden başlatmanın seçiminizi sessizce değiştirebileceği anlamına gelir. İstediğiniz özel durum bu değilse bu ayarı kapalı tutun.

Tanımlayıcıya göre sabitleme yöntemi tek bir durumda başarısız olur. İsmi geçen çekirdeği kaldırırsanız tanımlayıcı çözümlenemez hale gelir ve sistem sizi tekrar ilk girdiye yönlendirir. Bu nedenle paketi tutun (hold) veya ilgili çekirdeği autoremove kapsamı dışında bırakın.

Menünün sağlayıcı konsoluna getirilmesi

Etkileşimli seçim yapmak için menünün ekranda görünmesi gerekir, ancak bulut imajları bunu gizler. Aşağıdakileri sıralamada en sonda yer alan dosyaya ekleyin ve ardından sudo update-grub komutunu çalıştırın.

GRUB_TIMEOUT=10
GRUB_TIMEOUT_STYLE=menu
GRUB_RECORDFAIL_TIMEOUT=10

GRUB_TIMEOUT_STYLE=hidden ile birlikte GRUB_TIMEOUT=0 kullanımı hiçbir şey göstermez; bu nedenle konsolu izleyen bir kişi çekirdek mesajlarının hemen başladığını görür ve önyükleyicinin atlandığı sonucuna varır. GRUB_RECORDFAIL_TIMEOUT, tamamlanmayan bir önyüklemeden sonra kullanılan ayrı bir zaman aşımı süresidir ve bulut imajları bunu da 0 olarak ayarlar. Önyükleme yapamayan bir sunucunun durup sizi beklememesinin nedeni budur.

Sağlayıcınız grafiksel bir konsol yerine seri konsol sağlıyorsa ve yine de hiçbir şey göremiyorsanız, GRUB göremediğiniz bir terminale yazıyor demektir. Her iki satırı birlikte ekleyin; çünkü ilki çıktıları seçer, ikincisi ise portu yapılandırır:

GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

Bundan sonra her önyüklemeye on saniye eklenecektir. İşiniz bittiğinde zaman aşımı süresini tekrar 0 olarak ayarlayın.

Bootloader'ı düzenlemekten daha güvenli seçenekler

Yalnızca SSH üzerinden erişebildiğiniz bir makinede bootloader girdisini değiştirmek, bu sayfadaki en riskli seçenektir. Daha düşük maliyetli çözümler mevcuttur ve bunlar genellikle asıl sorunu çözer.

Kernel paketlerini sabitleyin. Amaç "bana daha yeni bir kernel sunma" ise, bunu bootloader yerine paket yöneticisine bildirin.

apt list --installed 2>/dev/null | grep -E '^linux-(image|headers|generic|virtual|kvm|aws|azure|gcp|oracle)'
sudo apt-mark hold linux-image-virtual linux-headers-virtual
apt-mark showhold

İlk komutun yazdırdığı isimleri kullanın; çünkü bulut imajları genellikle generic yerine virtual veya kvm sürümünü kurar. Eğer yeni kernel bir imaj yenilemesi sırasında geldiyse ve sürümün değiştiğinden şüpheleniyorsanız, bu durum gerçekleşmemiştir; çünkü bir ara sürüm, halihazırda sahip olduğunuz güncellemelerin yeni kurulum medyasına dahil edilmiş halidir ve zaten yamalanmış bir sunucuya haftalar önce sunulmamış hiçbir şey getirmez. Sabitlenmiş bir paket apt upgrade tarafından atlanır, bu durum The following packages have been kept back: ile bildirilir ve aynı zamanda Ubuntu üzerindeki unattended upgrades tarafından da atlanır. Bunun bir maliyeti vardır: sabitlenmiş bir kernel güvenlik yamalarını almayı durdurur, bu nedenle bunu tarihli bir duraklatma olarak değerlendirin ve sudo apt-mark unhold ile serbest bırakın. Eğer kernel güncellemelerinden kaçınmanızın nedeni bir kernel'in hatalı olması değil de yeniden başlatmanın kesintiye yol açması ise, VPS üzerinde canlı kernel yamalama bu sorunu çözer.

Yükseltme öncesinde snapshot alın. Bir snapshot dakikalar içinde geri yükleme sağlar; konsoldan yazma gerektirmez ve yarım kalmış bir bootloader değişikliği riski taşımaz. Snapshot alın, yükseltin, yeniden başlatın ve doğrulayın. Eğer yeni kernel hatalı çalışırsa geri dönün; boot yolu tam olarak olduğu gibi kalacaktır.

Zaten erişilemeyen bir sunucu için konsolu veya kurtarma imajını kullanın. Sunucu boot etmediğinde, bootloader yapılandırması sorunu çözeceğiniz yer değildir ve bu kurtarma yolu kendine has bir prosedürdür: bir kernel güncellemesinden sonra VPS boot etmediğinde ne yapılmalı.

Neler bozulur ve karşılaşacağınız mesajlar

/boot/grub/grub.cfg üzerindeki düzenlemeniz kayboldu. Bir çekirdek paketi kuruldu veya kaldırıldı, paket yöneticisi betiği update-grub komutunu çalıştırdı ve dosya girdilerden yeniden oluşturuldu. # DO NOT EDIT THIS FILE başlığı, iki girdi konumunu belirtir. Düzenlemeleri bu konumlarda yapın.

grub-editenv: error: environment block too small. /boot/grub/grubenv eksik veya kesilmiş durumda. sudo grub-editenv /boot/grub/grubenv create ile yeniden oluşturun, ardından değerinizi tekrar ayarlayın ve sudo grub-editenv list ile doğrulayın.

Sabitlenmiş (pinned) bir çekirdek VFS: Unable to mount root fs on unknown-block(0,0) hatasıyla kernel panic veriyor. Sabitlediğiniz girdi, artık diskte bulunmayan bir çekirdeğe veya initrd dosyasına işaret ediyor; bu durum genellikle paket kaldırıldığı halde tanımlayıcının grubenv içinde kalmasından kaynaklanır. Kurtarma işlemi, çalışan bir girdiyle konsol üzerinden önyükleme yapıp ardından eski değeri temizleyerek gerçekleştirilir.

Yeniden başlatma sonrasında uname -r değişmedi. Sırasıyla şu üç şeyi kontrol edin: grub-editenv list hala değerinizi gösteriyor mu yoksa değer tüketildi mi; ayarladığınız tanımlayıcı mevcut grub.cfg içinde görünüyor mu; grub.cfg, ayarladığınız değişkeni okuyan bir set default satırı içeriyor mu? Bu üçünden biri her zaman sorunun nedenini açıklar.

Bir çökme sonrasında menü kendiliğinden belirdi. GRUB, başarısız bir önyüklemeyi grubenv içinde recordfail=1 olarak kaydeder; bu durum, bir kullanıcının müdahale edebilmesi için sonraki önyüklemede menüyü zorunlu kılar. Makine sağlıklı hale geldiğinde sudo grub-editenv /boot/grub/grubenv unset recordfail ile bu kaydı temizleyin.


Akılda tutulması gereken tek cümle şudur: düzenlediğiniz dosya GRUB'ın okuduğu dosya değildir ve bulut imajlarında bu ikisi arasındaki fark, kafa karışıklığının kaynağıdır. Önce oluşturulan yapılandırma dosyasını okuyun. Bu sayfadaki her karar, dosyanın gerçekte ne söylediğine dayanır.

FAQ

GRUB_DEFAULT=1 ayarı VPS'imin hangi çekirdek ile başlayacağını neden değiştirmiyor?

Ubuntu bulut imajlarında oluşturulan /boot/grub/grub.cfg genellikle tek bir önyükleme girdisi barındırır; bu nedenle 1 indeksi hiçbir şeyi ifade etmez ve GRUB ilk girdiye geri döner. Bunu sudo grep -cE '^\s*(menuentry|submenu) ' /boot/grub/grub.cfg ile doğrulayabilirsiniz. Yanıt, sayının 1 olmasıdır. Bunun nedeni, imaj sağlayıcısı tarafından /etc/default/grub.d/ altındaki bir dosyada ayarlanan GRUB_FORCE_PARTUUID değeridir; bu değer, oluşturucuyu tam bir yüklü çekirdek listesi oluşturmak yerine doğrudan önyükleme yoluna sokar. İlgili dosyayı grep -rn GRUB_FORCE_PARTUUID /etc/default/grub /etc/default/grub.d/ ile bulabilirsiniz.

Önceki çekirdekle sadece bir kez nasıl önyükleme yapabilirim?

Kendi grub.cfg dosyanızdan kopyaladığınız bir tanımlayıcı ile sudo grub-reboot '<identifier>' komutunu çalıştırın, ardından sağlayıcı konsolu zaten açıkken yeniden başlatın. GRUB, önyükleme yapmadan önce next_entry değerini temizler; bu nedenle seçim tam olarak bir deneme için geçerlidir ve hata veren (panic) bir çekirdek tekrar denenmez. Değerin yerleştiğini sudo grub-editenv list ile doğrulayın. Buna güvenmeden önce sudo grep -n next_entry /boot/grub/grub.cfg komutunu çalıştırın; çünkü yapılandırması grubenv dosyasını asla yüklemeyen bir imaj, komutu hiçbir hata vermeden yok sayacaktır.

Girdi numarasıyla mı yoksa tanımlayıcıyla mı sabitlemeliyim?

Tanımlayıcı ile sabitlemelisiniz. Girdi numaraları, 10_linux tarafından en yenisi başta olacak şekilde yeniden oluşturulan bir listedeki konumlardır; bu nedenle herhangi bir çekirdeği yüklemek veya kaldırmak numaraları kaydırır ve eski bir 1>2 değeri, sizi uyaran hiçbir çıktı vermeden gerçek ancak yanlış bir girdiye yönlenmeye devam eder. Tanımlayıcılar çekirdek sürümünü içerir; bu nedenle ya hedeflediğiniz çekirdekle eşleşirler ya da çözümleme başarısız olur. Bunları sudo grep -n menuentry_id_option /boot/grub/grub.cfg ile listeleyin ve her girdi satırında tırnak içinde yer alan dizgiyi kopyalayın.

Çekirdek paketini tutmak (hold), önyükleyiciyi değiştirmekten daha mı güvenli?

Genel amaç için evet. sudo apt-mark hold linux-image-virtual linux-headers-virtual, daha yeni bir çekirdeğin gelmesini tamamen durdurur; böylece önyükleme yolu asla değişmez ve erişiminizin olmayabileceği bir konsoldan kaynaklanabilecek hatalar oluşmaz. Öncelikle kendi sisteminizde yüklü olan sürümleri apt list --installed ile kontrol edin ve tutma işlemini apt-mark showhold ile doğrulayın. Bunun dezavantajı, tutulan bir çekirdeğin güvenlik güncellemelerini almamasıdır; bu nedenle tutma işlemini uygulamadan önce sudo apt-mark unhold komutunu ne zaman çalıştıracağınıza karar verin.