我有一个带有systemd的ArchLinux安装。我试图在我的加密数据设备被安装后立即运行一个挂钩,以便将闪存放在上面。我有可以工作的脚本,但是我不能让它们按正确的顺序加载。我所做的是:
文件:/usr/lib/systemd/system/flashcache.service
[Unit]
Description=FlashCache
Requires=systemd-cryptsetup@cdata.service
[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/local/bin/flashcache_startup_script
[Install]
WantedBy=dev-mapper-data_cached.device创建文件后,我运行了systemctl enable flashcache.service。
但是,在引导时它没有启动,dev-mapper-data_cached超时,之后我可以进入根shell并手动运行flashcache_startup_script。
我检查了journalctl -b的输出,并确定FlashCache服务在超时之前不会加载。
我尝试过的另一个没有成功的选择是Requires=dev-mapper-vg1-data.device。
我做错了什么?
发布于 2014-07-05 17:55:45
我尝试了各种各样的东西,主要是使用以下资源。我不太清楚它为什么会起作用,但以下单元文件解决了这个问题:
[Unit]
Description=FlashCache
BindsTo=dev-vg1-data.device
After=dev-vg1-data.device
DefaultDependencies=no
[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/local/bin/flashcache_startup_script
[Install]
WantedBy=sysinit.targethttps://unix.stackexchange.com/questions/140650
复制相似问题