Ubuntu सर्वर के लिए Chkconfig विकल्प?


144

मैं Redhat / RHEL प्लेटफार्मों पर सेवा स्टार्टअप के प्रबंधन के लिए बहुत आदी हो गया हूं, chkconfigहालांकि इसका उपयोग डेबियन / Ubuntu तरीके से नहीं होता है - मैं Ubuntu पर सिस्टम सेवाओं के लिए रनलेवल जानकारी कैसे अपडेट करूं?

अंततः इसके समकक्षों की तलाश में:

chkconfig --add <service>
chkconfig --level 345 <service> on
chkconfig --del <service>

1
BTW: आप apt-get install chkconfigubuntu पर पैकेज के रूप में अच्छी तरह से कर सकते हैं । हालांकि यह सालों से टूटा हुआ है, निम्नलिखित ln -s /usr/lib/insserv/insserv /sbin/insserv
सिम्कलिन

जवाबों:


125

के बराबर chkconfigहैupdate-rc.d

आप जो समकक्ष चाहते हैं, वे हैं

update-rc.d <service> defaults
update-rc.d <service> start 20 3 4 5
update-rc.d -f <service>  remove

अधिक जानकारी के लिए यह उपयोगी पृष्ठ देखें या मैन अपडेट-आरडीडी देखें


5
update-rc.d का अर्थ केवल पैकेजिंग स्क्रिप्ट में उपयोग किया जाना है, न कि मनुष्यों द्वारा। यह init स्क्रिप्ट के लिए भी है, जिसे Ubuntu उपयोग नहीं करता है। उबंटू अपस्टार्ट का उपयोग करता है।
मकाओ

11
"कृपया ध्यान दें कि इस प्रोग्राम को पैकेज मेंटेनर स्क्रिप्ट्स में उपयोग के लिए डिज़ाइन किया गया था और तदनुसार, इस तरह की स्क्रिप्ट्स के लिए केवल बहुत ही सीमित कार्यक्षमता की आवश्यकता होती है। सिस्टम व्यवस्थापकों को रनवे के प्रबंधन के लिए अपडेट- rc.d का उपयोग करने के लिए प्रोत्साहित नहीं किया जाता है। उन्हें लिंक संपादित करना चाहिए। इसके बजाय सीधे रनलेवल संपादकों जैसे कि sysv-rc-conf और bum का उपयोग करें। " मैनपेज से: manpages.ubuntu.com/manpages/hardy/man8/update-rc.d.8.html
maco

4
मैं इस उत्तर को स्वीकार कर रहा हूं क्योंकि अद्यतन मैन पेजों ने उस चेतावनी को हटा दिया है। manpages.ubuntu.com/manpages/lucid/man8/update-rc.d.8.html
मार्को Ceppi

4
जो अभी भी इस तथ्य को नहीं बदलता है कि उबंटू आजकल SysV init स्क्रिप्ट का भी उपयोग नहीं करता है और अपडेट-rc.d केवल उनके लिए है।
maco

1
अभी भी कुछ sysv स्क्रिप्ट का उपयोग किया जाता है और विशेष रूप से वे upstart के साथ भी काम करते हैं। इसलिए यदि आपके पास एक स्क्रिप्ट को बदलने का समय नहीं था, तब भी आप इसे इस तरह से उपयोग कर सकते हैं।
eckes

53

सर्वश्रेष्ठ वैकल्पिक IMHO है sysv-rc-conf स्थापित करने के लिए केवल कमांड चलाने की जरूरत है:

sudo apt-get install sysv-rc-conf

एक बार कमांड चलाने के बाद:

sudo sysv-rc-conf

आप निष्पादन के किसी भी स्तर पर सेवा शुरू करने के लिए विकल्पों की जांच या अनचेक कर सकते हैं और इस कंसोल से सेवाओं को रोक या शुरू भी कर सकते हैं। अपने ubuntu को बूट करने के लिए स्थायी रूप से अनुप्रयोगों को सक्षम या अक्षम करने के लिए यह एक अनिवार्य उपकरण है। यदि आपको त्वरित बदलाव की आवश्यकता है, तो आप सीएलआई इंटरफ़ेस का उपयोग कर सकते हैं:

निष्पादन के स्तर 3 और 5 पर ssh को रोकने के लिए उदाहरण के लिए:

sysv-rc-conf-off level 35 ssh

रनवे 2,3,4 और 5 में शुरू करने के लिए Atd:

sysv-rc-conf on atd

यदि आप अधिक जानना चाहते हैं:

man sysv-rc-conf

यह वही है जो मुझे चाहिए था, सिवाय मैंने किया sysv-rc-conf apache2 on/ sysv-rc-conf apache2 offआदि
एडम के डीन

यह मेरे लिए अपडेट-rc.d की तुलना में काम करता है जो /etc/init.d/ निर्देशिका में प्रोग्राम स्क्रिप्ट की तलाश कर रहा था, जहां vsftpd जैसे कुछ प्रोग्राम इंस्टॉल नहीं किए गए हैं।
डेविड ओकवि

मेरे लिए उबंटू 14.04 पर काम किया
हाशिद हमीद

आपके पास टाइपो है: sysv-rc-conf-off level 35 sshहोना चाहिएsysv-rc-conf --level 35 ssh off
स्लैम

उबंटू 16.04LTS पर काम कर रहा है , जहां update-rc.dनहीं किया गया।
सोपालाजो डे एरिएरेज़

10

अभी, अपस्टार्ट स्क्रिप्ट के साथ काम करने के लिए एक स्थिर रिलीज पर कोई समान नहीं है। याकूब पेडिकॉर्ड ने अपने Google समर ऑफ़ कोड प्रोजेक्ट के लिए जॉब सर्विस (बैकेंड डेमॉन) और जॉब्स-एडमिन (GTK + GUI जो इस पर बात करता है) लिखा था। ल्यूसिड पैकेज उसके पीपीए में हैं । वे Maverick में यूनिवर्स में भी मौजूद हैं। जॉबवर्क के लिए अभी तक कोई कमांड लाइन नहीं है, बस जॉब-एडमिन है।


10

इसे इस्तेमाल करे:

apt-get install chkconfig

यह काम करता है, कम से कम Ubuntu 12.04 रिलीज के रूप में।


6
12.10 पर काम नहीं करता है
विशेषज्ञ

12.04 है, और apt-get install chkconfig देता है: "E: Package 'chkconfig' में कोई इंस्टॉलेशन नहीं है"। आपकी /etc/apt/source.list फ़ाइल में व्हाट्सएप?
जॉन लिटिल

लगता है कि नवीनतम सटीक: 12.04: 1.0-79.1-2 0 के लिए प्रकाशित किया गया था http://us.archive.ubuntu.com/ubuntu/ precise/universe i386 Packages। कुछ सुधारों ने इसे पैकेज में नहीं बनाया।
3

2
Ubuntu 14.04 पर कोई पैकेज नहीं। क्या हमें कोई अन्य स्रोत जोड़ने की आवश्यकता है?
हाशिद हमीद ने

5

ZERO से लक्ष्य तक चलते हैं - यह कदम से कदम के साथ कैसे करें।

चरण 1: एक नमस्ते दुनिया लिखने देता है

cat >> /var/tmp/python/server.py <<\EOF
#/usr/bin/python
import time
while True:
  print "hello> YES Bello"
  time.sleep(30)

EOF

चरण 2: हमारे हेल्लो वर्ल्ड एप्लिकेशन को सर्वरहोम को स्वचालित बनाने देता है

cat >> /var/tmp/myserver.sh <<\EOF
#!/bin/sh
script='/var/tmp/python/server.py'
export DISPLAY=:0.0 && /usr/bin/python $script &

EOF
chmod +x /var/tmp/myserver.sh

cat >> /etc/init.d/myserver <<\EOF

#! /bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/var/tmp/myserver.sh
PIDFILE=/var/run/myserver.pid

test -x $DAEMON || exit 0

. /lib/lsb/init-functions

case "$1" in
  start)
     log_daemon_msg "Starting feedparser"
     start_daemon -p $PIDFILE $DAEMON
     log_end_msg $?
   ;;
  stop)
     log_daemon_msg "Stopping feedparser"
     killproc -p $PIDFILE $DAEMON
     PID=`ps x |grep server.py | head -1 | awk '{print $1}'`
     kill -9 $PID       
     log_end_msg $?
   ;;
  force-reload|restart)
     $0 stop
     $0 start
   ;;
  status)
     status_of_proc -p $PIDFILE $DAEMON atd && exit 0 || exit $?
   ;;
 *)
   echo "Usage: /etc/init.d/atd {start|stop|restart|force-reload|status}"
   exit 1
  ;;
esac

exit 0


EOF
chmod +x /etc/init.d/myserver
chmod -R 777 /etc/init.d/myserver

चरण 3:

$ update-rc.d myserver defaults
update-rc.d: warning: /etc/init.d/myserver missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/myserver ...
   /etc/rc0.d/K20myserver -> ../init.d/myserver
   /etc/rc1.d/K20myserver -> ../init.d/myserver
   /etc/rc6.d/K20myserver -> ../init.d/myserver
   /etc/rc2.d/S20myserver -> ../init.d/myserver
   /etc/rc3.d/S20myserver -> ../init.d/myserver
   /etc/rc4.d/S20myserver -> ../init.d/myserver
   /etc/rc5.d/S20myserver -> ../init.d/myserver
  • तो चरण 3 में, बूट पर सिस्टम, स्वतः सर्वर को डेमॉन के रूप में निष्पादित करेगा और इसे स्वचालित करना आसान बना देगा

आशा है कि यह मदद की।


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