Anhang E. Kernel-Modul für SpIDer Guard kompilieren

Dieser Abschnitt umfasst folgende Themen:

Allgemeine Informationen.

Vorgehensweise zum Kompilieren des Kernel-Moduls.

Mögliche Probleme beim Kompilieren.

Allgemeine Informationen

Wenn Ihre Distribution die für den Dateiwächter SpIDer Guard erforderliche Systemfunktion fanotify nicht unterstützt, können Sie Ihr eigenes Kernel-Modul (LKM-Modul) kompilieren und in den Kernel des Betriebssystems laden.

SpIDer Guard enthält standardmäßig ein kompiliertes Kernel-Modul für Betriebssysteme, in denen fanotify nicht vorsehen ist. Mit SpIDer Guard wird ein tar.bz2-Archiv mitgeliefert, das Dateien für das manuelle Kompilieren des erforderlichen Kernel-Moduls enthält.

Das LKM für SpIDer Guard ist für GNU/Linux-Kernel 2.6.* und höher geeignet.

Für ARM64- und E2K-Versionen werden LKM-Module nicht unterstützt.

Das Archiv mit dem Quellcode des Kernel-Moduls befindet sich im Unterverzeichnis share/drweb-spider-kmod/src des Basisverzeichnisses von Dr.Web für Linux (standardmäßig /opt/drweb.com) und ist wie folgt benannt: drweb-spider-kmod-<Version>-<Datum>.tar.bz2. Im Verzeichnis drweb-spider-kmod finden Sie auch das Skript check-kmod-install.sh. Das Skript prüft, ob Ihre Distribution eines der mit Dr.Web für Linux mitgelieferten vorkompilierten Kernel-Module unterstützt. Wenn keines der mitgelieferten vorkompilierten Kernel-Module geeignet ist, werden Sie aufgefordert, das erforderliche Kernel-Modul manuell zu kompilieren.

Falls das Verzeichnis drweb-spider-kmod fehlt, installieren Sie das Paket drweb-spider-kmod.

Um ein LKM-Modul manuell kompilieren zu können, benötigen Sie die Rechte des Superusers. Verwenden Sie den Befehl zum Benutzerwechsel su, um die Rechte des Superusers zu erhalten, oder den Befehl sudo, der es ermöglicht, die Kompilation im Namen eines einfachen Benutzers durchzuführen.

Vorgehensweise zum Kompilieren des Kernel-Moduls

1.Entpacken Sie das Archiv mit dem Quellcode in ein Verzeichnis. Mit dem Befehl

# tar -xf drweb-spider-kmod-Version-Datum.tar.bz2

extrahieren Sie den Quellcode direkt in das Verzeichnis, in dem sich das Archiv befindet. Im Verzeichnis wird ein Unterverzeichnis mit dem Namen der Archivdatei erstellt. Beachten Sie bitte, dass dieser Befehl mit root-Rechten ausgeführt werden muss.

2.Öffnen Sie das erstellte Verzeichnis und führen Sie den folgenden Befehl aus:

# make

Wenn make nicht fehlerfrei durchgelaufen ist, beheben Sie das aufgetretene Problem manuell (siehe dazu die Hinweise unten) und führen Sie den Kompiliervorgang erneut durch.

3.Nachdem make fehlerfrei durchgelaufen ist, führen Sie folgende Befehle aus:

# make install
# depmod

4.Nachdem Sie das Kernel-Modul kompiliert und geladen haben, konfigurieren Sie SpIDer Guard. Mit dem folgenden Befehl weisen Sie an, dass der Dateiwächter das LKM verwendet:

# drweb-ctl cfset LinuxSpider.Mode LKM

Außerdem können Sie AUTO statt LKM angeben. In diesem Modus versucht SpIDer Guard nicht nur das installierte Kernel-Modul, sondern auch das Modul fanotify zu verwenden. Weitere Informationen dazu finden Sie in der Dokumentation man: drweb-spider(1).

Mögliche Probleme beim Kompilieren

Beim Kompilieren mit make kann es zu Fehlern kommen. Bei einem Fehler müssen Sie Folgendes überprüfen:

Für die Kompilierung des LKM sind das Perl-Paket und der Compiler GCC erforderlich. Wenn diese Tools in Ihrem System nicht vorhanden sind, müssen Sie diese nachinstallieren.

Einige Betriebssysteme setzen möglicherweise das Paket kernel-devel voraus.

In einigen Distributionen kann es zu einem Fehler kommen, da der Pfad zum Verzeichnis mit den Quellcodes des Kernels möglicherweise falsch ermittelt wurde. Führen Sie in diesem Fall den Befehl make mit dem Parameter KDIR=<Pfad zu Quellcodes des Kernels> aus. Die Quellcodes befinden sich üblicherweise im Verzeichnis /usr/src/kernels/<Kernel-Version>.

Beachten Sie, dass die mit dem Befehl uname -r ausgegebene Kernel-Version nicht mit dem Namen des Verzeichnisses <Kernel-Version> übereinstimmen kann.