সমস্ত রানলেভেল থেকে শুরু করে কোনও পরিষেবা অক্ষম করবেন?


61

আমার একটি পরিষেবা রয়েছে fooযা বর্তমানে রানলেভিল 3 এবং তারপরে শুরু হয় । আমি এটি না করে কীভাবে এটি ব্যবহার না করে থামাতে পারি update-rc.d foo stop 3 ., যা (যদি আমি এটি সঠিকভাবে বুঝতে পারি) তবে প্রতিটি রানলেভাল পরিবর্তনে পরিষেবাটি বন্ধ করে দেওয়া হবে।

(উদাহরণস্বরূপ, যদি আমি রানলেভেল 1 এ থাকি এবং সক্ষম fooহয়ে থাকি, তবে আমি যখন রানলেভেল 3 এ পরিবর্তন করি তখন এটি অক্ষম হয়ে যায়, না?)

চলমান দেবিয়ান জিএনইউ / লিনাক্স লেনি।

উত্তর:


57

"স্টপ" শব্দটি ডিমনটি শুরু হতে বাধা দেয় না তবে নির্দিষ্ট রানলেভলে প্রবেশ করার সময় এটি বন্ধ করে দেয়।

আপনি শুধুমাত্র একটি একক রান-লেভেল থেকে কোনো পরিষেবা / ডেমন মুছে ফেলার জন্য চান তবে update-rc.dযেমন bei নির্দিষ্ট freiheit বা কেবল সিমবলিক লিঙ্ক অপসারণ থেকে /etc/rcX.d/, যেখানে এক্স আপনার রান-লেভেল হয়। আপনি যদি পরিষেবাটি স্বয়ংক্রিয়ভাবে শুরু না করতে চান update-rc.d -f foo removeতবে কৌশলটি করবেন।


2
কোনও ধারণা কীভাবে এটি ডেবিয়ান 8 এ করবেন? sudo update-rc.d -f sunrpc removeকাজ করে না; এটি একটি রিবুট পরে এখনও উপস্থিত।

ডেবিয়ান 9 এটি আমার পক্ষে কাজ করে না, এবং তখন আমি বুঝতে পারি, ওহ চিকিত্সা, সুডোর দরকার। আপডেট-আরসি.ডি কোনও প্রতিক্রিয়া দেয় না যদি আপনি সুডো করতে ভুলে যান। আমি নিশ্চিত করেছি যে লিঙ্কগুলি শেষ হয়েছেls /etc/rc*.d
জেসন ডানকেলবার্গার

আদেশটি উবুন্টুতে ব্যর্থ হয়েছিল16.04
স্টিফেন

আপনি সঠিক পরিষেবার নামটি পাস করেছেন তা নিশ্চিত করুন, আপডেট-আরসি.ডি এটি উপস্থিত না থাকলে আপনাকে কোনও প্রতিক্রিয়া জানায় না।
marcovtwout

আপনি যদি পরে এটি পুনরায় সক্ষম করতে চান তবে কী হবে? নীচে @ "এখনই নয়" এর উত্তরটি আরও ভাল, কারণ আপনি পরে অক্ষম করতে এবং পুনরায় সক্ষম করতে পারেন। update-rc.d apache2 disable
ওয়াদিহ এম

54

Sysv-rc-conf দিয়ে লিনাক্স স্টার্টআপ অ্যাপ্লিকেশনগুলি কনফিগার করুন :

apt-get install sysv-rc-conf

অন্যরা যেমন উল্লেখ করেছে, সেমিএমডি লাইনের জন্য এখানে আপডেট-আরসি.ডি রয়েছে

উদাহরণস্বরূপ, চালান

update-rc.d apache2 disable

সমস্ত রান স্তর থেকে apache2 অক্ষম করতে।


দুর্দান্ত সরঞ্জাম - এটি সম্পর্কে জানতেন না। ধন্যবাদ!
পেরা

1
নোট করুন যে এটি চলমান পরিষেবাটি থামিয়ে দেবে না, এটি যোগ করার জন্য আপনার নীটটি অর্জন করতে: service foo stopবা সার্ভারটি রিবুট করুন
রুও 77

15

ছোটগল্প ঃ

এটি করার দ্রুত কোনও নির্ভরযোগ্য উপায় নেই।

লং:

বর্তমান ডেবিয়ান (2012-06-01 তারিখের মতো দেবিয়ান অস্থির) বর্তমানে কোনও পরিষেবা / ডেমন ধারাবাহিকভাবে অক্ষম করার কোনও নির্ভরযোগ্য ছোট উপায় নেই। - কারণ ডেমন প্যাকেজটির একটি আপগ্রেড নিঃশর্তভাবে "/etc/init.d/package পুনঃসূচনা" চলে, এই রানলেভেলের জন্য এটি অক্ষম করে বা না করে।

ডেমনটি শুরু না হয় তা নিশ্চিত করার জন্য, আপনি এটি করতে পারেন:

  • এটি আনইনস্টল করুন
  • /etc/init.d/xyz স্ক্রিপ্টের স্থানীয় রূপান্তর করুন (এই পদ্ধতিতে কোনও সরঞ্জাম এটি সন্ধান করবে না)
  • script স্ক্রিপ্টের প্রারম্ভিক প্রস্থান প্ররোচিত করতে সংশ্লিষ্ট প্যাকেজের একটি কনফিগার ফাইল ব্যবহার / অপব্যবহার করুন (উদাহরণস্বরূপ, init স্ক্রিপ্ট থেকে উত্সাহিত হওয়ার ক্ষেত্রে / etc / default / xyz এর শুরুর দিকে একটি "প্রস্থান" রাখুন)
  • সেই ডিমনটি শুরু না করার জন্য পূর্বনির্ধারিত "অফিসিয়াল" উপায়গুলির জন্য সেই init-স্ক্রিপ্টটি দেখুন

দেবিয়ানের স্ক্রিপ্টগুলির জন্য এনআইপি স্ক্রিপ্টগুলির জন্য কিছু ছিল /? (কিছু) ছিল - যা এই অনুপস্থিত কার্যকারিতাটি পূরণ করার কথা ছিল। - আমি এটি ব্যবহার করার চেষ্টা করেছি, এটিকে জটিল বলে মনে করেছি, একটি বাগ খুঁজে পেয়েছি এবং এটি আর কখনও স্পর্শ করেছি না।

হালনাগাদ:

“Initd” এর বিকল্প “systemd” এ স্যুইচ করুন। একটি ডিবিয়ান প্যাকেজ উপস্থিত রয়েছে এবং আপনি এই জাতীয় কিছু দিয়ে একটি পরিষেবা অক্ষম করতে পারেন:

cd /etc/systemd/system
ln -s /dev/null xyz.service

1
+1 এটি এমন একটি সহায়ক উত্তর - এবং যদি আমি এটির উপরে না ঘটে থাকি তবে পরে আমার গায়ে চাপানো হত - ধন্যবাদ!

আপনি ঠিক কি করতে পারেন unlink xyz.service?
জেগডসফট

@ নেক্সটলোকাল, আমি কেন এটি লিখেছিলাম তা ভুলে গিয়েছিলাম, তবে আমি বিশ্বাস করি যে কোনও পরিষেবায় যদি সিস্টেম ভি থ্রি স্ক্রিপ্ট থাকে তবে systemdসেগুলি ব্যবহার করবে। - সুতরাং লিঙ্কটি তাদের সন্ধান না করার জন্য বলে।
রবার্ট সিমার

নোট করুন যে /etc/default/xyzএকটি যুক্ত করতে ফাইল সম্পাদনা করা exitপ্যাকেজকারীকে পরবর্তী আপগ্রেডের সঠিক সংস্করণ দিয়ে ফাইলটি ওভাররাইট করতে বাধা দেবে না। (প্যাকেজটি কনফিগারেশন ফাইলগুলি সংরক্ষণ করে এবং বেশিরভাগ ক্ষেত্রে থ্রি স্ক্রিপ্টগুলি এরূপ হিসাবে দেখা হয় না)) সুতরাং বেশিরভাগ ক্ষেত্রে এটি সাহায্য করবে না।
অ্যালেক্সিস উইলক

ডিভুয়ান উদ্ধার করতে আসে: সিস্টেমেডের পরিবর্তে এটি ক্লাসিক এসআইএসভি আরসি.ডি / init.d সিস্টেমটিকে (বা ওপেনসিআরসি পাশাপাশি কেউ তার জন্য বেছে নিলে) গ্রহণ করে।
সিএসবা তোথ

5

এই আদেশটি চালান

অ্যাপ্ট-গেট ইনস্টল করুন আরসিএনএফ

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


1,2,3 হিসাবে সহজ! এই ছোট্ট কমান্ড লাইন সরঞ্জামের জন্য ধন্যবাদ।
ড্যানিয়েলাওয়ারাণী

2

আপনি কী অর্জন করতে চাইছেন তা নিয়ে আমি বিভ্রান্ত।

আপনি কোন চলমান স্তরে ফুফু চলতে চান?

আপনি যদি সর্বদা এটি চলমান চান, ব্যবহার করুন update-rc.d foo defaults; এটি 0, 1 এবং 6 এ থামিয়ে দেবে, যখন এটি 2, 3, 4 এবং 5 এ চলমান রেখে যাবে (1 টি শেল ছাড়া আর কোনও কিছু চালানো উচিত নয়, 0 এবং 6 টি থামানো এবং পুনরায় বুট করা উচিত)

আপনি যদি চালাতে চান কোন রান স্তরটি নির্দিষ্ট করতে চান:

update-rc.d foo stop 0 1 6 3 . start 2 4 5 .

2

আমি মনে করি এটি কাজ করবে: অন্তর্দৃষ্টি - ফু


1

ডিবিয়ান 7 থেকে ইনসার্জার ব্যবহার শুরু করুন

সমস্ত পরিষেবা আউটপুট করুন এবং এটি রানলেভেলের তথ্য

insserv --showall

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

insserv --remove [specify_script]

0

উবুন্টুর বুটআপ ম্যানেজার একধরনের সিএসভি-আরসি-কনফাইট লাইট , আরও বন্ধুত্বপূর্ণ, জিইউআই সংস্করণ এবং এই থ্রেডটি পড়া অনেক লোকেরা এটির প্রশংসা করবে।

http://www.marzocca.net/linux/bum.html


0

একটি লাল টুপি ভিত্তিক সিস্টেমে আপনি ব্যবহার করতে পারেন

chkconfig httpd off
chkconfig httpd --del

রানলেভেল থেকে সার্ভারটি সরিয়ে ফেলতে

ডেবিয়ান ভিত্তিক সিস্টেমে সমস্ত পরিষেবাগুলি /etc/rc?dd ডিরেক্টরিতে পাওয়া ফাইলগুলি দ্বারা এই ফাইলগুলি শুরু করার কথা ছিল তারপরে /etc/init.d/ ডিরেক্টরিতে সংশ্লিষ্ট ফাইলগুলির সাথে একটি প্রতীকী লিঙ্ক রয়েছে। আপনি যদি কোনও পরিষেবা ডিফল্টরূপে শুরু না করতে চান তবে আপনি এটি /etc/rc?d ডিরেক্টরি থেকে নতুন নাম / মুছে ফেলতে পারবেন এবং আপনার পরিবর্তনটি প্যাকেজ আপগ্রেডে সংরক্ষণ করা হবে যতক্ষণ না কোনও প্রারম্ভের লিঙ্কগুলির মধ্যে এখনও উপস্থিত থাকে অন্যান্য (3,4 এবং 5) ডিরেক্টরি। অথবা আপনি লিঙ্ক (গুলি) পরিবর্তন করতে আপডেট-আরসি.ডি কমান্ডটি ব্যবহার করতে পারেন এবং আপনি যদি পরিষেবাটি আরম্ভ করতে চান তবে আপনি /etc/init.d/service_name শুরুটি ব্যবহার শুরু করতে পারেন যদি আপনি প্রারম্ভটি বন্ধ করেন তবে এটি শুরু হবে স্টপ, পুনঃসূচনা, পুনরায় লোডের মতো ব্যবহার করা যেতে পারে এমন বিকল্পগুলি আপনাকে দেয় ...

আমি মনে করি আপনি এটি নিষ্ক্রিয় করতে sysv-rc-conf ব্যবহার করতে পারেন।


প্রশ্নটি ডেবিয়ান ট্যাগ, ফেডোরা বা রেড হ্যাট নয়।

0
sudo update-rc.d SERVICE disable

আপনি যদি রান স্তর নির্দিষ্ট করতে চান।

sudo update-rc.d SERVICE disable|enable [S|2|3|4|5]

প্রোগ্রামটির নামে পরিষেবা পরিবর্তন করতে ভুলবেন না।

sudo service SERVICE restart

0

আপনি আর কোথাও স্টার্টআপ স্ক্রিপ্টটিকে ব্যাকআপ না করে /etc/init.d/ এ সরিয়ে ফেলছেন না কেন? আপডেট-আরসি.ডি যদি কাজ না করে।

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