मैं एक नई सेवा (डेबियन जेसी के तहत) स्थापित करने की कोशिश कर रहा हूं, जिसमें कुछ माउंट स्थापित करने की आवश्यकता है जहां नेटवर्क कॉन्फ़िगरेशन संग्रहीत है और इस प्रकार नेटवर्किंग शुरू होने से पहले यह सेवा पूरी होनी चाहिए ।
मैंने निम्नलिखित कोशिश की:
[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
उपयोग करने से systemd-analyze plotमैं देख सकता हूं कि मेरी सेवा शुरू हो गई है, लेकिन networking.serviceलगभग 3 सेकंड पहले शुरू होती है:
जाहिरा तौर पर मेरा विन्यास गलत है, लेकिन मुझे समस्या का पता लगाने में मुश्किल समय आ रहा है ... किसी भी मदद की बहुत सराहना की ..
अपडेट करें
मैंने वर्तमान में local-fs.targetइसके बजाय शुरू करने के लिए सेवा कॉन्फ़िगरेशन को बदलकर इसे हल किया है 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
फिर भी, मैं यह समझना चाहूंगा कि मेरा पहला विन्यास अपेक्षित रूप से काम क्यों नहीं कर पाया ...?
/etc/network/interfacesउन ip-upलिपियों के संदर्भ हैं जो दूसरे विभाजन में रहते हैं। यही कारण है कि विभाजन एक जटिल स्क्रिप्ट के द्वारा लगाया गया है /opt/intermodul-mounts/start.shकि होना चाहिए इससे पहले कि नेटवर्किंग की स्थापना की जा रही है चलाया जा। वर्तमान में, ip-upस्क्रिप्ट प्रभावी रूप से प्रारंभ नहीं होती है क्योंकि वे बूट समय पर पहुँच योग्य नहीं होती हैं। service networking restartबाद में दौड़ना सभी इंटरफेस को सही ढंग से लाता है।
