
Estou tentando configurar meu sistema para que o daemon do emacs seja iniciado após a inicialização da máquina. Criei o arquivo /etc/init.d com os comandos que desejo executar, mas quando executo update-rc.d, ele ignora os números de sequência que forneço.
[host /etc/init.d]$ sudo update-rc.d -n emacs defaults 10 02
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc0.d/K01emacs
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc1.d/K01emacs
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc2.d/S02emacs
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc3.d/S02emacs
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc4.d/S02emacs
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc5.d/S02emacs
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc6.d/K01emacs
insserv: dryrun, not creating .depend.boot, .depend.start, and .depend.stop
[host /etc/init.d]$
Estou confuso sobre por que os dois últimos argumentos do comando são ignorados e se posso ou não ignorar o fato de estar definindo o número de sequência inicial para um valor tão baixo.
Responder1
update-rc.d defaults
não processa nenhum outro argumento; ele usa informações do script de inicializaçãoCabeçalhos LSBpara determinar a prioridade a ser usada (o número de sequência) e para determinar em quais níveis de execução iniciar e parar o serviço.
Se o seu script depende apenas de $local_fs
, é normal que ele termine com um número de sequência baixo; se você olhar, /etc/rc2.d
verá alguns links iniciais com números de sequência baixos. Se o seu script não especificar seus próprios níveis de execução, os padrões serão usados: iniciar nos níveis 2 a 5, parar nos níveis 0, 1 e 6. Para definir seus próprios valores, você normalmente usaria um cabeçalho como
### BEGIN INIT INFO
# Provides: emacs
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop the Emacs daemon
### END INIT INFO
(ajustando os vários valores conforme necessário).
Você também pode usar update-rc.d enable
e update-rc.d disable
para ativar e desativar respectivamente um script em um nível de execução específico (por exemplo update-rc.d emacs disable 3
).