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