HWDB(7) hwdb HWDB(7)

hwdb - Hardware-Datenbank

Die Hardwaredatenbank ist ein Schlüssel-Wert-Speicher zur Zuordnung Modalias-artiger Schlüssel zu Udev-Eigenschaften-artigen Werten. Sie wird primär durch Udev zum Hinzufügen der relevanten Eigenschaften auf passende Geräte verwandt, kann aber auch direkt abgefragt werden.

Die hwdb-Dateien werden aus den im System-hwdb-Verzeichnis und dem lokalen Administrationsverzeichnis /usr/lib/udev/hwdb.d befindlichen Dateien gelesen. Alle hwdb-Dateien werden gemeinsam sortiert und in lexikalischer Reihenfolge, unabhängig von dem Verzeichnis, aus dem sie stammen, verarbeitet. Allerdings ersetzen Dateien mit gleichen Dateinamen einander. Dateien in /etc/ haben die höchste Priorität und haben Vorrang vor Dateien mit dem gleichen Namen in /usr/lib/. Dies kann bei Bedarf zum Außerkraftsetzen einer vom System bereitgestellten hwdb-Datei verwandt werden, ein auf /dev/null zeigender Symlink in /etc/ mit dem gleichen Namen wie eine hwdb-Datei in /usr/lib/ deaktiviert diese hwdb-Datei komplett. hwdb-Dateien müssen die Endung .hwdb haben, andere Endungen werden ignoriert.

Jede hwdb-Datei enthält Datensätze, die aus Treffern und zugeordneten Schlüssel-Wert-Paaren bestehen. Jeder Datensatz in der hwdb beginnt mit einem oder mehreren Trefferzeichenketten, die ein Shell-Glob festlegen, mit dem die Nachschlagezeichenkette verglichen wird. Mehrere Trefferzeilen werden in fortlaufenden Zeilen festgelegt. Jede Trefferzeile wird individuell verglichen und alle werden durch ODER verknüpft. Jede Trefferzeile muss am ersten Zeichen der Zeile beginnen.

Treffermuster bestehen aus echten Buchstaben und Shell-artigen Jokerzeichen:

•Der Stern »*« passt auf eine beliebige Anzahl an Zeichen
•Das Fragezeichen »?« passt auf ein einzelnes Zeichen
•Zeichenlisten »[Zeichen]« passen auf eines der Zeichen, das zwischen »[« und »]« aufgeführt ist. Ein Bereich kann mit einem Bindestrich als »[erstes-letztes]« angegeben werden. Ein Treffer kann mit einem Zirkumflex »[^…]« invertiert werden.

Den Trefferzeilen folgt eine oder mehrere Schlüssel-Wert-Paar-Zeilen, die durch das einleitende Leerzeichen erkannt werden. Der Schlüsselname und der Wert werden durch »=« getrennt. Eine leere Zeile kennzeichnet das Ende des Datensatzes. Mit »#« beginnende Zeilen werden ignoriert.

Falls mehrere Datensätze auf eine Nachschlagezeichenkette passen, werden die Schlüssel-Wert-Paare aller Datensätze zusammengefasst. Falls ein Schlüssel mehrfach angegeben ist, wird der Wert vom Datensatz mit der höchsten Priorität verwandt (jeder Schlüssel kann nur einen einzelnen Wert haben). Die Priorität ist höher, wenn der Datensatz in einer Datei ist, die lexikographisch später einsortiert ist. Im Falle von Datensätzen in der gleichen Datei haben Datensätze weiter hinten höhere Priorität.

Der Inhalt aller hwdb-Dateien wird durch systemd-hwdb(8) eingelesen und in eine unter /etc/udev/hwdb.bin (oder alternativ in /usr/lib/udev/hwdb.bin, falls Sie eine zusammengestellte Datenbank in einem unveränderlichen Abbild ausliefern wollen) befindliche binäre Datenbank übersetzt.

Beispiel 1. Allgemeine Syntax von hwdb-Dateien
# /usr/lib/udev/hwdb.d/example.hwdb
# Vor jeden Datensatz können Kommentare abgelegt werden. Dies ist
# eine gute Stelle zu beschreiben, wofür die Datei verwandt wird, welche
# Arten von Eigenschaften sie definiert und die Sortierkonvention.
# Ein Datensatz mit drei Vergleichen und einer Eigenschaft
mouse:*:name:*Trackball*:*
mouse:*:name:*trackball*:*
mouse:*:name:*TrackBall*:*
 ID_INPUT_TRACKBALL=1
# Die obigen Regeln könnten auch in einer Form geschrieben werden,
# dass sie auf Tb, tb, TB, tB passen:
mouse:*:name:*[tT]rack[bB]all*:*
 ID_INPUT_TRACKBALL=1
# Ein Datensatz mit einem einzelnen Vergleich und fünf Eigenschaften
mouse:usb:v046dp4041:name:Logitech MX Master:*
 MOUSE_DPI=1000@166
 MOUSE_WHEEL_CLICK_ANGLE=15
 MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
 MOUSE_WHEEL_CLICK_COUNT=24
 MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14

Beispiel 2. Außerkraftsetzen von Eigenschaften

# /usr/lib/udev/hwdb.d/60-keyboard.hwdb
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*:*
 KEYBOARD_KEY_a1=help
 KEYBOARD_KEY_a2=setup
 KEYBOARD_KEY_a3=battery
# Passt auf den Lieferantennamen »Acer« und jeden Produktnamen, der mit »X123« beginnt
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer:pnX123*:*
 KEYBOARD_KEY_a2=wlan
# /etc/udev/hwdb.d/70-keyboard.hwdb
# deaktiviert WLAN-Taste auf allen AT-Tastaturen
evdev:atkbd:*
 KEYBOARD_KEY_a2=reserved
 EIGENSCHAFT_MIT_LEERZEICHEN=eine Zeichenkette

Falls die hwdb aus diesen zwei Dateien besteht, wird eine Tastatur mit der Nachschlagezeichenkette »evdev:atkbd:dmi:bvnAcer:bdXXXXX:bd08/05/2010:svnAcer:pnX123« mit allen drei Datensätzen übereinstimmen und am Ende über folgende Eigenschaften verfügen:

KEYBOARD_KEY_a1=help
KEYBOARD_KEY_a2=reserved
KEYBOARD_KEY_a3=battery
EIGENSCHAFT_MIT_LEERZEICHEN=eine Zeichenkette

systemd-hwdb(8)

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

systemd 248