Descripción general de Upstart
100%

Init · Lección 3

Descripción general de Upstart

Aprende cómo el antiguo sistema de inicio Upstart relaciona expresiones de eventos con objetivos del ciclo de vida de los trabajos.

Upstart es un antiguo sistema de inicio y gestión de servicios basado en eventos que desarrolló Canonical. Las versiones anteriores de Ubuntu y varias distribuciones más lo utilizaron, pero las versiones actuales de Ubuntu usan systemd. Estudia Upstart cuando mantengas una máquina antigua confirmada, no como supuesto predeterminado para una instalación moderna.

Confirmar una máquina antigua con Upstart

Inspecciona el PID 1 y la interfaz de control activa:

$ ps -p 1 -o pid,comm,args=
$ readlink /proc/1/exe
$ initctl version

El último comando solo ofrece un resultado significativo cuando están presentes el servicio de control y el cliente de Upstart. Un directorio como /usr/share/upstart o archivos residuales bajo /etc/init son indicios débiles, porque los paquetes y restos de una migración pueden permanecer después de que otro sistema de inicio tome el control.

¿Cuál es la prueba más sólida de que una máquina usa realmente Upstart?

Trabajos y eventos

Un trabajo de Upstart describe un servicio o una tarea, incluidos sus comandos de proceso y las condiciones de su ciclo de vida. Un evento es una notificación con nombre y variables de entorno opcionales. La configuración del trabajo puede expresar cuándo su objetivo debe pasar a iniciar o detener.

Los archivos de trabajos del sistema suelen estar bajo /etc/init/ y tener el sufijo .conf. Por ejemplo:

description "Example worker"
start on runlevel [2345]
stop on runlevel [016]
exec /usr/local/sbin/example-worker

Este ejemplo utiliza eventos de niveles de ejecución como entradas de compatibilidad. Upstart también puede reaccionar a eventos del sistema de archivos, de dispositivos, de la red o definidos por aplicaciones, según lo que emita el sistema.

¿Qué define una sección start on de Upstart?

Inicio basado en eventos

Durante el arranque, Upstart carga las definiciones de los trabajos y recibe eventos. Las expresiones start on o stop on que coinciden actualizan los objetivos de los trabajos; las transiciones de estos pueden emitir eventos adicionales que desbloqueen otras tareas. Los trabajos independientes pueden avanzar de forma simultánea.

Este modelo evita una única secuencia global de scripts codificada de forma rígida, pero puede ser difícil de diagnosticar cuando los nombres, el orden y las condiciones de los eventos son implícitos. De forma predeterminada, los eventos no constituyen una cola de mensajes persistente, por lo que un trabajo añadido o una condición modificada posteriormente no deben suponer que todos los eventos pasados se volverán a reproducir.

¿Cómo puede un trabajo de Upstart provocar que se inicie otro?

Migración y compatibilidad

Systemd puede ofrecer compatibilidad limitada con algunos scripts de servicio antiguos, pero no ejecuta la sintaxis de los trabajos de Upstart como unidades nativas de systemd. Al migrar, traduce las condiciones del ciclo de vida, el entorno, la política de reaparición, el registro, las dependencias y la semántica de disponibilidad en lugar de limitarte a cambiar el nombre de los archivos.

¿Qué sistema de inicio utilizan las versiones estándar actuales de Ubuntu?

Lección completada

Has completado Descripción general de Upstart

Ahora puedes interpretar Upstart como un antiguo modelo de eventos y trabajos.

  • Confirma el PID 1 activo y la interfaz de control.

  • Distingue las definiciones de trabajos de las notificaciones de eventos.

  • Interpreta start on y stop on como expresiones del ciclo de vida.

  • Migra explícitamente la semántica en lugar de cambiar el nombre de los archivos de configuración.

Guarda tu progreso

Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.

Crear una cuenta gratuita
Siguiente Lección
Volver a Init