Respuestas:
Puede cambiar el orden renombrando los enlaces simbólicos en /etc/rcX.d/ donde x será su nivel de ejecución.
Verás un montón de archivos que comienzan con Sxx o Kxx. Los enlaces S se rastrean durante el inicio, mientras que los K se analizan para el apagado. El xx aquí representa el orden.
Pero este orden se establece por una razón, así que tenga cuidado al cambiarlos, por ejemplo. ntpd debería comenzar solo después de que se inicialice el subsistema de red.
En lugar de hacerlo manualmente, como se sugiere en las otras respuestas, también puede cambiar el guión de inicio. Simplemente agregue dicha línea al encabezado:
# chkconfig: 35 90 10
Esto le indicará chkconfig
que agregue el servicio a los niveles de ejecución 3 y 5, con una posición inicial de 90 y una posición final de 10.
chkconfig off servicename && chkconfig on servicename
Desea leer un poco sobre sus niveles de ejecución y directorios rc.d. Dentro de los directorios rc.d puede encontrar los enlaces S y K, como S20apache K10apache, que es básicamente lo que ordena el inicio / apagado de los scripts.
Se están realizando algunos cambios en esta arquitectura, pero la mayoría de los Linux todavía la están utilizando.
rcorder
han existido por un tiempo.
svc
, pero podría prescindir de las cosas xml
Si ha llegado aquí, es probable que tenga dos servicios en los que uno depende del otro pero, debido a que están comenzando en el orden incorrecto, el que tiene la dependencia no puede iniciarse. Las sugerencias sobre la edición de los enlaces simbólicos son informativas, en términos de ilustrar cómo se ejecuta la secuencia de inicio, y funcionarían bien hasta que alguien hiciera un "chkconfig on" en su servicio, momento en el que los enlaces simbólicos se volverían a crear como estaban originalmente. Realmente, desea tratar el problema en el nivel de script de inicio, que en realidad es mucho menos complicado de todos modos. También será consistente en los diferentes niveles de ejecución. Probablemente no necesite agregar una línea "# chkconfig" como se sugiere en la respuesta 4, ya que probablemente ya habrá una línea similar allí.
Usaré un ejemplo de un servidor que ejecuta Openldap (slapd) con un servidor de base de datos MySQL (mysqld). Configurar ese par, y por qué es posible que desee, es otra historia.
En el arranque, Openldap no puede iniciarse porque depende de MySQL y la secuencia de inicio lo tiene intentando iniciar antes: slapd tiene la posición 27 y mysqld tiene la posición 64
Los enlaces simbólicos relevantes en /etc/rc3.d/ son
S27slapd -> ../init.d/slapd
and
S64mysqld -> ../init.d/mysqld
Busco valores establecidos en los dos scripts de inicio:
[root ~]# grep chkconfig /etc/rc.d/init.d/mysqld
# chkconfig: - 64 36
[root ~]# grep chkconfig /etc/rc.d/init.d/slapd
# chkconfig: - 27 73
Edito la línea chkconfig en /etc/rc.d/init.d/slapd para tener una posición de inicio más alta que la de /etc/rc.d/init.d/mysqld (elegí 85)
[root ~]# grep chkconfig /etc/rc.d/init.d/slapd
# chkconfig: - 85 73
Hago "chkconfig slapd on" y vuelvo a comprobar los enlaces simbólicos
[root ~]# chkconfig slapd on
[root ~]# ls -l /etc/rc3.d/ | grep mysqld
lrwxrwxrwx 1 root root 16 Dec 10 13:45 S64mysqld -> ../init.d/mysqld
[root ~]# ls -l /etc/rc3.d/ | grep slapd
lrwxrwxrwx 1 root root 15 Apr 28 14:18 S85slapd -> ../init.d/slapd
Ahora, cuando se inicia este servidor, mysqld se inicia antes de bofetadas y todo está bien con el mundo.