UDEV(7)

BEZEICHNUNG
udev - Dynamische Geräteverwaltung

BESCHREIBUNG

Udev versorgt die Systemsoftware mit Gereäteereignissen, verwaltet Berechtigungen von Geräteknoten und kann zusätzliche Symlinks im Verzeichnis /dev/ erstellen oder Netzwerkschnittstellen umbenennen. Der Kernel weist normalerweise bloß nicht vorhersagbare Gerätenamen basierend auf der Reihenfolge der Erkennung zu. Symlinks oder Netzwerkgerätenamen mit Bedeutung stellen eine Möglichkeit bereit, Geräte zuverlässig basierend auf ihren Eigenschaften oder der aktuellen Konfiguration zu identifizieren.

Immer wenn ein Gerät dem System hinzugefügt oder aus ihm entfernt wird oder wenn sich sein Zustand ändert, empfängt der Udev-Daemon systemd-udevd.service(8) ein Geräte-Uevent direkt vom Kernel. Wenn Udev ein Geräteereignis empfängt, prüft es seinen Satz an Konfigurationsregeln gegen die verschiedenen Geräteattribute, um das Gerät zu identifizieren. Passende Regeln können zur Speicherung von zusätzliche Geräteinformationen in der Udev-Datenbank führen oder zur Erstellung von aussagekräftigen Symlinknamen verwandt werden.

Alle von Udev verarbeiteten Geräteinformationen werden in der Udev-Datenbank gespeichert und an mögliche Ereignis-Abonnenten gesandt. Zugriff auf alle gespeicherten Daten und die Ereignisquellen werden durch die Bibliothek libudev bereitgestellt.

REGELDATEIEN

Die Udev-Regeln werden aus Dateien, die sich in den Systemregelverzeichnissen /usr/lib/udev/rules.d und /usr/local/lib/udev/rules.d, dem flüchtigen Laufzeitverzeichnis /run/udev/rules.d und dem lokalen Administrationsverzeichnis /etc/udev/rules.d befinden, gelesen. Alle Regeldateien werden gemeinsam sortiert und in lexikalischer Reihenfolge verarbeitet, unabhängig von den Verzeichnissen, in denen sie sich befinden. Allerdings ersetzen Dateien mit identischen Dateinamen einander. Dateien in /etc/ haben die höchste Priorität, Dateien in /run/ haben Vorrang vor Dateien mit dem gleichen Namen unter /usr/. Damit kann bei Bedarf eine vom System bereitgestellte Regeldatei mit einer lokalen Datei außer Kraft gesetzt werden, ein Symlink in /etc/ mit dem gleichen Namen wie eine Regeldatei in /usr/lib/, der auf /dev/null zeigt, deaktiviert die Regeldatei komplett. Regeldateien müssen die Erweiterung .rules tragen; andere Erweiterungen werden ignoriert.

Jede Zeile in der Regeldatei enthält mindestens ein Schlüssel-Wert-Paar. Ausnahmen sind nur leere Zeilen und Zeilen, die mit »#« beginnen; diese werden ignoriert. Es gibt zwei Arten von Schlüsseln: Übereinstimmung und Zuweisung. Falls alle Übereinstimmungsschlüssel mit ihren Werten übereinstimmen, werden die Regeln angewandt und die Zuweisungsschlüssel erhalten die festgelegten Werte zugewiesen.

Eine Übereinstimmungsregel kann eine Netzwerkschnittstelle umbenennen, Symlinks hinzufügen, die auf Geräteknoten zeigen oder ein bestimmtes Programm als Teil der Ereignisverarbeitung ausführen.

Eine Regel besteht aus einer Kommata-getrennten Liste von einem oder mehreren Schlüssel-Operator-Wert-Paaren. Jeder Ausdruck hat eine eindeutige Auswirkung, abhängig vom verwandten Schlüssel und Operator.

  Operatoren

"=="
    Vergleicht auf Gleichheit. (Der festgelegte Schlüssel hat den festgelegten Wert.)

"!="
    Vergleicht auf Ungleichheit. (Der festgelegte Schlüssel hat nicht den festgelegten Wert oder der festgelegte Schlüssel ist überhaupt nicht vorhanden.)

"="
    Weist einen Wert einem Schlüssel zu. Schlüssel, die eine Liste darstellen, werden zurückgesetzt und nur dieser einzelne Wert wird zugewiesen.

"+="
    Fügt einen Wert zu einem Schlüssel, der eine Liste von Einträgen hält, hinzu.

"-="
    Entfernt einen Wert von einem Schlüssel, der eine Liste von Einträgen hält.

    Hinzugefügt in Version 217.

":="
    Weist einem Schlüssel abschließend einen Wert zu; spätere Änderungen werden nicht erlaubt.

    Hinzugefügt in Version 247.

  Werte

Werte werden als Zeichenketten in doppelten englischen Anführungszeichen geschrieben, wie in ("Zeichenkette"). Um das Anführungszeichen (") im Wert aufzunehmen, stellen Sie ihm einen Rückwärtsschrägstrich voran (\"). Alle weiteren Vorkommen eines Rückwärtsschrägstriches gefolgt von einem Zeichen werden nicht demaskiert. Dies bedeutet, dass »\t\n« als vier Zeichen behandelt wird: Rückwärtsschrägstrich, kleines t, Rückwärtsschrägstrich, kleines n.

Der Zeichenkette kann ein klein geschriebenes e vorangestellt werden (e"Zeichenkette\n"), um die Zeichenkette als C-artig maskiert zu markieren, siehe Maskiersequenzen in C[1] zu markieren. Zum Beispiel wird e"Zeichenkette\n" als 13 Zeichen ausgewertet: einem Großbuchstaben, elf Kleinbuchstaben und einem Zeilenumbruch. Dies kann zur Darstellung eines besonderen Zeichens nützlich sein, wenn ein Kerneltreiber dieses benötigt.

Der Zeichenkette kann ein klein geschriebenes i vorangestellt werden (i»Zeichenkette«), um zu markieren, dass die Zeichenkette oder das Muster unabhängig von der Groß-/Kleinschreibung verglichen wird. Zum Beispiel passt i»foo« auf »foo«, »FOO«, »FoO« und so weiter. Der Präfix kann nur für Identitäts- (»==«) oder Nichtidentitäts- (»!=«) Regeln verwandt werden, z.B. ATTR{foo}==i"abcd".

Bitte beachten Sie, dass NUL in keiner Zeichenkettenvariante erlaubt ist.

  Schlüssel

Die nachfolgenden Namen können zum Vergleichen mit Geräteeigenschaften verwandt werden. Einige dieser Schlüssel passen auch auf Eigenschaften der in Sysfs übergeordneten Geräte, nicht nur auf das Gerät, das das Ereignis erstellt hat. Falls in einer Regel mehrere Schlüssel, die auf ein übergeordnetes Gerät passen, festgelegt werden, müssen sämtliche Schlüssel auf ein und das gleiche übergeordnete Gerät passen.

ACTION
    Passt auf den Namen der Ereignisaktion.

DEVPATH
    Passt auf den Gerätepfad des Ereignisgerätes.

KERNEL
    Passt auf den Namen des Ereignisgerätes.

KERNELS
    Durchsucht den Gerätepfad nach oben auf passende Gerätenamen.

NAME
    Passt auf den Namen der Netzwerkschnittstelle. Er kann verwandt werden, sobald in einer der vorhergehenden Regeln der Schlüssel NAME gesetzt wurde.

SYMLINK
    Passt auf den Symlink, der auf den Knoten zielt. Er kann verwandt werden, sobald in einer der vorhergehenden Regeln der Schlüssel SYMLINK gesetzt wurde. Es kann mehrere Symlinks geben, es muss nur einer übereinstimmen. Falls der Operator »!=« ist, dann liefert das Merkmal nur wahr zurück, falls es keinen übereinstimmenden Symlink gibt.

SUBSYSTEM
    Passt auf das Untersystem des Ereignisgerätes.

SUBSYSTEMS
    Durchsucht den Gerätepfad nach oben auf passende Geräteuntersystemnamen.

DRIVER
    Passt auf den Treibernamen des Ereignisgerätes. Setzen Sie diesen Schlüssel nur für Geräte, die zum Zeitpunkt des Ereignisses an den Treiber gebunden sind.

DRIVERS
    Durchsucht den Gerätepfad nach oben auf passende Gerätetreibernamen.

ATTR{Dateiname}
    Passt auf den Sysfs-Attributsnamen des Ereignisgerätes.

    Nachfolgender Leerraum im Attributwert wird ignoriert, außer der festgelegte Übereinstimmungswert enthält selbst abschließenden Leerraum.

ATTRS{Dateiname}
    Durchsucht den Gerätepfad nach oben auf ein Gerät mit passenden Sysfs-Attributwerten. Falls mehrere ATTRS-Treffer festgelegt sind, müssen alle von ihnen auf das gleiche Gerät passen.

    Nachfolgender Leerraum im Attributwert wird ignoriert, außer der festgelegte Übereinstimmungswert enthält selbst abschließenden Leerraum.

SYSCTL{Kernelparameter}
    Passt auf einen Kernelparameterwert.

    Hinzugefügt in Version 240.

ENV{Schlüssel}
    Passt auf einen Geräteeigenschaftswert.

CONST{Schlüssel}
    Passt auf eine systemweite Konstante. Unterstützte Schlüssel sind:

    "arch"
        Architektur des Systems. Siehe ConditionArchitecture= in systemd.unit(5) für mögliche Werte.

        Hinzugefügt in Version 244.

    "virt"
        Virtualisierungsumgebung des Systems. Siehe systemd-detect-virt(1) für mögliche Werte.

        Hinzugefügt in Version 244.

    "cvm"
        Vertrauliche Virtualisierungstechnik des Systems. Siehe systemd-detect-virt(1) für mögliche Werte.

        Hinzugefügt in Version 254.

    Unbekannte Schlüssel passen niemals.

    Hinzugefügt in Version 244.

TAG
    Passt auf eine der Geräte-Markierungen. Er kann verwandt werden, sobald in einer der vorhergehenden Regeln der Schlüssel TAG gesetzt wurde. Es kann mehrere Markierungen geben, es muss nur eine übereinstimmen. Falls der Operator »!=« ist, dann liefert das Merkmal nur wahr zurück, falls es keine übereinstimmende Markierung gibt.

TAGS
    Durchsucht den Gerätepfad nach oben auf ein Gerät mit passender Markierung. Falls der Operator »!=« ist, dann liefert das Merkmal nur wahr zurück, falls es keine übereinstimmende Markierung gibt.

TEST{oktale Modusmaske}
    Testet auf die Existenz einer Datei. Falls notwendig kann eine oktale Modusmaske angegeben werden.

PROGRAM
    Führt ein Programm aus, um zu prüfen, ob es passt; der Schlüssel ist wahr, falls das Programm sich erfolgreich beendet. Die Geräteeigenschaften werden dem ausgeführten Programm in der Umgebung zur Verfügung gestellt. Die Standardausgabe des Programms ist im Feld RESULT verfügbar.

    Dies kann nur für sehr kurz laufende Vordergrundprozesse verwandt werden. Für Details, siehe RUN.

    Beachten Sie, dass mehrere PROGRAM-Schlüssel in einer Regel festgelegt werden dürfen und dass »=«, »:=« und »+=« die gleiche Auswirkung wie »==« haben.

RESULT
    Passt auf die Zeichenkette, die beim letzten Aufruf von PROGRAM zurückgeliefert wurde. Dieser Schlüssel kann im gleichen Aufruf wie PROGRAM oder jedem späteren verwandt werden.

Die meisten Felder unterstützen Shell-Glob-Muster-Vergleiche und alternative Muster. Die folgenden Sonderzeichen werden unterstützt:

"*"
    Passt auf ein oder mehrere Zeichen.

"?"
    Passt auf jedes einzelne Zeichen.

"[]"
    Passt auf jedes einzelne, innerhalb der Klammern festgelegte Zeichen. Die Musterzeichenkette »tty[SR]« würde beispielsweise auf entweder »ttyS« oder »ttyR« passen. Mittels des Zeichens »-« werden auch Bereiche unterstützt. Um beispielsweise auf den Bereich aller Ziffern zu passen, könnte das Muster »[0-9]« verwandt werden. Falls das erste Zeichen nach dem »[« ein »!« ist, dann passen alle nicht eingeschlossenen Zeichen.

"|"
    Trennt alternative Muster. Die Musterzeichenkette »abc|x*« passt entweder auf »abc« oder auf »x*«.

    Hinzugefügt in Version 217.

Den folgenden Schlüsseln können Werte zugewiesen werden:

NAME
    Der für eine Netzwerkschnittstelle zu verwendende Name. Siehe systemd.link(5) für einen abstrakteren Mechanismus zum Setzen von Schnittstellennamen. Der Name eines Geräteknotens kann durch Udev nicht geändert werden, es können nur zusätzliche Symlinks erstellt werden.

SYMLINK
    Der Name eines Symlinks, der auf den Knoten zielt. Jede passende Regel fügt diesen Wert zu der Liste der zu erstellenden Symlinks hinzu.

    Die Menge der Zeichen zur Benennung eines Symlinks ist begrenzt. Die erlaubten Zeichen sind »0-9A-Za-z#+-.:=@_/«, gültige UTF-8-Zeichensequenzen und »\x00«-Hexadezimalkodierung. Alle anderen Zeichen werden durch ein »_« ersetzt.

    Es können mehrere Symlinks angegeben werden, indem die Namen durch Leerzeichen getrennt werden. Falls mehrere Geräte den gleichen Namen beanspruchen, zeigt der Link immer auf das Gerät mit der höchsten »link_priority«. Falls das aktuelle Gerät verschwindet, werden die Links neu bewertet und das Gerät mit der nächst höchsten »link_priority« wird der Eigentümer des Links. Falls keine »link_priority« festgelegt ist, ist die Reihenfolge der Geräte (und welchem davon der Link gehört) nicht definiert.

    Symlink-Namen dürfen niemals mit dem Vorgabegeräteknotennamen des Kernels in Konflikt stehen, da dies zu unvorhersagbarem Verhalten führen würde.

OWNER, GROUP, MODE
    Die Rechte für den Geräteknoten. Jeder angegebene Wert setzt den einkompilierten Vorgabewert außer Kraft.

SECLABEL{Modul}
    Wendet das festgelegte Linux-Security-Modul-Label auf den Geräteknoten an.

    Hinzugefügt in Version 209.

ATTR{Schlüssel}
    Der Wert, der zu einem Sysfs-Attribut des Ereignisgerätes geschrieben werden soll.

SYSCTL{Kernelparameter}
    Der Wert, der in den Kernelparameter geschrieben werden soll.

    Hinzugefügt in Version 220.

ENV{Schlüssel}
    Setzt einen Geräteeigenschaftswert. Eigenschaftsnamen, die mit einem ».« beginnen, werden weder in der Datenbank gespeichert noch an externe Ereignisse oder externe Werkzeuge (die beispielsweise vom Vergleichsschlüssel PROGRAM ausgeführt werden) exportiert.

TAG
    Hängt eine Markierung an ein Gerät. Dies wird zum Filtern von Ereignissen für Benutzer der Monitor-Funktionalität von Libudev oder zur Aufzählung einer Gruppe von markierten Geräten verwandt. Die Implementierung kann nur effizient arbeiten, falls nur wenige Markierungen an ein Gerät angehängt werden. Dies ist nur zur Verwendung in Zusammenhängen mit bestimmten Gerätefilteranforderungen und nicht als Allzweckmarkierung gedacht. Umfangreiche Verwendung kann zu einer ineffizienten Ereignisbehandlung führen.

RUN{Typ}
    Legt ein Programm fest, das nach der Verarbeitung aller Regeln für das Ereignis ausgeführt werden soll. Mit »+=« wird diese Ausführung zu der Liste hinzugefügt und mit »=« oder »:=« ersetzt sie sämtlichen vorherigen Inhalt der Liste. Bitte beachten Sie, dass beide nachfolgend beschriebenen Typen »program« und »builtin« eine gemeinsame Liste verwenden, so dass das Bereinigen der Liste mit »:=« und »=« beide Typen betrifft.

    type kann sein:

    "program"
        Führt ein externes Programm aus, das als übergebener Wert festgelegt ist. Falls kein absoluter Pfad übergeben ist, dann muss sich das Programm in /usr/lib/udev befinden; andernfalls muss der absolute Pfad festgelegt werden.

        Dies ist die Vorgabe, falls kein Typ festgelegt ist.

    "builtin"
        Wie program, verwendet aber eines der eingebauten Programme statt eines externen.

        Hinzugefügt in Version 199.

    Der Programmname und die nachfolgenden Argumente sind durch Leerzeichen getrennt. Einfache englische Anführungszeichen können zur Angabe von Argumenten mit Leerzeichen verwandt werden.

    Dies kann für sehr kurz laufende Vordergrundprozesse verwandt werden. Läuft ein Ereignisprozess für längere Zeitperioden, dann können alle weiteren Ereignisse für dieses oder abhängige Geräte blockiert sein.

    Beachten Sie, dass laufende Programme, die auf das Netzwerk zugreifen oder Dateisysteme ein-/aushängen, innerhalb von Udev-Regeln aufgrund der in systemd-udevd.service erzwungenen Standard-Sandbox nicht erlaubt sind.

    Das Starten von Daemons oder langlaufenden Prozessen ist nicht erlaubt, der mit Fork erzeugte Prozess wird nach Abschluss der Ereignisbehandlung bedingungslos getötet, unabhängig davon, ober er sich in den Hintergrund geschoben hat. Um aus Udev-Regeln heraus langlaufende Prozesse zu aktivieren, sollten Sie eine Dienste-Unit bereitstellen und diese mittels der Geräteeigenschaft SYSTEMD_WANTS durch eine Udev-Regel hereinziehen. Siehe systemd.device(5) für Details.

LABEL
    Ein benanntes Sprungziel, zu dem ein GOTO springen kann.

GOTO
    Springt zu dem nächsten LABEL mit einem passenden Namen.

IMPORT{Typ}
    Importiert eine Gruppe von Variablen als Geräteeigenschaften, abhängig vom Typ:

    "program"
        Führt ein externes Programm aus, das als zugewiesener Wert festgelegt ist und, falls es erfolgreich zurückkehrt, importiert dessen Ausgabe, die in einem Umgebungsschlüsselformat vorliegen muss. Pfadangaben, Befehls-/Argumenttrennung und Maskierung funktionieren wie in RUN.

        Hinzugefügt in Version 199.

    "builtin"
        Ähnlich zu »program«, verwendet aber eines der eingebauten Programme statt eines externen.

        Hinzugefügt in Version 199.

    "file"
        Importiert eine Textdatei, festgelegt als zugewiesener Wert, deren Inhalt in einem Umgebungsschlüsselformat vorliegen muss.

    "db"
        Importiert eine einzelne Eigenschaft, die als zugewiesener Wert aus der aktuellen Gerätedatenbank festgelegt ist. Dies funktioniert nur, wenn die Datenbank bereits durch ein früheres Ereignis gefüllt ist.

    "cmdline"
        Importiert eine einzelne Eigenschaft von der Kernelbefehlszeile. Für einfache Schalter wird der Wert der Eigenschaft auf »1« gesetzt.

    "parent"
        Importiert gespeicherte Schlüssel vom übergeordneten Gerät durch Lesen der Datenbankeinträge des übergeordneten Gerätes. Der IMPORT{parent} zugewiesene Wert wird als Filter für zu importierende Schlüsselnamen verwandt (wobei die gleiche Shell-Glob-Musterüberprüfung wie bei Vergleichen verwandt wird).

    Dies kann nur für sehr kurz laufende Vordergrundprozesse verwandt werden. Für Details siehe RUN.

    Beachten Sie, dass in einer Regel mehrere IMPORT{}-Schlüssel festgelegt werden können und dass »=«, »:=« und »+=« die gleiche Auswirkung wie »==« haben. Der Schlüssel ist wahr, falls der Import erfolgreich war, außer »!=« wurde als Operator verwandt, dieser führt dazu, dass der Schlüssel wahr wird, falls der Import fehlschlug.

OPTIONS
    Regeln und Geräteoptionen:

    link_priority=Wert
        Legt die Priorität der erstellten Symlinks fest. Geräte mit höherer Priorität überschreiben existierende Symlinks anderer Geräte. Die Vorgabe ist 0.

    string_escape=none|replace
        Wenn »replace«, dann werden möglicherweise unsichere Zeichen in den NAME, SYMLINK und ENV{Schlüssel} zugewiesenen Zeichenketten ersetzt. Wenn »none«, dann wird keine Ersetzung durchgeführt. Wenn nicht gesetzt, wird die Ersetzung für NAME, SYMLINK, aber nicht für ENV{Schlüssel} durchgeführt. Standardmäßig nicht gesetzt.

    static_node=
        Wendet die in dieser Regel angegebenen Berechtigungen auf die statischen Geräteknoten mit dem angegebenen Namen an. Erzeugt auch für jede in dieser Regel angegebene Markierung einen Symlink im Verzeichnis /run/udev/static_node-tags/Markierung, der auf den statischen Geräteknoten mit dem angegebenen Namen zeigt. Die Erstellung statischer Geräteknoten wird durch Systemd-tmpfiles vor dem Start von Systemd-udevd durchgeführt. Die statischen Knoten müssen kein entsprechendes Kernelgerät haben; sie werden beim Zugriff zum Auslösen des automatischen Ladens von Kernelmodulen verwandt.

    watch
        Beobachtet den Geräteknoten mit Inotify; wenn der Knoten nach der Verwendung zum Schreiben geschlossen wird, dann wird ein Änderungs-Uevent erzeugt.

    nowatch
        Deaktiviert die Beobachtung eines Geräteknotens mit Inotify.

    db_persist
        Setzt den Schalter (Sticky-Bit) für den Udev-Datenbankeintrag des Ereignisgeräts. Geräteeigenschaften werden dann in der Datenbank behalten, selbst wenn udevadm info --cleanup-db aufgerufen wird. In bestimmten Fällen kann diese Option für dauerhafte Geräte beim Übergang von der Initrd nützlich sein (z.B. Device-Mapper-Geräte).

        Hinzugefügt in Version 241.

    log_level=Stufe
        Akzeptiert einen Protokollstufennamen wie »debug« oder »info« oder den besonderen Wert »reset«. Wird ein Protokollstufenname festgelegt, wird die maximale Protokollstufe auf diese Stufe geändert. Wird »reset« gesetzt, dann wird die vorher festgelegte Protokollstufe widerrufen. Standardmäßig die Protokollstufe des Hauptprozesses von systemd-udevd.

        Dies kann zur Fehlersuche von Ereignissen für bestimmte Geräte nützlich sein. Beachten Sie, dass die Protokollstufe angewandt wird, wenn die Zeile, die diese Regel enthält, verarbeitet wird. Zur Fehlersuche wird daher empfohlen, dass dies an einer frühen Stelle festgelegt wird, z.B. als erste Zeile von 00-debug.rules.

        Beispiel für die Fehlersuche bei der Verarbeitung von Uevents in Netzwerkschnittstellen:

            # /etc/udev/rules.d/00-debug-net.rules
            SUBSYSTEM=="net", OPTIONS="log_level=debug"

        Hinzugefügt in Version 248.

    dump
        Zeigt den Status des derzeit verarbeitenden Ereignisses an. Es kann zur Fehlersuche in udev-Regeln nützlich sein, diese Option einzufügen.

        Hinzugefügt in Version 258.

    dump-json
        Ähnlich zu dump, zeigt aber den Status des Ereignisses im JSON-Format an.

        Hinzugefügt in Version 259.

Die Felder ENV, GROUP, MODE, NAME, OWNER, PROGRAM, RUN, SECLABEL und SYMLINK unterstützen einfache Zeichenkettenersetzungen. Die RUN-Ersetzung wird durchgeführt, nachdem alle Regeln verarbeitet wurden, direkt bevor das Programm ausgeführt wird, wodurch die Verwendung von Geräteeigenschaften ermöglicht wird, die in vorherigen Regeln gesetzt wurden. Für alle anderen Felder wird die Ersetzung durchgeführt, während die individuelle Regel verarbeitet wird. Die verfügbaren Ersetzungen sind:

$kernel, %k
    Der Kernelname für dieses Gerät.

$number, %n
    Die Kernelnummer für dieses Gerät. Beispielsweise hat »sda3« die Kernelnummer »3«.

$devpath, %p
    Der Gerätepfad des Gerätes.

$id, %b
    Der Name des passenden Gerätes beim Aufwärtsdurchsuchen des Gerätepfades nach SUBSYSTEMS, KERNELS, DRIVERS und ATTRS.

$driver
    Der Treibername des passenden Gerätes beim Aufwärtsdurchsuchen des Gerätepfades nach SUBSYSTEMS, KERNELS, DRIVERS und ATTRS.

$attr{Datei}, %s{Datei}
    Der Wert eines Sysfs-Attributs, das bei einem Gerät gefunden wird, bei dem alle Schlüssel der Regel übereinstimmen. Falls das passende Gerät kein solches Attribut hat und ein vorhergehender KERNELS-, SUBSYSTEMS-, DRIVERS- oder ATTRS-Test ein übergeordnetes Gerät ausgewählt hat, dann wird das Attribut vom übergeordneten Gerät verwandt.

    Falls das Attribut ein Symlink ist, wird das letzte Element des Symlink-Ziels als Wert zurückgegeben.

$env{Schlüssel}, %E{Schlüssel}
    Ein Geräteeigenschaftswert.

$major, %M
    Die Major-Nummer des Kernels für das Gerät.

$minor, %m
    Die Minor-Nummer des Kernels für das Gerät.

$result, %c
    Die Zeichenkette, die von dem mit PROGRAMM erbetenen externen Programm zurückgeliefert wurde. Ein einzelner, durch ein Leerzeichen getrennter Teil der Zeichenkette kann durch Angabe einer Teilnummer als Attribut ausgewählt werden: » %c{N}«. Falls der Nummer ein »+« folgt, wird dieser Teil sowie alle verbliebenen Teile der Ergebniszeichenkette ersetzt: »%c{N+}«.

$parent, %P
    Der Knoten-Name des übergeordneten Geräts.

$name
    Der aktuelle Name des Geräts. Falls nicht durch eine Regel geändert, ist dies der Name des Kernelgeräts.

$links
    Eine Leerzeichen-getrennte Liste der aktuellen Symlinks. Der Wert wird nur während eines Entfernungsereignisses gesetzt oder falls eine frühere Regel einen Wert zuwies.

$root, %r
    Der Wert udev_root.

$sys, %S
    Der Sysfs-Einhängepunkt.

$devnode, %N
    Der Name des Geräteknotens.

%%
    Das Zeichen »%« selbst.

$$
    Das Zeichen »$« selbst.

SIEHE AUCH

systemd-udevd.service(8), udevadm(8), systemd.link(5)

ANMERKUNGEN

1.  Maskiersequenzen in C
    https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.