Einleitung
In diesem Dokument wird beschrieben, wie Fehler 11 im Secure Endpoint Linux-Connector identifiziert, behoben und überprüft wird.
Bestimmen der BTF-Unterstützung
Damit der Connector Dateisystem- und Netzwerkereignisse mithilfe von eBPF überwachen kann, muss einer der folgenden Werte zutreffen:
- Im aktuellen Kernel ist
CONFIG_DEBUG_INFO_BTF
aktiviert, oder
- Für den aktuellen Kernel ist ein Kernel-Header installiert.
Es ist bevorzugt, dass Ihr Kernel CONFIG_DEBUG_INFO_BTF
aktiviert hat. Um zu überprüfen, ob CONFIG_DEBUG_INFO_BTF
auf Ihrem aktuellen Kernel aktiviert ist, führen Sie folgenden Befehl aus:
cat /boot/config-$(uname -r) | grep CONFIG_DEBUG_INFO_BTF
Wenn Sie CONFIG_DEBUG_INFO_BTF=y
sehen, dann unterstützt Ihr Kernel BTF und der Connector kann Dateisystem- und Netzwerkereignisse mit eBPF überwachen. Linux-Connector-Versionen 1.25.0 und höher unterstützen eBPF CO-RE, was die Überwachung von Dateisystem- und Netzwerkereignissen auf BTF-unterstützten Kernel ermöglicht, ohne dass Kernel-Header installiert werden müssen.
Fehler 11
Wenn Ihr aktueller Kernel BTF nicht unterstützt und der erforderliche Kernel-Header fehlt, wird Fehler 11 vom Linux-Connector ausgelöst. Führen Sie einen der folgenden Schritte aus, um den Fehler zu beheben:
- Aktualisieren Sie Ihren Kernel und Connector auf eine von BTF unterstützte Version (bevorzugte Lösung), oder
- Fehlenden Kernel-Header installieren
BTF-unterstützte Distributionen
Bei diesen Distributionen ist CONFIG_DEBUG_INFO_BTF
standardmäßig in der neuesten Kernelversion aktiviert:
- Centos/RHEL 8.2 und höher
- Ubuntu 20.04 und höher
- Oracle Linux 8.5 und höher
- Debian 11 und höher
- Alma Linux 8.3 und höher
- Rocky Linux 8.3 und höher
- SUSE Enterprise 15 SP4 / openSUSE Leap 15.4 und höher
Upgrade auf einen BTF-unterstützten Kernel
Wenn Sie sich in einer Distribution befinden, die BTF in einer späteren Kernel-Version unterstützt, ist es besser, dass Sie Ihren Kernel aktualisieren, um Fehler 11 zu beheben.
Bevor Sie mit der Aktualisierung Ihres Kernels fortfahren, aktualisieren Sie zuerst Ihren Linux-Connector auf Version 1.25.0 oder neuer, um sicherzustellen, dass Ihr Connector BTF unterstützt.
RPM-basierte Distributionen
Dieser Abschnitt gilt für:
- Alma Linux
- Amazon Linux
- CentOS Linux
- Oracle Linux Red Hat Compatible Kernel (RHCK)
- Red Hat Enterprise Linux
- Rocky Linux
So aktualisieren Sie auf die neueste Kernel-Version:
- Überprüfen Sie, ob Updates für den Kernel verfügbar sind:
yum check-update
Wenn Sie kernel.x86_64
in der Ausgabe sehen, ist ein Kernel-Upgrade verfügbar.
- Aktualisieren Sie das Kernelpaket:
sudo yum update kernel
- Starten Sie das System neu:
sudo reboot
- Stellen Sie sicher, dass der neue Kernel BTF unterstützt und dass Fehler 11 durch den Connector gelöscht wird.
Oracle Linux Unbreakable Enterprise Kernel (UEK)
So aktualisieren Sie auf die neueste Kernel-Version:
- Überprüfen Sie, ob Updates für den Kernel verfügbar sind:
yum check-update
Wenn Sie kernel-uek.x86_64
in der Ausgabe sehen, dann ist ein Kernel-Upgrade verfügbar.
- Aktualisieren Sie das Kernelpaket:
sudo yum update kernel-uek
- Starten Sie das System neu:
sudo reboot
- Stellen Sie sicher, dass der neue Kernel BTF unterstützt und dass Fehler 11 durch den Connector gelöscht wird.
SUSE Linux Enterprise und openSUSE Leap
So aktualisieren Sie auf die neueste Kernel-Version:
- Überprüfen Sie Ihre aktuelle Kernel-Version:
uname -r
- Listen Sie die verfügbaren
kernel-default-
Pakete auf: zypper search -s --match-exact kernel-default
Die Ausgabe wird wie folgt angezeigt:
| kernel-default | package |
|
|
Suchen Sie eine Version
, die größer ist als Ihre aktuelle Kernelversion, die in Schritt 1 ermittelt wurde.
- Installieren Sie die neuen Versionen von
kernel-default
mit dem Befehl: sudo zypper install kernel-default=
- Starten Sie das System neu:
sudo reboot
- Stellen Sie sicher, dass der neue Kernel BTF unterstützt und dass Fehler 11 durch den Connector gelöscht wird.
Debian-basierte Distributionen
So aktualisieren Sie auf die neueste Kernel-Version:
- Aktuelle Paketlisten abrufen:
sudo apt update
- Installieren Sie die neuesten Pakete:
sudo apt upgrade
- Starten Sie das System neu:
sudo reboot
- Stellen Sie sicher, dass der neue Kernel BTF unterstützt und dass Fehler 11 durch den Connector gelöscht wird.
Fehlenden Kernel-Header installieren
Bevor Sie einen fehlenden Kernel-Header installieren, versuchen Sie, Ihr System auf eine BTF-unterstützte Version zu aktualisieren. Wenn Fehler 11 dadurch nicht behoben wird oder Ihre Distribution BTF in der neuesten Version noch nicht unterstützt, dann setzen Sie die Installation des fehlenden Kernel-Headers fort.
RPM-basierte Distributionen
Dieser Abschnitt gilt für:
- Alma Linux
- Amazon Linux
- CentOS Linux
- Oracle Linux Red Hat Compatible Kernel (RHCK)
- Red Hat Enterprise Linux
- Rocky Linux
Überprüfung
RPM-basierte Distributionen erfordern, dass für den aktuell laufenden Kernel ein kernel-devel
Paket installiert ist. Um zu überprüfen, ob ein kernel-devel
Paket für den aktuell laufenden Kernel installiert ist, führen Sie Folgendes aus:
rpm -qa | grep kernel-devel-$(uname -r)
Wenn keine Ergebnisse vorliegen, fehlt das erforderliche kernel-devel
Paket und muss installiert werden.
Auflösung
Um das erforderliche kernel-devel-
Paket zu installieren, führen Sie den folgenden Befehl aus:
sudo dnf install -y kernel-devel-$(uname -r)
Überprüfen. Der Fehler 11 wird nach ca. einer Minute durch den Steckverbinder behoben.
Oracle Linux Unbreakable Enterprise Kernel (UEK)
Überprüfung
Oracle Linux UEK setzt voraus, dass für den aktuell laufenden Kernel ein kernel-uek-devel
Paket installiert ist. Um zu überprüfen, ob ein kernel-uek-devel
-Paket für den aktuell laufenden Kernel installiert ist, führen Sie Folgendes aus:
rpm -qa | grep kernel-uek-devel-$(uname -r)
Wenn keine Ergebnisse vorliegen, fehlt das erforderliche kernel-uek-devel
-Paket und muss installiert werden.
Auflösung
Um das erforderliche kernel-uek-devel-
Paket zu installieren, führen Sie den folgenden Befehl aus:
sudo dnf install -y kernel-uek-devel-$(uname -r)
Überprüfen. Der Fehler 11 wird nach ca. einer Minute durch den Steckverbinder behoben.
SUSE Linux Enterprise und openSUSE Leap
Überprüfung
SUSE und openSUSE erfordern, dass das kernel-default-devel
Paket für den aktuell laufenden Kernel installiert ist. Um zu überprüfen, ob das kernel-default-devel
-Paket für den aktuell laufenden Kernel installiert ist, führen Sie Folgendes aus:
zypper search -si kernel-default-devel | grep $(uname -r | sed "s/-default//")
Wenn keine Ergebnisse vorliegen, fehlt das erforderliche kernel-default-devel
-Paket und muss installiert werden.
Auflösung
Kernel-Header installieren
- Um festzustellen, ob das richtige
kernel-default-devel
-Paket für Ihre Kernel-Version für die Installation verfügbar ist, führen Sie den folgenden Befehl aus: zypper search -s kernel-default-devel | grep $(uname -r | sed "s/-default//")
Die Ausgabe enthält die Syntax:
| kernel-default-devel |
|
|
|
Wenn eine ähnliche Ausgabe angezeigt wird, notieren Sie sich die in der Ausgabe angegebene Version
, und fahren Sie mit Schritt 2 fort. Andernfalls überspringen Sie diesen Abschnitt und verwenden stattdessen die Schritte, um den Kernel zu aktualisieren und passende Kernel-Header zu installieren.
- Installieren Sie das
kernel-default-devel
-Paket mit diesem Befehl, und ersetzen Sie <version>
durch die verfügbare Version, die im vorherigen Schritt angegeben wurde: sudo zypper install --oldpackage kernel-default-devel=
- Überprüfen Sie, ob das Paket
kernel-default-devel
installiert wurde. Fehler 11 wird nach ca. einer Minute durch den Steckverbinder behoben.
Kernel aktualisieren und passende Kernel-Header installieren
Wenn das erforderliche kernel-default-devel
Paket nicht verfügbar ist, aktualisieren Sie Ihren Kernel auf eine unterstützte Version und installieren Sie die passenden Kernel-Header.
- Listen Sie die verfügbaren Pakete
kernel-default
und kernel-default-devel
mit dem Befehl: zypper search -s --match-exact kernel-default kernel-default-devel
Suchen Sie nach passenden Versionen der Pakete kernel-default
und kernel-default-devel
. Beispiele:
| kernel-default | package |
|
|
| kernel-default-devel | package |
|
|
Notieren Sie sich die in der Ausgabe angegebene neue Version
.
Hinweis: Wenn Sie keinen neueren Kernel finden, auf den Sie aktualisieren können, müssen Sie auf eine neuere Distribution-Release-Version aktualisieren.
- Installieren Sie die neuen Versionen von
kernel-default
und kernel-default-devel
mit dem Befehl: sudo zypper install kernel-default=
kernel-default-devel=
- Starten Sie das System neu:
sudo reboot
- Überprüfen. Fehler 11 wird durch den Anschluss behoben.
Debian-basierte Distributionen
Überprüfung
Debian-basierte Distributionen erfordern, dass für den aktuell laufenden Kernel ein linux-headers
Paket installiert ist. Um zu überprüfen, ob ein Linux-Headers
-Paket für den aktuell laufenden Kernel installiert ist, führen Sie Folgendes aus:
apt list linux-headers-$(uname -r)
Wenn keine Ergebnisse vorliegen, fehlt das erforderliche linux-headers
Paket und muss installiert werden.
Auflösung
Führen Sie den folgenden Befehl aus, um das erforderliche linux-headers
-Paket zu installieren:
sudo apt install linux-headers-$(uname -r)
Überprüfen. Fehler 11 wird nach ca. einer Minute durch den Steckverbinder behoben.