Alternative de Chkconfig pour Ubuntu Server?

138

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 sous Ubuntu?

Finalement, recherchez les équivalents de:

chkconfig --add <service>
chkconfig --level 345 <service> on
chkconfig --del <service>
    
posée Marco Ceppi 14.08.2010 - 14:24
la source

5 réponses

122

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 pour consulter man update-rc.d

    
réponse donnée Richard Holloway 14.08.2010 - 14:47
la source
53

La meilleure alternative à mon humble avis est sysv-rc-conf Pour installer, il suffit d’exécuter la commande:

sudo apt-get install sysv-rc-conf

Une fois installé, exécutez 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 d’arrêter ou de 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 commencer 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
    
réponse donnée jokerulez 10.07.2012 - 10:22
la source
10

À l'heure actuelle, il n'existe pas d'équivalent dans une version stable pour utiliser 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.

    
réponse donnée maco 14.08.2010 - 19:28
la source
10

Essayez ceci:

apt-get install chkconfig

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

    
réponse donnée Andrew Davison 18.06.2012 - 01:52
la source
5

Permet de marcher de zéro à l’objectif - comment procéder étape par étape.

Étape 1: permet d'écrire un monde de salut

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

EOF

Étape 2: automatisons notre application server.py de Hello World

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 fichier server.py en tant que démon et facilitera l'automatisation
  • .

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

    
réponse donnée YumYumYum 10.02.2014 - 10:42
la source

Lire d'autres questions sur les étiquettes