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 dann in den Kernel des Betriebssystems laden lassen.

SpIDer Guard enthält standardmäßig ein kompiliertes Kernel-Modul für Betriebssysteme, die das Modul fanotify nicht vorsehen. Zusammen mit SpIDer Guard wird auch ein TAR-Archiv (tar.bz2) mit dem Quellcode mitgeliefert, aus dem Sie das erforderliche Kernel-Modul kompilieren können.

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

Für die ARM64 Architektur wird das LKM 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 testet, 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 Ihr eigenes LKM-Modul manuell bauen zu können, benötigen Sie die Rechte des Superusers (root). Um als gewöhnlicher Benutzer das LKM-Modul zu kompilieren, verwenden Sie den Befehl zum Benutzerwechsel su oder den Befehl zum Ausführen einzelner Befehle oder Befehlsgruppen als root sudo.

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, müssen Sie SpIDer Guard entsprechend konfigurieren. Mit dem folgenden Befehl weisen Sie an, dass der Dateiwächter das LKM verwendet:

# drweb-ctl cfset LinuxSpider.Mode LKM

Sie können bei Bedarf AUTO anstatt von LKM angeben. In diesem Modus versucht SpIDer Guard nicht nur das installierte Kernel-Modul, sondern auch das Modul fanotify zu verwenden. Weitere Informationen hierzu finden Sie in der Hilfe 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.