32.3. Hotplug-Gerätekonfiguration

Hotplug-Agenten sind seit SUSE Linux 10.0 veraltet. Alle Gerätekonfigurationen sollten nun über udev-Regeln vorgenommen werden. udev stellt eine Kompatibilitätsregel für das Aufrufen von vorhandenen benutzerdefinierten Agenten zur Verfügung. Allerdings sollte die Konvertierung von benutzerdefinierten Agenten in udev-Regeln in Betracht gezogen werden.

Ein Hotplug-Agent ist ein ausführbares Programm, das eine passende Aktion für ein Ereignis durchführt. Die Agenten für Geräte-Ereignisse befinden sich unter /etc/hotplug.d/Ereignisname und /etc/hotplug.d/default. Alle Programme in diesen Verzeichnissen mit dem Suffix .hotplug werden in alphabetischer Reihenfolge ausgeführt.

Um die Gerätekonfiguration zu erleichtern, reicht es in der Regel aus, ein Kernel-Modul zu laden. In einigen Fällen sind zusätzliche Befehle erforderlich, damit eine richtige Gerätekonfiguration aufgerufen werden kann. In SUSE Linux erfolgt dies im Allgemeinen durch udev-Regeln. Wenn jedoch eine benutzerdefinierte Gerätekonfiguration erforderlich ist, erfolgt die Gerätekonfiguration durch /sbin/hwup oder /sbin/hwdown. Diese Programme suchen nach einer Konfiguration, die für das Gerät im Verzeichnis /etc/sysconfig/hardware passend ist und wenden diese an. Um z. B. zu vermeiden, dass ein bestimmtes Gerät initialisiert wird, erzeugen Sie eine Konfigurationsdatei mit einem entsprechenden Namen und legen den Startmodus auf manual (manuell) oder off (aus) fest. Wenn /sbin/hwup keine Konfiguration findet, sucht sie nach der Umgebungsvariable MODALIAS. Ist diese vorhanden, lädt modprobe automatisch das entsprechende Modul. Die Variable MODALIAS wird automatisch durch Kernel-Hotplug-Ereignisse für alle Geräte generiert, für die ein Modul geladen werden muss. Weitere Informationen finden Sie unter Abschnitt 32.4, „Automatisches Laden von Modulen“. Weitere Informationen über /sbin/hwup sind in der Datei /usr/share/doc/packages/sysconfig/README und in der Manualpage man hwup verfügbar.

Bevor Schnittstellenagenten aufgerufen werden, erzeugt udev in der Regel einen Geräteknoten, auf den das System zugreifen kann. udev aktiviert die Zuweisung von dauerhaften Namen an Schnittstellen. Weitere Informationen finden Sie in Kapitel 33, Dynamische Device Nodes mit udev. Die Schnittstellen selbst werden dann entsprechend den jeweiligen udev-Regeln eingerichtet. Die Prozeduren für einige Schnittstellen werden unten beschrieben.

32.3.1. Aktivieren von Netzwerkschnittstellen

Netzwerkschnittstellen werden mit /sbin/ifup initialisiert und mit /sbin/ifdown deaktiviert. Details finden Sie in der Datei /usr/share/doc/packages/sysconfig/README und auf der Handbuchseite ifup.

Wenn ein Computer über mehrere Netzwerkgeräte mit verschiedenen Treibern verfügt, können sich die Zuweisungen der Schnittstelle ändern, wenn ein anderer Treiber schneller geladen wird beim Starten des Systems. SUSE Linux versucht, die Nummerierung beizubehalten - die Geräte behalten die Schnittstellennamen bei, die ihnen bei der Konfiguration zugewiesen wurden. Diese Zuweisung erfolgt unter udev-Regeln. Um die Zuweisung später zu ändern, müssen die udev-Regeln geändert werden.

Die beste Lösung besteht jedoch darin, konstante Schnittstellenbezeichnungen zu verwenden. Sie können die Namen der einzelnen Schnittstellen in den Konfigurationsdateien festlegen. Einzelheiten zu dieser Methode finden Sie in der Datei /usr/share/doc/packages/sysconfig/README. Seit SUSE Linux 9.3 spielt udev auch bei Netzwerkschnittstellen eine Rolle, obwohl diese keine Device Nodes sind. Dies erlaubt die Verwendung von dauerhaften Schnittstellennamen in einer standardisierteren Weise.

32.3.2. Aktivieren von Speichergeräten

Schnittstellen zu Speichergeräten müssen gemountet werden, damit ein Zugriff auf sie möglich ist. Dies kann voll automatisch oder vorkonfiguriert erfolgen. Zusätzlich kann SUSE Linux zwischen System- und Benutzergeräten unterscheiden. Systemgeräte können automatisch gemountet werden, indem ein Eintrag in /etc/fstab erzeugt wird. Benutzergeräte werden standardmäßig über hal gesteuert. Wenn eine andere Konfiguration für Benutzergeräte erforderlich ist, können diese Geräte in /etc/fstab eingegeben werden. Alternativ kann die Handhabung eines Geräts in hal geändert werden. Weitere Informationen über hal finden Sie unter /usr/share/doc/packages/hal/hal-spec.html.

Die Verwendung von konstanten Gerätenamen wird empfohlen, da sich traditionelle Gerätenamen abhängig von der Initialisierungsreihenfolge ändern können. Details über konstante Gerätenamen sind verfügbar in Kapitel 33, Dynamische Device Nodes mit udev.