Bien que les deux réponses soient correctes, je souhaite ajouter mes deux cents à la discussion, car lorsque je l'ai recherchée, il me manquait des instructions et des exemples sur la manière de procéder.
- Ajouter le système de fichiers à
/etc/fstab
- Type
mount -a
qui monte tous les systèmes de fichiers mentionnés dans fstab
- Recherchez l'unité systemd générée avec:
systemctl list-units | grep '/path/to/mount' | awk '{ print $1 }'
(devrait renvoyer quelque chose qui se termine par .mount
)
- Ajouter l'unité de montage trouvée à l'
After=
instruction dans le *.service
fichier
Voici un exemple de démarrage du my-daemon
service au démarrage mais une fois le réseau prêt, un partage CIFS est monté sur /mnt/cifs
et le vpn-launch
service a démarré:
/ etc / fstab
//servername/sharename /mnt/cifs cifs defaults,some,other,options 0 0
Remarque: vous souhaiterez peut-être ajouter des nofail
options à votre fstab (par exemple, lorsque vous utilisez un lecteur externe). Sinon, votre ordinateur ne démarrera pas si le périphérique n'est pas connecté. Voir l'article fstab d'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
N'oubliez pas d'activer le service pour qu'il soit démarré au démarrage: systemctl enable my-daemon
Notez que cela fonctionne également pour d'autres systèmes de fichiers (NFS, HDD, etc.).
Comme on l'a déjà mentionné, les deux réponses sont correctes et j'encourage tout le monde à les lire, mais quelques exemples m'auraient permis de gagner du temps.
Mise à jour (2019-06-25):
- ajout d'une note concernant les options de fstab pour empêcher le verrouillage du démarrage lors de l'utilisation de lecteurs externes
- ajouté
mnt-cifs.mount
à la Requires=
liste qui provoque l' my-daemon.service
échec du démarrage lorsque le montage cifs n'a pas été monté correctement
systemd-remount-fs
à votreAfter
liste?