在Ubuntu Linux 16.04.3中,如何在fstab之后首先运行另一个挂载的硬盘来运行脚本?
我试过了:
我相信您将需要systemd
在Ubuntu 16.04而不是Windows上使用较新的服务/etc/init.d
。在此处,您将创建一个服务文件来运行脚本local-fs.target
。
让我向您介绍如何完成此操作的示例。
service
在/etc/systemd/system
目录中创建所需的文件
该文件如下所示:
[Unit]
Description=Script to run after fstab
After=local-fs.target
[Service]
Type=simple
ExecStart=/bin/bash -c "/script/to/run.sh"
[Install]
WantedBy=multi-user.target
当然,您将通过以下方式设置服务:
sudo systemctl start <name_of_service>
sudo systemctl enable <name_of_service>
那将是可以完成的方式,请我还没有亲自测试过,这里是指向文档的链接,可以为您提供进一步的帮助。请查看服务文件中各个字段可用的其他选项。
https://access.redhat.com/articles/754933
https://www.freedesktop.org/software/systemd/man/bootup.html
https://www.freedesktop.org/software/systemd/man/systemd.html#
注:该noauto
fstab中安装选项的问题在这里看
local-fs-pre.target
|
v
(various mounts and (various swap (various cryptsetup
fsck services...) devices...) devices...) (various low-level (various low-level
| | | services: udevd, API VFS mounts:
v v v tmpfiles, random mqueue, configfs,
local-fs.target swap.target cryptsetup.target seed, sysctl, ...) debugfs, ...)
| | | | |
\__________________|_________________ | ___________________|____________________/
\|/
v
sysinit.target
|
____________________________________/|\________________________________________
/ | | | \
| | | | |
v v | v v
(various (various | (various rescue.service
| | | v
v v v emergency.target
display- (various system (various system
manager.service services services)
| required for |
| graphical UIs) v
| | multi-user.target
| | |
\_________________ | _________________/
\|/
v
graphical.target
看一下上面的图表,您的目标将会local-fs.target
或sysinit.target
不确定,因为后者涵盖了所有文件系统。因此,您可以决定脚本运行的阶段,以达到所需的效果。
您还可以将特定的安装点设置为目标foobar.mount
。使用查找完整列表systemctl list-units --type=mount
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句