Los directorios de archivos de arranque del sistema son:
/etc/rc.d/rc0.d
/etc/rc.d/rc1.d
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc/rc.d/rc6.d
Estos directorios contienen punteros a los ficheros de arranque, que son scripts. Estos punteros, para que tengan efecto, empezarán por S (start, ficheros que se ejecutan al inicio del sistema) o por K (kill, ficheros que se ejecutan a la caída del sistema). A continuación tienen un número, que es el orden de ejecución, en arranque o parada, de los archivos.
Estos punteros apuntan a scripts que se encuentran en /etc/init.d, y contienen:
start() {
< sentencias a ejecutar al inicio >
}
stop () {
< sentencias a ejecutar a la caída >
}
Otro fichero importante que tiene que ver con los reinicios del servidor es /etc/inittab. Aquí se describen los modos de arranque del sistema, y qué significa cada uno:
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#
# Default runlevel. The runlevels used by RHS are:
# 0 – halt (Do NOT set initdefault to this)
# 1 – Single user mode
# 2 – Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 – Full multiuser mode
# 4 – unused
# 5 – X11
# 6 – reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
La línea “id:3:initdefault:” hace que el arranque por defecto sea en modo 3.
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
Aquí se le indica al sistema dónde se encuentran los directorios de los archivos de arranque de cada modo.
También encontraremos en este fichero sentencias que levantan distintos terminales:
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
En lo que se refiere a sistemas operativos tipo Unix:
Terminal = TTY = Entorno de entrada y salida en texto
Consola = Terminal físico
Shell = Intérprete de línea de comandos
Con un solo terminal tty, ya disponemos del entorno de entrada y salida de texto. Las conexiones al servidor ssh se configuran en los archivos de configuración ssh, por lo que podemos quedarnos únicamente con tty1
A través de la herramienta chkconfig podemos controlar los servicios de arranque. Podemos listarlos para ver en qué modos están activos y en cuáles no, pero también podemos añadir nuevos servicios.
Para ello, colocamos el script del servicio que hayamos realizado en /etc/init.d. Este script es el que comentábamos antes que debía tener declarado start() y stop(). Además, es importante que, al inicio del script hayamos colocado una línea como:
#
# chkconfig: 2345 99 15
Esta línea le va a indicar a chkconfig, cuando añadamos el servicio a los modos de arranque, que genere los enlaces soft a nuestro script en los directorios /etc/rcX.d/. Lo importante es que estos enlaces se añadirán, según el ejemplo anterior, a los modos 2345. El servicio se arrancará en el orden 99 S99xxxx, y se parará en el orden 15 K15xxxx.
Una vez colocado el script, basta para añadirlo a los modos de arranque:
Chkconfig –add <script>
Chkconfig –level 2345 <script> on
Un comentario sobre “Scripts de arranque de servicios CentOS / RHEL / Fedora”