Mimo że obie odpowiedzi są poprawne, chcę dodać dwa centy do dyskusji, ponieważ kiedy jej szukałem, brakowało mi instrukcji i przykładów dalszego postępowania.
- Dodaj system plików do
/etc/fstab
- Typ,
mount -a
który montuje wszystkie systemy plików wymienione w fstab
- Poszukaj jednostki systemowej, która została wygenerowana za pomocą:
systemctl list-units | grep '/path/to/mount' | awk '{ print $1 }'
(powinna zwrócić coś, co kończy się na .mount
)
- Dodaj znalezioną jednostkę montowania do
After=
instrukcji w *.service
pliku
Oto przykład uruchomienia my-daemon
usługi przy rozruchu, ale gdy sieć jest gotowa, podłączany jest udział CIFS /mnt/cifs
i vpn-launch
usługa została uruchomiona:
/ etc / fstab
//servername/sharename /mnt/cifs cifs defaults,some,other,options 0 0
Uwaga: Możesz chcieć dodać nofail
do opcji fstab (np. Gdy używasz zewnętrznego dysku). W przeciwnym razie komputer nie uruchomi się, jeśli urządzenie nie będzie podłączone. Zobacz artykuł 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
Nie zapomnij włączyć usługi tak, aby była uruchamiana podczas rozruchu: systemctl enable my-daemon
Pamiętaj, że działa to również w przypadku innych systemów plików (NFS, HDD itp.).
Jak już wspomniano, obie odpowiedzi są poprawne i zachęcam wszystkich do ich przeczytania, ale dla mnie kilka przykładów zaoszczędziłoby mi trochę czasu.
Aktualizacja (25.06.2019):
- dodano notatkę dotyczącą opcji fstab, aby zapobiec blokadzie rozruchu podczas korzystania z dysków zewnętrznych
- dodano
mnt-cifs.mount
do Requires=
listy, co powoduje my-daemon.service
niepowodzenie uruchamiania, gdy montowanie cifs nie powiodło się
systemd-remount-fs
do swojejAfter
listy?