বুট থেকে শুরু সমস্ত পরিষেবা তালিকাভুক্ত করুন


15

আমি সমস্ত পরিষেবা (/etc/init.d বা upstart বা systemd) এর একটি তালিকা পাওয়ার উপায় খুঁজছি, যা বুট শুরু (বা শুরু হয়েছিল) বলে মনে করা হচ্ছে।

আপনি কীভাবে সমস্ত প্রারম্ভিক পরিষেবাদির একটি তালিকা পাবেন? - আমি এই প্রশ্নটি জানি এবং এটি ব্যবহার করার পরামর্শ দেয় service --status-all

তবে এটি আমাকে দেখায় না, কোন পরিষেবাগুলি চালিত হওয়ার জন্য প্রস্তাবিত । এটি " status" আর্গুমেন্টের সাথে সমস্ত init স্ক্রিপ্টগুলিকে কল করে । এটি যে সমস্ত পরিষেবা চলছে সেগুলির একটি তালিকা।

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

উদাহরণ ...

আমি ওয়েবফেস ইনস্টল করেছি। তবে আমি এটি বুট চলতে চাই না। সুতরাং আমি তা অক্ষম করা হয়েছে: sudo update-rc.d webfs disable। এবং আমি সাম্বা ইনস্টল করেছি এবং এটি বুটে চলতে হবে। তবে এটি বন্ধ হয়ে যায় (যে কোনও কারণেই হোক) sudo service --status-allএখানে আমাকে সাহায্য করে না:

$ sudo service --status-all 2>/dev/null | grep -E 'samba$|webfs'
 [ - ]  samba
 [ - ]  webfs

দুটোই বন্ধ আছে তবে আমার কোন ক্লু পাওয়া যাচ্ছে না, সেটার (সাম্বা) চালু থাকার কথা।

তাই ...

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

ধন্যবাদ, আলেকজান্ডার

2015-05-04 সম্পাদনা করুন: আমি উবুন্টু 14.04 এ আছি।

এই প্রশ্নের মূল ফোকাস নিম্নলিখিত:

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

এই কারণে, বেশি initctl listসাহায্য করে না। এটি /etc/init.dস্ক্রিপ্টগুলি দ্বারা শুরু করা পরিষেবাগুলি (ইনস্টাস্ট স্ক্রিপ্টগুলির সাথে তুলনায় /etc/init) সত্যই বিবেচনায় নেয় না ।

এছাড়াও একটি তালিকা /etc/rc?.d/S*সাহায্য করে না। এটি পরিষেবার একটি তালিকা তৈরি করবে, যা প্রদত্ত রানলেভেলে শুরু করা যেতে পারে। এটি আমাকে দেখায় না, যদি কোনও পরিষেবা, যা শুরু করা উচিত ছিল, এখনও চলছে।

মূলত, আমি svcs -xউবুন্টুর জন্য সোলারিসের মতো কিছু খুঁজছি । এর সাথে svcs -x, আমার যদি আউটপুট থাকে তবে কোনও পরিষেবা, যা শুরু হয়েছিল, আর চলবে না। এটি আমার উবুন্টুরও দরকার ছিল।

কারণ: আমি আমাদের আইসিংগা / নাগিওস মনিটরিং সিস্টেমের জন্য একটি (কম বা কম ...) জেনেরিক চেক চাই, যা আমাকে সতর্ক করবে, যদি কোনও পরিষেবা আর চালু না থাকে, যা চলমান উচিত। যেহেতু আমরা অনেকগুলি বিভিন্ন গ্রাহকের জন্য অনেকগুলি আলাদা সার্ভার পেয়েছি, "গুরুত্বপূর্ণ" পরিষেবাদির একটি তালিকা সংজ্ঞায়িত করার জন্য এটি আসলে স্কেল করে না।


কোন উবুন্টু সংস্করণ?
এবি


@ পার্টো এই প্রশ্নের স্বীকৃত উত্তর হ'ল initctl listযা শুরু / চলমান প্রক্রিয়াগুলি তালিকাভুক্ত করে তবে সেই তালিকায় ম্যানুয়ালি শুরু হওয়া প্রক্রিয়াগুলিও অন্তর্ভুক্ত থাকবে
সের্গি কোলোডিয়াজনি

@ AB আমি উবুন্টুতে 14.04 এ আছি।
আলেকজান্ডার স্কোয়ার 4'15

@ পার্টো জিজ্ঞাসুবুন্টু.কোশনস / ২২৮/১২ কোনও উত্তর দেয় না। @ সার্জ যেমন লিখেছেন, সেখানে উত্তরটি ব্যবহার করা ছিল initctl list। তবে এটি সত্যই এর উত্তর দেয় না, কারণ এটি ম্যানুয়ালি শুরু করা পরিষেবাদিও দেখায়। এবং এটি পরিষেবাগুলি প্রদর্শন করে না, যা চলছে না।
আলেকজান্ডার স্কোয়ার 4'15

উত্তর:


19

সমস্ত পরিষেবা শুরুতে শুরু হয়:

initctl list

সিস্টেমে বিদ্যমান সমস্ত পরিষেবাগুলির তালিকা:

service --status-all

ভুল। না সক্ষম সক্ষম পরিষেবাদির তালিকা সরবরাহ করুন (শুরুতে শুরু)। তারা সমস্ত পরিচিত পরিষেবাদি (যার মধ্যে কিছু অক্ষম হতে পারে) এবং তারা বর্তমানে চলছে কিনা তা দেখায় (যার অর্থ এটি স্বয়ংক্রিয়ভাবে শুরু হয়ে যায় না)।
রিনিয়ার পোস্ট

2

এখানে আমার অন্নিলার grep -i 'runlevel' /etc/init/* | awk '!/#/ && /start on/ && /2/ {gsub("/"," "); print $0 }' | cut -d ' ' -f4-

একটি বিট ক্লিনার আউটপুট সঙ্গে অর্জন করা যেতে পারে grep -i 'runlevel' /etc/init/* | awk '/start on/ && /2/ {gsub("/"," "); gsub(":", " ");gsub(".conf"," "); print $3 }'

এখন বিশদ পেতে দিন। আপস্টার্ট কাজ সব /etc/init/ঠিক আছে , সংরক্ষণ করা হয় ? সমস্ত চাকরির একটি লাইন রয়েছে যা জানিয়েছে যে তারা রানলেভেলটি শুরু করে। রানলেভেল 2 একটি সাধারণ বুট, ডিফল্ট রানলেভেল। সুতরাং আমরা যদি সমস্ত লাইনগুলিকে গ্রেপ করে থাকি runlevelএবং গ্রেপের গ্রেপকে আর্গুমেন্টের সাথে পরিষ্কার করে আউটপুটটি শুধুমাত্র start on2 এবং রেনলেভেলের সাথে লাইন মেলে # 2, আমরা আপস্টার্ট কাজের তালিকা পাই। বাকীটি কেবলমাত্র প্রয়োজন গঠনের জন্য, ফাইলের নাম স্থানটিতে স্থান / প্রতিস্থাপনের জন্য এবং ফাইলগুলির নাম নিজেরাই রেখে leaving ফাইলগুলির পথ কেটে ফেলা হয়।

!/#/অংশ ঠিকানা সম্ভবত শুরু নির্দেশনা, যা আমি ব্যক্তিগতভাবে নিজে যোগ করেছিলেন মন্তব্য হয়।

অন্যান্য জিনিসের মধ্যে রয়েছে /etc/rc2.d(যেখানে আমি সঠিকভাবে বুঝতে পারি) আপনার কাছে অগ্রাধিকারের স্ক্রিপ্টগুলি কম রয়েছে।

এর জন্য অপরিশোধিত ওয়ান-লাইনার: ls /etc/rc2.d/* | grep S | awk '{sub("S"," "); print $2}

সেই ফোল্ডারে যে ফোল্ডারে আসলে রানলেভিল 2 এ চালানো হয় তার নাম এস দিয়ে শুরু করা হয় এবং তারপরে অগ্রাধিকার নম্বরটি দেওয়া হয়। এখন, মূলত, আমরা এস দিয়ে শুরু করে সমস্ত ফাইল পাই, এবং কেবলমাত্র তাদের অগ্রাধিকার নাম দিয়ে তালিকাবদ্ধ করি (কীভাবে এটি পরিষ্কার করতে হবে তা এখনও নির্ধারণ করতে হবে)।

হিসাবে muru সঠিকভাবে মন্তব্যের নির্দিষ্ট, সেখানে হয় /etc/init/*.overrideফাইল, যা হতে পারে "।। .Modify কিভাবে কাজ কনফিগারেশন ফাইল সরাসরি সংশোধন না করেও চালানো হবে" ( Init র manpage )

এই মুহুর্তে, এই ফাইলগুলির সাথে আমার খুব বেশি অভিজ্ঞতা না হওয়ার কারণে, আমি কেবলমাত্র শুরু করতে বলা হচ্ছে যে পরিষেবাগুলি তালিকাভুক্ত করতে 'গ্রেপ' ম্যানুয়াল '/etc/init/*.override' ব্যবহার করে সেই ফাইলগুলি ওভাররাইডগুলি সন্ধান করার পরামর্শ দিতে পারি I ম্যানুয়ালি সহ initctlবা servicesআদেশ।


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

@ সার্জ ধন্যবাদ তবে এটি কেবল আপস্টার্ট স্টাফের সাথেই কাজ করে। এছাড়াও "ls /etc/rc2.d/* ..." বেশি সাহায্য করে না। এটি প্রদর্শিত হবে, কোন পরিষেবাগুলি শুরু হয়ে থাকতে পারে। তবে এটি প্রদর্শন করে না, কোন পরিষেবাগুলি এখনও চলছে। আমার ধারণা, আমার পোস্টের মূল বিষয়টি পরিষ্কার ছিল না। আমি সন্ধান করছি: তবে আমি জানতে চাই, যদি কোনও পরিষেবা, বুট-এ শুরু করা হয়েছিল তবে এখনও চলছে। আপনি সোলারিসকে জানেন কিনা তা জানেন না। সেখানে আমি কেবল "এসভিসিএস-এক্স" করতাম এবং যদি এটি কিছু ফিরিয়ে দেয় তবে আমি জানি যে কিছু চলছে না। উবুন্টুর জন্য আমার এরকম কিছু দরকার ছিল।
আলেকজান্ডার স্কোয়ার 4'15

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

@ সার্জ ভাল - যদি আপনি প্রস্তাব দিচ্ছেন;)
আলেকজান্ডার স্কোয়ার

2

সমস্ত পরিষেবা এবং সম্পর্কিত রানলেভেল স্থিতি তালিকাবদ্ধ করুন - chkconfig শৈলী:

# sysv-rc-conf --list

acpid        2:on       3:on    4:on    5:on
apache-htcac 0:off      1:off   2:off   3:off   4:off   5:off   6:off
apache2      0:off      1:off   2:on    3:on    4:on    5:on    6:off

সমস্ত তালিকাভুক্তের ইন্টারেক্টিভ পাঠ্য ভিত্তিক সম্পাদনা:

# sysv-rc-conf

l SysV Runlevel Config   -: stop service  =/+: start service  h: help  q: quit qk
x 
x service      1       2       3       4       5       0       6       S 
x ----------------------------------------------------------------------------
x acpid       [ ]     [X]     [X]     [X]     [X]     [ ]     [ ]     [ ]
x apache-ht$  [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]
x apache2     [ ]     [X]     [X]     [X]     [X]     [ ]     [ ]     [ ]
x
x Use the arrow keys or mouse to move around.      ^n: next pg     ^p: prev pg
x                        space: toggle service on / off

এটি না থাকলে এটি ইনস্টল করতে হতে পারে:

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