Chkconfig alternativa para o Ubuntu Server?

137

Eu me acostumei muito com o gerenciamento de startups de serviço em plataformas Redhat / RHEL usando chkconfig , embora isso não pareça ser da maneira Debian / Ubuntu - Como atualizo informações de nível de execução para serviços do sistema no Ubuntu?

Por fim, procurando os equivalentes de:

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

5 respostas

122

O equivalente a chkconfig é update-rc.d

Os equivalentes que você procura são

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

Veja esta página útil para mais informações ou confira man update-rc.d

    
por Richard Holloway 14.08.2010 / 14:47
53

Melhor alternativa IMHO é sysv-rc-conf Para instalar basta executar o comando:

sudo apt-get install sysv-rc-conf

Uma vez instalado, execute o comando:

sudo sysv-rc-conf

Você pode marcar ou desmarcar as opções para iniciar um serviço em qualquer nível de execução e pode até interromper ou iniciar os serviços a partir desse console. É uma ferramenta indispensável para ativar ou desativar aplicativos de forma permanente para inicializar o seu Ubuntu Se você precisar de uma mudança rápida, então você pode usar a interface CLI:

Por exemplo, para parar o ssh nos níveis 3 e 5 da execução:

sysv-rc-conf-off level 35 ssh

Atd para iniciar nos runlevels 2,3,4 e 5:

sysv-rc-conf on atd

Se você quiser saber mais:

man sysv-rc-conf
    
por jokerulez 10.07.2012 / 10:22
10

Neste momento, não há equivalente em uma versão estável para fazer coisas com scripts do Upstart. Jacob Peddicord escreveu o jobservice (backend daemon) e o jobs-admin (GTK + GUI que fala com ele) para o seu projeto Google Summer of Code. Os pacotes da Lucid são em seu PPA . Eles também existem no Universo em Maverick. Não há front-end de linha de comando para jobservice, apenas jobs-admin.

    
por maco 14.08.2010 / 19:28
10

Tente isto:

apt-get install chkconfig

Isso funciona, pelo menos como o lançamento do Ubuntu 12.04.

    
por Andrew Davison 18.06.2012 / 01:52
5

Vamos caminhar de ZERO para Goal - como fazer isso passo a passo.

Passo 1: permite escrever um hello world

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

EOF

Passo 2: permite tornar o nosso aplicativo hello world server.py automated

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

Etapa 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
  • Portanto, na etapa 3, o sistema na inicialização, executará automaticamente o server.py como daemon e facilitará a automação

Espero que tenha ajudado.

    
por YumYumYum 10.02.2014 / 10:42