UDEVADM(8)

BEZEICHNUNG
udevadm - Udev-Verwaltungswerkzeug

ÜBERSICHT

udevadm [--debug] [--version] [--help]

udevadm info [Optionen…] [Gerätepfad|Systempfad|Kennung|Unit…]

udevadm trigger [Optionen…] [Gerätepfad|Systempfad|Kennung|Unit…]

udevadm settle [Optionen…]

udevadm control Optionen…

udevadm monitor [Optionen…]

udevadm test [Optionen…] Gerätepfad|Systempfad|Kennung|Unit

udevadm test-builtin [Optionen…] Befehl Gerätepfad|Systempfad|Kennung|Unit

udevadm verify [Optionen…] [Dateien…]

udevadm cat [Optionen…] [Dateien…]

udevadm wait [Optionen…] Gerätepfad|Systempfad…

udevadm lock [Optionen…] Befehl…

BESCHREIBUNG

udevadm erwartet einen Befehl und befehlsspezifische Optionen. Es steuert das Laufzeitverhalten von systemd-udevd, fordert Kernelereignisse an, verwaltet die Ereigniswarteschlange und stellt einen einfachen Fehlersuchmechanismus bereit.

OPTIONEN

-d, --debug
    Gibt Fehlersuchmeldungen auf die Fehlerausgabe aus. Diese Option ist bei den Befehlen udevadm test und udevadm test-builtin impliziert.

-V, --version
    Zeigt eine kurze Versionszeichenkette an und beendet das Programm.

-h, --help
    Zeigt einen kurzen Hilfetext an und beendet das Programm.

  udevadm info [Optionen…] [Gerätepfad|Systempfad|Kennung|Unit…]

Fragt die Udev-Datenbank nach Geräteinformationen.

Positionsargumente sollten zur Angabe eines oder mehrerer Geräte verwandt werden. Jedes kann ein Gerätename (dann muss es mit /dev/ beginnen), ein Sys-Pfad (dann muss es mit /sys/ beginnen), eine Gerätekennung (wie »n1«, »c5:1« oder »b259:1«, siehe sd_device_get_device_id(3)) oder ein Systemd-Geräte-Unit-Name (dann muss es auf ».device« enden, siehe systemd.device(5)) sein.

-q, --query=TYP
    Fragt die Datenbank nach dem angegebenen Typ von Gerätedaten. Gültige TYPen sind: name, symlink, path, property, all.

--property=NAME
    Begrenzt die Anzeige der im Argument festgelegten Eigenschaften bei der Anzeige der Geräteoptionen mittels der Option --query=property. Das Argument sollte eine Kommata-getrennte Liste von Eigenschaftsnamen sein. Falls nicht angegeben, werden alle bekannten Eigenschaften angezeigt.

    Hinzugefügt in Version 250.

--value
    Gibt nur den Wert aus und überspringt den Eigenschaftsnamen und »=« bei der Anzeige von Geräteeigenschaften mittels der Option --query=property.

    Kann nicht zusammen mit -x/--export oder -P/--export-prefix verwandt werden.

    Hinzugefügt in Version 250.

-p, --path=GERÄTEPFAD
    Der /sys/-Pfad des abzufragenden Gerätes, z.B. [/sys/]/class/block/sda. Diese Option ist eine Alternative zum Positionsargument mit einem /sys/-Präfix. udevadm info --path=/class/block/sda ist äquivalent zu udevadm info /sys/class/block/sda.

-n, --name=DATEI
    Der Name des abzufragenden Geräteknotens oder Symlinks z.B. [/dev/]/sda. Diese Option ist eine Alternative zum Positionsargument mit einem /dev/-Präfix. udevadm info --name=sda ist äquivalent zu udevadm info /dev/sda.

-r, --root
    Gibt in einer name- oder symlink-Abfrage absolute Pfade aus.

-a, --attribute-walk
    Gibt alle Sysfs-Eigenschaften des festgelegten Gerätes aus, die in Udev-Regeln zum Vergleich mit dem festgelegten Gerät verwandt werden können. Es gibt alle Geräte entlang der Kette aus, bis zur Wurzel von Sysfs, die in Udev-Regeln verwandt werden können.

    Dieser Schalter unterstützt den JSON-Ausgabemodus (siehe nachfolgenden --json=). Beachten Sie, dass JSON-SEQ-Modus automatisch aktiviert wird (RFC7464), da dieser Schalter mehrere JSON-Objekte erstellt. (Hinweis: Werkzeuge wie jq[1] unterstützen JSON-SEQ von Haus aus mit dem Schalter --seq.)

-t, --tree
    Zeigt einen Sysfs-Baum an. Dies iteriert rekursiv durch die Sysfs-Hierarchie und zeigt diese in einer Baumstruktur an. Falls ein Pfad angegeben ist, dann wird nur der Teilbaum darunter angezeigt und seine übergeordneten Verzeichnisse werden nicht dargestellt. Dies zeigt sowohl Geräte- als auch Subsystem-Elemente.

    Hinzugefügt in Version 251.

-x, --export
    Ausgabe als Schlüssel/Wert-Paare. Werte werden in einzelne englische Anführungszeichen eingeschlossen. Dies wird nur wirksam, wenn --query=property oder --device-id-of-file=DATEI festgelegt ist.

-P, --export-prefix=NAME
    Fügt zum Schlüsselnamen von exportierten Werten ein Präfix hinzu. Dies impliziert --export.

-d, --device-id-of-file=DATEI
    Gibt die Major/Minor-Nummer des darunter liegenden Gerätes aus, auf dem sich die Datei befindet. Falls dies angegeben wird, werden die Positionsargumente ignoriert.

-e, --export-db
    Exportiert den Inhalt der Udev-Datenbank.

-c, --cleanup-db
    Bereinigt die Udev-Datenbank.

-w[SEKUNDEN], --wait-for-initialization[=SEKUNDEN]
    Wartet auf die Initialisierung des Gerätes. Falls das Argument SEKUNDEN nicht angegeben ist, ist die Vorgabe, unendlich zu warten.

    Hinzugefügt in Version 243.

--subsystem-match[=SUBSYSTEM], --subsystem-nomatch[=SUBSYSTEM]
    Zeigt bei der Verwendung mit --export-db nur die Geräte des angegebenen bzw. nicht angegebenen Subsystems.

    Hinzugefügt in Version 255.

--attr-match[=DATEI[=WERT]], --attr-nomatch[=DATEI[=WERT]]
    Zeigt bei der Verwendung mit --export-db nur die Geräte, die auf die angegebenen Attribute passen bzw. nicht passen.

    Hinzugefügt in Version 255.

--property-match[=SCHLÜSSEL=WERT]
    Zeigt bei der Verwendung mit --export-db nur Geräte, die auf die angegebene Eigenschaft und den angegebenen Wert passen.

    Hinzugefügt in Version 255.

--tag-match[=MARKIERUNG]
    Zeigt bei der Verwendung mit --export-db nur Geräte mit der angegebenen Markierung.

    Hinzugefügt in Version 255.

--sysname-match[=NAME]
    Zeigt bei der Verwendung mit --export-db nur Geräte mit dem angegebenen »/sys«-Pfad.

    Hinzugefügt in Version 255.

--name-match[=NAME]
    Zeigt bei der Verwendung mit --export-db nur Geräte mit dem angegebenen Namen in »/dev«.

    Hinzugefügt in Version 255.

--parent-match[=NAME]
    Zeigt bei der Verwendung mit --export-db nur Geräte mit dem angegebenen Eltern-Gerät.

    Hinzugefügt in Version 255.

--initialized-match, --initialized-nomatch
    Zeigt bei der Verwendung mit --export-db nur Geräte, die initialisiert bzw. nicht initialisiert sind.

    Hinzugefügt in Version 255.

--json=MODUS
    Zeigt die Ausgabe als JSON formatiert. Erwartet entweder »short« (für die kürzest mögliche Ausgabe ohne unnötigen Leerraum oder Zeilenumbrüche), »pretty« (für eine schönere Version der gleichen Ausgabe, mit Einzügen und Zeilenumbrüchen) oder »off« (um die JSON-Ausgabe auszuschalten, was die Vorgabe ist).

--no-pager
    Leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter.

Die erstellte Ausgabe zeigt die aktuellen Gerätedatenbankeinträge in einem knappen Format. Jeder dargestellten Zeile wird eines der folgenden Zeichen vorangestellt:

Tabelle 1. Präfixe der Udevadm-Informationsausgabe
Präfix | Bedeutung
"P:" | Gerätepfad in /sys/
"M:" | Gerätename in /sys/ (d.h. die letzte Komponente von »P:«)
"R:" | Gerätenummer in /sys/ (d.h. die numerische Endung der letzten Komponente von »P:«)
"J:" | Gerätekennung
"U:" | Kernel-Subsystem
"B:" | Treiber-Subsystem
"T:" | Kernel-Gerätetyp innerhalb des Subsystems
"D:" | Kernel-Geräteknoten-Major/Minor
"I:" | Netzwerkschnittstellenindex
"N:" | Kernel-Geräteknoten-Name
"L:" | Geräteknoten-Symlink-Priorität
"S:" | Geräteknoten-Symlink
"Q:" | Plattengerätesequenznummer (DISKSEQ)
"V:" | Angehängter Treiber
"E:" | Geräteeigenschaft

  udevadm trigger [Optionen…] [Gerätepfad|Systempfad|Kennung|Unit…]

Fordert Geräteereignisse vom Kernel an. Hauptsächlich zur erneuten Wiedergabe von Ereignissen zum Zeitpunkt des Einsteckens von Geräten vor dem Systemstart.

Akzeptiert Geräteangaben als Positionsargumente. Siehe die vorhergehende Beschreibung von udevadm info.

-v, --verbose
    Gibt die Liste von Geräten aus, die ausgelöst werden.

-n, --dry-run
    Löst das Ereignis nicht wirklich aus.

-q, --quiet
    Unterdrückt Fehlerprotokollierung bei auslösenden Ereignissen.

    Hinzugefügt in Version 248.

-t, --type=TYP
    Löst einen bestimmten Gerätetyp aus. Gültige Typen sind: »all«, »devices«, und »subsystems«. Der Vorgabewert ist »devices«.

-c, --action=AKTION
    Typ des auszulösenden Ereignisses. Mögliche Aktionen sind »add«, »remove«, »change«, »move«, »online«, »offline«, »bind« und »unbind«. Auch kann der besondere Wert »help« dazu verwandt werden, die möglichen Aktionen aufzulisten. Der Vorgabewert ist »change«.

--prioritized-subsystem=SUBSYSTEM[,SUBSYSTEM…]
    Akzeptiert eine Kommata-getrennte Liste von Subsystemen. Beim Auslösen von Ereignissen für Geräte, werden die Geräte von den angegebenen Subsystemen und ihren Eltern zuerst ausgelöst. Ist beispielsweise --prioritized-subsystem=block,net, dann werden alle Blockgeräte und ihre Eltern zuerst ausgelöst, als nächstes werden alle Netzwerkgeräte und ihre Eltern ausgelöst und zum Schluss werden die anderen Geräte ausgelöst. Diese Option kann mehrfach angegeben werden und in diesem Fall wird die Liste der Subsysteme zusammengeführt. Das bedeutet, --prioritized-subsystem=block --prioritized-subsystem=net ist äquivalent zu --prioritized-subsystem=block,net.

    Hinzugefügt in Version 251.

-s, --subsystem-match=SUBSYSTEM
    Löst Ereignisse für Geräte, die zu einem passenden Subsystem gehören, aus. Diese Option unterstützt Shell-artige Mustervergleiche. Wird diese Option mehr als einmal angegeben, dann werden die Vergleichsergebnisse mit ODER verbunden. Dies bedeutet, alle Geräte in jedem Subsystem werden ausgelöst.

-S, --subsystem-nomatch=SUBSYSTEM
    Löst keine Ereignisse für Geräte, die zu einem passenden Subsystem gehören, aus. Diese Option unterstützt Shell-artige Mustervergleiche. Wird diese Option mehr als einmal angegeben, dann werden die Vergleichsergebnisse mit UND verbunden. Dies bedeutet, dass Geräte, die auf keines der festgelegten Subsysteme passen, ausgelöst werden.

-a, --attr-match=ATTRIBUT=WERT
    Löst Ereignisse für Geräte mit übereinstimmenden Sysfs-Attributen aus. Wird zusammen mit dem Attributnamen ein Wert festgelegt, wird der Inhalt des Attributes mit dem übergebenen Wert mit Shell-artigem Mustervergleich verglichen. Falls kein Wert festgelegt ist, wird auf die Existenz des Sysfs-Attributes geprüft. Wird diese Option mehr als einmal angegeben, dann werden die Vergleichsergebnisse mit UND verbunden. Dies bedeutet, dass nur Geräte, die alle der festgelegten Attribute haben, ausgelöst werden.

-A, --attr-nomatch=ATTRIBUT=WERT
    Löst keine Ereignisse für Geräte mit übereinstimmenden Sysfs-Attributen aus. Wird zusammen mit dem Attributnamen ein Wert angegeben, wird der Inhalt des Attributes mit dem übergebenen Wert mit Shell-artigem Mustervergleich verglichen. Falls kein Wert angegeben ist, wird auf die Existenz des Sysfs-Attributes geprüft. Wird diese Option mehr als einmal angegeben, dann werden die Vergleichsergebnisse mit UND verbunden. Dies bedeutet, dass nur Geräte, die keines der festgelegten Attribute haben, ausgelöst werden.

-p, --property-match=EIGENSCHAFT=WERT
    Löst Ereignisse für Geräte mit übereinstimmendem Eigenschaftswert aus. Diese Option unterstützt Shell-artige Mustervergleiche. Wird diese Option mehr als einmal angegeben, dann werden die Vergleichsergebnisse mit ODER verbunden. Dies bedeutet, dass Geräte, die eine der festgelegten Eigenschaften haben, ausgelöst werden.

-g, --tag-match=MARKIERUNG
    Löst Ereignisse für Geräte mit übereinstimmender Markierung aus. Wird diese Option mehr als einmal angegeben, dann werden die Vergleichsergebnisse mit UND verbunden. Dies bedeutet, dass Geräte, die alle der festgelegten Markierungen haben, ausgelöst werden.

-y, --sysname-match=NAME
    Löst Ereignisse für Geräte aus, deren letzte Komponente (d.h. der Dateiname) des /sys/-Pfades auf den festgelegten PFAD passt. Diese Option unterstützt Shell-artige Mustervergleiche. Wird diese Option mehr als einmal angegeben, dann werden die Vergleichsergebnisse mit ODER verbunden. Dies bedeutet, dass Geräte, die eine der angegebenen NAMEn haben, ausgelöst werden.

--name-match=NAME
    Löst Ereignisse für Geräte mit passendem Gerätepfad aus. Wird diese Option mehr als einmal angegeben, dann werden die Vergleichsergebnisse mit ODER verbunden. Dies bedeutet, dass alle festgelegten Geräte ausgelöst werden.

    Hinzugefügt in Version 218.

-b, --parent-match=SYSPFAD
    Löst Ereignisse für alle nachgeordneten Geräte eines gegebenen Geräts aus. Wird diese Option mehr als einmal angegeben, dann werden die Vergleichsergebnisse mit ODER verbunden. Dies bedeutet, dass alle nachgeordneten Geräte von jedem angegebenen Gerät ausgelöst werden.

--initialized-match, --initialized-nomatch
    Wird --initialized-match angegeben, dann werden Ereignisse für bereits durch systemd-udevd initialisierte Geräte ausgelöst und Geräte übersprungen, die noch nicht initialisiert sind.

    Wird --initialized-nomatch angegeben, dann werden Ereignisse für noch nicht durch systemd-udevd initialisierte Geräte ausgelöst und Geräte übersprungen, die bereits initialisiert sind.

    Typischerweise ist es für Anwendungen, die einen solchen Treffer verwenden wollen, wesentlich, sicherzustellen, dass eine geeignete Udev-Regel installiert ist, die mindestens eine Eigenschaft für Geräte setzt, die gefunden werden sollen. Siehe auch den nachfolgenden Abschnitt Initialisierte Geräte für weitere Details.

        Warnung
        --initialized-nomatch kann möglicherweise eine relevante Zeitersparnis im Vergleich zum Neuauslösen aller Geräte im System bringen und z.B. zur Optimierung der Systemstartzeit verwandt werden. Allerdings ist es im Allgemeinen für die Verwendung in einer Startsequenz nicht sicher. Insbesondere, wenn Udev-Regeln für ein Gerät von seinem Elterngerät abhängen (z.B. die Schlüssel »ATTRS« oder »IMPORT{parent}«, siehe udev(7) für weitere Details). Der endgültige Zustand des Geräts wird mit dieser Option schnell instabil.

    Hinzugefügt in Version 251.

--include-parents
    Löst übergeordnete Geräte von gefundenen Geräten aus, selbst wenn die übergeordneten Geräte nicht auf die Filterbedingung passen. Dies ist nützlich, falls Sie daran interessiert sind, die Aktivitäten des Einsteckens vor dem Systemstart auf einige Geräte oder Subsysteme einzuschränken.

    Hinzugefügt in Version 258.

-w, --settle
    Neben dem Auslösen von Ereignissen wird auch auf den Abschluss dieser Ereignisse gewartet. Beachten Sie, dass sich dies vom Aufruf udevadm settle unterscheidet. udevadm settle wartet auf den Abschluss aller Ereignisse. Diese Option wartet nur auf den Abschluss von Ereignissen, die durch den gleichen Befehl ausgelöst wurden.

    Hinzugefügt in Version 238.

--uuid
    Löst Ereignisse für synthetische Geräte aus und ordnet jedem eine zufällige UUID zu. Diese UUIDs werden auf der Standardausgabe dargestellt, eine Zeile für jedes Ereignis. Diese UUIDs werden in dem Uevent-Umgebungsblock aufgenommen (in der Eigenschaft »SYNTH_UUID=«) und können zur Nachverfolgung der erstellten Ereignisse verwandt werden.

    Hinzugefügt in Version 249.

--wait-daemon[=SEKUNDEN]
    Vor dem Auslösen von Uevents wird auf die Initialisierung des Daemons systemd-udevd gewartet. Akzeptiert optional einen Zeitüberschreitungswert. Vorgabezeitüberschreitung ist 5 Sekunden. Dies ist äquivalent zum Aufruf von udevadm control --ping vor udevadm trigger.

    Hinzugefügt in Version 241.

Zusätzlich können optionale Positionsargumente zur Angabe von Gerätenamen oder Sys-Pfaden verwandt werden. Sie müssen mit /dev/ bzw. /sys/ beginnen.

  udevadm settle [Optionen…]

Überwacht die Udev-Ereigniswarteschlange und beendet sich, falls alle aktuellen Ereignisse behandelt wurden.

-t, --timeout=SEKUNDEN
    Maximale Anzahl an Sekunden, die gewartet wird, dass sich die Ereigniswarteschlange leert. Der Vorgabewert ist 120 Sekunden. Ein Wert von 0 wird prüfen, ob die Warteschlange leer ist und immer sofort zurückkehren. Ein von Null verschiedener Wert wird einen Exit-Wert von 0 zurückliefern, falls die Warteschlange sich leerte, bevor die Zeitüberschreitung erreicht wurde, ansonsten ist der Wert von 0 verschieden.

-E, --exit-if-exists=DATEI
    Beendet das Warten, falls die Datei existiert.

Siehe systemd-udev-settle.service(8) für weitere Information.

  udevadm control Optionen…

Verändert den internen Zustand des laufenden Udev-Daemons.

-e, --exit
    Signalisiert und wartet auf das Beenden von systemd-udevd. Außer --timeout kann nach dieser Option keine Option angegeben werden. Beachten Sie, dass systemd-udevd.service Restart=always enthält, und daher diese Option im Ergebnis systemd-udevd neustartet. Falls Sie systemd-udevd.service stoppen möchten, verwenden Sie bitte Folgendes:

        systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd-varlink.socket systemd-udevd.service

-l, --log-level=Wert
    Setzt die interne Protokollierstufe von Systemd-udevd. Gültige Werte sind die numerischen Syslog-Prioritäten oder ihre textuellen Darstellungen: emerg, alert, crit, err, warning, notice, info und debug.

-s, --stop-exec-queue
    Signalisiert Systemd-udevd, die Ausführung neuer Ereignisse zu stoppen. Eingehende Ereignisse kommen in die Warteschlange.

-S, --start-exec-queue
    Signalisiert Systemd-udevd, die Ausführung von Ereignissen zu aktivieren.

-R, --reload
    Signalisiert Systemd-udevd, alle Regeldateien und andere Datenbanken wie den Kernelmodulindex neu zu laden. Das Neuladen von Regeln und Datenbanken führt nicht dazu, dass auf bereits bestehende Geräte Änderungen angewandt werden; die neue Konfiguration wird nur auf neue Ereignisse angewandt.

-p, --property=SCHLÜSSEL=Wert
    Setzt eine globale Eigenschaft für alle Ereignisse.

-m, --children-max=Wert
    Setzt die maximale Anzahl an Ereignissen, die Systemd-udevd gleichzeitig bearbeiten wird. Wird 0 angegeben, dann wird das Maximum auf Basis der Systemressourcen ermittelt.

--ping
    Sendet eine Ping-Meldung an Systemd-udevd und wartet auf die Antwort. Dies kann nützlich sein, um zu prüfen, ob der Daemon systemd-udevd läuft.

    Hinzugefügt in Version 241.

--trace=LOGISCH
    Aktiviert/Deaktiviert die Protokollierung von Traces in systemd-udevd.

    Hinzugefügt in Version 258.

--revert
    Macht die vorher mit dem Befehl udevadm control gesetzten Einstellungen rückgängig. Wenn angegeben, werden die mit -l/--log-level=, --trace, -m/--children-max= und -p/--property= gesetzten Einstellungen bereinigt.

    Hinzugefügt in Version 258.

-t, --timeout=Sekunden
    Die maximale Anzahl an Sekunden, die auf eine Antwort von Systemd-udevd gewartet werden soll.

--load-credentials
    Wenn angegeben, werden die folgenden Zugangsberechtigungen verwandt, wenn sie reingereicht werden:

    udev.conf.*
        Diese Zugangsberechtigung sollte gültige udev.conf(5)-Konfigurationsdaten enthalten. Aus jeder passenden Zugangsberechtigung wird eine getrennte Datei erstellt. Beispiel: eine übergebene Zugangsberechtigung udev.conf.50-foobar wird in eine Konfigurationsdatei /run/udev/udev.conf.d/50-foobar.conf kopiert.

        Hinzugefügt in Version 256.

    udev.rules.*
        Diese Zugangsberechtigungen sollten gültige udev(7)-Regeln enthalten. Aus jeder passenden Zugangsberechtigung wird eine getrennte Datei erstellt. Beispiel: eine übergebene Zugangsberechtigung udev.rules.50-foobar wird in eine Konfigurationsdatei /run/udev/rules.d/50-foobar.rules kopiert.

        Hinzugefügt in Version 256.

    Beachten Sie, dass dies nicht die Option --reload impliziert. Läuft systemd-udevd(8) daher bereits, überlegen Sie die Anwendung von -reload, damit die Udev-Regeldateien von systemd-udevd verwandt werden.

    Hinzugefügt in Version 256.

  udevadm monitor [Optionen…]

Wartet auf die Kernel-Uevents und die durch Udev-Regeln ausgesandten Ereignisse und gibt den Gerätepfad des Ereignisses auf der Konsole aus. Dies kann zur Analyse des Zeitablaufs der Ereignisse verwandt werden, indem die Zeitstempel der Kernel-Uevents und des Udev-Ereignisses verglichen werden.

-k, --kernel
    Gibt die Kernel-Uevents aus.

-u, --udev
    Gibt das Udev-Ereignis nach der Regelverarbeitung aus.

-p, --property
    Gibt auch die Eigenschaften des Ereignisses aus.

-s, --subsystem-match=Zeichenkette[/Zeichenkette]
    Filtert Kernel-Uevents und Udev-Ereignisse nach Subsystem[/Gerätetyp]. Nur Ereignisse mit passendem Subsystemwert werden akzeptiert. Wird diese Option mehr als einmal angegeben, dann werden die Vergleichsergebnisse mit ODER verbunden. Dies bedeutet, dass alle Geräte in den festgelegten Subsystemen überwacht werden.

-t, --tag-match=Zeichenkette
    Filtert Udev-Ereignisse nach Markierung. Nur Udev-Ereignisse mit einer gegebenen Markierung werden akzeptiert. Wird diese Option mehr als einmal angegeben, dann werden die Vergleichsergebnisse mit ODER verbunden. Dies bedeutet, dass alle Geräte, die eine der festgelegten Markierungen haben, überwacht werden.

  udevadm test [Optionen…] Gerätepfad|Systempfad|Kennung|Unit

Simuliert einen Udev-Ereignislauf für das angegebene Gerät und gibt Fehlersuchausgaben aus. Die Option --json= kann zur Auswertung des abschließenden Ergebnisses nützlich sein. Schauen Sie auch in den Beispiel-Abschnitt.

-a, --action=AKTION
    Typ des zu simulierenden Ereignisses. Mögliche Aktionen sind »add«, »remove«, »change«, »move«, »online«, »offline«, »bind« und »unbind«. Der besondere Wert »help« kann auch zur Anzeige möglicher Aktionen verwandt werden. Der Vorgabewert ist »add«.

-N, --resolve-names=early|late|never
    Gibt an, wann udevadm die in Udev-Regeln angegebenen Namen von Benutzern und Gruppen auflösen soll. Falls auf early gesetzt (die Vorgabe), werden Namen aufgelöst, wenn die Regeln ausgewertet werden. Falls auf late gesetzt, werden die Namen während der Verarbeitung des Ereignisses aufgelöst. Falls auf never gesetzt, werden die Namen niemals aufgelöst und alle relevanten Udev-Regeln werden ignoriert.

    Hinzugefügt in Version 209.

-D VERZEICHNIS, --extra-rules-dir=VERZEICHNIS
    Lädt auch Udev-Regeldateien aus dem angegebenen Verzeichnis. Diese Option kann mehrfach angegeben werden. Sie kann bei der Fehlersuche in Udev-Regeln hilfreich sein, indem einige Udev-Regeln in ein temporäres Verzeichnis kopiert und dort bearbeitet werden und dann das Verzeichnis mit dieser Option angegeben wird. Dateien, die in diesem Verzeichnis gefunden werden, haben eine höhere Priorität als Regeldateien in den standardmäßig von systemd-udevd verwandten udev/rules.d-Verzeichnissen. Weitere Details zu Suchpfaden finden Sie in udev(7).

    Hinzugefügt in Version 258.

-v, --verbose
    Zeigt bei der Verarbeitung von Udev-Regeln ausführliche Protokolle.

    Hinzugefügt in Version 258.

--json=MODUS
    Zeigt die Ausgabe als JSON formatiert. Erwartet entweder »short« (für die kürzest mögliche Ausgabe ohne unnötigen Leerraum oder Zeilenumbrüche), »pretty« (für eine schönere Version der gleichen Ausgabe, mit Einzügen und Zeilenumbrüchen) oder »off« (um die JSON-Ausgabe auszuschalten, was die Vorgabe ist).

  udevadm test-builtin [Optionen…] Befehl Gerätepfad|Datei|Unit

Führt einen eingebauten Befehl BEFEHL für Gerät GERÄTEPFAD aus und gibt Fehlersuchausgaben aus.

-a, --action=AKTION
    Typ des zu simulierenden Ereignisses. Mögliche Aktionen sind »add«, »remove«, »change«, »move«, »online«, »offline«, »bind« und »unbind«. Der besondere Wert »help« kann auch zur Anzeige möglicher Aktionen verwandt werden. Der Vorgabewert ist »add«.

    Hinzugefügt in Version 250.

  udevadm verify [Optionen…] [Dateien…]

Verifiziert die syntaktische, semantische und stilistische Korrektheit von Udev-Regeldateien.

Postitionsabhängige Argumente können zur Angabe einer oder mehrerer zu prüfenden Dateien verwandt werden. Jedes Argument muss ein absoluter Pfad zu einer Udev-Regeldatei oder einem Verzeichnis sein, das Regeldateien enthält, oder einem Dateinamen einer Udev-Regeldatei (z.B. 99-systemd.rules). Falls ein Dateiname angegeben ist, wird nach der Datei in den udev/rules.d-Verzeichnissen gesucht, die von systemd-udevd(8) verarbeitet werden. Werden sie dort nicht gefunden, wird das aktuelle Arbeitsverzeichnis durchsucht. Falls keine Dateien angegeben sind, werden die Udev-Regeln aus den Dateien gelesen, die sich in den gleichen udev/rules.d-Verzeichnissen befinden, die von systemd-udevd(8) verarbeitet werden. Weitere Details zu Suchpfaden finden Sie in udev(7).

Der Exit-Status ist 0, falls alle angegebenen Udev-Regeldateien syntaktisch, semantisch und stilistisch korrekt sind. Andernfalls ist der Exit-Code von Null verschieden.

-N, --resolve-names=early|late|never
    Gibt an, wann udevadm die in Udev-Regeln angegebenen Namen von Benutzern und Gruppen auflösen soll. Falls auf early gesetzt (die Vorgabe), werden Namen aufgelöst, wenn die Regeln ausgewertet werden. Falls auf late gesetzt, werden die Namen nie überprüft, da systemd-udevd die Namen während der Verarbeitung jedes Ereignisses auflöst. Falls auf never gesetzt, werden die Namen niemals aufgelöst und alle relevanten Udev-Regeln werden ignoriert.

    Hinzugefügt in Version 254.

--root=PFAD
    Beim Suchen von Udev-Regeldateien in den udev/rules.d-Verzeichnissen wird auf Dateien unterhalb des angegebenen Wurzelpfades PFAD agiert. Wenn ein Dateiname angegeben ist und dieser nicht in den udev/rules.d-Verzeichnissen gefunden wird, wird nach der Datei in dem angegebenen Wurzelpfad PFAD gesucht, anstatt im aktuellen Arbeitsverzeichnis.

    Hinzugefügt in Version 254.

--no-summary
    Zeigt keine Zusammenfassung an.

    Hinzugefügt in Version 254.

--no-style
    Ignoriert Stilprobleme. Falls angegeben ist der Exit-Status 0, selbst wenn Stilprobleme in den Regeldateien, aber keine syntaktischen oder semantischen Fehler gefunden werden.

    Hinzugefügt in Version 254.

  udevadm cat [Optionen…] [Datei…]

Zeigt Udev-Regeldateien oder udev.conf.

Positionsabhängige Argumente können zur Angabe einer oder mehrerer anzuzeigender Dateien verwandt werden. Jedes Argument muss ein absoluter Pfad zu einer Udev-Regeldatei oder ein Verzeichnis sein, das Regeldateien enthält, oder ein Dateiname einer Udev-Regeldatei (z.B. 99-systemd.rules). Falls ein Dateiname angegeben ist, wird nach der Datei in den udev/rules.d-Verzeichnissen gesucht, die von systemd-udevd(8) verarbeitet werden. Werden sie dort nicht gefunden, wird das aktuelle Arbeitsverzeichnis durchsucht. Falls keine Dateien angegeben sind, werden die Udev-Regeln aus den Dateien gelesen, die sich in den gleichen udev/rules.d-Verzeichnissen befinden, die von systemd-udevd(8) verarbeitet werden. Weitere Details zu Suchpfaden finden Sie in udev(7).

--root=PFAD
    Beim Suchen von Udev-Regeldateien in den udev/rules.d-Verzeichnissen wird auf Dateien unterhalb des angegebenen Wurzelpfades PFAD agiert. Wenn ein Dateiname angegeben ist und dieser nicht in den udev/rules.d-Verzeichnissen gefunden wird, wird nach der Datei in dem angegebenen Wurzelpfad PFAD gesucht, anstatt im aktuellen Arbeitsverzeichnis.

    Hinzugefügt in Version 258.

--tldr
    Gibt nur die »interessanten« Teile der Konfigurationsdateien aus und überspringt Kommentare, leere Zeilen und Abschnittskopfzeilen, denen nur Kommentare und Leerzeilen folgen.

    Hinzugefügt in Version 258.

--config
    Zeigt udev.conf(5)-Dateien anstatt Udev-Regeldateien. Falls dies angegeben ist, können keine Udev-Regeldateien angegeben werden.

    Hinzugefügt in Version 258.

  udevadm wait [Optionen…] Gerätepfad|Systempfad…

Wartet auf die Erstellung und Initialisierung von Geräten oder Geräte-Symlinks durch systemd-udevd. Jeder Gerätepfad muss mit »dev/« oder »/sys/«, z.B. »/dev/sda«, »/dev/disk/by-path/pci-0000:3c:00.0-nvme-1-part1«, »/sys/devices/pci0000:00/0000:00:1f.6/net/eth0« oder »/sys/class/net/eth0«, beginnen. Dies kann mehrere Geräte akzeptieren. Dies kann zum Warten auf Geräte nützlich sein, die von systemd-udevd nach z.B. einer Partitionierung oder Formatierung des Gerätes bearbeitet werden.

-t, --timeout=SEKUNDEN
    Maximale Anzahl an Sekunden, die auf die Erstellung, Initialisierung oder Entfernung des angegebenen Gerätes oder Geräte-Symlinks gewartet werden soll. Der Vorgabewert ist »infinity«.

    Hinzugefügt in Version 251.

--initialized=LOGISCH
    Prüft, ob systemd-udevd Geräte initialisierte. Standardmäßig wahr. Wenn falsch, dann prüft der Befehl nur, ob das angegebene Gerät existiert. Setzen Sie diese Einstellung auf falsch, falls es keine Udev-Regeln für die angegebenen Geräte gibt, da die Geräte in diesem Fall niemals als initialisiert betrachtet werden. Für weitere Details siehe den nachfolgenden Abschnitt Initialisierte Geräte.

    Hinzugefügt in Version 251.

--removed
    Wenn angegeben, wartet der Befehl auf die Entfernung von Geräten anstatt auf die Erstellung oder Initialisierung. Falls dies angegeben ist, wird --initialized= ignoriert.

    Hinzugefügt in Version 251.

--settle
    Überwacht die Udev-Ereigniswarteschlange wenn angegeben und wartet auf die Verarbeitung aller Ereignisse in der Warteschlange durch systemd-udevd.

    Hinzugefügt in Version 251.

  udevadm lock [Optionen…] Befehl…

udevadm lock richtet eine (empfohlene) exklusive Sperre auf einem Blockgerät (oder allen angegebenen) gemäß Zugriffssperren für Blockgeräte[2] ein und ruft ein Programm mit diesen Sperren auf. Wenn sich das aufgerufene Programm beendet, werden die Sperren automatisch freigegeben und sein Rückgabewert als Exit-Code an udevadm lock weitergeleitet.

Dieses Werkzeug ist insbesondere nützlich, um sicherzustellen, dass systemd-udevd.service(8) kein Blockgerät untersucht, wärend daran Änderungen erfolgen, beispielsweise das Partitionen erstellt oder Dateisysteme formatiert werden. Beachten Sie, dass viele Werkzeuge, die an Blockgeräten arbeiten, von sich aus das Sperren unterstützen, siehe beispielsweise den Schalter --lock von sfdisk(8).

Der Befehl erwartet, dass mindestens ein Blockgerät mittels --device= oder --backing= und eine auszuführende Befehlszeile als Argument angegeben wird.

--device=GERÄT, -d GERÄT
    Akzeptiert einen Pfad zu einem Geräteknoten des zu sperrenden Gerätes. Dieser Schalter kann mehrfach verwandt werden (und in Kombination mit --backing=), um mehrere Geräte zu sperren. Falls ein Partitions-Blockgeräteknoten angegeben ist, wird das »gesamte« Blockgerät automatisch ermittelt und für die Sperre verwandt, gemäß der Spezifikation. Falls mehrere Geräte angegeben sind, werden sie dedupliziert, gemäß Major-/Minor-Nummer ihres Geräteknotens sortiert und dann der Reihe nach gesperrt.

    Dieser Schalter muss mindestens einmal verwandt werden, um mindestens ein zu sperrendes Gerät festzulegen. (Verwenden Sie alternativ das nachfolgend beschriebene --backing=.)

    Hinzugefügt in Version 251.

--backing=PFAD, -b PFAD
    Falls ein Pfad zu einem Geräteknoten angegeben ist, ist dies zu --device= identisch. Allerdings akzeptiert dieser Schalter alternativ einen Pfad zu einer regulären Datei oder einem regulären Verzeichnis. Dann wird das Blockgerät des Dateisystems, auf dem sich die Datei/das Verzeichnis befindet, automatisch ermittelt und verwandt, als ob es mit --device= festgelegt worden wäre.

    Hinzugefügt in Version 251.

--timeout=SEK, -t SEK
    Legt fest, wie lange höchstens gewartet werden soll, bis alle Sperren erlangt wurden. Akzeptiert einen Wert in Sekunden oder den normalerweise unterstützen Einheiten, siehe systemd.time(7). Wird dies als Null angegeben, wird die Sperre versucht und falls dies nicht erfolgreich ist, wird der Aufruf sofort fehlschlagen. Falls »infinity« (die Vorgabe) angegeben wird, wird der Aufruf unbegrenzt warten, bis die Sperre erlangt wurde. Falls die Sperre innerhalb der angegebenen Zeit nicht erlangt wurde, wird der angegebene Befehl nicht ausgeführt und der Aufruf fehlschlagen.

    Hinzugefügt in Version 251.

--print, -p
    Anstatt die angegebenen Geräte zu sperren und einen Befehl auszuführen, werden die Gerätepfade angezeigt, die gesperrt würden und kein Befehl ausgeführt. Dieser Befehl ist nützlich, um das »gesamte« Blockgerät zu bestimmen, falls ein Partitionsblockgerät angegeben wurde. Die Geräte werden nach der Major-Nummer ihres Geräteknotens und innerhalb einer Nummer nach der Minor-Nummer sortiert (d.h. sie werden in der Reihenfolge angezeigt, in der sie gesperrt werden). Beachten Sie, dass die Anzahl der hier angezeigten Zeilen geringer als die Anzahl der angegebenen Schalter --device= und --backing= sein kann, falls sich diese auf das gleiche »gesamte« Blockgerät auflösen.

    Hinzugefügt in Version 251.

INITIALISIERTE GERÄTE

Initialisierte Geräte sind solche, für die mindestens eine Udev-Regel bereits erfolgreich ausgeführt wurde — für jede Aktion außer »remove« – die eine Eigenschaft oder andere Geräteeinstellungen setzte (und daher hat dieses einen Eintrag in der Udev-Gerätedatenbank). Geräte werden nicht mehr als initialisiert betrachtet, falls eine »remove«-Aktion für sie gesehen wurde (diese entfernt ihren Eintrag aus der Udev-Gerätedatenbank). Beachten Sie, dass Geräte, die keine Udev-Regeln haben, niemals als initialisiert betrachtet werden, aber weiterhin über die sd-device-API (oder ähnliches) bekanntgegeben worden sein könnten.

BEISPIEL

Beispiel 1. Formatieren eines Dateisystems

Erlangt eine Sperre auf dem zugrundeliegenden Blockgerät beim Erstellen eines Dateisystems, um sicherzustellen, dass systemd-udevd dies nicht untersucht oder den neuen Superblock bekannt gibt, bevor vollständig geschrieben wurde:

    # udevadm lock --device=/dev/sda1 mkfs.ext4 /dev/sda1

Beispiel 2. Formatieren eines RAID-Dateisystems

Ähnlich, erlangt aber Sperren auf mehreren Geräten gleichzeitig:

    # udevadm lock --device=/dev/sda1 --device=/dev/sdb1 mkfs.btrfs /dev/sda1 /dev/sdb1

Beispiel 3. Kopieren eines Dateisystems

Erlangt eine Sperre auf dem zugrundeliegenden Dateisystem, während ein vorbereitetes Dateisystem-Abbild kopiert wird, um sicherzustellen, dass systemd-udevd dies nicht untersucht oder den neuen Superblock bekannt gibt, bevor vollständig geschrieben wurde:

    # udevadm lock -d /dev/sda1 dd if=fs.raw of=/dev/sda1

Beispiel 4. Vorhersagen von Netzwerkschnittstellenumbenennungen

Um einen Netzwerkschnittstellennamen vorherzusagen, kann udevadm test verwandt werden:

    $ udevadm test /sys/class/net/wlan0 --json=pretty 2>/dev/null | jq .NetzwerkSchnittstelle.name
    "wlp59s0"

Beispiel 5. KVorhersagen von symbolischen Links eines Geräteknotens

Um symbolische Links auf einen Geräteknoten vorherzusagen, kann udevadm test verwandt werden:

    $ udevadm test /dev/nvme0n1p1 --json=pretty 2>/dev/null | jq .Knoten.symlinks
    [
      "/dev/disk/by-diskseq/1-part1",
      "/dev/disk/by-id/nvme-WDC_PC_SN720_SDAQNTW-512G-1001_192290802247-part1",
      "/dev/disk/by-id/nvme-WDC_PC_SN720_SDAQNTW-512G-1001_192290802247_1-part1",
      "/dev/disk/by-id/nvme-eui.1922908022470001001b448b44ccb9d6-part1",
      "/dev/disk/by-path/pci-0000:3c:00.0-nvme-1-part/by-partnum/1",
      "/dev/disk/by-path/pci-0000:3c:00.0-nvme-1-part1"
    ]
    $ udevadm test /dev/input/event3 --json=pretty 2>/dev/null | jq .Knoten.symlinks
    [
      "/dev/input/by-path/platform-i8042-serio-0-event-kbd"
    ]

SIEHE AUCH

udev(7), systemd-udevd.service(8), udev.conf(5)

ANMERKUNGEN

1.  jq
    https://jqlang.github.io/jq/manual/

2.  Zugriffssperren für Blockgeräte
    https://systemd.io/BLOCK_DEVICE_LOCKING

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