Scripts de arranque de servicios CentOS / RHEL / Fedora

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

One thought on “Scripts de arranque de servicios CentOS / RHEL / Fedora

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *