Scripts de inicialização do serviço: upstart?

1

Onde posso ler algumas informações breves sobre o upstart no Ubuntu?
Eu encontrei "Upstart Intro, Cookbook e Best Practices", mas é muito grande.

Como posso adicionar meu próprio serviço?
Qual é a diferença entre /etc/init e /etc/init.d no Ubuntu?
O Ubuntu vai passar para systemd de inicialização no futuro?
O comando service está obsoleto?
Por que alguns arquivos em /etc/init.d contêm essas linhas:

# Don't run if we are running upstart
if init_is_upstart; then
    exit 1
fi

Parece que o Ubuntu tem dois sistemas de inicialização diferentes. Estou certo?

    
por DmitryR 24.02.2015 / 08:16

1 resposta

3
  

Onde posso ler algumas informações breves sobre o upstart no Ubuntu?

A página Iniciando os Primeiros Passos pode ser útil (basta passar para Trabalhos de Escrita seção). Ou o tutorial da DigitalOcean .

  

Como posso adicionar meu próprio serviço?

Princípios básicos:
Crie um arquivo .conf em /etc/init . Deve ter:

  • Uma sub-rotina válida start on (e se for um serviço em vez de uma tarefa de curta duração , uma stop on estrofe válida
  • Uma linha exec ou script - end script block com comandos shell para iniciar o comando real .

Por exemplo, veja o tty5 service:

$ cat /etc/init/tty5.conf 
# tty5 - getty
#
# This service maintains a getty on tty5 from the point the system is
# started until it is shut down again.

start on runlevel [23] and not-container

stop on runlevel [!23]

respawn
exec /sbin/getty -8 38400 tty5
  

Qual é a diferença entre / etc / init e /etc/init.d no Ubuntu?

O primeiro é para os arquivos de configuração do serviço Upstart, o último para os scripts sysvinit mais antigos.

  

O Ubuntu migrará para a inicialização do systemd no futuro?

Sim.

  

O comando de serviço está obsoleto?

Não até agora. service abrange os serviços Upstart e sysvinit. Não tenho certeza de qual será a forma em 15.04.

  

Por que alguns arquivos em /etc/init.d contém estas linhas: ...
  Parece que o Ubuntu tem dois sistemas de inicialização diferentes. Estou certo?

Não, o Ubuntu tem apenas um sistema de inicialização: o Upstart. O Upstart pode carregar e executar serviços do sysvinit. Os criadores de alguns pacotes fornecem os arquivos de serviço Upstart e sysvinit, já que os pacotes podem ser usados em um sistema sem o Upstart (como uma versão mais antiga do Debian). Desta forma, o criador do pacote não precisa fornecer dois pacotes para ambos os sistemas init. Se o serviço Upstart estiver em execução, o serviço sysvinit não deve estar, e é por isso que a verificação está em vigor.

    
por muru 24.02.2015 / 08:39