লিনাক্সে পরিষেবাগুলি শুরু করার এবং বন্ধ করার কোনও স্ট্যান্ডার্ড উপায় নেই?


15

সম্প্রতি অবধি পরিষেবাগুলি শুরু / বন্ধ / পুনঃসূচনা করার সহজ ও কার্যকর উপায় ছিল:

service nginx start|stop|restart

এটি এত বছর ধরে নিখুঁতভাবে কাজ করেছে, ... যতক্ষণ না কিছু স্মার্ট-প্যান্টগুলি তাদের উন্নতি করার সিদ্ধান্ত নিয়েছে এবং এখন আমি ডিবিয়ান / উবুন্টু সিস্টেমের মুখোমুখি হচ্ছি যেখানে serviceস্ক্রিপ্টটি কিছুই করে না (যেমন আমার স্টাফটি ব্যবহার করার কথা বলেছি systemctl start nginx.service(অনেক দীর্ঘ, কোনও স্বয়ংক্রিয়-সম্পূর্ণ কাজ হচ্ছে না ...)

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

তো, এমন কি এমন কিছু আছে যা আমাকে এই নিয়তিবদ্ধ পরিবর্তনগুলি থেকে বাঁচাতে পারে?

যদি এটি পরিষ্কার না হয় তবে আমি তাদের সাথে ডিল করার একটি ধারাবাহিক উপায়ের সন্ধান করছি, এটি একটি যেটি ডাবিয়ান 7.x, 8.x, সর্বশেষ উবুন্টু এলটিএস এবং নন-এলটিএসে কাজ করবে।

পুনশ্চ. এই নির্দিষ্ট প্রশ্নের ক্ষেত্রের বাইরে, তবে সমাধানগুলি পরিষেবার জন্য সক্ষম এবং অক্ষম অংশটিও অন্তর্ভুক্ত করবে যদি অতিরিক্ত কুডো দেওয়া হয়।


5
আমার জন্য systemctl করার জন্য ট্যাব সমাপ্তির কাজ ... আর, এটা পছন্দ বা না systemd হল হল এখন কার্যত মান: পাশাপাশি এটি ব্যবহার করতে পারেন হতে পারে।
জেসনওয়ারিয়ান

1
অতিরিক্ত: যদি সার্ভিস কমান্ড অকেজো হয়ে যায়, আমি কি এটি সরিয়ে ফেলতে পারি? এটি কি প্যাকেজ সরবরাহ করে?
sorin

3
পুরানো serviceকমান্ডটি এমন একটি মোড়ক দিয়ে পরিবর্তিত করে যা সার্ভিসেকটলকে কল করে?
sorin

4
@jasonwryan হ্যাঁ, কিন্তু আপনার কাছে কি করতে পারেন ঠিক যে , এবং একটি মোড়কের এটি পরিচালনা করতে পারে, ব্যবহারকারীদের জন্য systemd হল বাধামুক্ত রূপান্তর।
দিমিত্রি গ্রিগরিয়েভ

2
না serviceসত্যিই তোমার জন্য কিছুই করতে? এটি আমার এলএমডিইতে প্রত্যাশার মতো কাজ করে (যা মূলত দেবিয়ান টেস্টিং), আমি ভাবিনি যে এটি একটি এলএমডিই-নির্দিষ্ট জিনিস। এটি আমার উবুন্টু ভিএম-তে প্রত্যাশার মতো কাজ করে।
টেরডন

উত্তর:


6

ইউনিক্স প্ল্যাটফর্মগুলিতে এর জট বাঁধার ইতিহাস নিয়ে বহু বিচিত্র বুট এবং পরিষেবা নিয়ন্ত্রণ ব্যবস্থা রয়েছে।

আপনি যে service\chkconfigভিত্তিক সিস্টেমটি সহজ এবং কার্যকর পেয়েছেন সেটিকে সাধারণত সিসভিনিট স্টাইল হিসাবে উল্লেখ করা হয় এবং এটি কোনও প্রকার মানকতার পথে একটি বড় পদক্ষেপ ছিল। আপনি এই স্টাইলের বুটটি RHEL / CentOS (EL) এ release টি রিলিজের মাধ্যমে, ফেডোরার মাধ্যমে 14 এবং ডেবিয়ান / উবুন্টু ভিত্তিক বিতরণগুলিতে 2015 অবধি পাবেন It init সিস্টেমে এখনও অনেক ভক্ত রয়েছে।

সিসভিনিট একটি নিখুঁত সমাধান ছিল না (কী?) এবং সিস্টেমড অনেকগুলি বিষয়কে কাটিয়ে ওঠার জন্য পরিকল্পনা করা হয়েছিল; systemctlআপনি এখন যে কমান্ড ভিত্তিক সিস্টেমটি ব্যবহার করছেন এটি এটি । যদিও এটি সর্বজনীনভাবে পছন্দ করা হয়নি (লোকেরা পরিবর্তন, ফোলা ইত্যাদি ঘৃণা করে) এতে কোনও সন্দেহ নেই যে এটি বেশিরভাগ বন্টন জুড়ে দ্রুতই ডিফাক্টোর মান হয়ে উঠছে।

অতএব, অবিলম্বে খুঁজছেন আপনার মূল প্রশ্নের উত্তর ফরোয়ার্ড কেবল হল: মান জুড়ে নিয়ন্ত্রণ পরিষেবাগুলিতে পথ সবচেয়ে লিনাক্স ডিস্ট্রিবিউশন এখন ! এটি কতক্ষণ ধরে রাখবে তা কারও অনুমান; সম্ভবত ঠিক কিছু না আসা পর্যন্ত এটি আরও ভাল এবং ব্যাপকভাবে গৃহীত হয়।
systemctl

আমি নিশ্চিত যে অনুমতি দেওয়ার জন্য র্যাপারগুলি উপলব্ধ থাকবে, আপনার বর্তমান প্রিয়, service/chkconfigকমান্ডগুলি বেশিরভাগ বুদ্ধিমান কাজগুলি চালিয়ে যেতে পারে, তবে এই বিশেষ শিক্ষার বক্ররেখার সাথে এটি লড়াই না করা সম্ভবত সেরা। সম্ভবত অপেক্ষায় থাকি, কিছু সময়ের systemctlজন্য পুরানো সিস্টেমগুলির জন্য মোড়কও থাকবে, আরও বর্তমানের ব্যথা কম হওয়ার সাথে সাথে সেগুলি পরিচালনা করার জন্য;)


এবং এর আগে xinetd ছিল, এবং এর আগে inetd ছিল
jas-

@ জাস- আমি মনে করি ইনটেডগুলি হ'ল সত্যই সেবাদাত, আমি বিশ্বাস করি যে এটি সমস্ত বুট সিস্টেমের মধ্যেই থাকতে পারে। তারা একটি বিশেষ ধরণের পরিষেবা যাতে তারা অন-চাহিদা সরবরাহের পরিবর্তে সম্পূর্ণ পরিষেবা হিসাবে চলমান কিছু অন্যান্য পরিষেবার বিকল্প সরবরাহ করে । আমি বুঝতে পারি আপনি কোথা থেকে এসেছেন এই প্রশ্নটির প্রসঙ্গে, যদিও পরিষেবাগুলি শুরু করার এক অন্য উপায়।
ড্যানসুট 11

সমস্ত বিতরণে; ভদ্রলোক, সেন্টোস, রেডহ্যাট, ডেবিয়ান, উবুন্টু ইত্যাদি, বিভিন্ন পরিষেবাগুলির জন্য কনফিগারেশন শুরু করতে, থামাতে ও পুনরায় লোড করার জন্য জিনেটেড এবং পূর্বে ইনটডে ছোট ছোট শেল স্ক্রিপ্ট ছিল, তবে হ্যাঁ আপনি ঠিক বলেছেন যে তারা প্রকৃতপক্ষে সিস্টেমডের মতো একটি পরিষেবা ছিল।
জাস-

উবুন্টু 10.১০ সাল থেকে এবং ফেডোরা ১৯৯০ সাল থেকে upstart.ubuntu.com ব্যবহার করেছিলেন এবং বেশ কয়েক বছর ধরে ডেবিয়ানকে সিসভিনিট থেকে সরিয়ে নেওয়া সম্ভব হয়েছিল ...
জেমস টোকনেল

5

পরিবর্তে [sic] serviceকল করে এমন একটি মোড়কের সাহায্যে পুরানো কমান্ডটি প্রতিস্থাপন করা কি বোঝায় servicectlনা?

হ্যাঁ, তবে […] একটি মোড়ক এটি পরিচালনা করতে পারে, যা ব্যবহারকারীদের জন্য সিস্টেমযুক্ত মসৃণে রূপান্তরিত করে।

… যা হ'ল অন্যরা যেমন মন্তব্যে বলেছে, দীর্ঘদিন যা করা হয়েছে

/usr/sbin/serviceডেবিয়ান 8- এ কমান্ডটি সিস্টিনিট-ইউস প্যাকেজের অংশ। এটি ২০০৯ সাল থেকে রয়েছে It's এটি মূল সিজনভিট উত্স প্যাকেজের সাথে একটি ডেবিয়ান-নির্দিষ্ট রেডহ্যাট-উত্পন্ন সংযোজন এবং স্ক্রিপ্টটি পড়লে দেখা যায় এটি সিস্টেমড চলমান এবং উপবিষ্ট চাকরীর উপস্থিতি উভয়কেই স্বীকৃতি দেয়, কমান্ড আউট করার আদেশ দেয় systemctlএবং initctl( যথাক্রমে এর উপস্বের মাধ্যমে)। এটি এটি ২০১৩ সাল থেকে করেছে।

service name actionএমনকি নন-লিনাক্স অপারেটিং সিস্টেমগুলিতেও বেশ বিস্তৃত। এমনকি এটি বেশিরভাগ বিএসডি-তে কাজ করবে, কারণ তাদেরও নিজস্ব serviceকমান্ড রয়েছে। serviceনশ প্যাকেজে শিম কমান্ড রয়েছে যা অনুবাদ করে । কিন্তু…system-control action name

  • ... এই সাধারণ উপসেট ছাড়িয়ে যান, এবং চারপাশে অনেক কম সামঞ্জস্য আছে।
  • … ওপেনবিএসডির কোনও serviceআদেশ নেই।
  • … বিএসডি serviceকমান্ডগুলিতে দীর্ঘকালীন সমস্যাগুলির সুপরিচিত সমস্যা রয়েছে যেগুলি সিস্টেম প্রশাসকরা কয়েক দশক ধরে যুদ্ধের গল্প শোনাচ্ছেন।

পরিষেবাগুলি সক্ষম করা এবং অক্ষম করা একই পরিস্থিতি। যদিও সুসই chkconfigপ্রোগ্রাম (ডেবিয়ান এবং উবুন্টুর জন্য উপলব্ধ প্যাকেজযুক্ত) ফেডোরা একের তুলনায় খুব আলাদা (এটি সম্পূর্ণ আলাদা প্রোগ্রামিং ভাষায় লেখা হচ্ছে, এমনকি - একটি সংকলিত, একটি ব্যাখ্যা করা হয়েছে), সেখানে একটি সাধারণ ন্যূনতম বাক্য গঠন রয়েছে যার সাথে অ্যাকশন রয়েছে বা । কিন্তু…chkconfig name actiononoff

  • ... আবার, এই সাধারণ উপসেটের বাইরেও কম সামঞ্জস্যতা রয়েছে।
  • ... chkconfigবিএসডিগুলিতে কিছুই নেই, কারণ এর প্রচলিত সরঞ্জামগুলি হয় হয় sysrcবা অতি সাম্প্রতিক ওপেনবিএসডি rcctl enableএবং rcctl disable। আছে chkconfigএবং rcctlজখলাবার প্যাকেজের মধ্যে শিম্স যে অনুবাদ এবং ।system-control enable namesystem-control disable name
  • ... কেবল ফেডোরা chkconfigসিস্টেমড সম্পর্কে জানে এবং systemctl enableএবং এর জন্য শিম হিসাবে কাজ করে systemctl disable। সুসির সিস্টেমড সম্পর্কিত chkconfigকোন জ্ঞান নেই।

আরও পড়া


2

লিনাক্সে পরিষেবাগুলি শুরু করার এবং বন্ধ করার কোনও মানক উপায় নেই।

এমন কিছু আছে যা আমাকে এই ডুষ্টড পরিবর্তনগুলি থেকে বাঁচাতে পারে?

: কনফিগারেশন ব্যবস্থাপনা / অর্কেস্ট্রারচনা টুল ব্যবহার করে দেখুন Ansible , পাচক বা রাঁধুনি , Saltstack , পুতুল বা যাই হোক না কেন।

আপনি উত্তর দিয়ে একটি পরিষেবা শুরু এবং সক্ষম করতে পারেন:

ansible all -i inv -m service -a 'name=service-name state=started enabled=true'

কটাক্ষপাত LinuxService বর্গ Ansible এর serviceমডিউল:

এটি লিনাক্স সার্ভিস ম্যানিপুলেশন শ্রেণি - এটি বর্তমানে বুট থেকে শুরু করা পরিষেবাগুলি নিয়ন্ত্রণের পাশাপাশি বাইনারি এবং ইনডি স্ক্রিপ্টগুলির মিশ্রণকে সমর্থন করে পাশাপাশি বর্তমান অবস্থা নিয়ন্ত্রণ করার জন্য।


একরকম মনে হচ্ছে উবুন্টু ছেলেরা সিস্টেমেডে স্যুইচ করার পরে পরিষেবা স্ক্রিপ্টটি কাজ করতে সক্ষম হয়েছিল। এটি ভিতরে খুঁজছেন ডান ব্যাকএন্ড ব্যবহার করার জন্য যথেষ্ট স্মার্ট বলে মনে হচ্ছে। দেবিয়ান সম্পর্কে একই কথা বলতে পারি না।
sorin



1

আপনার সমস্যাটি হ'ল ডেবিয়ান / উবুন্টু পুরনোটির systemdপ্রতিস্থাপন হিসাবে নতুনটিতে স্যুইচ করেছেন sysvinit। জিজ্ঞাসা করুন কোনটা ভালো এবং আপনি একটি শিখা যুদ্ধ শুরু হবে, কিন্তু তুমি সর্বদা পুরাতন ফিরে যেতে পারেন sysvinit, চেক এই যদি ফিরে যেতে চাই।

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