临时文件
/usr/lib/tmpfiles.d/
和 /etc/tmpfiles.d/
中的文件描述了 systemd-tmpfiles 如何创建、清理、删除临时文件和目录,这些文件和目录通常存放在 /run
和 /tmp
中。配置文件名称为 /etc/tmpfiles.d/<program>.conf
。此处的配置能覆盖 /usr/lib/tmpfiles.d/
目录中的同名配置。
临时文件通常和服务文件同时提供,以生成守护进程需要的文件和目录。例如 Samba) 服务需要目录 /run/samba
存在并设置正确的权限位,就象这样:
- /usr/lib/tmpfiles.d/samba.conf
- D /run/samba 0755 root root
此外,临时文件还可以用来在开机时向特定文件写入某些内容。比如,要禁止系统从USB设备唤醒,利用旧的 /etc/rc.local
可以用 echo USBE > /proc/acpi/wakeup
,而现在可以这么做:
- /etc/tmpfiles.d/disable-usb-wake.conf
- w /proc/acpi/wakeup - - - - USBE
详情参见systemd-tmpfiles(8)
和 tmpfiles.d(5)。
注意: 该方法不能向 /sys
中的配置文件添加参数,因为 systemd-tmpfiles-setup
有可能在相关模块加载前运行。这种情况下,需要首先通过 modinfo <模块名>
确认需要的参数,然后在 /etc/modprobe.d
目录下的配置文件#配置模块参数)中修改配置参数。另外,还可以使用 udev 规则#udev_规则),在设备就绪时设置相应属性。