Slackware Linux utiliza una estructura de archivos de inicialización al estilo BSD. Estos archivos están organizados y son fáciles de editar. Todos los archivos de inicialización del sistema se encuentran en el directorio `/etc/rc.d`. Para evitar que un script se ejecute al iniciar el sistema, puedes quitarle el permiso de ejecución. Slackware no lo ejecutará si no tiene ese permiso. A continuación se ofrece una descripción general de la función de cada archivo.
Inicio del sistema
El primer programa que se ejecuta en Slackware, además del núcleo de Linux, es init. Este programa lee el archivo /etc/inittab para determinar cómo iniciar el sistema. Ejecuta el script /etc/rc.d/rc.S para preparar el sistema antes de entrar al nivel de ejecución deseado. El archivo rc.S habilita la memoria virtual, monta los sistemas de archivos, limpia ciertos directorios de registros, inicializa dispositivos Plug and Play, carga módulos del núcleo, configura dispositivos PCMCIA, configura puertos seriales y ejecuta scripts de inicio estilo System V (si se encuentran).
Hay varios scripts en /etc/rc.d que rc.S invoca para completar su trabajo:
| rc.S |
Script principal de inicialización del sistema. |
| rc.acpid |
Inicia el demonio ACPI. |
| rc.hotplug |
Inicia los subsistemas con soporte hotplug. |
| rc.modules |
Carga los módulos del núcleo. Aquí se cargan elementos como la tarjeta de red, soporte PPP y otros.
Si este script encuentra rc.netdevice, también lo ejecutará. |
| rc.pcmcia |
Detecta y configura dispositivos PCMCIA presentes en el sistema.
Es especialmente útil para usuarios de portátiles que suelen tener módems o tarjetas de red PCMCIA. |
| rc.serial |
Configura los puertos seriales ejecutando los comandos setserial correspondientes. |
| rc.sysvinit |
Busca scripts de inicio estilo System V para el nivel de ejecución deseado y los ejecuta.
Esto se explica con más detalle en otra sección. |
|
Niveles de ejecución (Runlevels)
Una vez completada la inicialización del sistema, init procede a la configuración del nivel de ejecución. Un nivel de ejecución describe el estado operativo en el que funcionará tu máquina. ¿Suena redundante? En realidad, el nivel de ejecución le indica a init si se permitirán sesiones multiusuario o solo una, si se habilitarán servicios de red, y si se utilizará el Sistema de Ventanas X o agetty para gestionar los nicios de sesión. Los siguientes archivos definen los distintos niveles de ejecución en Slackware Linux:
| rc.0 |
Detiene el sistema (nivel de ejecución 0). Por defecto, es un enlace simbólico a rc.6. |
| rc.4 |
Inicio multiusuario (nivel de ejecución 4), pero en entorno X11 con KDM, GDM o XDM como gestor de sesiones. |
| rc.6 |
Reinicia el sistema (nivel de ejecución 6). |
| rc.K |
Inicio en modo de usuario único (nivel de ejecución 1). |
| rc.M |
Modo multiusuario (niveles de ejecución 2 y 3), con inicio de sesión en modo texto.
Este es el nivel de ejecución predeterminado en Slackware. |
|
Inicialización de red
Los niveles de ejecución 2, 3 y 4 iniciarán los servicios de red si están habilitados. Los siguientes archivos son responsables de la inicialización de red:
| rc.inetd |
Inicia inetd, el superdemonio de Internet estilo BSD. |
| rc.inet1 |
Script utilizado para activar las distintas interfaces de red. |
| rc.inet1.conf |
Archivo modificado por netconfig, responsable de configurar las interfaces de red. |
| rc.ip_forward |
Activa el reenvío de paquetes IP. |
| rc.inet2 |
Se ejecuta después de rc.inet1 e inicia los servicios básicos de red. |
| rc.wireless |
Configura dispositivos inalámbricos PCI, USB y Cardbus de 32 bits.
No configura tarjetas PCMCIA de 16 bits (estas se configuran en /etc/pcmcia/). |
| rc.wireless.conf |
Configuración del adaptador LAN inalámbrico. |
| rc.atalk |
Inicia los servicios AppleTalk. |
| rc.bind |
Inicia el servidor de nombres BIND (named). |
| rc.httpd |
Inicia el servidor web Apache. |
| rc.mysqld |
Inicia el servidor MySQL. |
| rc.news |
Inicia el servidor de noticias. |
| rc.nfsd |
Inicia el servidor NFS. |
| rc.portmap |
Inicia el asignador de puertos RPC. |
| rc.samba |
Inicia los servicios de compartición de archivos e impresión de Windows. |
| rc.sshd |
Inicia el servidor de shell seguro (sshd). |
|
Compatibilidad con System V
Desde la versión 7.0, Slackware incluye compatibilidad con el sistema de inicio estilo System V. Muchas otras distribuciones de Linux utilizan este estilo en lugar del estilo BSD. Básicamente, cada nivel de ejecución tiene un subdirectorio con scripts de inicio, mientras que el estilo BSD asigna un único script por nivel de ejecución.
El script rc.sysvinit buscará cualquier script de inicio System V que tengas en `/etc/rc.d` y los ejecutará si el nivel de ejecución es el adecuado. Esto resulta útil para ciertos paquetes de software comercial que instalan scripts de inicio tanto para System V como para el estilo BSD.
Otros archivos
Los scripts descritos a continuación son otros scripts de inicialización del sistema. Normalmente se ejecutan desde alguno de los scripts principales mencionados anteriormente, por lo que solo necesitas editar su contenido si deseas personalizarlos.
| rc.cdrom |
Si está habilitado, este script buscará un CD-ROM en la unidad y lo montará en /cdrom si encuentra uno. |
| rc.gpm |
Inicia los servicios de mouse de propósito general. Permite cortar y pegar en la consola de Linux. |
| rc.ibcs2 |
Inicia el soporte de compatibilidad binaria para Intel (Intel Binary Compatibility). |
| rc.font |
Carga la fuente personalizada para la pantalla de la consola. |
| rc.local |
Contiene comandos específicos de inicio para tu sistema.
Este archivo está vacío tras una instalación limpia, ya que está reservado para los administradores locales.
Se ejecuta después de que todos los demás scripts de inicialización han terminado. |
|