Saya mencoba mengatur layanan baru (di bawah Debian Jessie) yang perlu mengatur beberapa mount di mana konfigurasi jaringan disimpan dan dengan demikian layanan ini harus selesai sebelum jaringan. Layanan dimulai.
Saya mencoba yang berikut ini:
[Unit]
Description=mount/repair remaining filesystems (all persistent fs beyond "/")
#Before=network-pre.target
Before=networking.service
[Service]
Type=oneshot
ExecStart=/opt/intermodul-mounts/start.sh
TimeoutSec=0
RemainAfterExit=yes
[Install]
RequiredBy=networking.service
Menggunakan systemd-analyze plot
Saya dapat melihat bahwa layanan saya mulai, tetapi networking.service
mulai sekitar 3 detik sebelumnya:
Rupanya konfigurasi saya salah, tetapi saya kesulitan menemukan masalahnya ... Bantuan apa pun sangat dihargai ..
Memperbarui
Saya saat ini menyelesaikannya dengan mengubah konfigurasi layanan untuk memulai sebelum local-fs.target
bukannya networking.service
:
[Unit]
DefaultDependencies=no
Description=mount/repair remaining filesystems (all persistent fs beyond "/")
Before=local-fs.target
[Service]
Type=oneshot
ExecStart=/opt/intermodul-mounts/start.sh
TimeoutSec=0
RemainAfterExit=yes
[Install]
RequiredBy=local-fs.target
Namun, saya ingin memahami mengapa konfigurasi pertama saya tidak berfungsi seperti yang diharapkan ...?
/etc/network/interfaces
memiliki referensi ke ip-up
skrip yang berada di partisi lain. Partisi itu dipasang oleh skrip kompleks /opt/intermodul-mounts/start.sh
yang harus dijalankan sebelum jaringan sedang diatur. Saat ini, ip-up
skrip secara efektif tidak dimulai karena mereka tidak dapat diakses saat boot. Menjalankan service networking restart
setelah itu menampilkan semua antarmuka dengan benar.