নেটওয়ার্কিং শুরু হওয়ার পরে কোনও স্ক্রিপ্ট কার্যকর করতে হবে?


102

আমি সিস্টেমডে তুলনামূলকভাবে নতুন এবং এর স্থাপত্য শিখছি।

এই মুহুর্তে, আমি কীভাবে কাস্টম শেল স্ক্রিপ্টটি চালাতে পারি তা জানার চেষ্টা করছি। নেটওয়ার্কিং স্তরটি শুরু হওয়ার পরে এই স্ক্রিপ্টটি চালানো দরকার ।

আমি আর্চ চালাচ্ছি, সিস্টেমড পাশাপাশি নেটেক্টলও ব্যবহার করছি।

পরীক্ষা করার জন্য, আমি একটি সাধারণ স্ক্রিপ্ট লিখেছিলাম যা কেবল কার্যকর করে ip addr list > /tmp/ip.txt। আমি এই স্ক্রিপ্টের জন্য নিম্নলিখিত পরিষেবা ফাইল তৈরি করেছি।

(/etc/systemd/system/test.service)
[Unit]
Description=test service

[Service]
ExecStart=/root/test.script

[Install]
WantedBy=multi-user.target

আমি তখন স্ক্রিপ্টটি সক্ষম করেছিলাম,

systemctl enable test

পুনঃসূচনা করার পরে, স্ক্রিপ্টটি প্রকৃতপক্ষে চালিত হয় তবে এটি নেটওয়ার্ক শুরু হওয়ার আগেই চলে। অন্য কথায়, আউটপুটটি ip.txtপ্রাথমিক ইন্টারফেসের জন্য নির্ধারিত কোনও IPv4 ঠিকানা প্রদর্শন করে না। আমি লগইন করার সময়, আইপিভি 4 ঠিকানা প্রকৃতপক্ষে বরাদ্দ করা হয়েছে এবং নেটওয়ার্কিং শেষ হয়েছে।

আমি অনুমান করছি যে আমি WantedByপ্যারামিটারের সাথে গোলযোগ করে স্ক্রিপ্টটি যে বিন্দুতে চালিত হয়েছিল তা বদলাতে পারি , তবে কীভাবে এটি করব তা নিশ্চিত নই।

কেউ সঠিক পথে আমাকে নির্দেশ করতে পারে?

উত্তর:


126

সিস্টেমযুক্ত নেটওয়ার্ক কনফিগারেশন নির্ভরতা

সিস্টেমডের ইউনিট অর্ডারকে প্রভাবিত করা খুব সহজ। অন্যদিকে আপনার সম্পূর্ণ ইউনিট কী গ্যারান্টি দেয় সে সম্পর্কে আপনাকে যত্নবান হওয়া দরকার।

আপনার পরিষেবা কনফিগার করুন

বর্তমান সিস্টেমগুলিতে, network.targetকেবলমাত্র গ্যারান্টির পরে অর্ডার দেওয়ার মাধ্যমে নেটওয়ার্ক পরিষেবা শুরু হয়েছে তা নয়, এমন কিছু আসল কনফিগারেশন নেই। network-online.targetএটি অর্জনের জন্য আপনাকে পরে অর্ডার করতে হবে এবং এটিকে টানতে হবে।

[Unit]
Wants=network-online.target
After=network-online.target

পুরানো সিস্টেমের সাথে সামঞ্জস্যের জন্য আপনার নেটওয়ার্ক.তারের পরেও অর্ডার করতে হতে পারে।

[Unit]
Wants=network-online.target
After=network.target network-online.target

এটি আপনার পরিষেবার ইউনিট ফাইলের জন্য এবং সিস্টেমডের জন্য।

সফ্টওয়্যার বর্তমান সংস্করণে প্রয়োগ

এখন আপনাকে নিশ্চিত করা দরকার যে network-online.targetপ্রত্যাশার মতো কাজ করে (বা আপনি কমপক্ষে এটি ব্যবহার করতে পারেন network.target)।

এর বর্তমান সংস্করণ NetworkManager দ্বারা উপলব্ধ করা হয় NetworkManager-wait-online.serviceদ্বারা যা টানা পরার network-online.targetআপনার সেবা দ্বারা এবং এইভাবে। এই বিশেষ পরিষেবাটি নিশ্চিত করে যে আপনার পরিষেবাটি কনফিগার করা সমস্ত সংযোগ স্বয়ংক্রিয়ভাবে সফল হওয়া, ব্যর্থ হওয়া বা সময় শেষ হওয়ার আগ পর্যন্ত অপেক্ষা করবে।

অনুরোধ অনুযায়ী সমস্ত ডিভাইস কনফিগার করা না হওয়া অবধি সিস্টেমড-নেটওয়ার্কযুক্ত বর্তমান সংস্করণ আপনার পরিষেবাটিকে অবরুদ্ধ করে । এটি সহজ যে এটি বর্তমানে বুট সময়ে প্রয়োগ করা কনফিগারেশনগুলিকে সমর্থন করে (বিশেষত `systemd- নেটওয়ার্কd.service এর প্রারম্ভকালীন সময়)।

সম্পূর্ণতার স্বার্থে, /etc/init.d/networkফেডোরার পরিষেবাটি সিস্টেমেড, ব্লক network.targetএবং এইভাবে অপ্রত্যক্ষভাবে ব্লক network-online.targetএবং আপনার পরিষেবাদির বর্তমান সংস্করণ দ্বারা ব্যাখ্যা করা হয়েছে । এটি স্ক্রিপ্ট ভিত্তিক প্রয়োগের একটি উদাহরণ।

আপনার বাস্তবায়ন, যদি ডেমন ভিত্তিক বা স্ক্রিপ্ট ভিত্তিক, উপরের নেটওয়ার্ক পরিচালনা পরিষেবাদিগুলির একটি হিসাবে আচরণ করে তবে নেটওয়ার্ক কনফিগারেশনটি সফলভাবে শেষ না হওয়া, ভাল কারণে ব্যর্থ হওয়া বা যুক্তিসঙ্গত সময়ের পরে সময় নির্ধারণ না করা অবধি আপনার পরিষেবাটি শুরু করতে বিলম্ব করবে ফ্রেম সম্পূর্ণ।

নেটেক্টল একইভাবে কাজ করে কিনা তা আপনি পরীক্ষা করতে চাইতে পারেন এবং সেই তথ্য এই উত্তরের একটি মূল্যবান সংযোজন হবে।

সফ্টওয়্যার এর পুরানো সংস্করণে প্রয়োগ

আমি মনে করি না আপনি সিস্টেমডির যথেষ্ট পুরানো সংস্করণ দেখতে পাবেন যেখানে এটি ভালভাবে কাজ করবে না। তবে আপনি এটি পরীক্ষা করতে পারেন যে কমপক্ষে network-online.targetরয়েছে এবং এটি পরে অর্ডার পেয়েছে network.target

পূর্বে নেটওয়ার্কম্যানেজার কেবল গ্যারান্টি দিয়েছিল যে কমপক্ষে একটি সংযোগ প্রয়োগ করা হবে। এমনকি এটির জন্যও আপনাকে NetworkManager-wait-online.serviceস্পষ্টভাবে সক্ষম করতে হবে । এটি ফেডোরায় দীর্ঘকাল স্থির করা হয়েছে তবে সম্প্রতি সম্প্রতি প্রবাহে প্রয়োগ করা হয়েছিল।

systemctl enable NetworkManager-wait-online.service

নেটওয়ার্ক.আরগারেট এবং নেটওয়ার্ক-অনলাইন

আপনার সফ্টওয়্যারটি কখনও NetworkManager.serviceবা NetworkManager-wait-online.serviceঅন্য কোনও নির্দিষ্ট পরিষেবার উপর নির্ভরশীল করার প্রয়োজন হবে না । পরিবর্তে, সমস্ত নেটওয়ার্ক পরিচালন পরিষেবাদির আগে network.targetএবং optionচ্ছিকভাবে নিজেরাই অর্ডার করা উচিত network-online.target

একটি সাধারণ স্ক্রিপ্ট ভিত্তিক নেটওয়ার্ক ম্যানেজমেন্ট পরিষেবাটি প্রস্থান করার আগে নেটওয়ার্ক কনফিগারেশন শেষ করা উচিত network.targetএবং এর আগে এবং এভাবে অপ্রত্যক্ষভাবে আগে অর্ডার করা উচিত network-online.target

[Unit]
Before=network.target

[Service]
Type=oneshot
ExecStart=...
RemainAfterExit=yes

ডেমন ভিত্তিক নেটওয়ার্ক ম্যানেজমেন্ট পরিষেবাটি network.targetখুব কার্যকর না হলেও তার আগে নিজেই অর্ডার করা উচিত ।

[Unit]
Before=network.target

[Service]
Type=simple
ExecStart=...

একটি পরিষেবা যা ডেমনটি শেষ করতে অপেক্ষা করে তার নির্দিষ্ট পরিষেবার পরে এবং তার আগে নিজের অর্ডার করা উচিত network-online.target। এটি Requisiteডেমন পরিষেবাতে ব্যবহার করা উচিত যাতে এটি যদি তত্ক্ষণাত্ ব্যর্থ হয় তবে যদি সম্পর্কিত নেটওয়ার্ক পরিচালন পরিষেবা ব্যবহার না করা হয়।

[Unit]
Requisite=...
After=...
Before=network-online.target

[Service]
Type=oneshot
ExecStart=...
RemainAfterExit=yes

প্যাকেজটির wantsজন্য ডিরেক্টরিতে ওয়েটিং সার্ভিসে একটি সিমিলিংক ইনস্টল করা উচিত network-online.targetযাতে এটি কনফিগার করা নেটওয়ার্কের জন্য অপেক্ষা করতে চায় এমন পরিষেবাগুলির দ্বারা টানতে পারে।

ln -s /usr/lib/systemd/system/... /usr/lib/systemd/system/network-online.target.wants/

সম্পর্কিত ডকুমেন্টেশন

চূড়ান্ত নোট

আমি আশা করি যে আপনি কেবল আপনার প্রশ্নের উত্তর দেওয়ার সময়ই আমি সহায়তা করেছিলাম না, পাশাপাশি প্রবাহ এবং লিনাক্স বিতরণে পরিস্থিতি উন্নত করতেও ভূমিকা রেখেছি, যাতে মূল লেখার সময় আমি যতটা সম্ভব উত্তর দিতে পারি ।


আপনার অর্থ কী "স্বতঃসংযোগ বিকল্পটি" সমস্ত সংযোগ স্বয়ংক্রিয়ভাবে শুরু হওয়ার জন্য কনফিগার হওয়া অবধি অপেক্ষা করুন "? আমি নো-অটো-ডিফল্ট = * সেট করলে কি আমি এটির সুবিধা অর্জন করতে পারি তবে আমার কোনও সংযোগে আমার অটোকনেক্ট = হ্যাঁ আছে? এবং শেষ প্রশ্ন - আমি বুঝতে পারি না - এনএম-অনলাইন এবং ম্যানুয়াল পৃষ্ঠার ওয়েট-ফর-স্টার্টআপ বিকল্পটি খুব বেশি সহায়তা করে না। এই লেখার জন্য ধন্যবাদ, অত্যন্ত প্রশংসা!
lzap

যতদুর আমি জানি, NM-অনলাইন যত্ন সম্পর্কে না no-auto-defaultশুধুমাত্র auto। আপনার কোন নির্দিষ্ট প্রশ্ন আছে? আমার মতে এনএম-অনলাইন ম্যানপেজটি স্পষ্টভাবে জানিয়েছে যে -sএটির সাথে সমস্ত অটো সংযোগের চেষ্টা করার অপেক্ষা করা হয়, অর্থাৎ সংযুক্ত বা ব্যর্থ হয়েছে।
পাভেল Šিমেরদা

এক ঘন্টার জন্য এই ছদ্মবেশটির সাথে ঝামেলা করার পরে, আমি সমাধানটি পেয়েছি: apt-get ইনস্টল sysv-init। :-) কয়েকটি শেল স্ক্রিপ্টের প্রতিস্থাপন হিসাবে জটিল জটিলতা যুক্ত করা হ'ল মাইন্ড বগলিং।
কেউ

@ সোনিউন আমি আশঙ্কা করছি যে ইনসাইটস স্ক্রিপ্টগুলি এই ক্ষেত্রে কোনও উত্তর নয়। আপনি যদি নেটওয়ার্কম্যানেজার বা অন্য কোনও গতিশীল কনফিগারেশন সরঞ্জাম ব্যবহার করেন তবে ইনসক্রিপ্টগুলি সম্পূর্ণরূপে কনফিগার করা নেটওয়ার্কের পরে তাদের অর্ডার করতে পারে না। আপনি ব্যবহার করে /etc/init.d/networkবা অনুরূপ সীমিত গতিশীল কনফিগারেশন পেতে পারেন তবে এটি সর্বজনীনভাবে কাজ করে না।
পাভেল Šিমেরদা

@ পাভেল আইমারদা ইনি ক্রমিকভাবে সম্পাদন করে এবং পরবর্তী স্ক্রিপ্টগুলির উপর নির্ভর করার জন্য যা করা শেষ না করা হয় ততক্ষণ একটি সঠিক থ্রি স্ক্রিপ্ট ফিরে আসবে না। নেটওয়ার্কিংয়ের জন্য যার অর্থ সমস্ত প্রযোজ্য অ্যাডাপ্টার প্রস্তুত এবং প্রস্তুত। এটি কেবল ভাগ্যবান সময় না থাকলে এনএম সেই প্রসঙ্গে ভাল আচরণ করে। অবশ্যই আসল সমস্যাটি হ'ল বিদ্যমান সহজ এবং চেষ্টা করা এবং পরীক্ষিত কাঠামোগত কাঠামোর পরিবর্তে এনএম পুনর্নবীকরণকারী নেটওয়ার্ক হ্যান্ডলিং। ডেস্কটপ লোকেদের জটিলতার ঝুঁকি সম্পর্কে ধারণা নেই বলে মনে হয়। ;-)
কেউ 15

9

আপনি ব্যবহার করতে পারেন Afterমধ্যে [Unit]অধ্যায় হল একটি পরিষেবা যা করার আগে আপনার সেবা শুরু শুরু করা উচিত সংজ্ঞায়িত করতে। উদাহরণস্বরূপ আপনি যদি নেটওয়্যার ম্যানেজার ব্যবহার করছেন তবে আপনি নেটওয়ার্ক ম্যানেজার শুরু হওয়ার পরে আপনার পরিষেবাটি শুরু করতে পারেন।

[Unit]
Description=test service
After=NetworkManager.service

BindsToএখানে পরিষেবা এতটা উপযুক্ত নয় যেহেতু পরিষেবাটি একটি অফ-অফ ইভেন্ট এবং একটি অবিরাম পরিষেবা নয় (যদি এটি ExecStopনেটওয়ার্কিং ডাউন হয়ে যাওয়ার সময় আগুনে নেওয়ার কোনও বৈশিষ্ট্য নাও থাকে )।
স্বর্ণলোক 18

অপসারণ করা হয়েছেBindsTo
18-24 এ phops করুন

আপনি প্রতিস্থাপনের জন্য কিছু যুক্ত করতে পারেন BindsTo, উদাহরণস্বরূপ, Requiresআপনি যদি কেবল নেটওয়ার্কম্যানেজারটি করেন তবে পরিষেবাটি চালানো উচিত। Afterআসলে যে করে না - এটা শুধু অর্থ যদি এনএম এছাড়াও চলমান, তারপর এই পরে চালানো। যদি এনএম চালানো না যায় তবে পরিষেবাটি একটি স্বেচ্ছাচারী পয়েন্টে চালানো হবে।
স্বর্ণলোকস

4
জেনারিক হওয়ার পরে = নেটওয়ার্ক.নার্জেট = নেটওয়ার্কআজনেজ.আরসার্ভসের চেয়ে ভাল।
পাভেল Šিমেরদা

7
লক্ষ্য করুন যে নির্দিষ্টকরণের ফলে ইউনিটটি ইতিমধ্যে শুরু না হলে এটি আরম্ভ করার কারণ After=fooঘটবে নাfoo , এটি কেবল সিস্টেমডকেই জানাবে যে ইউনিটগুলি যদি একই সাথে শুরু করা হয় তবে কীভাবে আদেশ করতে হবে । ব্যবহার করে উভয় After=fooসেইসাথে Wants=fooবা Requires=fooপুলিংয়ের প্রভাব থাকবে fooযদি এটা শুরু না, এবং এছাড়াও ইউনিট সঠিকভাবে systemd হল অর্ডার করে।
এমিল লুন্ডবার্গ

8

যদি আপনার পরিষেবাটি কোনও সার্ভার সরবরাহ করে, যা কারও সাথে এটির সংযোগ স্থাপনের জন্য নিষ্ক্রিয়ভাবে অপেক্ষা করতে পারে তবে এটি ব্যবহার করুন:

[Unit]
After=network.target

আপনার পরিষেবাটি ওয়াইল্ডকার্ড ইন্টারফেসে আবদ্ধ হওয়া উচিত। যদি এটি সকেট অ্যাক্টিভেশন (প্রস্তাবিত) ব্যবহার করে বা এটি কেবল স্থানীয়ভাবে হয় তবে আপনি নেটওয়ার্ক লক্ষ্যগুলি পুরোপুরি উপেক্ষা করতে পারেন can

যদি আপনার পরিষেবা ক্লায়েন্ট হিসাবে কাজ করে, বা পিয়ার থেকে পিয়ার হয় তবে এটি আরও উপযুক্ত:

[Unit]
After=network-online.target
Requires=network-online.target

সিস্টেমেড 213 এর আগে , নেটওয়ার্ক -অনলাইন.টরেগেটের উল্লিখিত ওয়ার্কআরউন্ড পাভেল প্রয়োজন (আপনাকে ম্যানুয়ালি এমন একটি পরিষেবা সক্ষম করতে হবে যা নেটওয়ার্ক আপ হওয়ার জন্য অপেক্ষা করবে)। সিস্টেমড 213 হিসাবে এটি ডিফল্টরূপে সম্পন্ন হয়। systemd-networkd-wait-onlineনন-লুপব্যাক ইন্টারফেসে কনফিগার হওয়ার জন্য কমপক্ষে একটি ঠিকানা (রাউটেবল বা লিংক-স্থানীয়) অপেক্ষা করতে হবে।

সিস্টেমড-নেটওয়ার্কড, নেটওয়ার্ক ম্যানেজার বা সমতুল্য কনফিগার করা একটি স্বতন্ত্র কাজ। ডিএইচসিপি (আইপিভি 4 এর জন্য) এবং এনডিপি (আইপিভি 6 এর জন্য) বাক্সটির বাইরে কাজ করার প্রবণতা রয়েছে, তবে আপনার সেগুলি কনফিগার করা উচিত যাতে আপনার "নেটওয়ার্কটি আপ" সম্পর্কে আপনার সুনির্দিষ্ট সংজ্ঞাটি ট্রিগার করে network-online.target

ডকুমেন্টেশন:


কেন কেবল নতুন উত্তর এবং বিদ্যমান এবং (আশাবাদী) ভাল কাঠামোগত উত্তরের ছোট্ট উন্নতিগুলি নয় কেন তা উত্সাহিত।
পাভেল Šিমেরদা

প্রথম দুটি ডকুমেন্টেশন লিঙ্ক বর্তমানে বিচ্ছিন্ন।
পিটার হানসেন

কেন ব্যবহারের পরিবর্তে প্রয়োজন?
কার্ল মরিসন

4

আমি অনুমান করছি যে আমি স্ক্রিন্টটি যে বিন্দুতে ওয়ান্টবাই প্যারামিটারের সাথে জগাখিচুড়ি দিয়ে চালাচ্ছে সেটিতে পরিবর্তন করতে পারি

এটি আপনি যা চান তার বিপরীত প্রভাব ফেলবে। থেকে man systemd.unit:

WantedBy =, আবশ্যকবি =

[...] তালিকাভুক্ত ইউনিটের প্রত্যেকটির .ওয়ান্টস / বা। প্রয়োজনীয়গুলি / ডিরেক্টরিতে একটি প্রতীকী লিঙ্ক তৈরি করা হয় যখন সিস্টেম ইউনিট সক্ষম দ্বারা এই ইউনিটটি ইনস্টল করা থাকে। এই ধরনের নির্ভরশীলতার হু ওয়ান্টস টু বি = অথবা = যোগ করা হয় প্রয়োজন যে প্রভাব রয়েছে থেকে তালিকাভুক্ত ইউনিট থেকে বর্তমান ইউনিট

এর উপর ভিত্তি করে, আমরা সঠিক ইউনিট বিকল্পটি "ওয়ান্টস" বা "প্রয়োজনীয়তা" দেখতে পাচ্ছি; তাদের বর্ণনার উপর ভিত্তি করে, "প্রয়োজনীয়তা" সম্ভবত ঠিক আছে, "পরে" যুক্ত করার সাথে কেবলমাত্র নেটওয়ার্কিং পরিষেবা চালিত হচ্ছে তা নয়, তবে এটি এই ইউনিটের আগে চলে run

এএফআইএকে ইউনিটের কোনও বিকল্পই এই শর্তটি অন্তর্ভুক্ত করতে পারে না যে কোনও শুরুর অনুমতিটি সম্পন্ন হতে হবে বা একটি নির্দিষ্ট পয়েন্টে পৌঁছেছে (নেটওয়ার্কিং সম্ভবত ডেমন সার্ভিস), এটি কেবল প্রথমে শুরু হয় । এটি মনে রেখে, আপনি নিজের স্ক্রিপ্ট তৈরি করতে Type=forkingএবং একটি স্বাস্থ্যকর বিলম্ব (30 সেকেন্ড বলুন), বা আপনার কোনও ডিএইচসিপি ইজারা আছে কিনা তা নিশ্চিত করার জন্য একটি বিলম্ব সহ এক প্রকারের প্রস্থান-সাফল্যের লুপ ফেলে দিতে চাইতে পারেন।


1
ওয়ান্টডবাই বা আবশ্যকবি দ্বারা অর্ডারে কোনও প্রভাব নেই।
পাভেল Šিমেরদা

1
@ পাভেলিমারদা: এখানে কেউ দাবি করেনি তারা করেছে। অর্ডারিং কেন আমি স্পষ্টভাবে "নেটওয়ার্কিং পরিষেবা চালিত হচ্ছে না তা এই ইউনিটের আগে চালিত হবে তা নিশ্চিত করার জন্য" Afterএর সাথে একত্রে উল্লেখ করেছি Requires
স্বর্ণলোকস

1
হ্যাঁ, Afterসাথে একত্রে কাজ করে Wantsবা Requiresযে ভাবে। অন্যদিকে নির্ভরশীলতা ভিত্তিক সরঞ্জামগুলিতে সুস্পষ্ট বিলম্ব হ'ল একটি খারাপ অভ্যাস, বিশেষত যখন সিস্টেমযুক্ত ডকুমেন্টেশন দ্বারা নেটওয়ার্কটি কনফিগার করা না হওয়া পর্যন্ত অপেক্ষা করার একটি স্পষ্ট উপায় থাকে, সুতরাং আমাকে ডাউনটাতে জোর দিতে হবে।
পাভেল Šিমেরদা

3

আপনার নিজের পরিষেবার আগে কী শুরু করা উচিত তা নির্দিষ্ট Afterকরতে [Unit]বিভাগে ব্যবহার করুন । (পূর্ববর্তী উত্তরগুলির এটি অনেকটাই সঠিক)

নেটওয়ার্কটি শেষ হওয়ার পরে আপনার পরিষেবাটি শুরু করতে, নেটওয়ার্ক টার্গেটটি ব্যবহার করুন, যা আপনি নেটওয়ার্কম্যানেজার, আর্কে কনফারেন্স.ড / নেটেক্টল সিস্টেম ব্যবহার করেন বা সিস্টেমড সচেতন এমন কোনও পরিষেবা ব্যবহার করুন কিনা তা প্রয়োগ করা উচিত।

[Unit]
#.....
After=network.target

একটি সংক্ষিপ্ত চেহারা নিশ্চিত করবে যে আপনার সিস্টেমে অন্য যে সমস্ত পরিষেবা নেটওয়ার্ক সংযোগের উপর নির্ভর করে সেগুলিতে এই নির্দেশিকা রয়েছে।

এটি সিস্টেমড ব্যবহার করে এমন কোনও বিতরণেও বহনযোগ্য। আপনার ইউনিট ফাইলটি আর্চ, ফেডোরা, আরএইচইল 7, ডেবিয়ানের ভবিষ্যতের সংস্করণগুলির জন্য একই হবে ...


যে নেটওয়ার্কগুলি একটি নেটওয়ার্ক সংযোগ শুরু করে , যেমন আর্চের স্ক্রিপ্ট বা আপনার নিজস্ব, তাদের নিজস্ব ইউনিট ফাইলগুলিতে এটি নির্দিষ্ট করা উচিত ।

[Unit]
Wants=network.target
Before=network.target

আমি পুরোপুরি Wantsঅংশটি পছন্দ করি না কারণ এর অন্যান্য প্যাকেজগুলিতে এর পার্শ্ব প্রতিক্রিয়া রয়েছে। আমার উত্তর দেখুন, দয়া করে।
পাভেল Šিমেরদা

শুধু বুঝলাম যে Wantsউপর network.targetএখানে একটি ভাল ধারণা।
পাভেল Šিমেরদা

আপনি সত্যই নেটওয়ার্ক-অনলাইন.আরটিজেট ব্যবহার করতে চান। রেফ
এডওয়ার্ড টরভাল্ডস

1

আমি এই নিবন্ধে একটি পয়েন্ট যোগ করতে চেয়েছিলেন। বর্তমানে (গ্রীষ্মের 2015) আরএইচইএল 7 / সেন্টোস 7-এ, আইপিভি 6 নেটওয়ার্কিং শুরু হওয়ার আগে নেটওয়ার্ক-অনলাইন.টরেটটি ভুলভাবে সেট করা হয়েছে, সুতরাং ডেমনগুলি রয়েছে

Wants=network-online.target
After=network-online.target

তাদের পরিষেবা সংজ্ঞায় যা আইপিভি 6 অ্যাড্রেসগুলিতে স্পষ্টভাবে আবদ্ধ হয় সম্ভবত আইপিভি 6 চালু হওয়ার আগেই শুরু হবে এবং এগুলি ব্যর্থ হওয়ার কারণ হবে।


আমি অনুমান করি এটি কেবল কার্নেল ভিত্তিক আইপিভি 6 স্বয়ংক্রিয় কনফিগারেশন যা ক্ষেত্রে যাইহোক ত্রুটিযুক্ত with আপনি যদি আইপিভি 6 এর পরে সঠিকভাবে অর্ডার করতে চান তবে আপনার অবশ্যই অবশ্যই তার পরিবর্তে নেটওয়ার্ক ম্যানেজারটি ব্যবহার করা উচিত /etc/init.d/network। আপনি যদি এনএম-এর সাথেও একই সমস্যাটি পান তবে কোনও বৈশিষ্ট্য অনুরোধ ফাইল করা ভাল কারণ হবে। আমি আরএইচইএল / সেন্টোস-এর সাথে চেক করিনি, আপনার আগ্রহী হলে আমি বিশদটি আপনাকে সহায়তা করতে পারি।
পাভেল rdিমেরদা

0
[Unit]
After=systemd-networkd.service

আমার জন্য কাজ কর.


এটি কয়েকটি বিশেষ ক্ষেত্রে কাজ করে কিনা তা নিশ্চিত নয় তবে বেশ কয়েকটি কারণে এটি ভুল। এর মধ্যে একটি হ'ল এটি networkdনিজস্ব / ওয়েট-অনলাইন / পরিষেবা সরবরাহ করে। ভিতরে আসা এবং পরে অর্ডার করা network-online.targetকোনও পরিষেবা যে সমর্থন করে তার সাথে যাওয়ার সঠিক উপায়।
পাভেল rdিমেরদা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.