我想在启动时解密 EncFS“卷”。通常我会像这样解密卷:
cat "/home/user1/encfs.pw" | encfs -S /mnt/encryptedVolume /mnt/decryptedVolume
我/etc/init
有一个myService.conf
文件:
start on startup
stop on shutdown
respawn
pre-start script
cat "/home/user1/encfs.pw" | encfs -S /mnt/encryptedVolume /mnt/decryptedVolume
end script
exec /home/user1/myService
如果没有预启动部分,myService 可以正常启动。如果有预启动部分,则无法启动,因为如文档中所述,如果脚本行失败,则它仍然存在。
我的问题是,脚本行在 shell 中可以运行,但在预启动中却不行。
有人可以帮忙吗?感谢您的帮助。
答案1
(我想我的评论应该是一个答案......)
我猜测启动脚本运行时“/mnt/encryptedVolume”尚未安装。
您可以等待一段时间,直到所需的卷安装完成后再运行脚本,
sleep 20
在脚本中使用。- 或者在一切“启动”并安装完毕并且您登录后运行脚本,运行
initctl start myService
就可以了。