/etc/udev/rules.d/ vs /lib/udev/rules.d/ - 使用哪个,为什么?

Aar*_*nke 28 udev etc

Arch wiki建议创建一个文件/etc/udev/rules.d/来修复我的 Steam 控制器问题。这有效!但是,我注意到这个文件夹中除了我刚刚创建的规则之外没有其他规则。此外,我见过的所有其他来源都说要将 udev 规则放在 中/lib/udev/rules.d/,并且该文件夹中还有很多其他 udev 规则。为什么看似相同的东西有两个文件夹,我应该使用哪个?

Dab*_*abi 36

这两个文件夹的区别在于:

/lib/udev/rules.d
Run Code Online (Sandbox Code Playgroud)

包含默认规则文件。不要编辑这些文件。

/etc/udev/rules.d/*.rules
Run Code Online (Sandbox Code Playgroud)

包含自定义规则文件。您可以修改这些文件或创建它们。

但是,具有相同文件名的文件会相互替换。中的文件/etc具有最高优先级,并且优先于 中的同名文件/lib。这可用于覆盖默认规则。

另一件事,要完全禁用规则文件,您可以在 中创建一个/etc与规则文件同名的符号链接/lib,指向/dev/null.

所以最后,管理员编写的 Udev 规则进去了/etc/udev/rules.d/,它们的文件名必须以.rules. 默认 udev 规则位于/lib/udev/rules.d/(或/usr/lib/udev/rules.d) 中。如果有两个文件由同一名下/lib,并/etc在那些/etc占先。

  • @AaronFranke 你被否决了,因为他们投反对票的仙女今天过得很糟糕。 (4认同)