2014-12-16 02:48:24 +03:00
<?xml version='1.0'?> <!-- * - Mode: nxml; nxml - child - indent: 2; indent - tabs - mode: nil - * -->
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
2014-12-26 02:04:19 +03:00
<refentry id= "hwdb" conditional= "ENABLE_HWDB" >
2014-12-16 02:48:24 +03:00
<refentryinfo >
<title > hwdb</title>
<productname > systemd</productname>
<authorgroup >
<author >
<contrib > Developer</contrib>
<firstname > Kay</firstname>
<surname > Sievers</surname>
<email > kay@vrfy.org</email>
</author>
<author >
<contrib > Developer</contrib>
<firstname > Tom</firstname>
<surname > Gundersen</surname>
<email > teg@jklm.no</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta >
<refentrytitle > hwdb</refentrytitle>
<manvolnum > 7</manvolnum>
</refmeta>
<refnamediv >
<refname > hwdb</refname>
<refpurpose > Hardware Database</refpurpose>
</refnamediv>
<refsect1 > <title > Description</title>
<para > The hardware database is a key-value store for associating modalias-like keys to
udev-properties-like values. It is used primarily by udev to add the relevant properties
to matching devices, but it can also be queried directly.</para>
</refsect1>
<refsect1 > <title > Hardware Database Files</title>
<para > The hwdb files are read from the files located in the
system hwdb directory <filename > /usr/lib/udev/hwdb.d</filename> ,
the volatile runtime directory <filename > /run/udev/hwdb.d</filename>
and the local administration directory <filename > /etc/udev/hwdb.d</filename> .
All hwdb files are collectively sorted and processed in lexical order,
regardless of the directories in which they live. However, files with
identical filenames replace each other. Files in <filename > /etc</filename>
have the highest priority, files in <filename > /run</filename> take precedence
over files with the same name in <filename > /usr/lib</filename> . This can be
used to override a system-supplied hwdb file with a local file if needed;
a symlink in <filename > /etc</filename> with the same name as a hwdb file in
<filename > /usr/lib</filename> , pointing to <filename > /dev/null</filename> ,
disables the hwdb file entirely. hwdb files must have the extension
<filename > .hwdb</filename> ; other extensions are ignored.</para>
<para > The hwdb file contains data records consisting of matches and
associated key-value pairs. Every record in the hwdb starts with one or
more match string, specifying a shell glob to compare the database
lookup string against. Multiple match lines are specified in additional
2015-05-11 14:49:29 +03:00
consecutive lines. Every match line is compared individually, they are
2014-12-16 02:48:24 +03:00
combined by OR. Every match line must start at the first character of
the line.</para>
<para > The match lines are followed by one or more key-value pair lines, which
are recognized by a leading space character. The key name and value are separated
by <literal > =</literal> . An empty line signifies the end
of a record. Lines beginning with <literal > #</literal> are ignored.</para>
<para > The content of all hwdb files is read by
<citerefentry > <refentrytitle > systemd-hwdb</refentrytitle> <manvolnum > 8</manvolnum> </citerefentry>
and compiled to a binary database located at <filename > /etc/udev/hwdb.bin</filename> ,
or alternatively <filename > /usr/lib/udev/hwdb.bin</filename> if you want ship the compiled
database in an immutable image.
During runtime only the binary database is used.</para>
</refsect1>
<refsect1 >
<title > See Also</title>
<para >
<citerefentry >
<refentrytitle > systemd-hwdb</refentrytitle> <manvolnum > 8</manvolnum>
</citerefentry>
</para>
</refsect1>
</refentry>