1- ¿Qué es inittab? Distribuciones de GNU/Linux donde se usa.
Al iniciar el sistema o cambiar los niveles de ejecución
con el comando init o shutdown, el daemon init inicia
los procesos mediante la lectura de la información del archivo /etc/inittab.
Este fichero es usado en las distribuciones como Debian 6
y en sistemas Solaris
2-Pequeño tutorial de inittab.
Al iniciar el sistema o cambiar los niveles de ejecución
con el comando init o shutdown, el daemon init inicia
los procesos mediante la lectura de la información del archivo /etc/inittab.
Este archivo define estos puntos importantes para el proceso init:
- Que el proceso init se reiniciará
- Qué procesos se deben iniciar, supervisar e reiniciar
si se terminan
- Qué acciones se deben realizar cuando el sistema
ingresa a un nuevo nivel de ejecución
Cada entrada en el archivo /etc/inittab tiene
los siguientes campos:
id:rstate :action :process
En la siguiente tabla, se describen los campos en una
entrada inittab.
El siguiente
ejemplo muestra un archivo inittab predeterminado
que se instala con la versión de Solaris. A continuación, se indica una
descripción para cada línea de salida en este ejemplo.
ap::sysinit:/sbin/autopush -f /etc/iu.ap (1)
sp::sysinit:/sbin/soconfig -f /etc/sock2path (2)
smf::sysinit:/lib/svc/bin/svc.startd >/dev/msglog 2<>/dev/msglog (3)
p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0
>/dev/msglog 2<>/dev/...(4)
1- Inicializa los
módulos STREAMS
2- Configura
proveedores de transporte de sockets
3- Inicializa el
reiniciador maestro para la SMF
4- Describe un
cierre por fallo de energía
En
este fichero tambien nos muestra los diferentes niveles de ejecución.
El
nivel de ejecución 0 es apagar.
El
nivel de ejecución 1 es ejecutar el sistema como monousuario.
Los
niveles de ejecución de 2 al 5 es ejecutar el sistema como multiusuario.
3-¿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.
Ciertamente Upstart presenta interesantes mejoras
respecto del init de System V: Arranque de servicios en paralelo, guiado por
eventos, servicios que se rearrancan automáticamente si mueren, etc …
Sin embargo, por el momento (este documento fue escrito
en Agosto 2007) las únicas distribuciones que lo implementan son Ubuntu
(Edgy/Feisty) y Debian Experimental. Es mas, toda la potencia de Upstart no es
aprovechada pues, por retrocompatibilidad con los scripts de sysvinit, upstart
solo se acaba comportando como un wrapper de éste.
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.
Otros archivos como ctrl-alt-del que mapea dicha
combinación al reincio ordenado del equipo, o rc-default que define el nivel de
inicio por defecto.
Una de las cosas que llama la atencion es que upstart
esta relacionado directamente con grub. En su archivo de configuracion
/boot/grub/menu.lst
Las características más relevantes de este sistema son
las siguientes:
- Tareas y
servicios se inician y detienen por eventos
- Los eventos se
generan como tareas y los servicios se inician y detienen
- Los eventos
pueden ser recibidos desde cualquier otro proceso en el sistema
- Los servicios
pueden ser regenerados si mueren inesperadamente
- Supervisión y
reaparición de demonios que se separan de su proceso padre
- La comunicación
con el demonio init sobre D-Bus
¿Dónde se encuentra el sistema Upstart?
Upstart está incluido en la versión de Ubuntu 6.10 "Edgy Eft" como
un reemplazo para sysvinit,
y en 7.04 "Feisty Fawn", reemplazando a cron, atd, anacron e inetd.
Upstart ha sustituido sysvinit en Fedora 9. Actualmente funciona de la
misma manera como lo hace en Ubuntu, es decir, que reemplaza sysvinit,
manteniendo los actuales scripts.
Se ha anunciado que Debian esta
considerando usar Upstart en su versión Squeeze.
openSUSE ha adoptado Upstart desde la versión 11.3
Milestone
Upstart es usado en webOS de Palm para el Palm Pre.
Upstart reemplaza a sysvinit en el sistema operativo Maemo
Upstart se usará también en Google Chrome
OS.
4- Diferencias entre Upstart e inittab
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 (Jobs) y de
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.