আমি একটি নতুন পরিষেবা (ডেবিয়ান জেসির অধীনে) সেট আপ করার চেষ্টা করছি যা নেটওয়ার্ক কনফিগারেশন সঞ্চিত আছে সেখানে কিছু মাউন্ট স্থাপন করতে হবে এবং সুতরাং নেটওয়ার্কিং.সেবার্স শুরু হওয়ার আগে এই পরিষেবাটি অবশ্যই শেষ করতে হবে ।
আমি নিম্নলিখিত চেষ্টা করেছিলাম:
[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পরে চালানো সমস্ত ইন্টারফেস সঠিকভাবে উপস্থিত করে।
