सेवाओं को सक्षम या अक्षम कैसे करें?


821

मैं उबंटू में सेवाओं को सक्षम और अक्षम करने के तरीके के बारे में पढ़ता हूं और ऐसा लगता है कि उन्हें प्रबंधित करने की विभिन्न संभावनाएं हैं।

पहला तरीका मैंने पाया है update-rc.dकि स्टार्टअप में नई सेवाओं को जोड़ना है, जिसका उद्देश्य /etc/init.dफ़ोल्डर और इसकी सामग्री पर है।

एक अन्य जो मैंने पाया .confवह /etc/initफ़ोल्डर में फ़ाइलों को संपादित करना है ।

सेवाओं को सक्षम / अक्षम / जोड़ने का अनुशंसित तरीका क्या है और क्यों?

क्या आप उबंटू में एक सेवा को जोड़ने और इसे सक्षम और अक्षम करने के तरीके पर एक छोटा सा बुलेटप्रूफ कदम दे सकते हैं?


1
नेटवर्किंग के लिए कृपया देखें: askubuntu.com/questions/230698/…
जॉर्ज कास्त्रो

यह फेडोरा 12 पर अटके लोगों के लिए मददगार होगा और यहां उतरा है। यदि chkconfigआप देख रहे हैं तो लिंकरोट के मामले में ।
ब्लीडिंग फिंगर्स

3
ध्यान दें कि उबंटू 14.04 का जवाब अभी भी यहां गायब है।
रेनियर पोस्ट

2
@ मार्सेलोनलूकी: उबंटू 15.04 से शुरू होकर, अपस्टार्ट को सिस्टमड के पक्ष में हटा दिया गया है।
डेन डैस्कलेस्क्यू

ऑटो-स्टार्ट प्रोग्राम autostartमैनिफ़ेस्ट में या *.serviceकई स्थानों पर फ़ाइलों में कॉन्फ़िगर किए गए हैं , साथ ही साथ init.dया में भी crontab। देखें: unix.stackexchange.com/a/525845/43233
Noam Manos

जवाबों:


831

ऐसी सेवाएँ हैं जो GUI (जैसे startupएप्लिकेशन) या टर्मिनल का उपयोग करके सक्षम / अक्षम की जा सकती हैं ।

टर्मिनल के लिए आपके पास कई विकल्प हैं। सबसे पहले, डैश में एक टर्मिनल (टाइप "टर्मिनल" खोलें, उदाहरण के लिए, और इसे खोलें)। फिर:

अस्थाई सक्षम / अक्षम करने वाली सेवाएँ

अस्थायी रूप से सेवाओं को रोकने और शुरू करने के लिए (उन्हें भविष्य के जूते के लिए सक्षम / अक्षम नहीं करता है), आप टाइप कर सकते हैं service SERVICE_NAME। उदाहरण के लिए:

  • sudo service apache2 stop( रिबूट तक या जब तक आप इसे फिर से शुरू नहीं करते अपाचे सेवा को रोक देंगे )।

  • sudo service apache2 start(यह शुरू होगा अपाचे सेवा शुरू होने से पहले ही रोक दिया गया था।)

  • service apache2 status (आपको सेवा का स्थान बताएगा, यदि वह अक्षम / अक्षम चल रहा है या नहीं चल रहा है।)।

  • sudo service apache2 restart( सेवा बहाल करेगा । यह सबसे अधिक उपयोग किया जाता है जब आप बदल जाते हैं, तो एक कॉन्फ़िगरेशन फ़ाइल। इस मामले में, यदि आपने या तो एक PHP कॉन्फ़िगरेशन या अपाचे कॉन्फ़िगरेशन को बदल दिया है। पुनरारंभ आपको 2 कमांड लाइनों के साथ रोकने / शुरू करने से बचाएगा। )

  • service apache2(इस मामले में, चूंकि आपने सेवा के लिए निष्पादित करने के लिए कार्रवाई का उल्लेख नहीं किया है, यह आपको उस विशिष्ट सेवा के लिए उपलब्ध सभी विकल्प दिखाएगा।) यह पहलू सेवा के आधार पर भिन्न होता है, उदाहरण के लिए, MySQL के साथ यह केवल यह उल्लेख करेगा कि यह एक पैरामीटर गायब है। नेटवर्किंग सेवा जैसी अन्य सेवाओं के लिए इसमें उपलब्ध सभी विकल्पों की छोटी सूची का उल्लेख होगा।


systemd

उबंटू 15.04 से शुरू होकर, अपस्टार्ट को सिस्टमड के पक्ष में चित्रित किया जाएगा। सिस्टमड के साथ हम निम्नलिखित कार्य कर सकते हैं:

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

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

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

systemctl reload SERVICE - यदि सेवा इसका समर्थन करती है, तो यह उस प्रक्रिया से संबंधित किसी भी प्रक्रिया को बाधित किए बिना उससे संबंधित कॉन्फ़िगरेशन फ़ाइलों को फिर से लोड कर देगा।

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

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

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

systemctl is-enabled SERVICE - जांचें कि क्या कोई सेवा वर्तमान में अगले रिबूट पर शुरू करने या नहीं करने के लिए कॉन्फ़िगर की गई है।

systemctl is-active SERVICE - जांचें कि क्या कोई सेवा वर्तमान में सक्रिय है।

systemctl show SERVICE - सेवा के बारे में सभी जानकारी दिखाएं।

sudo systemctl mask SERVICE- किसी सेवा को पूरी तरह से इसे लिंक करके अक्षम करें /dev/null; आप मैन्युअल रूप से सेवा शुरू नहीं कर सकते या सेवा को सक्षम नहीं कर सकते।

sudo systemctl unmask SERVICE- लिंक को निकालता है /dev/nullऔर सक्षम करने और या मैन्युअल रूप से सेवा शुरू करने की क्षमता को पुनर्स्थापित करता है।


UPSTART (15.04 के बाद से घटा)

यदि हम आधिकारिक अपस्टार्ट तरीके का उपयोग करना चाहते हैं (ध्यान दें, फिलहाल, सभी सेवाओं को अपस्टार्ट में नहीं बदला गया है), हम निम्नलिखित कमांड का उपयोग कर सकते हैं:

status SERVICE- यह हमें बताएगा कि एक परिवर्तित सेवा चल रही है या नहीं। ध्यान दें कि यह के पक्ष में पदावनत किया गया है start, stop, statusऔर restart। यह भी बताएगा कि क्या कोई सेवा अभी तक अपस्टार्ट में परिवर्तित नहीं हुई है:

एक परिवर्तित सेवा आमतौर पर वर्तमान स्थिति (शुरू, चल रहा है, रोक ...) और प्रक्रिया आईडी का उत्पादन करेगी। एक गैर परिवर्तित सेवा एक अज्ञात नौकरी के बारे में एक त्रुटि देगी ।

कुछ शॉर्टकट केवल serviceऊपर दिए गए कमांड के साथ काम कर सकते हैं लेकिन नीचे दिए गए कमांड के साथ नहीं जब तक कि वे 100% अपस्टार्ट सेवाओं में परिवर्तित न हो जाएं:

  • स्टार्ट -sudo start mysql

  • रोकें -sudo stop mysql

  • रेस्टार्ट -sudo restart mysql

  • स्थिति -sudo status smbd

किसी सेवा को सक्षम / अक्षम करना

किसी सेवा को शुरू करने या स्थायी रूप से रोकने से रोकने के लिए आपको निम्न की आवश्यकता होगी:

echo manual | sudo tee /etc/init/SERVICE.override

जहां छंद manualउपस्टार्ट को अगले बूट पर सेवा को स्वचालित रूप से लोड करने से रोक देगा। .overrideसमाप्ति के साथ कोई भी सेवा मूल सेवा फ़ाइल पर वरीयता लेगी। आप केवल बाद में मैन्युअल रूप से सेवा शुरू कर पाएंगे। अगर आप ऐसा नहीं चाहते हैं तो बस डिलीट कर दें .override। उदाहरण के लिए:

echo manual | sudo tee /etc/init/mysql.override

MySQL सेवा को manualमोड में रखेगा। यदि आप यह नहीं चाहते हैं, बाद में आप बस कर सकते हैं

sudo rm /etc/init/mysql.override

और फिर से स्वचालित रूप से शुरू करने के लिए सेवा के लिए रिबूट। बेशक एक सेवा को सक्षम करने के लिए, इसे स्थापित करने का सबसे आम तरीका है। यदि आप Apache, Nginx, MySQL या अन्य को इंस्टॉल करते हैं, तो वे स्वचालित रूप से इंस्टॉलेशन समाप्त करने पर शुरू होते हैं और हर बार कंप्यूटर के बूट शुरू करेंगे। अक्षम करना, जैसा कि ऊपर उल्लेख किया गया है, सेवा का उपयोग करेगा manual


क्या आपको .serviceहर कमांड को जोड़ने की आवश्यकता है ? systemctl mongod statusठीक काम किया।
डेन डैस्कलेस्क्यू

@DanDascalescu नहीं तुम नहीं है लेकिन मुझे स्पष्ट है कि वहाँ।
लुइस अल्वाराडो

4
क्या .override फ़ाइल को /etc/init.d/ में रखा जाना चाहिए, अर्थात, जहां सेवा रखी गई है?
ओबी वान - पल्लवजहा

15.04 में अपस्टार्ट का पदावनत क्यों किया जाता है? ubuntu 16.04 या बाद में शुरू / पुनरारंभ करने पर स्क्रिप्ट चलाने का सही तरीका क्या है?
कमलाकन्नन J

1
इस व्यापक उत्तर के लिए धन्यवाद। systemdआदेशों का सेट उबंटू 18.04 पर एक उपचार का काम करता है।
डॉकटोर जे।

355

वर्तमान में Ubuntu, SysV , Upstart और systemd में सेवा के रूप में शुरू किए जाने वाले सॉफ़्टवेयर के लिए वास्तव में तीन अलग-अलग तरीके हैं । एक सेवा को पृष्ठभूमि में सिस्टम द्वारा चलाए जा रहे प्रोग्राम के रूप में परिभाषित किया गया है, जैसा कि उपयोगकर्ता द्वारा सीधे शुरू और चलाने के विपरीत है।

SysV

लिनक्स में सेवाओं को शुरू करने का पारंपरिक तरीका स्क्रिप्ट को उसमें सक्षम या अक्षम करने के लिए एक स्क्रिप्ट रखना /etc/init.dऔर फिर update-rc.dकमांड (या रेडहैट आधारित डिस्ट्रोस में chkconfig) का उपयोग करना था।

यह कमांड कुछ हल्के से जटिल लॉजिक का उपयोग करता है जिससे सिम्बलिंक बनाया /etc/rc#.dजा सके, जो सेवाओं को शुरू करने के क्रम को नियंत्रित करता है। यदि आप चलाते हैं ls /etc/rc2.dतो आप आदेश देख सकते हैं कि सेवाओं को फ़ाइल नाम के साथ मार दिया जाएगा K##xxxxऔर फ़ाइल नामों के साथ शुरू किया जाएगा S##xxxx##में S##xxxxसेवा के लिए एक "आदेश देना शुरू" का अर्थ है xxxx। इसके विपरीत, ##में K##xxxxसेवा के लिए मारने का आदेश का मतलब है xxxx

SysV के साथ एक प्रमुख मुद्दा यह था कि सिस्टम को बूट करते समय, धारावाहिक में सब कुछ करना पड़ता था, एक के बाद एक चीजें, सिस्टम बूट समय को वास्तव में धीमा कर देती हैं । इसे समानांतर करने का प्रयास किया गया था, लेकिन वे पूरी तरह से लाभ उठाने के लिए कठोर और कठोर थे। यह मुख्य कारण था कि अपस्टार्ट बनाया गया था।

कल का नवाब

अपस्टार्ट नौकरी परिभाषा फ़ाइलों का उपयोग करता है /etc/initताकि यह परिभाषित किया जा सके कि सेवा को किन घटनाओं में शुरू किया जाना चाहिए। इसलिए, जब सिस्टम बूट हो रहा है, अपस्टार्ट विभिन्न घटनाओं को संसाधित करता है, और फिर समानांतर में कई सेवाएं शुरू कर सकता है। उदाहरण के लिए, सिस्टम के संसाधनों का पूरी तरह से उपयोग करने की अनुमति देता है, उदाहरण के लिए, एक अन्य सीपीयू-बाउंड सेवा चलने पर डिस्क-बाउंड सेवा शुरू करने से, या जबकि नेटवर्क एक गतिशील आईपी पते के लिए प्रतीक्षा कर रहा है।

आप सभी अपस्टार्ट जॉब फ़ाइलों को चलाकर देख सकते हैं ls /etc/init/*.conf

मुझे यहाँ रुकने दो और कहो कि यदि आप नहीं जानते कि एक सेवा क्या है, या यह क्या करता है, तो इसे अक्षम न करें!

सभी सेवाओं को अपस्टार्ट में परिवर्तित नहीं किया गया है। पिछले कुछ महीनों से कैन्यनिकल में सर्वर टीम पर काम करते हुए, मैंने कई परिवर्तित नौकरी फ़ाइलों पर काम किया है, और सबसे अच्छा हिस्सा यह है कि यह सभी स्क्रिप्ट "जादू" से छुटकारा पाने की अनुमति देता है और बस डाल देता है कुछ कमांड यहाँ और वहाँ परिभाषित करने के लिए कैसे सेवा शुरू करने के लिए, और अधिक कुछ नहीं। लेकिन अभी के लिए, केवल मुट्ठी भर पारंपरिक नेटवर्क सेवाएं, जैसे स्क्वीड और सांबा को परिवर्तित किया गया है।

क्या एक सेवा अपस्टार्ट-आधारित है?

यह पता लगाने के लिए कि क्या कोई सेवा upstart- आधारित है, आप स्थिति कमांड चला सकते हैं:

status servicename

यदि यह एक अपस्टार्ट का काम है, तो यह इसे दिखाएगा:

$ status statd
statd start/running, process 942

लेकिन अगर ऐसा नहीं है, तो आपको कुछ इस तरह दिखाई देगा:

$ status apache2
status: Unknown job: apache2

इस मामले में, अपस्टार्टapache2 में परिवर्तित नहीं किया गया है । इसलिए, आपको निष्क्रिय करने के लिए बस चलाएंapache2

sudo update-rc.d apache2 disable
sudo service apache2 stop

अपस्टार्ट में सेवाओं (नौकरियों) को अक्षम करें

अपस्टार्ट जॉब परिभाषाओं में एक update-rc.dकमांड नहीं है । नौकरी को अक्षम करने के लिए, आपको इसे अक्षम करने के लिए सीधे नौकरी फ़ाइल को संपादित करने की आवश्यकता है। इसे करने के दो तरीके हैं।

यदि आप अभी भी इसे मैन्युअल रूप से शुरू करने में सक्षम होना चाहते हैं, तो आपको start onस्थिति पर टिप्पणी करने की आवश्यकता है । कहते हैं कि आप सांबा स्थापित करना चाहते हैं , लेकिन यह अपने आप शुरू नहीं होता है। यहाँ नौकरी फ़ाइल (natty में) है:

description "SMB/CIFS File Server"
author      "Steve Langasek <steve.langasek@ubuntu.com>"

start on local-filesystems
stop on runlevel [!2345]

respawn

pre-start script
    RUN_MODE="daemons"

    [ -r /etc/default/samba ] && . /etc/default/samba

    [ "$RUN_MODE" = inetd ] && { stop; exit 0; }

    install -o root -g root -m 755 -d /var/run/samba
end script

exec smbd -F

सांबा को निष्क्रिय करने के लिए , आप बस #" start on local-filesystems" के सामने रख सकते हैं । ध्यान दें कि जब यह बूट पर वापस शुरू नहीं होगा, तब भी आपको इसे इस बार बंद करना होगा

sudo service smbd stop

यदि, हालांकि, आप कभी भी सांबा को शुरू नहीं करना चाहते हैं , तो मैं वास्तव में पैकेज को हटाने का सुझाव दूंगा। यदि, फिर भी, आप इसे स्थापित करना चाहते हैं, लेकिन शुरू करने योग्य नहीं है, तो आप यह भी कर सकते हैं:

mv /etc/init/smbd.conf /etc/init/smbd.conf.disabled

स्टार्ट / स्टॉप का उपयोग कर एक सेवा को अक्षम करें (11.04 तक)

नवोदय कि 11.04 में हो जाएगा के संस्करण के साथ शुरू, एक नया कीवर्ड कि अक्षम कर देता है start onऔर stop onपद: manual। तो सेवा को 11.04 तक अक्षम करने का दूसरा तरीका है:

echo 'manual' | sudo tee /etc/init/mysql.override

# command from root shell
echo manual >> /etc/init/mysql.override

आप overrideनौकरी की परिभाषा को संपादित किए बिना किसी सेवा को निष्क्रिय करने के लिए एक फ़ाइल बना सकते हैं , बस manualउसमें कीवर्ड डालकर ।


20
लगता है जैसे 11.04 भी ओवरराइड हो गया है। इसलिए echo manual >> /etc/init/<service>.overrideइसे पसंद किया जाता है क्योंकि यह मूल .conf filke को छोड़ देता है। वैसे भी, यह अभी भी शर्म की बात है कि इस तरह के एक बुनियादी सक्षम / अक्षम को विकसित होने में 3 साल लग गए, और उसके लिए कोई जीयूआई नहीं है।
MestreLion

3
अपडेट- rc.d वास्तव में क्या मायने रखता है
टिमोफी

2
मूल प्रश्न के उत्तर की तुलना में मूल विषय की तुलना में बहुत अधिक रोचक बात लगती है, जो मूल प्रश्न पोस्टर द्वारा परिभाषित उत्तर के रूप में किया गया है। धन्यवाद! :)
हेनिंग

1
मेरे मामले में, फ़ाइल /etc/init/ssh.confलेकिन मौजूद है status sshऔर status sshdदोनों कहते हैं कि "अज्ञात कार्य"। इस उत्तर से ऐसी संभावना का पता नहीं लगता है?
ब्रायन जेड

1
status sshमुझे 'अज्ञात नौकरी' भी देता है, लेकिन service ssh statusमेरे लिए काम करता है
ptim

129

SysV-rc-conf

Sysv-rc-conf का उपयोग करके देखें

sudo apt-get install sysv-rc-conf

और सेवाओं का प्रबंधन शुरू करने के लिए, निष्पादित करें

sudo sysv-rc-conf

जो इस तरह इंटरेक्टिव विंडो लाएगा

यहां छवि विवरण दर्ज करें

आप Ctrl+nअगले पृष्ठ के लिए और Ctrl+pपिछले पृष्ठ के लिए पृष्ठों के माध्यम से नेविगेट कर सकते हैं । आप SPACEवांछित रनवे पर चयन करके सेवाओं को सक्षम और अक्षम कर सकते हैं ।

नौकरी-व्यवस्थापक

एक अन्य विकल्प के माध्यम से स्थापित करके नौकरियां-व्यवस्थापक होगा

sudo apt-get install jobs-admin

जो इस तरह से GUI भी प्रदान करता है

नौकरियों-व्यवस्थापक पूर्वावलोकन

अधिक काम दिखाने के लिए, आपको इसके मेनू से शो प्रोटेक्टेड जॉब्स पर टिक करना होगा ।

chkconfig

और तीसरा विकल्प होगा चकोन्फिग ,

sudo apt-get install chkconfig

यह सीएलआई के माध्यम से chkconfig, ऑन / ऑफ नौकरियों की सूची दिखाते हुए उपयोग किया जा सकता है । इसके अलावा, हम सिस्टम सेवाओं का उपयोग करके देख सकते हैंchkconfig –list

सेवाओं का उपयोग कर चालू किया जा सकता है

chkconfig <service> on

सेवाओं का उपयोग कर बंद किया जा सकता है

chkconfig <service> off

और हम अपनी स्वयं की सेवा भी जोड़ सकते हैं, उचित हेडिंग के साथ एक उचित इनइट स्क्रिप्ट का उपयोग कर सकते हैं।

chkconfig --add <service>

अद्यतन-rc.d

और एक अन्य विकल्प यहां अपडेट-आरओडीडी में संदर्भित किया जा सकता है , यहां संक्षेप में समझाया गया है

ध्यान दें कि Ubuntu सर्वर 12.04 के लिए, update-rc.d chkconfig के बजाय उपयोग किया जाता है।


1
ubuntu सर्वर पर:Package chkconfig is not available, but is referred to by another package.
pwned

@pwned आप सर्वर संस्करण के बारे में अद्यतन जानकारी को संपादित और पोस्ट करने के लिए स्वतंत्र हैं। धन्यवाद।
14

जैसा आपने सुझाव दिया था, मैंने किया है, अब यह सहकर्मी की समीक्षा के लिए है।
pwned

जॉब्स-एडमिन जॉब्स को बदलने की अनुमति नहीं देता (Ubuntu 14.04), इसके बजाय एक दुर्घटना रिपोर्ट का निर्माण; ;-)
Sadi

5
sysv-rc-conf upstart या systemd के साथ उपयोग के लिए उपयुक्त नहीं है, यह वर्तमान में केवल पुराने सिस्टम 5 rc सिस्टम के लिए है, जो लगभग एक दशक से Ubuntu Linux पर डिफ़ॉल्ट नहीं है। डेबियन बग # 791689 इस बात को स्वीकार करता है और सवाल करता है कि इसे सिस्टमड के साथ परस्पर विरोधी के रूप में चिह्नित क्यों नहीं किया गया है।
जेडीबीपी

48

हममें से जो उबंटू को ssh पर चलाते हैं, मुझे लगता है कि सबसे अच्छा विकल्प है rcconf- एक पाठ आधारित कार्यक्रम:

sudo apt-get install rcconf
sudo rcconf

वैकल्पिक शब्द

टैब / एरो कीज़ के साथ नेविगेट करें, सक्षम / अक्षम करने के लिए स्पेसबार दबाएँ। पुनरारंभ के दौरान परिवर्तन लगातार होते हैं।

इस ब्लॉगपोस्ट से उधार लिया गया स्क्रीनशॉट , जो दिखाता है sysv-rc-conf- एक समान उपकरण जो आपको रनवे सेट करने की सुविधा भी देता है। (उन लोगों के लिए जो रनवेवेल्स के बारे में पर्याप्त देखभाल करने के लिए उन्हें बदलने की इच्छा रखते हैं :)

दुर्भाग्य से, rcconf अपस्टार्ट (सूचीबद्ध सेवाओं में /etc/init/*) के साथ काम नहीं करता है , बस पारंपरिक तंत्र के साथ ( ls -l /etc/init.d/*- जो प्रतीकात्मक लिंक नहीं हैं)।

सौभाग्य से, कई सेवाएं जो प्रासंगिक हैं जब एक सर्वर (Apache, Tomcat, mdadm, boinc- क्लाइंट ...) में ssh-ing किया जाता है, अभी तक ऊपर नहीं उठाया गया है।


6
क्या यह अभी भी upstart के साथ काम करता है?
oKtosiTe

3
दुर्भाग्यवश नहीं। लेकिन इसने उन सभी मामलों के लिए काम किया है, जिन्हें मैं बदलना चाहता हूं - अपस्टार्ट जॉब्स में ज्यादातर चीजें लगती हैं जिन्हें मैं कभी भी अक्षम नहीं करना चाहता - हार्डवेयर घड़ी, लॉग डेमॉन, नेटवर्क आदि (उबंटू सर्वर पर, कम से कम)। लेकिन यह कुछ के बारे में पता होना है (मैं नहीं था :), मैंने पोस्ट को अपडेट कर दिया है।
jg-faustus

दुर्भाग्य से mysql अपस्टार्ट में बदल गया था। और एक सेवा है कि मैं केवल जब कुछ परियोजना कर im का उपयोग करें।
MestreLion

Ubuntu 12.04 पर rcconf के साथ एक बग है जो प्रोग्राम को शुरू होने से रोकता है। समस्या को हल करने के लिए आपको संवाद पैकेज स्थापित करने की आवश्यकता है।
devius

1
चूंकि यह उत्तर लिखा गया था, इसलिए update-rc.dइसे बदल दिया गया था, और इसकी कुछ हटाए गए कार्यक्षमता को हटा दिया गया था । डेबियन बग # 727735 नोट जो कि rcconf को मिलान के लिए नहीं बदला गया था। और नहीं, rcconf systemd के साथ काम नहीं करता है, इस प्रकार पिछले दशक के लिए Ubuntu Linux के लिए डिफ़ॉल्ट init सिस्टम के लिए लागू नहीं किया जा रहा है।
जेडीबीपी

18

मुझे पता चला कि यह GUI उपकरण है, BUM जैसा कुछ लेकिन उपस्टार्ट के साथ संगत:

  • नौकरी-व्यवस्थापक

    sudo apt-get install jobs-admin
    

लेकिन यह बहुत आसान है, और "संरक्षित नौकरियों" को बदलने की अनुमति न दें (वह नौकरी क्या है? ऐप्पल के पास नौकरियां हैं, ऑपरेटिंग सिस्टम में डेमॉन हैं!)
kakaz

मैं भी एक क्रैश रिपोर्ट के बजाय उत्पादन ;-), "असुरक्षित नौकरियों" (Ubuntu 14.04) को बदलने के लिए अनुमति नहीं है
सादी

12

मौजूदा अपस्टार्ट कॉन्फ़िगरेशन फ़ाइल (जैसा कि ऊपर वर्णित है) को संपादित करना इतना अच्छा विचार नहीं है। एक अद्यतन पैकेज एक अद्यतन विन्यास प्रदान कर सकता है, और आपको अपने परिवर्तनों को बार-बार दोहराना होगा।

एक पर एक नज़र डालने से man 5 initअधिक उपयुक्त समाधान मिलेगा: एक ओवरराइड कॉन्फ़िगरेशन का उपयोग करना। संक्षिप्त उदाहरण: मान लें कि हमारे पास "फ़ॉबर" नामक एक सेवा है, इसलिए /etc/init/foobar.confइसके अपस्टार्ट कॉन्फ़िगरेशन के साथ एक फ़ाइल होगी । अब आप उस फ़ाइल को हटाना नहीं चाहते हैं, न ही इसे संशोधित करना चाहते हैं - लेकिन न ही आप इस सेवा को चलाना चाहते हैं? इसलिए इसके आगे एक ओवरराइड फ़ाइल रखें: /etc/init/foobar.override(जिसमें वैकल्पिक रूप से वर्णन के साथ शीर्षलेख) और इसके बजाय start on/ stop onएक पंक्ति में आप एक शब्द के साथ एक पंक्ति रखें manual:। इस तरह से आप मूल रूप से उपयोग करने के लिए ऊपर को बताते हैं foobar.conf, लेकिन स्टार्टअप परिभाषा को केवल उस सेवा को शुरू करने के लिए ओवरराइड करते हैं जब मैन्युअल रूप से लागू किया जाता है ( service foobar startहमारे उदाहरण के माध्यम से )।



हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.