como alterar a ordem de inicialização dos scripts init do linux no Redhat, Centos

5

A partir desta alteração Como alterar a ordem de arranque / arranque dos serviços Linux? alterando os valores dos links simbólicos, é evidente que a ordem de inicialização foi alterada.

Nos derivados do Debian usamos

update-rc.d apache2 defaults 20 80

Temos comandos semelhantes em Centos / Redhat e?

se sim, o que é isso?

e quais devem ser possíveis mudanças no cabeçalho dos scripts de inicialização?

Nota: eu deveria usar o sistema init (não qualquer systemd ou upstart)

    
por forum.test17 08.02.2016 / 10:32

4 respostas

7

Uma alternativa será alterar a linha que começa com # chkconfig: no script de inicialização do serviço diretamente. Isso é explicado na página do manual chkconfig (8) .

Runlevel Files

Each service which should be manageable by chkconfig needs two or more commented lines added to its init.d script. The first line tells chkconfig what runlevels the service should be started in by default, as well as the start and stop priority levels. If the service should not, by default, be started in any runlevels, a - should be used in place of the runlevels list. The second line contains a description for the service, and may be extended across multiple lines with backslash continuation.

For example, random.init has these three lines:

# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
#              higher quality random number generation.

This says that the random script should be started in levels 2, 3, 4, and 5, that its start priority should be 20, and that its stop priority should be 80. You should be able to figure out what the description says; the \ causes the line to be continued. The extra space in front of the line is ignored.

Depois de alterar o script, será necessário executar o comando chkconfig (como root) com a opção reset para esse serviço. Com "reset", o chkconfig criará automaticamente links simbólicos start / stop nos níveis de execução configurados com determinadas prioridades.

    
por 08.02.2016 / 11:54
0

Você pode renomear manualmente os links simbólicos em seus diretórios /etc/rcX.d para alterar a ordem de inicialização.

UPD: No RHEL / CentOS você usa o comando chamado ntsysv ou chkconfig.

    
por 08.02.2016 / 11:32
0

Gostaria de adicionar mais detalhes à resposta acima

para iniciar os scripts especialmente em centos, não existe essa alternativa como

update-rc.d 

em Debain,

A maneira mais fácil é alterar os scripts manualmente como descrito aqui e por exemplo código de /etc/init.d/postfix

#!/bin/bash
#
# postfix      Postfix Mail Transfer Agent
#
# chkconfig: 2345 80 30
# description: Postfix is a Mail Transport Agent, which is the program \
#              that moves mail from one machine to another.
# processname: master
# pidfile: /var/spool/postfix/pid/master.pid
# config: /etc/postfix/main.cf
# config: /etc/postfix/master.cf
#
# Based on startup script from Simon J Mudd <[email protected]>
# 25/02/99: Mostly s/sendmail/postfix/g by John A. Martin <[email protected]>
# 23/11/00: Changes & suggestions by Ajay Ramaswamy <[email protected]>
# 20/01/01: Changes to fall in line with RedHat 7.0 style
# 23/02/01: Fix a few untidy problems with help from Daniel Roesen.

### BEGIN INIT INFO
# Provides: postfix MTA
# 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 postfix
# Description: Postfix is a Mail Transport Agent, which is the program that
#              moves mail from one machine to another.
### END INIT INFO
    
por 08.02.2016 / 17:23
-1

Aviso, emitir uma reinicialização do serviço define o serviço como desativado. Você precisa executar o serviço depois.

    
por 09.01.2018 / 09:26