你写好 udev 规则之后还得加到 initramfs 里。
没生效应该是并没有被触发(你又没有把硬盘拔了再插上)。
离线
你写好 udev 规则之后还得加到 initramfs 里。
没生效应该是并没有被触发(你又没有把硬盘拔了再插上)。
我是先用移动硬盘试的。
按照我对 udevadm control --help 给出的信息的字面理解,当我 udevadm control --reload 的时候,systemd-udevd 应当会立即重读 /etc/udev/rules.d/*.rules 和 /usr/lib/udev/rules.d/*.rules,这个时候如果我重新连接移动硬盘的话,这些规则应该就会对移动硬盘起作用才对。
然后,我不理解我故意在 .rules 文件中制造语法错误后 udev 为什么不会报出这些语法错误,是不是我漏了什么东西
还是说, udev 的规则只有在 initrd 被加载的时候读取一次,后续不会再接收改动了呢? 感觉 wiki 上说的并不是这个意思啊。
离线
哦,那的确有些奇怪。
我是说如果你想在启动的时候确定好硬盘的名字,你需要把规则弄到 initramfs 里去,不然你的 / 可能挂载不对。
离线
实际上我一开始也的确没有想到 initramfs 的事情,我就想着移动硬盘测起来方便一些,然后就直接用移动硬盘测试了。谢谢提醒了,等我用移动硬盘把规则调试好了我就把机械盘的规则做到 initramfs 里面去。
然而,最大的问题是,我故意制造语法错误之后无论是 stdout/stderr 还是 journal 里面,都没有任何关于这个语法错误的报告,照理说,这种事情对于任何程序来说都至少是 error 级别的事件。
我对于 udev 的理解肯定还少些了什么,我得再研究一下,等我能看到 udev 报告 rules 文件的语法错误了,我肯定就可以配置成功了。
最近编辑记录 Mr.I (2019-11-28 21:49:47)
离线