- systemd.index 中文手册
- systemd.directives 中文手册
- binfmt.d 中文手册
- bootctl 中文手册
- bootup 中文手册
- busctl 中文手册
- coredump.conf 中文手册
- coredumpctl 中文手册
- crypttab 中文手册
- daemon 中文手册
- dnssec-trust-anchors.d 中文手册
- environment.d 中文手册
- file-hierarchy 中文手册
- halt 中文手册
- hostname 中文手册
- hostnamectl 中文手册
- hwdb 中文手册
- journal-remote.conf 中文手册
- journal-upload.conf 中文手册
- journalctl 中文手册
- journald.conf 中文手册
- kernel-command-line 中文手册
- kernel-install 中文手册
- loader.conf 中文手册
- locale.conf 中文手册
- localectl 中文手册
- localtime 中文手册
- loginctl 中文手册
- logind.conf 中文手册
- machine-id 中文手册
- machine-info 中文手册
- machinectl 中文手册
- modules-load.d 中文手册
- networkctl 中文手册
- networkd.conf 中文手册
- nss-myhostname 中文手册
- nss-mymachines 中文手册
- nss-resolve 中文手册
- nss-systemd 中文手册
- os-release 中文手册
- pam_systemd 中文手册
- portablectl 中文手册
- resolvectl 中文手册
- resolved.conf 中文手册
- shutdown 中文手册
- sysctl.d 中文手册
- systemctl 中文手册
- systemd 中文手册
- systemd-analyze 中文手册
- systemd-ask-password 中文手册
- systemd-ask-password-console.service 中文手册
- systemd-backlight@.service 中文手册
- systemd-binfmt.service 中文手册
- systemd-bless-boot-generator 中文手册
- systemd-bless-boot.service 中文手册
- systemd-boot 中文手册
- systemd-boot-check-no-failures.service 中文手册
- systemd-cat 中文手册
- systemd-cgls 中文手册
- systemd-cgtop 中文手册
- systemd-coredump 中文手册
- systemd-cryptsetup-generator 中文手册
- systemd-cryptsetup@.service 中文手册
- systemd-debug-generator 中文手册
- systemd-delta 中文手册
- systemd-detect-virt 中文手册
- systemd-environment-d-generator 中文手册
- systemd-escape 中文手册
- systemd-firstboot 中文手册
- systemd-fsck@.service 中文手册
- systemd-fstab-generator 中文手册
- systemd-getty-generator 中文手册
- systemd-gpt-auto-generator 中文手册
- systemd-halt.service 中文手册
- systemd-hibernate-resume-generator 中文手册
- systemd-hibernate-resume@.service 中文手册
- systemd-hostnamed.service 中文手册
- systemd-hwdb 中文手册
- systemd-id128 中文手册
- systemd-importd.service 中文手册
- systemd-inhibit 中文手册
- systemd-initctl.service 中文手册
- systemd-journal-gatewayd.service 中文手册
- systemd-journal-remote.service 中文手册
- systemd-journal-upload.service 中文手册
- systemd-journald.service 中文手册
- systemd-localed.service 中文手册
- systemd-logind.service 中文手册
- systemd-machine-id-commit.service 中文手册
- systemd-machine-id-setup 中文手册
- systemd-machined.service 中文手册
- systemd-makefs@.service 中文手册
- systemd-modules-load.service 中文手册
- systemd-mount 中文手册
- systemd-networkd-wait-online.service 中文手册
- systemd-networkd.service 中文手册
- systemd-notify 中文手册
- systemd-nspawn 中文手册
- systemd-path 中文手册
- systemd-portabled.service 中文手册
- systemd-quotacheck.service 中文手册
- systemd-random-seed.service 中文手册
- systemd-rc-local-generator 中文手册
- systemd-remount-fs.service 中文手册
- systemd-resolved.service 中文手册
- systemd-rfkill.service 中文手册
- systemd-run 中文手册
- systemd-run-generator 中文手册
- systemd-sleep.conf 中文手册
- systemd-socket-activate 中文手册
- systemd-socket-proxyd 中文手册
- systemd-suspend.service 中文手册
- systemd-sysctl.service 中文手册
- systemd-system-update-generator 中文手册
- systemd-system.conf 中文手册
- systemd-sysusers 中文手册
- systemd-sysv-generator 中文手册
- systemd-time-wait-sync.service 中文手册
- systemd-timedated.service 中文手册
- systemd-timesyncd.service 中文手册
- systemd-tmpfiles 中文手册
- systemd-tty-ask-password-agent 中文手册
- systemd-udevd.service 中文手册
- systemd-update-done.service 中文手册
- systemd-update-utmp.service 中文手册
- systemd-user-sessions.service 中文手册
- systemd-vconsole-setup.service 中文手册
- systemd-veritysetup-generator 中文手册
- systemd-veritysetup@.service 中文手册
- systemd-volatile-root.service 中文手册
- systemd.automount 中文手册
- systemd.device 中文手册
- systemd.dnssd 中文手册
- systemd.environment-generator 中文手册
- systemd.exec 中文手册
- systemd.generator 中文手册
- systemd.journal-fields 中文手册
- systemd.kill 中文手册
- systemd.link 中文手册
- systemd.mount 中文手册
- systemd.netdev 中文手册
- systemd.network 中文手册
- systemd.nspawn 中文手册
- systemd.offline-updates 中文手册
- systemd.path 中文手册
- systemd.preset 中文手册
- systemd.resource-control 中文手册
- systemd.scope 中文手册
- systemd.service 中文手册
- systemd.slice 中文手册
- systemd.socket 中文手册
- systemd.special 中文手册
- systemd.swap 中文手册
- systemd.syntax 中文手册
- systemd.target 中文手册
- systemd.time 中文手册
- systemd.timer 中文手册
- systemd.unit 中文手册
- sysusers.d 中文手册
- timedatectl 中文手册
- timesyncd.conf 中文手册
- tmpfiles.d 中文手册
- udev 中文手册
- udev.conf 中文手册
- udevadm 中文手册
- user@.service 中文手册
- vconsole.conf 中文手册
hwdb 中文手册
名称
hwdb — 硬件数据库
描述
硬件数据库是一个由"modalias"风格的键(key)与"udev属性"风格的值(value)组成的 key-value 文本数据库。主要用于 udev 为匹配到的硬件设备添加关联属性,但也可以用于直接查询。
硬件数据库文件
硬件数据库文件(hwdb)位于操作系统发行商维护的 /usr/lib/udev/hwdb.d
目录中,以及系统管理员维护的 /etc/udev/hwdb.d
目录中。所有的 hwdb 文件(无论位于哪个目录中),统一按照文件名的字典顺序处理。对于不同目录下的同名 hwdb 文件,仅以 /etc/udev/hwdb.d
目录中的那一个为准。依据这个特性,系统管理员可以使用 /etc/udev/hwdb.d
目录中的自定义文件替代 /usr/lib/udev/hwdb.d
目录中的同名文件。如果系统管理员想要屏蔽 /usr/lib/udev/hwdb.d
目录中的某个 hwdb 文件,那么最佳做法是在 /etc/udev/hwdb.d
目录中创建一个指向 /dev/null
的同名符号链接,即可彻底屏蔽 /usr/lib/udev/hwdb.d
目录中的同名文件。注意,硬件数据库文件必须以 .hwdb
作为后缀名,否则将被忽略。
每个硬件数据库文件(hwdb)都包含一系列由"matche"与关联的"key-value"组成的记录。每条记录由一个或多个用于匹配的"matche"字符串(可包含shell风格的通配符)开头,多个"matche"字符串之间使用换行符分隔,但必须是依次紧紧相连的行(也就是中间不能出现空行),每一行都必须是一个完整的"matche"字符串(也就是不能将一个"matche"字符串分为两行),多行之间是逻辑或(OR)的关系。每一个"matche"字符串都必须顶行书写(也就是行首不能是空白字符)。
"matche"行之后是一个或多个以空格开头的"key-value"行(必须以空格开头作为区分), "key-value"行必须符合 "key=value
" 格式。一个空白行表示一条记录结束。以 "#
" 开头的行将被视为注释而被忽略。
如果有多条记录的"matche"串都匹配同一个给定的查找字符串,那么所有匹配记录中的"key-value"都将被融合在一起。如果某个"key"出现了多次,那么仅以最高优先级记录中的"value"为准(每个"key"仅允许拥有一个单独的"value")。对于不同硬件数据库文件(hwdb)中的记录来说,文件名的字典顺序越靠后,优先级越高;对于同一个硬件数据库文件(hwdb)中的记录来说,记录自身的位置越靠后,优先级越高。
所有 hwdb 文件都将被systemd-hwdb(8)编译为二进制格式的数据库,并存放在 /etc/udev/hwdb.bin
文件中。注意,操作系统发行商应该将预装的二进制格式的数据库存放在 /usr/lib/udev/hwdb.bin
文件中。系统在运行时,仅会读取二进制格式的硬件数据库。
例子
例 1. hwdb 文件的一般语法
# /usr/lib/udev/hwdb.d/example.hwdb # 注释一般放在记录之前。 # 用于描述该文件的用途、定义了哪些属性、 # 以及排序规则。 # 下面这条记录有三个 match 以及一个属性 mouse:*:name:*Trackball*: mouse:*:name:*trackball*: mouse:*:name:*TrackBall*: ID_INPUT_TRACKBALL=1 # 下面这条记录有一个 match 以及五个属性 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
例 2. 属性值的覆盖
# /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 evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn123* KEYBOARD_KEY_a2=wlan # /etc/udev/hwdb.d/70-keyboard.hwdb # 禁用所有AT键盘上的 wlan 按钮 evdev:atkbd:* KEYBOARD_KEY_a2=reserved
如果硬件数据库仅由上述两个文件组成,那么查找字符串为"evdev:atkbd:dmi:bvnAcer:bdXXXXX:bd08/05/2010:svnAcer:pn123
"的键盘将会匹配上述全部三条记录,并且最终获得如下"属性=值":
KEYBOARD_KEY_a1=help KEYBOARD_KEY_a2=reserved KEYBOARD_KEY_a3=battery
参见
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论