<Anterior | Contenido | Siguiente>
Puede encontrar una descripción completa de GRUB emitiendo el info comida comando o en el sitio de GRUB. El Proyecto de documentación de Linux tiene un arranque múltiple con GRUB Mini-HOWTO.
4.2.4. En eso
El kernel, una vez cargado, encuentra init in sbin y lo ejecuta.
Cuándo init comienza, se convierte en el padre o abuelo de todos los procesos que se inician automáticamente en su sistema Linux. La primera cosa init hace, está leyendo su archivo de inicialización, / etc / inittab. Esto instruye init para leer un script de configuración inicial para el entorno, que establece la ruta, comienza a intercambiar, verifica los sistemas de archivos, etc. Básicamente, este paso se encarga de todo lo que su sistema debe haber hecho en la inicialización del sistema: configurar el reloj, inicializar los puertos serie, etc.
Entonces init sigue leyendo el / etc / inittab archivo, que describe cómo se debe configurar el sistema en cada nivel de ejecución y establece el nivel de carrera. Un nivel de ejecución es una configuración de procesos. Todos los sistemas similares a UNIX se pueden ejecutar en diferentes configuraciones de proceso, como el modo de usuario único, que se conoce como nivel de ejecución 1 o nivel de ejecución S (o s). En este modo, solo el administrador del sistema puede conectarse al sistema. Se utiliza para realizar tareas de mantenimiento sin riesgo de dañar el sistema o los datos del usuario. Naturalmente, en esta configuración no necesitamos ofrecer servicios al usuario, por lo que todos estarán deshabilitados. Otro nivel de ejecución es el nivel de ejecución de reinicio, o el nivel de ejecución 6, que cierra todos los servicios en ejecución de acuerdo con los procedimientos adecuados y luego reinicia el sistema.
Ingrese al que para comprobar cuál es su nivel de ejecución actual:
willy @ ubuntu: ~ $ quien -r
nivel de ejecución 2 2006-10-17 23:22
último = S
willy @ ubuntu: ~ $ quien -r
nivel de ejecución 2 2006-10-17 23:22
Más sobre los niveles de ejecución en la siguiente sección, consulte la Sección 4.2.5.
Después de haber determinado el nivel de ejecución predeterminado para su sistema, init inicia todos los procesos en segundo plano necesarios para que el sistema se ejecute buscando en el rc directorio para ese nivel de ejecución. init ejecuta cada uno de los scripts de eliminación (sus nombres de archivo comienzan con una K) con un parámetro de detención. Luego ejecuta todos los scripts de inicio (sus nombres de archivo comienzan con una S) en el directorio de nivel de ejecución apropiado para que todos los servicios y aplicaciones se inicien correctamente. De hecho, puede ejecutar estos mismos scripts manualmente después de que el sistema haya terminado de arrancar con un comando como /etc/init.d/httpd detener or Service parada httpd Conectado como raíz, en este caso deteniendo el
Servidor web.

Caso especial

Tenga en cuenta que al iniciar el sistema, los scripts en rc2.d y rc3.d normalmente se ejecutan. En ese caso, no se detiene ningún servicio (al menos no de forma permanente). Solo hay servicios que se inician.
Ninguno de los scripts que realmente inician y detienen los servicios se encuentran en / etc / rc .D. Más bien, todos los archivos en / etc / rc .D son enlaces simbólicos que apuntan a los scripts reales ubicados en /etc/init.d. Un enlace simbólico no es más que un archivo que apunta a otro archivo, y se usa en este caso porque se puede crear y eliminar sin afectar los scripts reales que matan o inician los servicios. Los enlaces simbólicos a los distintos guiones están numerados en un orden particular para que comiencen en ese orden. Puede cambiar el orden en que los servicios se inician o se eliminan cambiando el nombre del enlace simbólico que se refiere al script que realmente controla el servicio. Puede usar el mismo número varias veces si desea que un servicio en particular se inicie o se detenga justo antes o después de otro servicio, como en el ejemplo siguiente, que enumera el contenido de
/etc/rc5.d, donde el corona y xfs ambos se inician desde un nombre de enlace que comienza con "S90". En este caso, los guiones se inician en orden alfabético.
[jean @ blub /etc/rc5.d] ls K15httpd @ K45named @ | S08ipchains @ | S25netfs @ | S85gpm @ |
K16rarpd @ K46radvd @ | S08iptables @ | S26apmd @ | S90crond @ |
K20nfs @ K61ldap @ | S09isdn @ | S28autofs @ | S90xfs @ |
K20rstatd @ K65identd @ | S10network @ | S30nscd @ | S95anacron @ |
K20rusersd @ K74ntpd @ | S12syslog @ | S55sshd @ | S95atd @ |
K20rwalld @ K74ypserv @ | S13portmap @ | S56rawdevices @ | S97rhnsd @ |
K20rwhod @ K74ypxfrd @ | S14nfslock @ | S56xinetd @ | S99local @ |
K25squid @ K89bcm5820 @ | S17keytable @ | S60lpd @ | |
K34yppasswdd @ S05kudzu @ | S20 aleatorio @ | S80sendmail @ |
Después init ha progresado a través de los niveles de ejecución para llegar al nivel de ejecución predeterminado, el / etc / inittab script bifurca un getty proceso para cada consola virtual (indicador de inicio de sesión en modo texto). getty abre líneas tty, establece sus modos, imprime el indicador de inicio de sesión, obtiene el nombre del usuario y luego inicia un proceso de inicio de sesión para ese usuario. Esto permite a los usuarios autenticarse en el sistema y utilizarlo. De forma predeterminada, la mayoría de los sistemas ofrecen 6 consolas virtuales, pero como puede ver en la inicio archivo, esto es configurable.
/ etc / inittab también puedo decir init cómo debe manejar un usuario presionando Ctrl+otro+Borrar en la consola. Dado que el sistema debe apagarse y reiniciarse correctamente en lugar de apagar y encender inmediatamente, init se le dice que ejecute el comando / sbin / shutdown -t3 -r ahora, por ejemplo, cuando un usuario pulsa esas teclas. Además,
/ etc / inittab dice que init debe hacer en caso de fallas de energía, si su sistema tiene una unidad UPS conectada a él.
En la mayoría de los sistemas basados en RPM, la pantalla gráfica de inicio de sesión se inicia en el nivel de ejecución 5, donde / etc / inittab ejecuta un script llamado / etc / X11 / prefdm. Prefdm El script ejecuta el administrador de pantalla X preferido, basado en el contenido del / etc / sysconfig / desktop directorio. Esto es típicamente gdm si ejecuta GNOME o kdm si ejecuta KDE, pero se pueden mezclar, y también está el xdm que viene con una instalación X estándar.
Pero también existen otras posibilidades. En Debian, por ejemplo, hay un script de inicio para cada uno de los administradores de pantalla, y el contenido del / etc / X11 / default-display-manager se utiliza para determinar cuál comenzar. Se puede leer más sobre la interfaz gráfica en la Sección 7.3. En última instancia, la documentación de su sistema explicará los detalles sobre los aspectos de nivel superior de init.
El sistema / etc / default y/o / etc / sysconfig Los directorios contienen entradas para una variedad de funciones y servicios, todos estos se leen en el momento del arranque. La ubicación del directorio que contiene los valores predeterminados del sistema puede ser algo diferente según su distribución de Linux.
Además del entorno gráfico de usuario, también se pueden iniciar muchos otros servicios. Pero si todo va bien, debería estar mirando un indicador de inicio de sesión o una pantalla de inicio de sesión cuando el proceso de inicio haya finalizado.