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