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 -aktó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 *.servicepliku
Oto przykład uruchomienia my-daemonusługi przy rozruchu, ale gdy sieć jest gotowa, podłączany jest udział CIFS /mnt/cifsi vpn-launchusługa została uruchomiona:
/ etc / fstab
//servername/sharename /mnt/cifs cifs defaults,some,other,options 0 0
Uwaga: Możesz chcieć dodać nofaildo 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.mountdo Requires=listy, co powoduje my-daemon.serviceniepowodzenie uruchamiania, gdy montowanie cifs nie powiodło się
systemd-remount-fsdo swojejAfterlisty?