Chkconfig alternativa per Ubuntu Server?

138

Sono diventato molto abituato a gestire gli startup di servizio su piattaforme Redhat / RHEL usando chkconfig anche se non sembra essere il modo Debian / Ubuntu - Come posso aggiornare le informazioni sui runlevel per i servizi di sistema su Ubuntu?

In definitiva alla ricerca degli equivalenti di:

chkconfig --add <service>
chkconfig --level 345 <service> on
chkconfig --del <service>
    
posta Marco Ceppi 14.08.2010 - 14:24

5 risposte

122

L'equivalente a chkconfig è update-rc.d

Gli equivalenti che cerchi sono

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

Vedi questa pagina utile per ulteriori informazioni o check out man update-rc.d

    
risposta data Richard Holloway 14.08.2010 - 14:47
53

La migliore alternativa IMHO è sysv-rc-conf Per installare è sufficiente eseguire il comando:

sudo apt-get install sysv-rc-conf

Una volta installato, esegui il comando:

sudo sysv-rc-conf

È possibile selezionare o deselezionare le opzioni per avviare un servizio a qualsiasi livello di esecuzione e persino arrestare o avviare i servizi da questa console. È uno strumento indispensabile per abilitare o disabilitare le applicazioni in modo permanente per avviare il tuo ubuntu Se hai bisogno di una modifica rapida, puoi utilizzare l'interfaccia CLI:

Ad esempio per fermare ssh ai livelli 3 e 5 di esecuzione:

sysv-rc-conf-off level 35 ssh

Atd per iniziare nei runlevel 2,3,4 e 5:

sysv-rc-conf on atd

Se vuoi saperne di più:

man sysv-rc-conf
    
risposta data jokerulez 10.07.2012 - 10:22
10

Al momento, non esistono equivalenti su una versione stabile per fare cose con gli script Upstart. Jacob Peddicord ha scritto jobservice (daemon backend) e jobs-admin (GTK + GUI che ne parla) per il suo progetto Google Summer of Code. I pacchetti Lucidi sono nel suo PPA . Esistono anche nell'universo di Maverick. Non esiste ancora un front-end a riga di comando per jobservice, solo jobs-admin.

    
risposta data maco 14.08.2010 - 19:28
10

Prova questo:

apt-get install chkconfig

Funziona, almeno nella versione di Ubuntu 12.04.

    
risposta data Andrew Davison 18.06.2012 - 01:52
5

Consente di passare da ZERO a Obiettivo: come procedere passo per passo.

Passaggio 1: consente di scrivere un mondo Ciao

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

EOF

Passaggio 2: consente di rendere il nostro Hello World application server.py automatizzato

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

Passaggio 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
  • Quindi nel passaggio 3, il sistema all'avvio eseguirà automaticamente server.py come demone e renderà più semplice l'automazione

Spero che ti sia di aiuto.

    
risposta data YumYumYum 10.02.2014 - 10:42

Leggi altre domande sui tag