在 Ubuntu 12.04 中,/dev/.udev/db 不再存在

在 Ubuntu 12.04 中,/dev/.udev/db 不再存在

在 Ubuntu 12.04 之前,udev 数据库在 /dev/.udev/db 可用并更新,但在 12.04 及更高版本中,目录 /dev/.udev/ 存在,但数据库不存在。有人知道它去哪儿了吗?

答案1

strace在命令上运行后udevadm info,我发现它现在出现在 中/run/udev/data。但是,设备不是按内核名称(例如/dev/sda/dev/sdb)列出的,而是按其主编号和次编号以及设备类型列出的。

于是我跑过去strace -f -e open udevadm info -q all -n /dev/sda,看到:

open("/run/udev/data/b8:0", O_RDONLY|O_CLOEXEC) = 3

它打开是b8:0因为/dev/sda是一个块特殊文件,其主编号为 8,次编号为 0。您还将看到其他数据文件,如c10:1input:input1。我不知道输入的用途,但我知道 是c字符特殊文件, 是10:1主编号为 10,次编号为 1。

我通过查看找到了有关块特殊文件和字符特殊文件的信息man mknod

值得注意的是:我正在运行 Ubuntu 13.04 和 udevadm 版本 175。

相关内容