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

Zum Anfang  Zurück 

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

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 sieht wie folgt aus: 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 mitgelieferten kompilierten Kernel-Module unterstürzt. Wenn keines der mitgelieferten 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, müssen Sie über die Rechte des Superusers (root) verfügen. Um als gewöhnlicher Benutzer in den root-Modus zu wechseln, verwenden Sie den Befehl su oder sudo.

So kompilieren Sie das Kernel-Modul

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, müssen Sie das aufgetretene Problem manuell beheben (siehe dazu die Hinweise unten) und den Kompiliervorgang erneut durchführen.

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 legen Sie fest, dass der Dateiwächter das LKM verwendet.

# drweb-ctl cfset LinuxSpider.Mode LKM

Sie können bei Bedarf AUTO anstatt von LKM festlegen. 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 manuell 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.