![systemd - 这是如何通过已安装的程序要求服务吗?](https://linux22.com/image/226961/systemd%20-%20%E8%BF%99%E6%98%AF%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E5%B7%B2%E5%AE%89%E8%A3%85%E7%9A%84%E7%A8%8B%E5%BA%8F%E8%A6%81%E6%B1%82%E6%9C%8D%E5%8A%A1%E5%90%97%EF%BC%9F.png)
精华:
我希望 systemd/tmp/some_folder
在从各种已安装的软件包和系统服务启动服务之前将特定目录符号链接到(如杯子、吃豆人等),原因是:我不希望他们在我的磁盘上写入日志,或者,换句话说,我想让我的系统尽可能只读。我想在这里问一下我计划的解决方案是否确实是一个解决方案。
细节:
我的发行版是 ArchLinux,这是我想象的解决方案:
让L
是我想要需要符号链接的服务列表:(
, cups.socket
, pacman-filesdb-refresh.service
, systemd-logind.service
, systemd-timesyncd.service
)NetworkManager.service
我创建一个具有这些属性的
自定义服务:(以便能够找到并已安装) ,它运行 bash 脚本来创建符号链接(为了便于阅读,我添加了空格)。 然后,我为每个from创建文件夹,并在每个文件夹中创建一个到 的符号链接。y
Requires= -.mount tmp.mount
/bin/bash
/tmp
After= -.mount tmp.mount
Before= L
x.requires
x
L
y.service
问题:
我的问题是:
- 这类似于一个可能的解决方案吗?
- 只有当 bash 脚本完成并成功时,什么样的服务才
y
显示为活动状态? x.requires
这些目录需要放在哪里?我可以将它们放在同一目录中的某个位置吗systemd-analyze unit-paths
?