web-dev-qa-db-fra.com

Alternative de Chkconfig pour Ubuntu Server?

Je me suis habitué à gérer les démarrages de services sur les plates-formes Redhat/RHEL à l'aide de chkconfig bien que cela ne semble pas être la méthode Debian/Ubuntu - Comment mettre à jour les informations de niveau d'exécution des services système sur Ubuntu?

À la recherche ultime des équivalents de:

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

L'équivalent de chkconfig est update-rc.d

Les équivalents que vous recherchez sont

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

Voir cette page utile pour plus d'informations ou consultez man update-rc.d

124
Richard Holloway

Sysv-rc-conf est la meilleure alternative. Pour l’installation, il suffit d’exécuter la commande:

Sudo apt-get install sysv-rc-conf

Une fois installé, lancez la commande:

Sudo sysv-rc-conf

Vous pouvez cocher ou décocher les options permettant de démarrer un service à n'importe quel niveau d'exécution et même arrêter ou démarrer les services à partir de cette console. C'est un outil indispensable pour activer ou désactiver les applications de manière permanente au démarrage de votre ubuntu. Si vous avez besoin d'une modification rapide, vous pouvez utiliser l'interface CLI:

Par exemple pour arrêter ssh aux niveaux 3 et 5 d'exécution:

sysv-rc-conf-off level 35 ssh

Pour démarrer dans les niveaux d'exécution 2,3,4 et 5:

sysv-rc-conf on atd

Si vous voulez en savoir plus:

man sysv-rc-conf
53
jokerulez

À l'heure actuelle, il n'y a pas d'équivalent dans une version stable pour faire des choses avec des scripts Upstart. Jacob Peddicord a écrit jobservice (démon backend) et jobs-admin (interface graphique GTK + qui lui parle) pour son projet Google Summer of Code. Les paquets Lucid sont dans son PPA . Ils existent également dans l’Univers de Maverick. Il n'y a pas encore de serveur en ligne de commande pour jobservice, juste jobs-admin.

10
maco

Essaye ça:

apt-get install chkconfig

Cela fonctionne, au moins à partir de la version Ubuntu 12.04.

10
Andrew Davison

Permet de marcher de zéro à objectif - comment le faire étape par étape.

Étape 1: permet d'écrire un monde bonjour

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

EOF

Étape 2: permet d’automatiser notre application hello world server.py

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

étape 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
  • Ainsi, à l’étape 3, le système au démarrage exécutera automatiquement le server.py en tant que démon et facilitera l’automatisation.

J'espère que ça a aidé.

5
YumYumYum