Der Linux Kernel ist das Herzstück des Systems. Regelmäßige Updates bringen Sicherheitspatches und neue Hardware-Unterstützung.
Aktuelle Version prüfen
# Kernel-Version
uname -r
# Detaillierte Info
uname -a
# Alle installierten Kernel
dpkg --list | grep linux-image # Debian/Ubuntu
rpm -qa | grep kernel # CentOS/RHELKernel aktualisieren
Debian/Ubuntu
# Verfügbare Updates prüfen
apt update
apt list --upgradable | grep linux
# Kernel aktualisieren
apt upgrade linux-image-generic linux-headers-generic
# Oder alle Updates
apt full-upgradeCentOS/RHEL
# Updates prüfen
dnf check-update kernel
# Kernel aktualisieren
dnf update kernel
# Oder automatisch
dnf updateNach Update
# Neustart erforderlich
reboot
# Neue Version prüfen
uname -rAlte Kernel entfernen
Debian/Ubuntu
# Installierte Kernel auflisten
dpkg --list | grep linux-image
# Alte Kernel entfernen
apt autoremove --purge
# Manuell entfernen
apt remove --purge linux-image-5.15.0-50-genericAutomatisches Bereinigen
# /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";CentOS/RHEL
# Alte Kernel auflisten
rpm -qa | grep kernel | sort
# Automatisch bereinigen (behält 3)
dnf remove $(dnf repoquery --installonly --latest-limit=-3 -q)
# Anzahl beizubehaltender Kernel konfigurieren
# /etc/dnf/dnf.conf
installonly_limit=3Kernel-Version fixieren
Version halten (Debian/Ubuntu)
# Kernel-Updates verhindern
apt-mark hold linux-image-generic linux-headers-generic
# Status prüfen
apt-mark showhold
# Wieder freigeben
apt-mark unhold linux-image-generic linux-headers-genericCentOS/RHEL
# Version ausschließen
# /etc/dnf/dnf.conf
exclude=kernel*
# Oder mit versionlock
dnf install python3-dnf-plugin-versionlock
dnf versionlock kernel-*Bestimmten Kernel installieren
Debian/Ubuntu
# Verfügbare Versionen suchen
apt-cache search linux-image | grep generic
# Bestimmte Version installieren
apt install linux-image-5.15.0-generic linux-headers-5.15.0-genericNeueren Kernel installieren (HWE)
# Hardware Enablement Stack (Ubuntu LTS)
apt install linux-generic-hwe-22.04Mainline Kernel (Ubuntu)
# Mainline Kernel installieren
add-apt-repository ppa:cappelikan/ppa
apt update
apt install mainline
# GUI starten
mainlineDKMS-Module
DKMS prüfen
# Installierte DKMS-Module
dkms status
# Bei Kernel-Update automatisch bauen
dkms autoinstall -k $(uname -r)Probleme beheben
# Modul neu bauen
dkms remove -m nvidia -v 535.86.05 -k $(uname -r)
dkms install -m nvidia -v 535.86.05 -k $(uname -r)Zum älteren Kernel booten
Temporär (GRUB)
1. Beim Boot: Shift gedrückt halten
2. "Advanced options for Ubuntu" wählen
3. Älteren Kernel auswählenPermanent
# /etc/default/grub
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-50-generic"
# Aktualisieren
update-grubKernel-Parameter
Boot-Parameter
# /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="net.ifnames=0"
update-grubLaufzeit-Parameter
# Aktuellen Wert lesen
sysctl vm.swappiness
# Temporär ändern
sysctl -w vm.swappiness=10
# Permanent
echo "vm.swappiness=10" >> /etc/sysctl.conf
sysctl -pKernel selbst kompilieren
Quellcode herunterladen
cd /usr/src
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.7.tar.xz
tar -xf linux-6.7.tar.xz
cd linux-6.7Konfiguration
# Aktuelle Konfiguration kopieren
cp /boot/config-$(uname -r) .config
# Menü-Konfiguration
make menuconfig
# Oder alte Konfig verwenden
make oldconfigKompilieren und Installieren
# Kompilieren (kann Stunden dauern)
make -j$(nproc)
# Module installieren
make modules_install
# Kernel installieren
make install
# GRUB aktualisieren
update-grubTroubleshooting
Kernel Panic
# Zum alten Kernel booten (GRUB-Menü)
# Dann problematischen Kernel entfernen
apt remove linux-image-PROBLEMATIC-VERSIONDKMS-Fehler nach Update
# Alle Module neu bauen
dkms autoinstall
# Fehlende Header installieren
apt install linux-headers-$(uname -r)Kein Netzwerk nach Update
# Netzwerk-Modul prüfen
lsmod | grep -E "(e1000|igb|ixgbe)"
# Modul laden
modprobe e1000eGrafik-Probleme
# Ohne GUI booten
# Am GRUB: 'nomodeset' anhängen
# Grafiktreiber neu installieren
apt install --reinstall nvidia-driver-535Live-Kernel-Patching
Canonical Livepatch (Ubuntu)
# Aktivieren
snap install canonical-livepatch
canonical-livepatch enable TOKEN
# Status
canonical-livepatch statusKernelCare
# Installieren
curl -s https://repo.cloudlinux.com/kernelcare/kernelcare_install.sh | bash
kcarectl --register KEY
# Status
kcarectl --infoZusammenfassung
| Befehl | Funktion | |--------|----------| | uname -r | Aktuelle Version | | apt upgrade linux-image-generic | Kernel updaten | | apt autoremove --purge | Alte Kernel entfernen | | apt-mark hold | Updates verhindern | | dkms status | DKMS-Module prüfen |
| Datei | Beschreibung | |-------|--------------| | /boot/vmlinuz- | Kernel-Images | | /boot/initrd.img- | Initial RAM Disk | | /boot/config- | Kernel-Konfiguration | | /lib/modules/ | Kernel-Module |
Fazit
Kernel-Updates sind wichtig für Sicherheit und Hardware-Support. Behalten Sie immer mindestens einen funktionierenden Kernel als Fallback. DKMS-Module müssen nach Updates neu gebaut werden. Bei Problemen können Sie im GRUB-Menü zum vorherigen Kernel zurückkehren. Für Produktivsysteme empfiehlt sich Live-Patching, um Neustarts zu vermeiden.