আমি বেশ কয়েকটি সিস্টেমড ইউজার সার্ভিস ফাইল লিখেছি যা ব্যবহারকারীরা সক্ষম করতে চান এবং যার জন্য একটি ওয়ার্কিং নেটওয়ার্ক সংযোগ প্রয়োজন। আমি ভেবেছিলাম যে এটি হিসাবে সহজ হবে:
Wants=network-online.target
After=network-online.target
তবে, পরিষেবাগুলি খুব তাড়াতাড়ি শুরু হবে বলে মনে হচ্ছে এবং journalctl
আমি দেখতে পেয়েছি:
network-online.target: Cannot add dependency job, ignoring: Unit network-online.target failed to load: No such file or directory.
তারপরে আমি আরও অনুসন্ধান করে চেষ্টা করেছি
Wants=network.target
After=network.target
এবং করেছে sudo systemctl enable systemd-networkd-wait-online.service
।
এখন আমার মধ্যে আছে journalctl
:
network.target: Cannot add dependency job, ignoring: Unit network.target failed to load: No such file or directory.
এবং আবার পরিষেবাটি খুব তাড়াতাড়ি শুরু হয়।
সেখানে কি সেই বার্তা থাকার কথা? আমি কীভাবে আমার সমস্যাটি ডিবাগ করতে পারি?
সম্পাদনা : কারণটি সহজ এবং আর্ক উইকিতে সুনির্দিষ্টভাবে বলা হয়েছে :
systemd --user
প্রক্রিয়া থেকে পৃথক প্রক্রিয়া হিসাবে চালিতsystemd --system
। ব্যবহারকারী ইউনিটগুলি সিস্টেম ইউনিটের উপর নির্ভর করতে বা নির্ভর করতে পারে না।
এই ফোরাম পোস্টটি একটি সহজ সমাধানের পরামর্শ বলে মনে হচ্ছে: link
একজন ব্যবহারকারী হিসাবে আমার প্রয়োজনীয় সিস্টেম ইউনিট হওয়া উচিত , সুতরাং ইউনিট অনুসন্ধানের পথে এটিতে একটি সিমলিংক তৈরি করা উচিত।
এটি করার পরে, আমি কোনও No such file or directory
বার্তা দেখতে পাচ্ছি না , তবে আমি এখনও নেটওয়ার্কগুলি অনলাইন হওয়ার পরে পরিষেবাগুলি চালিত করতে পারি না। আমি লিঙ্ক চেষ্টা করেছি network.target
, network-online.target
এবং systemd-networkd-wait-online.service
আমার ইউনিট স্থাপনের কোন সাফল্যের সঙ্গে তাদের প্রতিটি উপর নির্ভর করে। আমি যখন ব্যবহারকারী মোডে লিঙ্কযুক্ত ইউনিটের স্থিতি যাচাই করি, তখন সেগুলি সমস্ত মারা যায়, যেমন:
$ systemctl --user status network.target
● network.target - Network
Loaded: loaded (/usr/lib/systemd/system/network.target; linked; vendor preset: enabled)
Active: inactive (dead)
Docs: man:systemd.special(7)
http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
$ systemctl status network.target
● network.target - Network
Loaded: loaded (/usr/lib/systemd/system/network.target; static; vendor preset: disabled)
Active: active since Sat 2015-07-18 19:20:11 MSK; 3h 35min ago
Docs: man:systemd.special(7)
http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
Jul 18 19:20:11 calc-server systemd[1]: Reached target Network.
Jul 18 19:20:11 calc-server systemd[1]: Starting Network.
তবে আমি network-online.target
এটির সংযোগ দেওয়ার পরে ব্যবহারকারী মোডে সক্রিয় দেখতে পাচ্ছি :
$ systemctl --user status network-online.target
● network-online.target - Network is Online
Loaded: loaded (/usr/lib/systemd/system/network-online.target; linked; vendor preset: enabled)
Active: active since Sun 2015-07-19 00:35:38 MSK; 2min 48s ago
Docs: man:systemd.special(7)
http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
Jul 19 00:35:38 calc-server systemd[469]: Reached target Network is Online.
Jul 19 00:35:38 calc-server systemd[469]: Starting Network is Online.