मैं ऑटो-स्टार्ट से लिनक्स सेवाओं को कैसे रोकूँ?


11

मैंने हाल ही में विंडोज से लिनक्स (xubuntu) में माइग्रेट किया है

मैं एक डेवलपर हूं और मैंने अपनी जरूरत की हर चीज, एलएएमपी लगाई है। विंडोज में मैं सभी अनावश्यक सेवाओं को बंद कर देता था - मुझे हर समय चलने वाली Apache या MySQL सेवा की आवश्यकता नहीं होती है। जब भी मुझे MySQL की आवश्यकता होती है मैं उपयोग करता था:

net start mysql

मैं लिनक्स में कैसे करूं?

  1. ऑटो-स्टार्टिंग से नहीं-डेमॉन को अक्षम करना?
  2. उन्हें केवल तब शुरू करना जब मुझे उनकी आवश्यकता हो?

3
मुझे लगता है कि आपको उबंटू का सटीक संस्करण शामिल करना चाहिए जिसका आप उपयोग कर रहे हैं। नए ubuntu संस्करणों में ऊपर की ओर का उपयोग किया गया है, जिसके अपने गोचर्स हैं।
vtest

संपादित करें: मैं XUBuntu के नवीनतम संस्करण 10.04 का उपयोग कर रहा हूं, लेकिन आईडी का उपयोग नहीं करना चाहता और इसके लिए GUI, केवल टर्मिनल से। लगता है @prhq को उसके जवाब में कुछ मिला। अपस्टार्ट क्या है?
अवीव

कहीं और के साथ, सर्वर दोष या यूनिक्स पर। फिर भी उपयोगी है।
ripper234

जवाबों:


11

अधिकांश लिनक्स वितरणों में आप निम्न आदेशों को चलाकर (जैसे रूट या sudo द्वारा) सेवाओं को मैन्युअल रूप से शुरू / बंद कर सकते हैं:

# /etc/init.d/apache2 start
# /etc/init.d/mysqld start

# /etc/init.d/apache2 stop
# /etc/init.d/mysqld stop

स्वचालित रूप से शुरू की गई कौन सी सेवाएँ /etc/rc Isrunleveliding.d/ में फ़ाइल लिंक द्वारा नियंत्रित की जाती हैं। रूट के रूप में कमांड "रनवेल" का उपयोग करके अपने वर्तमान रनवे को खोजें

# runlevel
N 2

जो यहां रनलेवल 2 को दर्शाता है। अब आपको बस उन फाइलों को /etc/rc2.d/ में निकालना है जो आप शुरू नहीं करना चाहते हैं।

डेस्कटॉप पर अपाचे और मैसकल को हटाना आमतौर पर ठीक है, लेकिन अन्य सेवाओं को हटाने के बारे में पता होना चाहिए।


3
यह भ्रामक है, भले ही आपने "अधिकांश वितरण" कहा हो। मैं विशिष्ट विशिष्ट के रूप में अपने नुस्खा योग्य होगा।
vtest

आपके मन में क्या था? मैं केवल आर्कलिंक्स के बारे में सोच सकता हूं (लेकिन उन उपयोगकर्ताओं को पहले से ही पता होना चाहिए कि वे क्या कर रहे हैं)। बेशक कुछ डिस्ट्रो के पास विशिष्ट उपकरण हैं, लेकिन उपरोक्त तकनीक उन पर भी काम करती है।
४ist बजे हॉल्टकविस्ट २

काफी अजीब है, मैं / acc/rc2.d निर्देशिका में S91apache2 नामक एक फ़ाइल देख सकता हूं, मुझे लगता है कि यह apache2 शुरू होता है ... लेकिन मुझे MySQL के बारे में कोई फ़ाइल नहीं मिल रही है। मैं इस ऑटो शुरू करने वाले डेमन के बारे में कहां से जान सकता हूं?
अवीव

तब mysql सर्वर स्वत: प्रारंभ के लिए कॉन्फ़िगर नहीं किया जा सकता है। यह साइट एक अच्छी व्याख्या करने जैसी लगती है: yolinux.com/TUTORIALS/LinuxTutorialInitProcess.html
hultqvist

ध्यान दें कि * बीएसडी और स्लैकवेयर पेड़ के नीचे, निर्देशिका है /etc/rc.d/
new123456

15

उबंटू संस्करणों के लिए जो सिस्टमड (15.04 और बाद में) का उपयोग करते हैं:

systemctl disable service

यह काम करेगा। यह सेवा को अक्षम कर देगा और रिबूट के बाद पुनः आरंभ नहीं करेगा। अस्थायी रूप से सक्षम करने के लिए बस सेवा शुरू करें। सक्षम नहीं ।

सेवा नाम का उपयोग खोजने के लिए

service --status-all

अन्य आदेश हैं:

systemctl start service- सेवा शुरू करने के लिए इसका उपयोग करें। रिबूट के बाद बनी नहीं रहती है

systemctl stop service- किसी सेवा को रोकने के लिए इसका उपयोग करें। रिबूट के बाद बनी नहीं रहती है

systemctl restart service - किसी सेवा को पुनः आरंभ करने के लिए इसका उपयोग करें

systemctl status service- एक सेवा की स्थिति को दर्शाता है। बताता है कि क्या कोई सेवा वर्तमान में चल रही है।

systemctl enable service- सर्विस को अगले रिबूट पर या अगले स्टार्ट इवेंट पर चालू करता है। यह रिबूट के बाद बनी रहती है।

systemctl disable service- सर्विस को अगले रिबूट या अगले स्टॉप इवेंट पर बंद कर देता है। यह रिबूट के बाद बनी रहती है।


2
यह एक दया है कि यह स्वीकृत उत्तर नहीं है :)। धन्यवाद, मैं पूरी तरह से उस आदेश के बारे में भूल गया।
नोर्ड्स

8

उबंटू 10.04 दो सेवा प्रबंधन प्रणालियों के बीच एक संक्रमण के बीच में है: SysVinit (एक पारंपरिक प्रणाली, जिसे अधिकांश लिनक्स वितरण द्वारा उपयोग किया जाता है) और अपस्टार्ट (उबंटू द्वारा धक्का दिया गया एक नया सिस्टम और अधिक से अधिक वितरण में उपलब्ध हो रहा है)।

SysVinit सेवा प्रबंधन स्क्रिप्ट में हैं /etc/init.d। आप /etc/init.d/SERVICENAME startइसके साथ सेवा शुरू कर सकते हैं और इसे रोक सकते हैं /etc/init.d/SERVICENAME stop। क्या सेवा को बूट पर स्वचालित रूप से शुरू किया गया है, /etc/rc?.dजहां प्रतीकात्मक लिंक की उपस्थिति पर निर्भर करता है जहां ?से ( रनलेवल ) के 2लिए एक अंक है । किसी सेवा को बूट पर स्वचालित रूप से शुरू करने से रोकने का सबसे आसान तरीका उपयोग करना है ।5update-rc.d SERVICENAME disable

अपस्टार्ट सेवा प्रबंधन विन्यास फाइल में हैं /etc/init। आप start SERVICENAMEइसके साथ सेवा शुरू कर सकते हैं और इसे रोक सकते हैं stop SERVICENAME। कॉन्फ़िगरेशन फ़ाइल /etc/init/SERVICENAME.confमें सेवा शुरू करने के लिए इंगित करने वाली एक पंक्ति होती है start on …:। इन सेवाओं को अक्षम करने का एक आसान तरीका उस रेखा को बदलना है start on never and (…)। यदि आप फ़ाइल को संपादित नहीं करना चाहते हैं, तो आप पैकेजिंग सिस्टम को भ्रमित किए बिना सेवा को पूरी तरह से निष्क्रिय कर सकते हैं और इसे समाप्त नहीं होने का नाम देकर .conf

dpkg-divert --add --local --divert /etc/init/foo.conf.disabled --rename /etc/init/foo.conf

उबंटू 10.04 के रूप में, अपाचे एक SysVinit स्क्रिप्ट के साथ आता है और मैसकल एक अपस्टार्ट स्क्रिप्ट के साथ आता है।


क्या वास्तव में पसंदीदा तरीका है servicename.conf का संपादन? विशेष रूप से जब अपडेट सैद्धांतिक रूप से उन कॉन्फ़िगरेशन फ़ाइलों को अपडेट कर सकते हैं और आपके परिवर्तनों को ओवरराइड कर सकते हैं
Masse

@Masse: यह हमेशा पसंदीदा तरीका नहीं है, लेकिन हमेशा काम करने का फायदा है। कुछ सेवाओं में एक फ़ाइल पढ़ी जाती है /etc/defaultऔर उसमें एक START_FOOविकल्प होता है जिसे आप बंद कर सकते हैं, लेकिन कई उम्मीद करते हैं कि यदि वे स्थापित हैं तो चलाने के लिए। अपडेट इन परिवर्तनों के बिना आपके परिवर्तनों को ओवरराइट नहीं करेगा क्योंकि ये सभी शंकुधारी हैं।
गिल्स एसओ- बुराई को रोकना '

वाह। यह पीछे की ओर एक बड़ा कदम लगता है।
मैसेज

@Masse: कॉनफ़ाइल्स का अर्थ व्यवस्थापक द्वारा संपादित किया जाना है। लेकिन अगर आप ऐसा नहीं करना चाहते हैं, तो आप dpkg-divertसेवा फ़ाइल का नाम बदलने के लिए भी उपयोग कर सकते हैं । हालाँकि यदि आप ऐसा करते हैं कि आप स्पष्ट रूप से सेवा शुरू नहीं कर पाएंगे।
गिलेस एसओ- बुराई को रोकना '
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.