
Linux Kernel Güncelleme: Canlı Yama, DKMS, GRUB ve Kurtarma
Linux çekirdek güncelleme stratejileri: distro paketleri (Ubuntu HWE, Debian, AlmaLinux), LTS sürümleri, GRUB boot menü, eski kernel temizliği, DKMS modül yönetimi, KernelCare/kpatch/Ubuntu Pro Livepatch canlı yama, initramfs/dracut, kdump panik debug ve VDS kurtarma senaryoları.
Linux Kernel Güncelleme: Canlı Yama, DKMS, GRUB ve Kurtarma
Bir Linux sunucusunda en kritik tek bileşen çekirdektir (kernel). init öncesi ilk yüklenen bu kod parçası, donanımı yönetir, süreç planlayıcısını çalıştırır, dosya sistemi sürücülerini sağlar ve kullanıcı alanı (userspace) süreçlerinin sistem çağrılarını karşılar. Çekirdek hata verirse — örneğin bir kernel panic — sunucu tamamen donar; kötü yapılandırılmış bir güncelleme aynı şekilde sunucuyu boot edememe noktasına getirebilir. Bu yüzden "kernel güncelleme" kelimesi yıllardır sysadmin'lerin kalbini hoplatır.
Ancak güncelleme yapmamak da seçenek değildir. CVE listelerinde her yıl onlarca kritik kernel güvenlik açığı yer alır: Dirty Pipe, Dirty COW, Spectre, Meltdown, RetBleed gibi adlar verdiğimiz açıkların hepsi çekirdek seviyesinde yamanan zafiyetlerdir. Eski bir kernel, sunucunuzun güvenliği için açık kapı demektir.
Bu rehber Linux çekirdeği güncellemenin uçtan uca akışını anlatıyor: kernel mimarisi ve sürüm modeli (LTS, mainline, distro paketleme); apt, dnf ile güncelleme prosedürü; GRUB boot menü yönetimi ve eski kernel temizliği; DKMS ile üçüncü taraf modüllerin otomatik yeniden derlenmesi; canlı yama teknolojileri (KernelCare, Ubuntu Pro Livepatch, kpatch) ile reboot etmeden kritik güvenlik yamasının uygulanması; initramfs ve dracut ile boot imajının yeniden oluşturulması; kdump ile panic crash dump analizi; ve en önemlisi yeni çekirdek boot etmediğinde Buyukweb VDS web konsoldan rollback senaryosu.
Buyukweb perspektifi: VDS sunucularımızda root erişim size aittir; istediğiniz kernel sürümünü çalıştırabilir, mainline'a geçebilir, kendi kernel modülünüzü yükleyebilirsiniz. cPanel hosting paketlerimizde CloudLinux çekirdek katmanı çalışır; CloudLinux paketinin parçası olarak gelen KernelCare canlı yama servisiyle reboot ihtiyacı minimuma iner — kritik CVE'ler dakikalar içinde, hizmet kesintisi olmadan yamanır. Bursa Tier 3 veri merkezimizde KVM tabanlı web konsol her VDS müşterimize standart sağlanır; yeni kernel boot etmezse rescue mode + GRUB önceki sürüm seçeneğiyle 5 dakikada sistem geri gelir. 0850 302 60 70 numaralı destek hattımız 7/24 kernel kurtarma senaryolarında yanınızdadır.
Linux Kernel Mimarisi Kısa Bir Hatırlatma
Detaya girmeden önce çekirdeğin yapısını anlamak, güncelleme süreçlerini netleştirir.
Monolitik + Modüler Hibrit
Linux çekirdeği teknik olarak monolitik bir kerneldir; ağ yığını, dosya sistemi, süreç planlayıcı gibi tüm temel bileşenler tek bir adres uzayında çalışır (mikrokernel'lerin aksine). Ancak Linux aynı zamanda modülerdir: çalışan kernel'e Loadable Kernel Modules (LKM) yüklenip kaldırılabilir. Bir NIC sürücüsünü, dosya sistemi sürücüsünü veya kripto algoritmasını sunucuyu yeniden başlatmadan ekleyebilirsiniz.
[Kullanıcı alanı (userspace)]
shell, daemon'lar, web sunucu, DB
│
│ system call (syscall) — read(), write(), open()...
▼
[Kernel alanı (kernel space)]
┌──────────────────────────────────────┐
│ Çekirdek (vmlinuz) │
│ - Process scheduler (CFS / EEVDF) │
│ - Memory management (mm) │
│ - VFS (Virtual File System) │
│ - Network stack (TCP/IP) │
│ - Security (LSM, SELinux, AppArmor) │
└──────────────────────────────────────┘
▲
│ modprobe / insmod ile yüklenir
│
[Loadable Kernel Modules — LKM]
nfsd.ko, ext4.ko, nvidia.ko, vboxdrv.ko, ...
Bu yapı sayesinde kernel güncellendiğinde modüllerin de yeniden derlenmesi gerekir; aksi halde eski modül yeni kernel ABI'siyle uyumsuz olur ve yüklenemez. DKMS (Dynamic Kernel Module Support) bu yeniden derlemeyi otomatikleştirir — ileride detayını işleyeceğiz.
Kullanıcı Alanı ve Kernel Alanı Ayrımı
CPU iki temel modda çalışır:
- Ring 0 (kernel mode) — çekirdek kodu çalışır, tüm donanıma direkt erişim hakkı vardır.
- Ring 3 (user mode) — kullanıcı süreçleri çalışır, sınırlı yetki; donanıma sadece syscall'lar ile dolaylı erişim.
Bu ayrım Linux'un güvenlik modelinin temelidir. Bir userspace süreci direkt diske yazamaz; write() syscall çağırır, çekirdek izinleri kontrol eder, sonra VFS üzerinden ext4/xfs sürücüsüne iletir. Kernel açıkları (Dirty COW, Dirty Pipe) tam da bu syscall sınırını kötüye kullanan zafiyetlerdir.
Çekirdek Sürüm Modeli: Mainline, Stable, LTS
Linux çekirdeği Linus Torvalds yönetiminde mainline (ana hat) geliştirme akışında ilerler. Yaklaşık her 8-10 haftada bir yeni mainline sürümü çıkar (örn. 6.5, 6.6, 6.7, 6.8 ardışık şekilde).
Mainline çıktıktan sonra Greg Kroah-Hartman ve diğer maintainerlar stable (kararlı) dalları besler: 6.5.1, 6.5.2, 6.5.3 gibi sadece kritik bug fix ve güvenlik yamasıyla noktalı sürümler.
Belli mainline sürümleri LTS (Long-Term Support) statüsüne yükseltilir — yaklaşık 6 yıl güvenlik desteği alır. 2026 yılı itibariyle aktif LTS sürümleri:
| LTS Sürüm | İlk Yayın | Destek Sonu (yaklaşık) | Durum |
|---|---|---|---|
| 4.19 | 2018 | Aralık 2024 | EOL — kullanmayın |
| 5.4 | 2019 | Aralık 2025 | EOL'e yakın — geçiş yapın |
| 5.10 | 2020 | Aralık 2026 | Aktif |
| 5.15 | 2021 | Ekim 2026 | Aktif |
| 6.1 | 2022 | Aralık 2027 | Aktif (Debian 12 default) |
| 6.6 | 2023 | Aralık 2026+ (uzayabilir) | Aktif (Ubuntu 24.04 ve sonrası) |
Sunucu kullanımında her zaman bir LTS sürümü tercih edin. Mainline veya stable ama LTS olmayan sürümler aktif geliştirme dalıdır; sürpriz regresyon riski yüksektir. Masaüstü kullanıcılar yeni donanım sürücüleri için mainline'a daha hızlı geçebilir, ama sunucularda LTS = istikrar.
Distro Çekirdek Paketleme
Çoğu kullanıcı kerneli kendi distro paketinden alır — yani Ubuntu, Debian, AlmaLinux, Rocky Linux gibi dağıtımların paketleyip imzaladıkları sürümleri kullanır. Bu paketler çoğu zaman vanilla (Linus'un mainline'ı) değildir; distro maintainerlar belirli güvenlik yamalarını backport eder, modüllerin imza zincirlerini ekler, varsayılan yapılandırmayı (kernel config) ayarlar.
Distro bazlı temel paket isimleri:
| Distro | Paket Adı | Açıklama |
|---|---|---|
| Ubuntu | linux-image-generic |
Genel kullanım çekirdeği |
| Ubuntu | linux-image-virtual |
KVM/QEMU sanal makineler için ince çekirdek |
| Ubuntu | bulut sağlayıcı özel kernel varyantları | Bulut optimize çekirdek (sağlayıcıya özel ince varyantlar) |
| Ubuntu | linux-image-hwe-22.04 |
HWE — yeni donanım için backport (rolling) |
| Debian | linux-image-amd64 |
64-bit Debian çekirdeği |
| Debian | linux-image-cloud-amd64 |
Bulut optimize ince çekirdek |
| AlmaLinux / Rocky / RHEL | kernel |
Default RHEL çekirdeği |
| AlmaLinux | kernel-lt |
ELRepo Long Term (5.x LTS) |
| AlmaLinux | kernel-ml |
ELRepo Mainline (en yeni mainline) |
| CloudLinux | kernel (kendi CL repo) |
CloudLinux-özel LVE/CageFS desteği |
Ubuntu HWE Stack — Hardware Enablement
Ubuntu LTS sürümleri (22.04, 24.04) 5 yıl standart destek alır. Ama orijinal kernel ile zamanla yeni donanım uyumluluğu (Wi-Fi kartları, NVMe sürücüler, AMD/Intel CPU mikrokodu) eskir. Bu sorunu çözmek için Canonical HWE (Hardware Enablement) Stack sunar.
HWE stack, ara LTS sürümlerinden çekirdeği backport eder:
- Ubuntu 22.04 LTS → varsayılan kernel 5.15 (Ubuntu 22.04 ilk yayını); HWE → 6.2, 6.5, 6.8 sırasıyla
- Ubuntu 24.04 LTS → varsayılan kernel 6.8; HWE → ileride 6.11, 6.14 vb.
HWE rolling güncellenir. Sunucularda HWE ile genel kernel arasında seçim yaparken: yeni donanım gerekli mi, eğer hayır ise linux-image-generic (sabit LTS) tercih edin; daha az hareket = daha az risk.
Çalışan Kernel Sürümünü Okuma
Güncelleme öncesi her zaman mevcut sürümü kayıt altına alın.
# En kısa yol
uname -r
# Örnek çıktı: 5.15.0-91-generic
# 5.15.0 = ana kernel sürümü
# 91 = Ubuntu paket revizyonu (paket güvenlik yamaları)
# generic = varyant (generic | virtual | cloud-specific | hwe)
# Detaylı build bilgisi
uname -a
# Linux web01 5.15.0-91-generic #101-Ubuntu SMP Tue Nov 14 13:30:08 UTC 2026 x86_64 GNU/Linux
# Build tarihi ve compiler
cat /proc/version
# Linux version 5.15.0-91-generic (buildd@lcy02-amd64-080) (gcc (Ubuntu 11.4.0) 11.4.0) ...
# Distro sürümü
cat /etc/os-release
# NAME="Ubuntu"
# VERSION="22.04.4 LTS (Jammy Jellyfish)"
# ...
Bu çıktıları güncelleme öncesi bir not dosyasına kaydedin. Sorun çıkarsa "neye geri dönüyoruz?" sorusunun cevabı burada olur.
Çekirdek Güncelleme Öncesi: Yedek ve Hazırlık
Pre-flight checklist — kernel güncelleme öncesi mutlaka yapın.
# 1. Tam disk snapshot al — VDS web paneli üzerinden
# Buyukweb müşteri panelinden tek tıkla snapshot
# 2. /boot disk alanını kontrol et
df -h /boot
# /boot tipik olarak 256-512 MB; eski kernel'ler doluyorsa
# yeni kernel boot kuruluş başarısız olur
# 3. Çalışan servisleri not al
systemctl list-units --type=service --state=running > /root/services-before-kernel.txt
# 4. Network konfigürasyonu yedek
cp /etc/netplan/*.yaml /root/ # Ubuntu netplan
ip a > /root/ip-before-kernel.txt
ip route > /root/route-before-kernel.txt
# 5. Disk bölümleme yedek
lsblk > /root/lsblk-before-kernel.txt
cat /etc/fstab > /root/fstab-before-kernel.txt
# 6. DRY RUN — neler güncellenecek?
apt update
apt list --upgradable 2>/dev/null | grep -i linux
# linux-image-generic, linux-headers-generic, linux-modules-generic listede mi?
# 7. Bakım penceresi planı
# Reboot sırasında ~30-90 saniye downtime olur; müşteri/kullanıcıya bildirim
Buyukweb VDS paketlerimizde manuel snapshot veya Veeam tabanlı otomatik yedek seçenekleri mevcuttur. Kernel güncelleme öncesi mutlaka snapshot alın; başarısız kernel boot'ta tek tıkla geri dönersiniz.
Ubuntu / Debian'da Kernel Güncelleme
Debian tabanlı sistemler (Ubuntu, Debian, Linux Mint) için akış.
# 1. Paket listesini güncelle
sudo apt update
# 2. Sadece kernel paketlerini göster
apt list --upgradable 2>/dev/null | grep -E 'linux-(image|headers|modules)'
# linux-image-generic/jammy-updates 5.15.0.92.92 amd64 [upgradable from: 5.15.0.91.91]
# linux-image-5.15.0-92-generic/jammy-updates 5.15.0-92.102 amd64
# linux-headers-generic/jammy-updates 5.15.0.92.92 amd64
# linux-modules-5.15.0-92-generic/jammy-updates 5.15.0-92.102 amd64
# 3. Sadece kernel paketlerini güncelle (full upgrade'den daha güvenli)
sudo apt install linux-image-generic linux-headers-generic linux-modules-generic
# 4. GRUB otomatik güncellenir (postinst hook ile); manuel komut:
sudo update-grub
# Generating grub configuration file ...
# Found linux image: /boot/vmlinuz-5.15.0-92-generic
# Found linux image: /boot/vmlinuz-5.15.0-91-generic ← önceki sürüm hâlâ duruyor (rollback için)
# Found initrd image: /boot/initrd.img-5.15.0-92-generic
# done
# 5. Initramfs yeniden oluşturuldu mu doğrula
ls -la /boot/initrd.img-*
# initrd.img-5.15.0-91-generic
# initrd.img-5.15.0-92-generic ← yeni
# 6. Reboot
sudo reboot
# 7. Boot sonrası doğrulama
uname -r
# 5.15.0-92-generic ← yeni kernel aktif
# 8. Servislerin sağlığı
systemctl --failed
# 0 loaded units listed
# 9. dmesg ile boot mesajları
sudo dmesg -T | tail -50
Debian Spesifik Notlar
Debian'da paket adı linux-image-amd64 şeklindedir (mimari sufiks ile). Debian 12 "Bookworm" varsayılan olarak kernel 6.1 LTS ile gelir.
sudo apt update
sudo apt install linux-image-amd64 linux-headers-amd64
sudo reboot
Debian'ın apt-get vs apt farkı için ayrı bir rehberimiz var; bu yazıda kernel akışına odaklanıyoruz.
AlmaLinux / Rocky Linux / RHEL'de Kernel Güncelleme
RHEL tabanlı sistemlerde paket yöneticisi dnf (eski adıyla yum). Komut akışı kavramsal olarak benzer ama detaylar farklıdır.
# 1. Repo metadata güncelle
sudo dnf check-update
# 2. Sadece kernel güncellemesini göster
sudo dnf check-update kernel
# kernel.x86_64 5.14.0-427.16.1.el9_4 baseos
# kernel-core.x86_64 5.14.0-427.16.1.el9_4 baseos
# kernel-modules.x86_64 5.14.0-427.16.1.el9_4 baseos
# 3. Kernel'i güncelle (eski sürüm korunur — RHEL varsayılan davranışı)
sudo dnf upgrade kernel
# 4. GRUB2 otomatik güncellenir; manuel:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# 5. UEFI sistemde
sudo grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg
# 6. Kurulu kernel'leri listele
sudo dnf list installed kernel
# kernel.x86_64 5.14.0-362.13.1.el9_3 @baseos ← eski
# kernel.x86_64 5.14.0-427.16.1.el9_4 @baseos ← yeni
# 7. Reboot
sudo reboot
# 8. Doğrulama
uname -r
# 5.14.0-427.16.1.el9_4.x86_64
ELRepo ile Mainline veya LT Kernel
AlmaLinux/Rocky default kernel'i RHEL stable hattındadır (5.14 hattı uzun süre). Daha yeni kernel için ELRepo topluluk reposu kullanılır.
# ELRepo GPG anahtarı + repo paketi
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo dnf install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
# Mainline kernel (en yeni 6.x)
sudo dnf --enablerepo=elrepo-kernel install kernel-ml
# Long Term kernel (LTS 5.x veya 6.x)
sudo dnf --enablerepo=elrepo-kernel install kernel-lt
# Reboot sonrası GRUB'da seçin (aşağıda detayda işleyeceğiz)
Uyarı: ELRepo kernel'i RHEL imzalı değil — kurumsal sertifikasyon (örn. Red Hat Insights, RHEL premium destek) gerektiren ortamlarda dikkatli olun. CloudLinux müşterileri ise CloudLinux kendi kernel'ini sağladığı için ELRepo'ya gerek duymaz.
GRUB Boot Menü Yönetimi
GRUB (GRand Unified Bootloader) Linux'un fiili standart bootloader'ıdır. Yeni kernel kurulduğunda GRUB menüsüne eklenir; eski kernel rollback opsiyonu olarak kalır.
/etc/default/grub Yapılandırması
# /etc/default/grub
GRUB_DEFAULT=0 # 0 = ilk seçenek (en yeni kernel)
GRUB_TIMEOUT=5 # 5 saniye menü göster
GRUB_TIMEOUT_STYLE=menu # menu | hidden | countdown
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
Anahtar ayarlar:
GRUB_DEFAULT=0— varsayılan giriş (0 = listenin ilki, 1 = ikinci vs.). Belli bir kernel'i sabitlemek için tam menü girişi:GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-91-generic".GRUB_DEFAULT=saved+GRUB_SAVEDEFAULT=true— son seçileni hatırla.GRUB_TIMEOUT=5— uzak (KVM web konsoldan) erişim için 5-10 saniye iyidir; üretimde 1-2 saniye yapılırsa rollback fırsatı azalır.GRUB_CMDLINE_LINUX— kernel command line;nomodeset,ipv6.disable=1,mitigations=offgibi parametreler buraya eklenir.
Değişiklik sonrası mutlaka GRUB config yeniden oluşturulmalıdır:
# Ubuntu / Debian
sudo update-grub
# AlmaLinux / Rocky / RHEL — BIOS
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# AlmaLinux / Rocky / RHEL — UEFI
sudo grub2-mkconfig -o /boot/efi/EFI/almalinux/grub.cfg
Belirli Bir Kernel'i Boot İçin Seçme
Yeni kernel hatalıysa, eski sürümü kalıcı yapmak isterseniz:
# Ubuntu — boot menü girişlerini listele
awk -F"'" '/menuentry / {print i++ " : "$2}' /boot/grub/grub.cfg
# 0 : Ubuntu
# 1 : Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-92-generic
# 2 : Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-91-generic
# Önceki kernel'i kalıcı varsayılan yap
sudo grub-set-default "Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-91-generic"
sudo update-grub
# RHEL/AlmaLinux
sudo grubby --info=ALL # listele
sudo grubby --set-default=/boot/vmlinuz-5.14.0-362.13.1.el9_3.x86_64
sudo grubby --default-kernel # doğrula
Tek Bir Reboot İçin Kernel Seç (Reboot Sonrası Geri Dön)
reboot sırasında belirli bir kernel'e geçip sonraki reboot'ta default'a dönmek için:
# Ubuntu — bir kez bu giriş kullanılsın
sudo grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-91-generic"
sudo reboot
# Boot sonrası bir sonraki reboot'ta tekrar default kernel'e döner
# RHEL/AlmaLinux
sudo grub2-reboot 1 # menü indeks 1 = önceki kernel
sudo reboot
Bu komutlar canlı sunucuda yeni kernel test ederken altın değerindedir.
Eski Kernel'leri Temizleme
Her yeni kernel /boot partition'ında ~50-80 MB yer kaplar. Aylar geçtikçe 5-10 eski kernel birikir ve /boot dolar; bu durumda yeni kernel kurulumu başarısız olur ("No space left on device on /boot").
Ubuntu — apt autoremove
# Otomatik gereksiz paket temizliği — eski kernel'ler de dahil
sudo apt autoremove --purge
# Daha agresif: tüm eski kernel'leri listele
dpkg -l | grep -E '^ii\s+linux-image-[0-9]' | awk '{print $2}'
# linux-image-5.15.0-86-generic
# linux-image-5.15.0-89-generic
# linux-image-5.15.0-91-generic
# linux-image-5.15.0-92-generic ← çalışan, dokunma!
# Spesifik eski kernel'i kaldır
sudo apt purge linux-image-5.15.0-86-generic linux-headers-5.15.0-86-generic
# GRUB güncelle
sudo update-grub
Altın kural: En az 2 kernel kalsın — biri çalışan, biri rollback için. 3 olsa da iyidir ama daha fazlası /boot doldurur.
AlmaLinux / RHEL — dnf remove
# Kurulu kernel'leri listele (çalışanı not et: uname -r)
sudo dnf list installed kernel
# kernel.x86_64 5.14.0-362.13.1.el9_3
# kernel.x86_64 5.14.0-362.18.1.el9_3
# kernel.x86_64 5.14.0-427.16.1.el9_4 ← çalışan (uname -r ile karşılaştır)
# Eski kernel'i kaldır
sudo dnf remove kernel-5.14.0-362.13.1.el9_3
# RHEL otomatik tutma sayısı — yapılandırma
sudo nano /etc/dnf/dnf.conf
# installonly_limit=3 ← 3 kernel sakla (yeni + 2 eski)
installonly_limit ayarı sayesinde dnf her yeni kernel kurulumunda en eski kernel'i otomatik silebilir (3'ten fazla varsa). Default değer genelde 3'tür.
DKMS — Dynamic Kernel Module Support
DKMS, kernel güncellendiğinde üçüncü taraf modüllerin (örn. NVIDIA GPU sürücüsü, VirtualBox guest additions, ZFS) otomatik yeniden derlenmesini sağlayan bir çerçevedir. Modülün kaynak kodu /usr/src/MODUL-SURUM/ altına yerleştirilir; DKMS postinst hook'u ile yeni kernel için modülü derler ve /lib/modules/YENI_KERNEL/extra/ altına kurar.
Kurulu DKMS Modüllerini Listele
sudo dkms status
# nvidia/535.183.01, 5.15.0-91-generic, x86_64: installed
# nvidia/535.183.01, 5.15.0-92-generic, x86_64: installed
# virtualbox/7.0.14, 5.15.0-91-generic, x86_64: installed
# virtualbox/7.0.14, 5.15.0-92-generic, x86_64: installed
Her modül için her kurulu kernel sürümünde ayrı build görünür. installed durumu sağlıklı; broken veya not built problem demektir.
Yeni Modül Ekle / Build Et
# Kaynak kodu /usr/src/MODUL-SURUM/ altına koy
sudo cp -r ~/nvidia-535.183.01 /usr/src/nvidia-535.183.01
# DKMS'e tanıt
sudo dkms add -m nvidia -v 535.183.01
# Belirli bir kernel için build
sudo dkms build -m nvidia -v 535.183.01 -k 5.15.0-92-generic
# Kur (load için modules tree'ye kopyala)
sudo dkms install -m nvidia -v 535.183.01 -k 5.15.0-92-generic
# Otomatik depmod ve modules.dep güncelle
sudo depmod -a
/etc/dkms.conf Örneği
Modülün kaynak kodu içinde dkms.conf dosyası DKMS'e nasıl derleyeceğini söyler:
PACKAGE_NAME="nvidia"
PACKAGE_VERSION="535.183.01"
BUILT_MODULE_NAME[0]="nvidia"
DEST_MODULE_LOCATION[0]="/kernel/drivers/video"
AUTOINSTALL="yes"
MAKE[0]="make -j8 KERNEL_VERSION=${kernelver}"
CLEAN="make clean"
AUTOINSTALL=yes parametresi kritiktir; her yeni kernel kurulumunda otomatik build tetiklenir.
Yaygın DKMS Hataları ve Çözümleri
- "Kernel headers not found" —
linux-headers-$(uname -r)paketi kurulu değil. Çözüm:sudo apt install linux-headers-$(uname -r). - "gcc version mismatch" — kernel başka GCC versiyonu ile derlendi. Çözüm: distro standart GCC'sini kullan, ya da
CC=gcc-11 dkms build .... - "Module build failed" — modül kaynak kodu yeni kernel API'siyle uyumsuz. Çözüm: modül yeni sürümüne yükselt (NVIDIA güncel driver indir).
- "Module not signed, Secure Boot enforce" — UEFI Secure Boot açıkken imzasız modül yüklenmez. Çözüm: kendi MOK (Machine Owner Key) anahtarınızı oluşturup modülü imzalayın veya Secure Boot kapatın.
Kernel Modülü Yönetimi (modprobe, lsmod)
DKMS'ten bağımsız olarak, kernel modüllerini doğrudan yönetebilirsiniz.
# Yüklü modülleri listele
lsmod | head
# Module Size Used by
# nf_conntrack 188416 6 nf_nat,nf_conntrack_netlink,...
# nfsd 516096 2
# nfs_acl 16384 1 nfsd
# ...
# Belirli modülü yükle
sudo modprobe nfsd
# Modülü kaldır (kullanımda değilse)
sudo modprobe -r nfsd
# Modül bilgisi
modinfo nfsd
# filename: /lib/modules/5.15.0-91-generic/kernel/fs/nfsd/nfsd.ko
# license: GPL
# author: ...
# depends: ...
# parm: nfs4_disable_idmapping:bool
# Modül parametreleri ile yükle
sudo modprobe nfsd nfs4_disable_idmapping=1
Boot Zamanı Modül Yükleme
Bazı modüller boot sırasında otomatik yüklenmez (örneğin br_netfilter Kubernetes için gerekli). /etc/modules-load.d/ altına dosya ekleyin:
# /etc/modules-load.d/kubernetes.conf
br_netfilter
overlay
ip_vs
ip_vs_rr
Reboot sonrası bu modüller otomatik yüklenir.
Modül Blacklist
Belirli bir modülün yüklenmesini engelle (donanım sürücü çakışması, debug için):
# /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
NVIDIA proprietary sürücü kurulumunda nouveau (açık kaynak alternatif) blacklist'lenir.
Kernel Konfigürasyonunu Okuma
Bir kernel'in nasıl derlendiğini öğrenmek için config dosyasına bakın:
# /proc içinden (eğer CONFIG_IKCONFIG_PROC=y ile derlendiyse)
zcat /proc/config.gz | grep CONFIG_DEBUG_INFO
# /boot içinden
cat /boot/config-$(uname -r) | grep CONFIG_BPF
Örnek senaryolar: yeni bir özellik (BPF, KVM, NFTABLES) bu kernel'de destekleniyor mu kontrol etmek; bir özelliği aktive etmek için yeniden derlemek gerekiyor mu sormak.
Canlı Yama (Livepatching) — Reboot'suz Güvenlik Yaması
Geleneksel kernel güncelleme reboot gerektirir; bu da kısa da olsa kesinti demektir. 7/24 hizmet veren bir e-ticaret sitesi, bir veritabanı kümesi, bir kurumsal API için 60 saniyelik reboot bile sorundur. Canlı yama (Livepatching) teknolojisi tam da bu sorun için doğdu.
Canlı Yama Nasıl Çalışır?
Temel fikir: çalışan kernel kodunun belirli fonksiyonlarını çalışma zamanında yeni bir versiyonla değiştirmek. Linux'un ftrace altyapısı zaten fonksiyon çağrılarını izleyebilecek hook'lar sağlar; canlı yama bu hook'ları kullanarak eski fonksiyon yerine yeni patch'lenmiş fonksiyona yönlendirir.
ESKİ AKIŞ YAMA SONRASI
───────────── ─────────────
syscall → kernel_func_v1() syscall → ftrace hook
(zafiyetli) → kernel_func_v2()
(yamalı)
Reboot olmadan, çalışan üretim sunucusunda kritik bir CVE bu şekilde yamanır. Kullanıcılar farkına bile varmaz.
Sınırları
Canlı yama her şey için değil:
- Yapısal değişiklikler patch'lenmez — eğer bir struct'a yeni field eklenmişse, bellek layout değişmiş demektir; bu canlı patch ile yapılamaz, reboot gerekir.
- Çekirdek API değişiklikleri — modül-kernel arayüzü değiştiyse modüller yeniden derlenmeli, reboot gerekli.
- LTS branch'lerine özgü — canlı yama servisleri genellikle LTS sürümlerini destekler; mainline veya çok güncel sürümler kapsam dışı.
Ortalama olarak yıllık çıkan kernel CVE'lerinin %80-90'ı canlı yama ile karşılanabilir; geri kalan %10-20 için planlı bakım reboot'u gerekir.
KernelCare — CloudLinux Ürünü (Buyukweb Gerçek Özellik)
KernelCare CloudLinux Inc. tarafından geliştirilen ticari canlı yama servisidir. cPanel paylaşımlı sunucularda en yaygın kullanılan çözümdür.
- Otomatik patch dağıtımı — yeni CVE çıktığında KernelCare ekibi yama hazırlar; agent günde birkaç kez patch sunucusuyla konuşur ve var olan patch'leri uygular.
- Destek matrisi — CentOS 7/8, AlmaLinux 8/9, Rocky 8/9, RHEL 7/8/9, Ubuntu 16.04-24.04, Debian 10-12, CloudLinux 6/7/8/9.
- Hipervizör desteği — KVM, Xen, VMware ESXi, Hyper-V, bare metal — fark etmez, kernel space'te çalıştığı için ortamdan bağımsızdır.
- CloudLinux paketinde dahil — Buyukweb cPanel sunucularımızda CloudLinux çalışır; CloudLinux+KernelCare lisansı bu paketin parçasıdır. Müşterimiz olarak siz ek bir şey yapmıyorsunuz; biz CVE'leri canlı yamıyoruz.
VDS müşterileriniz için ayrı bir hikaye: VDS'te root erişim sizde olduğu için isterseniz kendi KernelCare lisansınızı CloudLinux'tan alıp kurabilirsiniz. Lisans yıllık ücretlidir; mission-critical uygulamalar için yatırımın geri dönüşü hızlıdır.
KernelCare agent kurulumu kısaca:
# Lisans key ile aktivasyon
curl -s -L https://kernelcare.com/installer | bash
sudo kcarectl --register KEY-XXX-XXX-XXX
# Mevcut patch'leri uygula
sudo kcarectl --update
# Durum kontrol
sudo kcarectl --info
# Latest patch level: 5.15.0-91-generic-patch-2026-05-15
Ubuntu Pro Livepatch — Canonical
Canonical (Ubuntu yapımcısı) Ubuntu Pro abonelik altında Livepatch servisi sunar.
- Ücretsiz tier — bireysel kullanım için 3 makineye kadar ücretsiz (Ubuntu Pro free for personal use).
- Kurumsal tier — Ubuntu Pro abonelik gerekir.
- Sadece Ubuntu LTS — 18.04, 20.04, 22.04, 24.04 sürümleri.
Aktivasyon:
# Ubuntu Pro client kurulu mu (default 22.04+ kurulu gelir)
sudo apt install ubuntu-advantage-tools
# Ücretsiz tier için Ubuntu One hesabıyla token al, sonra:
sudo pro attach TOKEN-XXX-XXX-XXX
# Livepatch aktive
sudo pro enable livepatch
# Durum
sudo pro status
# SERVICE ENTITLED STATUS DESCRIPTION
# livepatch yes enabled Canonical Livepatch service
kpatch — Red Hat Açık Kaynak
kpatch Red Hat'ın geliştirdiği açık kaynak canlı yama çerçevesidir.
- GPL lisanslı, ücretsiz
- RHEL ve türevlerinde (AlmaLinux, Rocky) çalışır
- Patch hazırlama daha karmaşık — ticari servis (KernelCare gibi) yerine kendi patch'inizi derleyip uygularsınız
- Red Hat Enterprise abonelikte otomatik patch desteği var
sudo dnf install kpatch
sudo systemctl enable --now kpatch
# Patch yükle (kpatch RPM olarak gelir)
sudo dnf install kpatch-patch-5_14_0-427_16_1
sudo kpatch list
kGraft — SUSE
kGraft SUSE Linux Enterprise için canlı yama çözümüdür. Buyukweb müşteri kitlemizde SLES yaygın olmasa da, SUSE altyapı kullanan kurumlar için referans olarak biliyoruz.
Karşılaştırma Tablosu
| Servis | Sağlayıcı | Lisans | Distro Kapsamı | Buyukweb Müşteri |
|---|---|---|---|---|
| KernelCare | CloudLinux | Ticari | CentOS, AlmaLinux, Rocky, RHEL, Ubuntu, Debian, CloudLinux | cPanel paketi dahil |
| Ubuntu Livepatch | Canonical | Ubuntu Pro (3 makine ücretsiz) | Ubuntu LTS | VDS'te aktive edebilirsiniz |
| kpatch | Red Hat | Açık kaynak (GPL) | RHEL, AlmaLinux, Rocky | VDS'te self-host kurulum |
| kGraft | SUSE | SUSE Enterprise | SLES | Yaygın değil |
Initramfs ve Dracut — Boot Imajının Yeniden Üretilmesi
Kernel boot sürecinde rootfs (kök dosya sistemi) henüz mount edilmemiştir. Bu erken aşamada disk sürücüleri, LVM, RAID, LUKS şifreleme gibi bileşenleri yüklemek için initramfs (initial RAM filesystem) kullanılır.
Initramfs küçük bir cpio archive'idir; içinde minimal busybox, modüller ve init script yer alır. Boot loader initrd.img-X.Y.Z dosyasını kernel ile birlikte RAM'e yükler; kernel boot olduktan sonra initramfs'i geçici rootfs olarak mount eder, gerekli modülleri yükler, asıl rootfs'i mount eder ve sonunda kontrolü ona devreder.
Ubuntu / Debian — update-initramfs
# Sadece çalışan kernel için
sudo update-initramfs -u
# Tüm kurulu kernel'ler için
sudo update-initramfs -u -k all
# Belirli kernel için
sudo update-initramfs -u -k 5.15.0-92-generic
update-initramfs çağrısı paketleme sırasında otomatik yapılır; manuel ihtiyaç genelde özel modül eklediğinizde veya şifreli disk yapılandırması değiştiğinde doğar.
RHEL / AlmaLinux — Dracut
# Çalışan kernel için
sudo dracut --force
# Tüm kernel'ler için
sudo dracut --force --regenerate-all
# Belirli kernel için
sudo dracut --force /boot/initramfs-5.14.0-427.16.1.el9_4.x86_64.img 5.14.0-427.16.1.el9_4.x86_64
/etc/dracut.conf ile hangi modüllerin initramfs'e eklenip eklenmeyeceğini özelleştirebilirsiniz.
Initramfs Boyut Optimizasyonu
Bazı sunucularda initramfs çok şişer (200-300 MB). Bunu daraltmak için /etc/initramfs-tools/initramfs.conf:
MODULES=dep # most | dep | netboot
# dep = sadece o sistemde kullanılan modülleri ekle (daha küçük)
COMPRESS=zstd # gzip | bzip2 | lzma | lz4 | zstd
# zstd modern, hızlı dekompresyon, küçük dosya
Boyut küçük olunca boot süresi kısalır.
Kernel Panic Debug — kdump ve Crash Analizi
Kernel panic çekirdeğin onarılamaz bir hata vermesi durumudur. Sistem donar, syslog'a yazamaz; tek başvuru noktası crash dump'tır. kdump mekanizması kernel paniği anında belleğin tamamını (veya bir kısmını) ikincil bir kernel üzerinden diske yazar; sonraki boot'ta bu dump dosyası crash aracıyla analiz edilir.
kdump Kurulumu
# Ubuntu
sudo apt install linux-crashdump
sudo dpkg-reconfigure linux-crashdump
# "Yes" diyerek kdump'ı aktive edin
# AlmaLinux / RHEL
sudo dnf install kexec-tools
sudo systemctl enable --now kdump
# Durum
sudo kdumpctl status # RHEL
sudo systemctl status kdump # Ubuntu
kdump bellekten crashkernel için ayrı bir blok rezerve eder (~256 MB-1 GB). Bu rezerv /proc/cmdline'da crashkernel=... parametresiyle görünür.
Panik Sonrası Dump Analizi
Panik olduğunda dump tipik olarak /var/crash/YYYY-MM-DD-HH-MM/ altına yazılır.
# Crash debugging tool
sudo apt install crash
# veya RHEL: sudo dnf install crash
# Dump dosyasını analiz et
sudo crash /usr/lib/debug/boot/vmlinux-$(uname -r) /var/crash/202605101030/vmcore
# crash> log (panic anındaki kernel log)
# crash> bt (backtrace — paniği tetikleyen call stack)
# crash> ps (panic anındaki süreçler)
Soft Lockup ve Hung Task Detection
Kernel sysctl parametreleriyle kendi sağlığını izler:
# /etc/sysctl.conf veya /etc/sysctl.d/99-kernel.conf
kernel.panic = 10 # panic sonrası 10 saniye bekle, reboot et
kernel.panic_on_oops = 1 # oops -> panik (saçma durumlarda hızlı reset)
kernel.hung_task_timeout_secs = 120 # 120 saniye yanıt vermeyen task -> log
kernel.watchdog_thresh = 10 # 10 saniyelik soft lockup eşik
Detaylı sysctl tuning için ayrı rehberimizde derinlemesine işliyoruz.
Seri Konsol — Buyukweb VDS KVM Web Konsol
Bir sunucu kernel paniği ile dondu, SSH bağlantısı yanıt vermiyor. Ne yaparsınız? Out-of-band konsol gerekir — yani sunucunun normal ağ bağlantısından bağımsız bir erişim yolu.
Buyukweb VDS planlarımızda KVM tabanlı web konsol her müşteriye standart sağlanır. Müşteri panelinden:
- VDS'e tıkla → "Konsol" sekmesi
- HTML5 noVNC tabanlı arayüzden sunucunun gerçek ekranını görürsünüz (BIOS, GRUB menüsü, kernel boot mesajları)
- Klavye/fare kontrolü sizde — Ctrl+Alt+Del bile çalışır
Bu sayede:
- Kernel paniği sırasında ekrandaki backtrace'i okuyabilirsiniz
- Yeni kernel boot etmediyse GRUB menüsünden eski kernel'i seçebilirsiniz
- rescue mode'a geçebilirsiniz
- Network down olsa bile sunucuya konsol erişiminiz vardır
SSH'in olmadığı durumda KVM web konsol can simididir. Buyukweb destek hattımız 0850 302 60 70 üzerinden de konsol erişiminde yardım alabilirsiniz.
Yeni Kernel Boot Etmedi — Rollback Senaryosu
En kritik senaryo: yeni kernel kuruldu, reboot edildi, ve sunucu açılmıyor. Boot başlangıçta donuyor, kernel panic veriyor, ya da SSH gelmiyor.
Adım 1: Web Konsoldan GRUB Menüsüne Eriş
1. Buyukweb müşteri paneli → VDS → Konsol
2. Sunucuya reboot komutu gönder (panel üzerinden veya konsol içinde)
3. POST sonrası GRUB ekranı geldiğinde Shift veya Esc tuşu basılı tut
4. Menü açılır:
- Ubuntu
- Advanced options for Ubuntu
- Ubuntu, with Linux 5.15.0-92-generic ← yeni, sorunlu
- Ubuntu, with Linux 5.15.0-92-generic (recovery mode)
- Ubuntu, with Linux 5.15.0-91-generic ← eski, çalışan
- Ubuntu, with Linux 5.15.0-91-generic (recovery mode)
5. Ok tuşlarıyla eski kernel'i seç → Enter
Eski kernel ile sistem açıldıktan sonra:
# Önceki kernel'i kalıcı default yap
sudo grub-set-default "Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-91-generic"
sudo update-grub
# Sorunlu yeni kernel'i kaldır
sudo apt purge linux-image-5.15.0-92-generic linux-modules-5.15.0-92-generic
sudo update-grub
# Reboot ve doğrula
sudo reboot
uname -r
# 5.15.0-91-generic ← eski, stabil
Adım 2: GRUB Bozulduysa — Rescue Mode
GRUB tamamen bozulduysa (örneğin disk değiştirme, MBR/GPT corruption), Buyukweb VDS panelinden rescue ISO boot edilebilir.
1. Müşteri paneli → VDS → Rescue Mode (veya Recovery ISO)
2. SystemRescueCD veya Ubuntu Live ISO seçilir → reboot
3. ISO'dan açılır, root erişim
4. Disk mount:
sudo mount /dev/vda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
5. GRUB yeniden kur:
grub-install /dev/vda
update-grub
6. Çık, rescue ISO'dan ayrıl, normal boot
Bu prosedür dosya sistemi bozulması, boot loader corruption gibi nadir senaryolarda hayat kurtarır.
Adım 3: Tam Disk Snapshot'tan Geri Yükleme
GRUB tamir edilemezse veya rootfs corrupt ise son çare snapshot rollback'tir.
1. Müşteri paneli → VDS → Yedekler / Snapshots
2. Kernel güncelleme öncesi alınan snapshot'ı seç
3. "Restore" → onay → ~5-15 dakika içinde sunucu o ana geri döner
Buyukweb prensibi: Kernel güncelleme öncesi mutlaka snapshot alın. Ayda 1-2 snapshot beklenmedik durumlar için sigortadır.
Real-Time Kernel (PREEMPT_RT) ve Özel Kullanım
Standart Linux kernel'i preemptible (önceliklendirilebilir) ama soft real-time değildir; bir interrupt geldiğinde işlenme süresi (latency) milisaniyeler arasında değişir. Bazı sektörler için bu yetersizdir:
- Endüstriyel otomasyon — robotik, CNC tezgah, fabrika kontrol sistemleri
- Profesyonel ses üretimi — düşük gecikme audio (DAW, JACK)
- Yüksek frekanslı trading — mikrosaniye seviyesi finansal işlem
- Bilimsel gerçek zamanlı veri toplama — radar, sismograf
PREEMPT_RT patch seti kernel'i hard real-time yapar. Interrupt latency'si milisaniye altına çekilir; deterministik davranış garanti edilir.
# Ubuntu Real-Time kernel (Ubuntu Pro abonelik gerektirir)
sudo apt install linux-realtime
# Veya manuel kernel derleme + PREEMPT_RT patch
# Karmaşık, kapsamı bu yazıyı aşar
Buyukweb müşteri kitlemizde gerçek zamanlı kernel ihtiyacı nadirdir (genelde web/db iş yükleri), ama özel sektör müşterilerimize VDS üzerinde rt-kernel kurulum desteği verebiliyoruz.
HZ, Tickless Kernel ve Boot Time
Linux kernel'i süreç planlayıcısı belirli zaman aralıklarında (timer interrupt) çalışır. Bu aralığa HZ denir; 250 Hz (4 ms), 1000 Hz (1 ms) gibi değerler distro derlemesinde sabittir.
Modern kernel'ler tickless (NO_HZ) modu destekler:
- CONFIG_NO_HZ_IDLE — CPU boştayken timer interrupt durur, enerji tasarrufu
- CONFIG_NO_HZ_FULL — CPU bir görevle yoğunken bile gereksiz interrupt durur, latency düşer
VDS müşterilerimiz default config'i değiştirmek zorunda kalmaz; ama özel iş yükleri için bu config'leri bilmek faydalıdır.
Boot Süresi Analizi
systemd-analyze ile sistem boot süresi parçalanır:
systemd-analyze
# Startup finished in 4.123s (kernel) + 12.456s (userspace) = 16.579s
# graphical.target reached after 12.456s in userspace.
systemd-analyze blame
# 5.234s NetworkManager-wait-online.service
# 3.123s docker.service
# 2.567s apt-daily.service
# ...
systemd-analyze critical-chain
# graphical.target @12.456s
# └─multi-user.target @12.455s
# └─docker.service @9.332s +3.123s
# └─...
Kernel boot süresi (4.123s) genelde 2-6 saniyedir; daha uzun ise initramfs, modül yükleme veya disk sürücü problemleri olabilir.
dmesg ile Boot Mesajları
sudo dmesg -T | head -40 # tarihli (timestamp) kernel mesajları
sudo dmesg -l err # sadece error level
sudo dmesg -l warn,err # warning + error
sudo dmesg --follow # canlı izle
Yeni kernel kurulumu sonrası dmesg'i tarayın; "Call Trace", "oops", "WARNING", "BUG" gibi anahtar kelimeleri arayın.
Buyukweb Kernel Karar Matrisi
Hangi yaklaşım sizin için doğru?
| Senaryo | Önerilen Strateji |
|---|---|
| cPanel paylaşımlı hosting müşterisi | CloudLinux + KernelCare otomatik canlı yama — siz dokunmuyorsunuz, biz yönetiyoruz |
| VDS — küçük site, az trafik | Distro default kernel (Ubuntu generic, AlmaLinux default) + aylık apt upgrade + planlı reboot bakım penceresinde |
| VDS — orta trafik, e-ticaret | Distro default kernel + aylık güncelleme + KernelCare lisansı (canlı yama, reboot minimum) |
| VDS — mission-critical, 7/24 | Ubuntu LTS + Ubuntu Pro Livepatch (Pro abonelik) veya KernelCare; minimum 2 kernel'lik rollback hazırlığı |
| VDS — yeni donanım, özel sürücü | Ubuntu HWE veya AlmaLinux ELRepo kernel-ml + DKMS modül yönetimi + Secure Boot off |
| VDS — gerçek zamanlı uygulama | Ubuntu real-time kernel (Pro) veya PREEMPT_RT manual; ayrıntılı performans testi şart |
Yıllık Bakım Takvimi Önerisi
| Periyot | Yapılacak | Buyukweb Yaklaşımı |
|---|---|---|
| Haftalık | apt update && apt list --upgradable (sadece liste) |
Müşteri kontrolünde |
| Aylık | Bakım penceresinde apt upgrade + reboot |
Snapshot al, sonra güncelle |
| 3 aylık | Eski kernel temizliği (apt autoremove --purge) |
/boot doluluk kontrol |
| 6 aylık | Distro point release upgrade kontrolü (22.04.4 → 22.04.5 vb.) | Test ortamında dene |
| Yıllık | LTS major upgrade değerlendirmesi (22.04 → 24.04) | Yeni VDS'te paralel test |
Sık Sorulan Sorular (SSS)
"Linux kernel güncellemek zorunlu mu?"
Pratik olarak evet. Her yıl kernel'de 30-50 kritik güvenlik açığı rapor edilir (CVE listesinde "kernel" ile filtrele). Çoğu yerel privilege escalation (yetki yükseltme) seviyesinde olsa da, web sunucu hacklenmiş bir hesabın bu açıklarla root'a çıkması demektir. Eski bir kernel = saldırgan için açık kapı. Yılda en az 2-3 kez güncelleme yapın; ideali aylıktır.
"KernelCare ücretli mi? Buyukweb cPanel paketinde dahil mi?"
KernelCare CloudLinux Inc.'in ticari ürünüdür. Lisans yıllık ücretlidir. Buyukweb cPanel paketlerimizde CloudLinux çalıştığı için KernelCare canlı yama servisi paketin parçası olarak müşterilerimize sağlanır — yani siz ek bir şey ödemiyorsunuz, otomatik kullanıyorsunuz. VDS müşterilerimiz için durum farklı: VDS'te root size ait, dilerseniz CloudLinux'tan kendi KernelCare lisansınızı alıp kurabilirsiniz; biz lisansı dahil sunmuyoruz.
"Reboot etmeden kernel güvenlik yamasını nasıl uygularım?"
Üç ana seçenek var: (1) KernelCare — CloudLinux Inc. ticari servisi, çoğu distro destekler, otomatik patch; (2) Ubuntu Pro Livepatch — Canonical, Ubuntu LTS, ücretsiz tier 3 makine; (3) kpatch — Red Hat açık kaynak, RHEL ailesi, manuel patch derleme. Buyukweb cPanel müşterisi olarak KernelCare zaten dahil; VDS müşterisi olarak hangisini seçeceğiniz distro ve bütçenize bağlı.
"VDS'te kendi kernel'imi derleyip kurabilir miyim?"
Evet. VDS'te tam root erişim sizde olduğu için /usr/src/linux-X.Y altına kernel kaynak kodu indirebilir, make menuconfig ile config yapıp make -j4 && make modules_install && make install ile özel kernel kurabilirsiniz. Önerimiz: önce snapshot alın, sonra make oldconfig ile mevcut config'i temel alın; tamamen sıfırdan menuconfig yapmak bilgi gerektirir. Buyukweb destek hattımız özel kernel derleme süreçlerinde rehberlik edebilir.
"Distro paketi mi, mainline mı tercih edeyim?"
Sunucu için her zaman distro paketi. Distro maintainerlar test, imzalama, modül uyumluluğu, güvenlik backport gibi katma değerler sunar. Mainline kernel sürpriz regresyon riski yüksektir; çoğu kurum bunu ödemek istemez. İstisna: yeni donanım uyumluluğu için Ubuntu HWE veya AlmaLinux'ta ELRepo kernel-ml/kernel-lt. Bu durumda da distro paketleyici garantisi (HWE Canonical, ELRepo topluluk) vardır.
"Yeni kernel boot etmiyor, sunucu açılmıyor — ne yapayım?"
Buyukweb VDS müşterisiyseniz: (1) Müşteri panelinden KVM web konsola girin; (2) sunucuyu reboot edin, GRUB ekranı geldiğinde Shift veya Esc ile menüyü açın; (3) "Advanced options" → bir önceki kernel sürümünü seçin → Enter; (4) sistem eski kernel ile açılır, içerden sudo apt purge linux-image-SORUNLU ile yenisini kaldırın. Eski kernel de yoksa veya GRUB bozulduysa rescue ISO modu veya snapshot restore seçeneklerini kullanırsınız. 0850 302 60 70 destek hattımız 7/24 size eşlik eder.
"Eski kernel'ler /boot'u dolduruyor — ne yapacağım?"
Ubuntu/Debian'da sudo apt autoremove --purge çoğu zaman yeterli. Manuel temizlik için dpkg -l | grep linux-image ile listele, çalışan ve son birkaç sürüm dışındakileri sudo apt purge ESKI-KERNEL ile kaldır, ardından sudo update-grub. En az 2 kernel kalsın — biri çalışan, biri rollback için. AlmaLinux'ta /etc/dnf/dnf.conf içinde installonly_limit=3 ayarı otomatik temizlik sağlar.
"DKMS modülüm yeni kernel için derlenmedi — ne yapayım?"
İlk önce linux-headers-$(uname -r) paketinin kurulu olduğundan emin olun (yeni kernel ile birlikte gelmeli ama bazen eksik olur). Sonra sudo dkms status ile durumu görün. broken veya not built görüyorsanız sudo dkms autoinstall ile tüm kayıtlı modülleri tüm kurulu kernel'ler için yeniden derleyebilirsiniz. Hâlâ başarısızsa modül kaynak kodunu (NVIDIA driver vb.) güncel sürüme yükseltin; yeni kernel API'siyle uyumlu olmalı.
Sonuç ve Sonraki Adımlar
Linux çekirdek güncellemesi göründüğü kadar korkutucu değildir — ama disipline edilmiş bir prosedürle yapılmazsa gerçekten korkutucu olur. Özetlemek gerekirse:
- Her zaman snapshot al — kernel güncelleme öncesi Buyukweb VDS panelinden tek tıkla snapshot
- Distro paketini tercih et — Ubuntu generic, Debian amd64, AlmaLinux default; mainline'a yeni donanım gerekmedikçe geçme
- LTS sürüm kullan — sunucularda mainline değil, LTS = istikrar
- En az 2 kernel sakla —
installonly_limit=3,apt autoremoveama 2 sürümlük rollback bırak - DKMS modüllerini düzenli güncel tut — NVIDIA, VirtualBox, ZFS gibi 3rd party modüller her kernel güncellemesinde otomatik derlenir
- Canlı yama düşün — KernelCare (cPanel paketinde dahil), Ubuntu Pro Livepatch, veya kpatch ile reboot ihtiyacı minimize
- GRUB ve KVM web konsol — kötü güncelleme sonrası rollback için iki vazgeçilmez araç
- kdump aktif tut — kernel panic sonrası crash dump olmazsa sebep bulunamaz
- Aylık bakım takvimi — bir bakım penceresi belirle, snapshot al, güncelle, doğrula
Buyukweb cPanel paylaşımlı paket müşterilerimiz için kernel güncelleme süreci tamamen bizim sorumluluğumuzdadır; CloudLinux + KernelCare otomatik canlı yama ile reboot ihtiyacı minimumdur. VDS müşterilerimiz için ise yukarıdaki prosedürlerin uygulayıcısı sizsiniz; ama her adımda Bursa Tier 3 veri merkezimizdeki destek ekibimiz, KVM web konsol erişimi, snapshot yedek altyapısı yanınızdadır.
İlgili Büyükweb Hizmetleri
- VDS Sunucu — Root erişim, KVM web konsol, snapshot yedek, kendi kernel sürümünüzü çalıştırın
- cPanel Web Hosting — CloudLinux + KernelCare canlı yama dahil paylaşımlı paket
- CloudLinux Nedir — LVE, CageFS, KernelCare derinlemesine
- AlmaLinux Kurulum — RHEL uyumlu açık kaynak distro
- Debian Güncelleme — apt vs apt-get + distro upgrade
- Linux Disk Yönetimi —
/bootboyut planlama ve partition stratejisi - Linux Performans İzleme —
dmesg,systemd-analyze,top,htopboot ve runtime tanı - Paket Karşılaştırma — VDS planları, RAM ve CPU seçim rehberi
Kernel güncelleme, canlı yama planlama, DKMS modül sorunları veya VDS rollback senaryoları için 0850 302 60 70 numaralı destek hattımızı arayabilir veya iletişim sayfamıza mesaj bırakabilirsiniz. Bursa Tier 3 veri merkezimizden 7/24 sysadmin desteği sağlıyoruz.
İşletim Sistemleri İlgili Hizmetlerimiz
Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin
Etiketler:

