Buyukweb
Linux Kernel Güncelleme: Canlı Yama, DKMS, GRUB ve Kurtarma

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ı.

Büyükweb Editör EkibiHosting, Sunucu ve Sistem Yönetimi Editörü30 dakika okuma

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=off gibi 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:

  1. VDS'e tıkla → "Konsol" sekmesi
  2. HTML5 noVNC tabanlı arayüzden sunucunun gerçek ekranını görürsünüz (BIOS, GRUB menüsü, kernel boot mesajları)
  3. 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:

  1. Her zaman snapshot al — kernel güncelleme öncesi Buyukweb VDS panelinden tek tıkla snapshot
  2. Distro paketini tercih et — Ubuntu generic, Debian amd64, AlmaLinux default; mainline'a yeni donanım gerekmedikçe geçme
  3. LTS sürüm kullan — sunucularda mainline değil, LTS = istikrar
  4. En az 2 kernel saklainstallonly_limit=3, apt autoremove ama 2 sürümlük rollback bırak
  5. DKMS modüllerini düzenli güncel tut — NVIDIA, VirtualBox, ZFS gibi 3rd party modüller her kernel güncellemesinde otomatik derlenir
  6. Canlı yama düşün — KernelCare (cPanel paketinde dahil), Ubuntu Pro Livepatch, veya kpatch ile reboot ihtiyacı minimize
  7. GRUB ve KVM web konsol — kötü güncelleme sonrası rollback için iki vazgeçilmez araç
  8. kdump aktif tut — kernel panic sonrası crash dump olmazsa sebep bulunamaz
  9. 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

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:

#işletim sistemi#sunucu os#linux

Bu yazıyı paylaş