সিস্টেমযুক্ত নির্ভরতা এবং বুট ক্রম


20

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

আমি সাম্বা দিয়ে শুরু করতে সক্ষম হয়েছি systemctl enable smb.service। আমি 389 ডিএস সহ সক্ষমও করেছি systemctl enable dirsrv.target


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

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

@ ভনব্রান্ডে আমার এই সমস্যাটি ছিল, যেখানে আমার ডিএইচসিপি সার্ভারের উপরে উঠতে চড়তে হবে (কারণ এটির কনফিগারেশনটি এলডিএপি ডিরেক্টরিতে সঞ্চিত ছিল)। এটি না হলে ডিএইচসিপি সার্ভারটি উপস্থিত হত না n't
মাদুর

উত্তর:


25

systemctl edit smb.serviceনির্ভরতা আপডেট করতে ব্যবহার করুন ।

After=dirsrv.target - drsrv.target পরে smb.service শুরু হবে তা নিশ্চিত করবে।

দৃust়তার জন্য, (যা আপনি যখন এই জিনিসগুলির সাথে ঝাঁকুনি দিচ্ছেন তখন উপকারী হবে) আপনি নীচের কিছুটি অন্তর্ভুক্ত করতেও পারেন:

Requires=dirsrv.target- এসএমএস. সার্ভিস সক্রিয় হওয়ার পরে ডায়ার্স ডিভিআরটিজেট সক্রিয় করুন। Dirsrv.target ব্যর্থ হলে smb.service ব্যর্থ হবে।

Wants=dirsrv.target- এসএমএস. সার্ভিস সক্রিয় হওয়ার পরে ডায়ার্স ডিভিআরটিজেট সক্রিয় করুন। Dirsrv.target ব্যর্থ হলে smb.service ব্যর্থ হবে না।

BindsTo=dirsrv.target - dirsrv.target নিষ্ক্রিয় করা হলে, smb.service নিষ্ক্রিয় করুন।

সূত্র: http://www.freedesktop.org/software/systemd/man/systemd.unit.html

systemd-uiসিস্টেমেডের জন্য একটি জিইউআই সরবরাহ করে। সিস্টেমডের অবস্থা সম্পর্কে একটি ভাল দৃষ্টিভঙ্গি দেয় তবে ইউনিট ফাইলগুলি সংশোধন করতে আপনাকে এখনও একটি পাঠ্য সম্পাদক ব্যবহার করতে হবে।


একটি ক্ষেত্রে A আবশ্যক বি প্রয়োজনে , "B" "ব্যর্থ" হয়েছে যাতে A শুরু করা না যায় তা কী বলবে? বি এর প্রোগ্রামটি একটি নন-শূন্যের মান ফেরত দেয়?
জন ওয়াং

2
ডাউনভোটেড কারণ এটি খারাপ অনুশীলনের পরামর্শ দেয়। /usr/lib/systemdইউনিট ফাইলগুলির সংস্করণগুলি সম্পাদনা করবেন না যদি না আপনি ডিস্ট্রো রক্ষণাবেক্ষণকারী হন বা আপনি প্রতিটি প্যাকেজ আপডেটে আপনার ফাইলগুলি ওভাররাইট হয়ে যাওয়া উপভোগ করেন। হয় ইউনিট ফাইলটি অনুলিপি করুন /etc/systemdএবং তারপরে সম্পাদনা করুন বা একটি ড্রপ-ইন ফাইল ব্যবহার করুন (বিশদ জন্য systemd.unit (5) দেখুন)। এমনকি সহজ, systemctl edit smb.serviceড্রপ-ইন ফাইল যাদুটি স্বয়ংক্রিয়ভাবে করে এমনটি ব্যবহার করুন!
জেরেমি ভিজার 0

3
উত্তর সম্পাদনার জন্য ধন্যবাদ! এটি উদ্বেগের সমাধান করে এবং আমি একটি উর্ধ্বে রূপান্তরিত করেছি। :-)
জেরেমি ভিজার

10

দুটি কাজ করুন:

  1. /lib/systemd/system/smb.serviceনির্ভরতা নির্দিষ্ট করতে ইউনিট ফাইলটি সম্পাদনা করুন । [unit]অধ্যায় একটি রয়েছে After=লাইন যা নির্দিষ্ট করে কি সেবা / লক্ষ্যমাত্রা এই এক সামনে পৌঁছে দিতে হবে।

    After=syslog.target network.target nmb.service winbind.service
    

    এটিকে পরিবর্তন করুন:

    After=dirsrv.target syslog.target network.target nmb.service winbind.service
    
  2. এই নির্ভরশীলতাটিকে বাগ হিসাবে ফিডোরার কাছে ফিরে রিপোর্ট করুন , যাতে এটি ভবিষ্যতে প্রকাশিত হতে পারে।


কাজ করে বলে মনে হচ্ছে না। সাম্বা এখনও 389
ডিলান ক্লম্পারেন্স

3
আপনি unitফাইলগুলি সংশোধন করার পরে , আপনার সাধারণত চালানো উচিতsystemctl daemon-reload
স্কটিটিসাস

2

আপনার সম্ভবত ফাইলের বিভাগে Requiresনির্দেশের সাথে একটি লাইন পরিবর্তন করতে হবে বা অন্তর্ভুক্ত [Unit]করতে /usr/lib/systemd/system/smb.serviceহবে।

Requires=dirsrv.target

এবং

After=dirsrv.target

ঠিক আছে, আমি এই উত্তরটির পক্ষে ভোট দিয়েছি, তবে আমি ব্যক্তিগতভাবে প্রয়োজন = এর পরিবর্তে ওয়ান্টস = ডায়ারসআরভি.আরগেটের সাথে যাব। (ওয়ান্ডস = এর জন্য systemd.unit (5) দেখুন
গ্যালাক্সি

2

সেখানে সেবা ফাইল পরিবর্তন দুটি বিকল্প আছে /usr/lib/systemd/system(দেখুন উদাহরণ 2. উপেক্ষা করার বিক্রেতা সেটিংস ):

  1. ফাইলটি অনুলিপি করুন /etc/systemd/systemএবং অনুলিপি সম্পাদন করুন। এই ফাইলটি সম্পূর্ণরূপে ফাইলটিকে ওভাররাইড করবে /usr/lib

  2. ফাইল তৈরি করুন /etc/systemd/system/smb.service.d/local.conf। ফাইলের বিষয়বস্তুগুলি নীচের উদাহরণের মতো কিছু হওয়া উচিত। এটি নির্বাচিতভাবে বিক্রেতার সরবরাহিত পরিষেবা ফাইলের "প্রয়োজনীয়গুলি" এবং "পরে" বিকল্পগুলিকে ওভাররাইড করে।

এর প্রত্যেকটি (এতে ফাইল সংশোধন সহ /usr/lib) সুবিধা এবং অসুবিধাগুলি সরবরাহ করে। সর্বোত্তম পছন্দটি পরিষেবা এবং পরিবর্তনের প্রকৃতির উপর নির্ভর করে।

যদিও এটি কাজ করতে পারে, কেবলমাত্র "পরে" বিকল্প যুক্ত করার জন্য এটি যথেষ্ট নয় (দেখুন [ইউনিট] বিভাগ বিকল্পগুলি )। "পরে" অর্ডার নিয়ন্ত্রণ করে তবে নির্ভরতা নয়। যদি dirsrv.targetঅন্য কোনও উপায়ে শুরু না করা হয় তবে একটি আদেশ নির্দিষ্ট করে এটি শুরু হবে না। "প্রয়োজনীয়তা" বা "ওয়ান্টস" বিকল্পটি ব্যবহার dirsrv.targetশুরু করতে বাধ্য করবে ।

[Unit]
Requires=dirsrv.target
After=dirsrv.target

এনবি: আমি জানি না যখন এই প্রশ্নটি মূলত জিজ্ঞাসা করা হয়েছিল তখন এই পদ্ধতির উপস্থিত ছিল কিনা।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.