Meskipun kedua jawaban itu benar, saya ingin menambahkan dua sen saya ke dalam diskusi, karena ketika saya mencarinya, saya kehilangan beberapa instruksi dan contoh cara melanjutkan.
- Tambahkan sistem file ke
/etc/fstab
- Ketik
mount -a
yang memasang semua sistem file yang disebutkan di fstab
- Cari unit systemd yang telah dihasilkan dengan:
systemctl list-units | grep '/path/to/mount' | awk '{ print $1 }'
(harus mengembalikan sesuatu yang diakhiri dengan .mount
)
- Tambahkan unit mount yang ditemukan ke
After=
pernyataan dalam *.service
file
Berikut adalah contoh memulai my-daemon
layanan saat boot tetapi setelah jaringan siap, bagian CIFS dipasang /mnt/cifs
, dan vpn-launch
layanan telah dimulai:
/ etc / fstab
//servername/sharename /mnt/cifs cifs defaults,some,other,options 0 0
Catatan: Anda mungkin ingin menambahkan nofail
opsi fstab Anda (mis. Saat menggunakan drive eksternal). Kalau tidak, mesin Anda tidak akan bisa boot jika perangkat tidak terhubung. Lihat artikel fstab ArchWiki
/etc/systemd/system/my-daemon.service
[Unit]
Description=Launch My Daemon
Requires=vpn-launch.service mnt-cifs.mount
After=network.target vpn-launch.service mnt-cifs.mount
[Service]
ExecStart=/path/to/my-daemon
[Install]
WantedBy=multi-user.target
Jangan lupa untuk mengaktifkan layanan sedemikian rupa sehingga dimulai saat boot: systemctl enable my-daemon
Perhatikan bahwa ini juga berfungsi untuk sistem file lain (NFS, HDD, dll.).
Seperti yang telah disebutkan, kedua jawaban itu benar dan saya mendorong semua orang untuk membacanya, tetapi bagi saya beberapa contoh akan menghemat waktu.
Pembaruan (2019-06-25):
- menambahkan catatan tentang opsi fstab untuk mencegah kunci boot saat menggunakan drive eksternal
- ditambahkan
mnt-cifs.mount
ke Requires=
daftar yang menyebabkan my-daemon.service
kegagalan untuk memulai ketika cifs mount tidak berhasil dipasang
systemd-remount-fs
keAfter
daftar Anda ?