1. ¿Qué es inittab? Distribuciones de GNU/Linux donde se usa
El fichero inittab describe qué procesos se inician en la carga y durante la
operación normal (por ejemplo, /etc/init.d/boot, /etc/init.d/rc, gettys...). Init
distingue múltiples niveles de ejecución, cada uno de los cuales puede tener su
propio conjunto de procesos que se inician.
Los niveles de ejecución válidos son 0-6 más A, B y C para entradas bajo
demanda. Modificar el fichero /etc/inittab de forma incorrecta, puede impedirle
registrarse en el sistema. Por ello, cuando se modifique dicho fichero, hay que
guardar una copia del fichero original, además de tener a mano el disquete de
inicio, para el caso en que se cometiera algún error.
Una entrada del fichero inittab tiene el siguiente formato:
id:niveles_ejecución:acción:proceso
En la siguiente tabla, se describen los campos en una entrada inittab:
Id: es una secuencia única de 1 a 4 caracteres que identifican una entrada de
inittab (para las versiones de sysvinit compiladas con bibliotecas < 5.2.18 o
bibliotecas a.out el límite es de 2 caracteres).
Niveles_ejecución: es la lista de niveles de ejecución para lo cuales se llevarán
a cabo las acciones especificadas.
Acción: describe qué acción se debería llevar a cabo.
Proceso: especifica el proceso a ejecutar. Si el campo proceso comienza con
un carácter `+', init no registrará utmp y wtmp para ese proceso. Esto es
necesario para gettys que insisten en hacer sus propias labores de utmp/wtmp.
Esto es también un fallo histórico.
Se usa en algunas distribuciones de Linux como Arch Linux o Debian, además
de otras que están basadas en BSD.
Ejemplo de inittab
2. ¿Qué es upstart? Distribuciones de GNU/Linux donde se usa
Upstart es el sistema que muchas distribuciones Linux utilizan para gestionar
las tareas a realizar en el arranque. Para los más veteranos del lugar, Upstart
tiene como objetivo reemplazar los daemons tradicionales de SystemV que
gestionan las tareas a ejecutar en el arranque, la parada y puesta en marcha
de servicios.
Upstart busca sustituir al daemon init, el primer proceso que se lanza en Linux
tras cargar el kernel y que se encarga de arrancar el resto. init es el proceso
padre de todos aquellos procesos que hayan perdido a su padre (es el padre
de todos los daemons).
El comando pstree permite ver esto gráficamente.
Se utiliza en las últimas versiones de Ubuntu y en algunas versiones de
Fedora.
Ejemplo de upstart
3. Diferencia entre Inittab y Upstart
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.
Fuentes:
http://diferenciasentreinittabyupstart.blogspot.com.es/
http://docs.oracle.com/cd/E24842_01/html/E23289/hbrunlevels-12863.html
http://aprendiendoausarlinux.wordpress.com/category/etc/etcinittab/