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 plotSaya dapat melihat bahwa layanan saya mulai, tetapi networking.servicemulai 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.targetbukannya 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/interfacesmemiliki referensi ke ip-upskrip yang berada di partisi lain. Partisi itu dipasang oleh skrip kompleks /opt/intermodul-mounts/start.shyang harus dijalankan sebelum jaringan sedang diatur. Saat ini, ip-upskrip secara efektif tidak dimulai karena mereka tidak dapat diakses saat boot. Menjalankan service networking restartsetelah itu menampilkan semua antarmuka dengan benar.
