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 -ayang 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 *.servicefile
Berikut adalah contoh memulai my-daemonlayanan saat boot tetapi setelah jaringan siap, bagian CIFS dipasang /mnt/cifs, dan vpn-launchlayanan telah dimulai:
/ etc / fstab
//servername/sharename /mnt/cifs cifs defaults,some,other,options 0 0
Catatan: Anda mungkin ingin menambahkan nofailopsi 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.mountke Requires=daftar yang menyebabkan my-daemon.servicekegagalan untuk memulai ketika cifs mount tidak berhasil dipasang
systemd-remount-fskeAfterdaftar Anda ?