it-swarm-eu.dev

Chkconfig Alternative für Ubuntu Server?

Ich habe mich sehr daran gewöhnt, Dienststarts auf Redhat/RHEL-Plattformen mit chkconfig zu verwalten, obwohl dies nicht die Debian/Ubuntu-Methode zu sein scheint - Wie aktualisiere ich Runlevel-Informationen für Systemdienste unter Ubuntu?

Letztendlich auf der Suche nach den Äquivalenten von:

chkconfig --add <service>
chkconfig --level 345 <service> on
chkconfig --del <service>
144
Marco Ceppi

Das Äquivalent zu chkconfig ist update-rc.d

Die Äquivalente, die Sie suchen, sind

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

Weitere Informationen finden Sie unter diese nützliche Seite oder unter man update-rc.d

125

Beste Alternative IMHO ist sysv-rc-conf Zum Installieren muss nur der Befehl ausgeführt werden:

Sudo apt-get install sysv-rc-conf

Führen Sie nach der Installation den folgenden Befehl aus:

Sudo sysv-rc-conf

Sie können die Optionen zum Starten eines Dienstes auf jeder Ausführungsebene aktivieren oder deaktivieren und die Dienste möglicherweise von dieser Konsole aus beenden oder starten. Es ist ein unverzichtbares Tool, um Anwendungen dauerhaft zu aktivieren oder zu deaktivieren, um Ihr Ubuntu zu starten. Wenn Sie eine schnelle Änderung benötigen, können Sie die CLI-Oberfläche verwenden:

Zum Beispiel, um ssh auf den Ebenen 3 und 5 der Ausführung zu stoppen:

sysv-rc-conf-off level 35 ssh

Start in Runlevel 2,3,4 und 5:

sysv-rc-conf on atd

Wenn Sie mehr wissen wollen:

man sysv-rc-conf
53
jokerulez

Gegenwärtig gibt es keine Entsprechung für eine stabile Version, um Dinge mit Upstart-Skripten zu tun. Jacob Peddicord hat für sein Google Summer of Code-Projekt jobservice (Backend-Daemon) und jobs-admin (GTK + GUI, die mit ihm sprechen) geschrieben. Klare Pakete sind in seinem PPA . Sie existieren auch im Universum in Maverick. Es gibt noch kein Kommandozeilen-Frontend für jobservice, nur jobs-admin.

10
maco

Versuche dies:

apt-get install chkconfig

Dies funktioniert zumindest ab Ubuntu 12.04.

10
Andrew Davison

Gehen wir von NULL zum Ziel - wie geht das Schritt für Schritt?.

Schritt 1: Lass uns eine Hallo Welt schreiben

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

EOF

Schritt 2: Lässt unsere Hello World Application Server.py automatisieren

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

Schritt 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
  • In Schritt 3 führt das System beim Booten die Datei server.py automatisch als Daemon aus und vereinfacht die Automatisierung

Hoffe es hat geholfen.

5
YumYumYum