O upstart realmente lida com todos os scripts de inicialização?

0

Estou lendo o livro Ubuntu Server Book 2nd Edition. Afirma o seguinte:

At the moment, Upstart does replace the functionality of init and the /etc/inittab file and manages changes to run- levels, system start-up and shutdown, console ttys, and more and more core functionality is being ported to Upstart scripts

Minha opinião a partir disso é que o upstart lida com a inicialização de scripts em níveis de execução. Então, se o nível de execução 2 for inserido, será o Upstart e não o System V que inicia o script, que por sua vez inicia o programa executável.

Então eu instalei o postgresql dos repositórios. E, de fato, quando o sistema é iniciado, o daemon postgres é executado em segundo plano. Obviamente, se o System V não fez isso, então deve ter sido o Upstart que executou essa tarefa. Mas quando eu vou para / etc / init, que é onde todos os scripts upstart residem, não há referência ao postgresql em qualquer lugar. No entanto, quando eu vou para /etc/rc1.d, que é onde os scripts de nível de execução 1 residem, de fato eu encontro um script postgresql:

$ ls -l | grep postgresql
lrwxrwxrwx 1 root root  20 Jun  1 11:10 K21postgresql -> ../init.d/postgresql

Então, por que não há um script upstart para o postgresql e sem um script upstart, como o postgresql é inicializado?

    
por Donato 06.06.2015 / 05:17

1 resposta

1

Sim na versão 14; não na versão 15.

No Ubuntu Linux versão 14: sim, o upstart realmente está lidando com tudo isso. Você precisa ler a parte do Cookbook que discute como ele lida com programas que vêm apenas com scripts antigos do System 5 rc , e a página de manual para eventos "runlevel" iniciantes. Existe todo um mecanismo para invocar o antigo programa System 5 rc . É apenas outro trabalho, no que diz respeito ao iniciante apropriado.

No Ubuntu Linux versão 15; não, o upstart não está mais envolvido. O systemd está lidando com tudo isso. O systemd possui mecanismos para scripts antigos do System 5 rc . No entanto, o arquivo /etc/init.d/postgresql que você está vendo é irrelevante na versão 15. O PostgreSQL vem com dois arquivos de unidade de serviço systemd na versão 15, /lib/systemd/system/[email protected] e /lib/systemd/system/postgresql.service . O sistema 5 rc stuff é assim completamente ignorado.

Leitura adicional

por JdeBP 06.06.2015 / 12:36