miércoles, 15 de enero de 2014

Inittab VS Upstart

Trabajo de investigación sobre inittab y upstart
  • ¿Qué es inittab? Distribuciones de GNU/Linux donde se usa.
  • Pequeño tutorial de inittab.
  • ¿Qué es upstart? Distribuciones de GNU/Linux donde se usa.
  • Diferencias con inittab. Ventajas e inconvenientes.
  • Pequeño tutorial de upstart.
  • Fuentes.



¿Qué es inittab? Distribuciones de GNU/Linux donde se usa.

Este fichero controla lo que sucede cada vez que el sistema es reiniciado o forzado a cambiar de runlevel. 

/etc/inittab debe contener descripciones de los diferentes estados (runlevels) que el sistema puede asumir. Para aquellos que no están familiarizados con este concepto, un estado es básicamente una manera de describir qué se está ejecutando en el sistema cuando dicho estado es alcanzado.

Una de las líneas más críticas en el fichero /etc/inittab es la que define el estado por defecto -- que es el  runlevel que será asumido cada vez que arrancamos el sistema sin especificar un estado de arranque alternativo. Para la mayoría de los sistemas tipo Unix, el runlevel por defecto es 3


Pequeño tutorial de inittab.

En la mayoría de los Unix y distribuciones Linux (aunque no podría decir que en todas) el nivel de ejecución son los siguientes:
EL ARCHIVO /etc/inittab:
0 indica halt o apagado de la máquina.
1 Indica monousuario.
2 Indica modo multiusuario sin soporte de red.
3 Indica modo multiusuario completo con soporte de red.
4 No usado, con esta opción el administrador puede personalizar el inicio para cargar algún servicio.
5 Indica multiusuario completo con inicio gráfico (X11) (Aunque en Solaris indica shutdown)
6 Indica shutdown y reboot: Se apaga inmediatamente la máquina para reinicio.

PARA VER EL NIVEL DE EJECUCIÓN ACTUAL:
¿Cómo podemos saber cuál es el nivel de ejecución actual del sistema?
Con el comando who y la opción -r

$ who -r
se obtiene


EN UBUNTU:
En Ubuntu es distinto. El archivo /etc/inittab fue sustituído a partir de la versión 6.10 por /etc/upstart, el cual ahora también ha cambiado. Y los niveles de ejecución son los siguientes:

0 - shutdown
1 - modo monousuario
2 - modo gráfico monousuario
6 - reboot

Pero eso lo veremos más adelante.

¿Qué es upstart? Distribuciones de GNU/Linux donde se usa

Upstart es un remplazo basado en eventos para el demonio init utilizado en sistemas UNIX, como GNU/Linux. Upstart (programado por Scott James Remnant, trabajador de Canonical Ltd) opera asíncronamente y dirige el inicio de las tareas y servicios, los controla mientras el sistema está encendido y los detiene durante el apagado.

Upstart es un init daemon creado por el Ubuntu-team que pretende ser sustituto del init de System V. Es el único proceso que arranca el núcleo y encargado de llamar al resto de programas/servicios del sistema. En Linux, todo proceso es hijo de init.

Diferencias con inittab. Ventajas e inconvenientes.

Con Upstart se pasa de un aspecto más estático y fijo (inittab) a un método más dinámico, basado en la noción de tareas y entornos.

Upstart, a diferencia de inittab, inicia o detiene una tarea en un nivel de ejecución en lugar de cambiar globalmente todo el nivel. En el directorio de eventos se puede añadir o modificar fácilmente un script.

Upstart presenta interesantes mejoras respecto del init de System V: Arranque de servicios en paralelo, guiado por eventos, servicios que se re-arrancan automáticamente si mueren, etc …

Pequeño tutorial de upstart.

En /etc/event.d/ tenemos los archivos de configuración de upstart que, podríamos decir, funcionan como si fueran el archivo /etc/inittab:

Archivos ttyX: que llaman a la creación de las terminales con getty.

Archivos rcX: que acaban ajustando el runlevel y llamando a /etc/init.d/rc para ejecutar los scripts del nivel de arranque correspondiente.

El comando initctl controla y se comunica con el proceso init. Con la opción list se ve la lista de tareas en funcionamiento o en espera:





Fuentes:
http://wikipedia.es/

No hay comentarios:

Publicar un comentario