UDEV(7) udev UDEV(7) BEZEICHNUNG udev - Dynamische Gerateverwaltung BESCHREIBUNG Udev versorgt die Systemsoftware mit Gereateereignissen, verwaltet Berechtigungen von Gerateknoten und kann zusatzliche Symlinks im Verzeichnis /dev/ erstellen oder Netzwerkschnittstellen umbenennen. Der Kernel weist normalerweise bloss nicht vorhersagbare Geratenamen basierend auf der Reihenfolge der Erkennung zu. Symlinks oder Netzwerkgeratenamen mit Bedeutung stellen eine Moglichkeit bereit, Gerate zuverlassig basierend auf ihren Eigenschaften oder der aktuellen Konfiguration zu identifizieren. Immer wenn ein Gerat dem System hinzugefugt oder aus ihm entfernt wird oder wenn sich sein Zustand andert, empfangt der Udev-Daemon systemd-udevd.service(8) ein Gerate-Uevent direkt vom Kernel. Wenn Udev ein Gerateereignis empfangt, pruft es seinen Satz an Konfigurationsregeln gegen die verschiedenen Gerateattribute, um das Gerat zu identifizieren. Passende Regeln konnen zur Speicherung von zusatzliche Gerateinformationen in der Udev-Datenbank fuhren oder zur Erstellung von aussagekraftigen Symlinknamen verwandt werden. Alle von Udev verarbeiteten Gerateinformationen werden in der Udev-Datenbank gespeichert und an mogliche 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 fluchtigen 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, unabhangig von den Verzeichnissen, in denen sie sich befinden. Allerdings ersetzen Dateien mit identischen Dateinamen einander. Dateien in /etc/ haben die hochste Prioritat, 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 ausser 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 mussen die Erweiterung .rules tragen; andere Erweiterungen werden ignoriert. Jede Zeile in der Regeldatei enthalt mindestens ein Schlussel-Wert-Paar. Ausnahmen sind nur leere Zeilen und Zeilen, die mit >>#<< beginnen; diese werden ignoriert. Es gibt zwei Arten von Schlusseln: Ubereinstimmung und Zuweisung. Falls alle Ubereinstimmungsschlussel mit ihren Werten ubereinstimmen, werden die Regeln angewandt und die Zuweisungsschlussel erhalten die festgelegten Werte zugewiesen. Eine Ubereinstimmungsregel kann eine Netzwerkschnittstelle umbenennen, Symlinks hinzufugen, die auf Gerateknoten zeigen oder ein bestimmtes Programm als Teil der Ereignisverarbeitung ausfuhren. Eine Regel besteht aus einer Kommata-getrennten Liste von einem oder mehreren Schlussel-Operator-Wert-Paaren. Jeder Ausdruck hat eine eindeutige Auswirkung, abhangig vom verwandten Schlussel und Operator. Operatoren "==" Vergleicht auf Gleichheit. (Der festgelegte Schlussel hat den festgelegten Wert.) "!=" Vergleicht auf Ungleichheit. (Der festgelegte Schlussel hat nicht den festgelegten Wert oder der festgelegte Schlussel ist uberhaupt nicht vorhanden.) "=" Weist einen Wert einem Schlussel zu. Schlussel, die eine Liste darstellen, werden zuruckgesetzt und nur dieser einzelne Wert wird zugewiesen. "+=" Fugt einen Wert zu einem Schlussel, der eine Liste von Eintragen halt, hinzu. "-=" Entfernt einen Wert von einem Schlussel, der eine Liste von Eintragen halt. Hinzugefugt in Version 217. ":=" Weist einem Schlussel abschliessend einen Wert zu; spatere Anderungen werden nicht erlaubt. Hinzugefugt in Version 247. Werte Werte werden als Zeichenketten in doppelten englischen Anfuhrungszeichen geschrieben, wie in ("Zeichenkette"). Um das Anfuhrungszeichen (") im Wert aufzunehmen, stellen Sie ihm einen Ruckwartsschragstrich voran (\"). Alle weiteren Vorkommen eines Ruckwartsschragstriches gefolgt von einem Zeichen werden nicht demaskiert. Dies bedeutet, dass >>\t\n<< als vier Zeichen behandelt wird: Ruckwartsschragstrich, kleines t, Ruckwartsschragstrich, 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 Grossbuchstaben, elf Kleinbuchstaben und einem Zeilenumbruch. Dies kann zur Darstellung eines besonderen Zeichens nutzlich sein, wenn ein Kerneltreiber dieses benotigt. Der Zeichenkette kann ein klein geschriebenes i vorangestellt werden (i>>Zeichenkette<<), um zu markieren, dass die Zeichenkette oder das Muster unabhangig von der Gross-/Kleinschreibung verglichen wird. Zum Beispiel passt i>>foo<< auf >>foo<<, >>FOO<<, >>FoO<< und so weiter. Der Prafix kann nur fur Identitats- (>>==<<) oder Nichtidentitats- (>>!=<<) Regeln verwandt werden, z.B. ATTR{foo}==i"abcd". Bitte beachten Sie, dass NUL in keiner Zeichenkettenvariante erlaubt ist. Schlussel Die nachfolgenden Namen konnen zum Vergleichen mit Gerateeigenschaften verwandt werden. Einige dieser Schlussel passen auch auf Eigenschaften der in Sysfs ubergeordneten Gerate, nicht nur auf das Gerat, das das Ereignis erstellt hat. Falls in einer Regel mehrere Schlussel, die auf ein ubergeordnetes Gerat passen, festgelegt werden, mussen samtliche Schlussel auf ein und das gleiche ubergeordnete Gerat passen. ACTION Passt auf den Namen der Ereignisaktion. DEVPATH Passt auf den Geratepfad des Ereignisgerates. KERNEL Passt auf den Namen des Ereignisgerates. KERNELS Durchsucht den Geratepfad nach oben auf passende Geratenamen. NAME Passt auf den Namen der Netzwerkschnittstelle. Er kann verwandt werden, sobald in einer der vorhergehenden Regeln der Schlussel NAME gesetzt wurde. SYMLINK Passt auf den Symlink, der auf den Knoten zielt. Er kann verwandt werden, sobald in einer der vorhergehenden Regeln der Schlussel SYMLINK gesetzt wurde. Es kann mehrere Symlinks geben, es muss nur einer ubereinstimmen. Falls der Operator >>!=<< ist, dann liefert das Merkmal nur wahr zuruck, falls es keinen ubereinstimmenden Symlink gibt. SUBSYSTEM Passt auf das Untersystem des Ereignisgerates. SUBSYSTEMS Durchsucht den Geratepfad nach oben auf passende Gerateuntersystemnamen. DRIVER Passt auf den Treibernamen des Ereignisgerates. Setzen Sie diesen Schlussel nur fur Gerate, die zum Zeitpunkt des Ereignisses an den Treiber gebunden sind. DRIVERS Durchsucht den Geratepfad nach oben auf passende Geratetreibernamen. ATTR{Dateiname} Passt auf den Sysfs-Attributsnamen des Ereignisgerates. Nachfolgender Leerraum im Attributwert wird ignoriert, ausser der festgelegte Ubereinstimmungswert enthalt selbst abschliessenden Leerraum. ATTRS{Dateiname} Durchsucht den Geratepfad nach oben auf ein Gerat mit passenden Sysfs-Attributwerten. Falls mehrere ATTRS-Treffer festgelegt sind, mussen alle von ihnen auf das gleiche Gerat passen. Nachfolgender Leerraum im Attributwert wird ignoriert, ausser der festgelegte Ubereinstimmungswert enthalt selbst abschliessenden Leerraum. SYSCTL{Kernelparameter} Passt auf einen Kernelparameterwert. Hinzugefugt in Version 240. ENV{Schlussel} Passt auf einen Gerateeigenschaftswert. CONST{Schlussel} Passt auf eine systemweite Konstante. Unterstutzte Schlussel sind: "arch" Architektur des Systems. Siehe ConditionArchitecture= in systemd.unit(5) fur mogliche Werte. Hinzugefugt in Version 244. "virt" Virtualisierungsumgebung des Systems. Siehe systemd-detect-virt(1) fur mogliche Werte. Hinzugefugt in Version 244. "cvm" Vertrauliche Virtualisierungstechnik des Systems. Siehe systemd-detect-virt(1) fur mogliche Werte. Hinzugefugt in Version 254. Unbekannte Schlussel passen niemals. Hinzugefugt in Version 244. TAG Passt auf eine der Gerate-Markierungen. Er kann verwandt werden, sobald in einer der vorhergehenden Regeln der Schlussel TAG gesetzt wurde. Es kann mehrere Markierungen geben, es muss nur eine ubereinstimmen. Falls der Operator >>!=<< ist, dann liefert das Merkmal nur wahr zuruck, falls es keine ubereinstimmende Markierung gibt. TAGS Durchsucht den Geratepfad nach oben auf ein Gerat mit passender Markierung. Falls der Operator >>!=<< ist, dann liefert das Merkmal nur wahr zuruck, falls es keine ubereinstimmende Markierung gibt. TEST{oktale Modusmaske} Testet auf die Existenz einer Datei. Falls notwendig kann eine oktale Modusmaske angegeben werden. PROGRAM Fuhrt ein Programm aus, um zu prufen, ob es passt; der Schlussel ist wahr, falls das Programm sich erfolgreich beendet. Die Gerateeigenschaften werden dem ausgefuhrten Programm in der Umgebung zur Verfugung gestellt. Die Standardausgabe des Programms ist im Feld RESULT verfugbar. Dies kann nur fur sehr kurz laufende Vordergrundprozesse verwandt werden. Fur Details, siehe RUN. Beachten Sie, dass mehrere PROGRAM-Schlussel in einer Regel festgelegt werden durfen und dass >>=<<, >>:=<< und >>+=<< die gleiche Auswirkung wie >>==<< haben. RESULT Passt auf die Zeichenkette, die beim letzten Aufruf von PROGRAM zuruckgeliefert wurde. Dieser Schlussel kann im gleichen Aufruf wie PROGRAM oder jedem spateren verwandt werden. Die meisten Felder unterstutzen Shell-Glob-Muster-Vergleiche und alternative Muster. Die folgenden Sonderzeichen werden unterstutzt: "*" Passt auf ein oder mehrere Zeichen. "?" Passt auf jedes einzelne Zeichen. "[]" Passt auf jedes einzelne, innerhalb der Klammern festgelegte Zeichen. Die Musterzeichenkette >>tty[SR]<< wurde beispielsweise auf entweder >>ttyS<< oder >>ttyR<< passen. Mittels des Zeichens >>-<< werden auch Bereiche unterstutzt. Um beispielsweise auf den Bereich aller Ziffern zu passen, konnte 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*<<. Hinzugefugt in Version 217. Den folgenden Schlusseln konnen Werte zugewiesen werden: NAME Der fur eine Netzwerkschnittstelle zu verwendende Name. Siehe systemd.link(5) fur einen abstrakteren Mechanismus zum Setzen von Schnittstellennamen. Der Name eines Gerateknotens kann durch Udev nicht geandert werden, es konnen nur zusatzliche Symlinks erstellt werden. SYMLINK Der Name eines Symlinks, der auf den Knoten zielt. Jede passende Regel fugt 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#+-.:=@_/<<, gultige UTF-8-Zeichensequenzen und >>\x00<<-Hexadezimalkodierung. Alle anderen Zeichen werden durch ein >>_<< ersetzt. Es konnen mehrere Symlinks angegeben werden, indem die Namen durch Leerzeichen getrennt werden. Falls mehrere Gerate den gleichen Namen beanspruchen, zeigt der Link immer auf das Gerat mit der hochsten >>link_priority<<. Falls das aktuelle Gerat verschwindet, werden die Links neu bewertet und das Gerat mit der nachst hochsten >>link_priority<< wird der Eigentumer des Links. Falls keine >>link_priority<< festgelegt ist, ist die Reihenfolge der Gerate (und welchem davon der Link gehort) nicht definiert. Symlink-Namen durfen niemals mit dem Vorgabegerateknotennamen des Kernels in Konflikt stehen, da dies zu unvorhersagbarem Verhalten fuhren wurde. OWNER, GROUP, MODE Die Rechte fur den Gerateknoten. Jeder angegebene Wert setzt den einkompilierten Vorgabewert ausser Kraft. SECLABEL{Modul} Wendet das festgelegte Linux-Security-Modul-Label auf den Gerateknoten an. Hinzugefugt in Version 209. ATTR{Schlussel} Der Wert, der zu einem Sysfs-Attribut des Ereignisgerates geschrieben werden soll. SYSCTL{Kernelparameter} Der Wert, der in den Kernelparameter geschrieben werden soll. Hinzugefugt in Version 220. ENV{Schlussel} Setzt einen Gerateeigenschaftswert. Eigenschaftsnamen, die mit einem >>.<< beginnen, werden weder in der Datenbank gespeichert noch an externe Ereignisse oder externe Werkzeuge (die beispielsweise vom Vergleichsschlussel PROGRAM ausgefuhrt werden) exportiert. TAG Hangt eine Markierung an ein Gerat. Dies wird zum Filtern von Ereignissen fur Benutzer der Monitor-Funktionalitat von Libudev oder zur Aufzahlung einer Gruppe von markierten Geraten verwandt. Die Implementierung kann nur effizient arbeiten, falls nur wenige Markierungen an ein Gerat angehangt werden. Dies ist nur zur Verwendung in Zusammenhangen mit bestimmten Geratefilteranforderungen und nicht als Allzweckmarkierung gedacht. Umfangreiche Verwendung kann zu einer ineffizienten Ereignisbehandlung fuhren. RUN{Typ} Legt ein Programm fest, das nach der Verarbeitung aller Regeln fur das Ereignis ausgefuhrt werden soll. Mit >>+=<< wird diese Ausfuhrung zu der Liste hinzugefugt und mit >>=<< oder >>:=<< ersetzt sie samtlichen 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" Fuhrt ein externes Programm aus, das als ubergebener Wert festgelegt ist. Falls kein absoluter Pfad ubergeben 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. Hinzugefugt in Version 199. Der Programmname und die nachfolgenden Argumente sind durch Leerzeichen getrennt. Einfache englische Anfuhrungszeichen konnen zur Angabe von Argumenten mit Leerzeichen verwandt werden. Dies kann fur sehr kurz laufende Vordergrundprozesse verwandt werden. Lauft ein Ereignisprozess fur langere Zeitperioden, dann konnen alle weiteren Ereignisse fur dieses oder abhangige Gerate blockiert sein. Beachten Sie, dass laufende Programme, die auf das Netzwerk zugreifen oder Dateisysteme ein-/aushangen, 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 getotet, unabhangig 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 Gerateeigenschaft SYSTEMD_WANTS durch eine Udev-Regel hereinziehen. Siehe systemd.device(5) fur Details. LABEL Ein benanntes Sprungziel, zu dem ein GOTO springen kann. GOTO Springt zu dem nachsten LABEL mit einem passenden Namen. IMPORT{Typ} Importiert eine Gruppe von Variablen als Gerateeigenschaften, abhangig vom Typ: "program" Fuhrt ein externes Programm aus, das als zugewiesener Wert festgelegt ist und, falls es erfolgreich zuruckkehrt, importiert dessen Ausgabe, die in einem Umgebungsschlusselformat vorliegen muss. Pfadangaben, Befehls-/Argumenttrennung und Maskierung funktionieren wie in RUN. Hinzugefugt in Version 199. "builtin" Ahnlich zu >>program<<, verwendet aber eines der eingebauten Programme statt eines externen. Hinzugefugt in Version 199. "file" Importiert eine Textdatei, festgelegt als zugewiesener Wert, deren Inhalt in einem Umgebungsschlusselformat vorliegen muss. "db" Importiert eine einzelne Eigenschaft, die als zugewiesener Wert aus der aktuellen Geratedatenbank festgelegt ist. Dies funktioniert nur, wenn die Datenbank bereits durch ein fruheres Ereignis gefullt ist. "cmdline" Importiert eine einzelne Eigenschaft von der Kernelbefehlszeile. Fur einfache Schalter wird der Wert der Eigenschaft auf >>1<< gesetzt. "parent" Importiert gespeicherte Schlussel vom ubergeordneten Gerat durch Lesen der Datenbankeintrage des ubergeordneten Gerates. Der IMPORT{parent} zugewiesene Wert wird als Filter fur zu importierende Schlusselnamen verwandt (wobei die gleiche Shell-Glob-Musteruberprufung wie bei Vergleichen verwandt wird). Dies kann nur fur sehr kurz laufende Vordergrundprozesse verwandt werden. Fur Details siehe RUN. Beachten Sie, dass in einer Regel mehrere IMPORT{}-Schlussel festgelegt werden konnen und dass >>=<<, >>:=<< und >>+=<< die gleiche Auswirkung wie >>==<< haben. Der Schlussel ist wahr, falls der Import erfolgreich war, ausser >>!=<< wurde als Operator verwandt, dieser fuhrt dazu, dass der Schlussel wahr wird, falls der Import fehlschlug. OPTIONS Regeln und Gerateoptionen: link_priority=Wert Legt die Prioritat der erstellten Symlinks fest. Gerate mit hoherer Prioritat uberschreiben existierende Symlinks anderer Gerate. Die Vorgabe ist 0. string_escape=none|replace Wenn >>replace<<, dann werden moglicherweise unsichere Zeichen in den NAME, SYMLINK und ENV{Schlussel} zugewiesenen Zeichenketten ersetzt. Wenn >>none<<, dann wird keine Ersetzung durchgefuhrt. Wenn nicht gesetzt, wird die Ersetzung fur NAME, SYMLINK, aber nicht fur ENV{Schlussel} durchgefuhrt. Standardmassig nicht gesetzt. static_node= Wendet die in dieser Regel angegebenen Berechtigungen auf die statischen Gerateknoten mit dem angegebenen Namen an. Erzeugt auch fur jede in dieser Regel angegebene Markierung einen Symlink im Verzeichnis /run/udev/static_node-tags/Markierung, der auf den statischen Gerateknoten mit dem angegebenen Namen zeigt. Die Erstellung statischer Gerateknoten wird durch Systemd-tmpfiles vor dem Start von Systemd-udevd durchgefuhrt. Die statischen Knoten mussen kein entsprechendes Kernelgerat haben; sie werden beim Zugriff zum Auslosen des automatischen Ladens von Kernelmodulen verwandt. watch Beobachtet den Gerateknoten mit Inotify; wenn der Knoten nach der Verwendung zum Schreiben geschlossen wird, dann wird ein Anderungs-Uevent erzeugt. nowatch Deaktiviert die Beobachtung eines Gerateknotens mit Inotify. db_persist Setzt den Schalter (Sticky-Bit) fur den Udev-Datenbankeintrag des Ereignisgerats. Gerateeigenschaften werden dann in der Datenbank behalten, selbst wenn udevadm info --cleanup-db aufgerufen wird. In bestimmten Fallen kann diese Option fur dauerhafte Gerate beim Ubergang von der Initrd nutzlich sein (z.B. Device-Mapper-Gerate). Hinzugefugt 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 geandert. Wird >>reset<< gesetzt, dann wird die vorher festgelegte Protokollstufe widerrufen. Standardmassig die Protokollstufe des Hauptprozesses von systemd-udevd. Dies kann zur Fehlersuche von Ereignissen fur bestimmte Gerate nutzlich sein. Beachten Sie, dass die Protokollstufe angewandt wird, wenn die Zeile, die diese Regel enthalt, verarbeitet wird. Zur Fehlersuche wird daher empfohlen, dass dies an einer fruhen Stelle festgelegt wird, z.B. als erste Zeile von 00-debug.rules. Beispiel fur die Fehlersuche bei der Verarbeitung von Uevents in Netzwerkschnittstellen: # /etc/udev/rules.d/00-debug-net.rules SUBSYSTEM=="net", OPTIONS="log_level=debug" Hinzugefugt in Version 248. Die Felder ENV, GROUP, MODE, NAME, OWNER, PROGRAM, RUN, SECLABEL und SYMLINK unterstutzen einfache Zeichenkettenersetzungen. Die RUN-Ersetzung wird durchgefuhrt, nachdem alle Regeln verarbeitet wurden, direkt bevor das Programm ausgefuhrt wird, wodurch die Verwendung von Gerateeigenschaften ermoglicht wird, die in vorherigen Regeln gesetzt wurden. Fur alle anderen Felder wird die Ersetzung durchgefuhrt, wahrend die individuelle Regel verarbeitet wird. Die verfugbaren Ersetzungen sind: $kernel, %k Der Kernelname fur dieses Gerat. $number, %n Die Kernelnummer fur dieses Gerat. Beispielsweise hat >>sda3<< die Kernelnummer >>3<<. $devpath, %p Der Geratepfad des Gerates. $id, %b Der Name des passenden Gerates beim Aufwartsdurchsuchen des Geratepfades nach SUBSYSTEMS, KERNELS, DRIVERS und ATTRS. $driver Der Treibername des passenden Gerates beim Aufwartsdurchsuchen des Geratepfades nach SUBSYSTEMS, KERNELS, DRIVERS und ATTRS. $attr{Datei}, %s{Datei} Der Wert eines Sysfs-Attributs, das bei einem Gerat gefunden wird, bei dem alle Schlussel der Regel ubereinstimmen. Falls das passende Gerat kein solches Attribut hat und ein vorhergehender KERNELS-, SUBSYSTEMS-, DRIVERS- oder ATTRS-Test ein ubergeordnetes Gerat ausgewahlt hat, dann wird das Attribut vom ubergeordneten Gerat verwandt. Falls das Attribut ein Symlink ist, wird das letzte Element des Symlink-Ziels als Wert zuruckgegeben. $env{Schlussel}, %E{Schlussel} Ein Gerateeigenschaftswert. $major, %M Die Major-Nummer des Kernels fur das Gerat. $minor, %m Die Minor-Nummer des Kernels fur das Gerat. $result, %c Die Zeichenkette, die von dem mit PROGRAMM erbetenen externen Programm zuruckgeliefert wurde. Ein einzelner, durch ein Leerzeichen getrennter Teil der Zeichenkette kann durch Angabe einer Teilnummer als Attribut ausgewahlt 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 ubergeordneten Gerats. $name Der aktuelle Name des Gerats. Falls nicht durch eine Regel geandert, ist dies der Name des Kernelgerats. $links Eine Leerzeichen-getrennte Liste der aktuellen Symlinks. Der Wert wird nur wahrend eines Entfernungsereignisses gesetzt oder falls eine fruhere Regel einen Wert zuwies. $root, %r Der Wert udev_root. $sys, %S Der Sysfs-Einhangepunkt. $devnode, %N Der Name des Gerateknotens. %% 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 UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer: . systemd 257.8 UDEV(7)