udev 规则脚本对 /、ubuntu16.10 仅有只读访问权限

Pet*_*zen 5 udev 16.10

当某些设备出现时,我使用 udev 规则运行 shell 脚本,升级到 ubuntu 16.10 后,根文件系统只能从这些脚本中以只读方式使用。换句话说:从 /etc/udev/rules.d/NN-script.rules 调用的 shell 脚本不能再写入 f.ex /tmp/a_file

这是一个BUG吗?还是对以前版本的 ubuntu 进行了所需的更改?

如果需要,从 udev 脚本访问/读写的首选方式是什么?

以下摘录自 ubuntu 16.10

peter@u16.10:~$ ps -ef | grep udevd
root       368     1  0 13:09 ?        00:00:00 /lib/systemd/systemd-udevd

peter@u16.10:~$ head /proc/368/mounts
/dev/sda6 / ext4 ro,relatime,errors=remount-ro,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)

-- 来自 ubuntu 16.04

peter@16.04:~> ps -ef | grep udevd
root      2205     1  0 20:30 ?        00:00:00 /lib/systemd/systemd-udevd

peter@16.04:~> head /proc/2205/mounts
...
y/ROOT/ubuntu-16.04-y / zfs rw,relatime,xattr,noacl 0 0
Run Code Online (Sandbox Code Playgroud)

一种有效的解决方法是:

sudo /etc/init.d/udev restart
Run Code Online (Sandbox Code Playgroud)