Init:
- Descripción: Init es un sistema de inicialización tradicional que inicia y gestiona procesos y servicios durante el arranque del sistema en sistemas operativos basados en UNIX.
- Funciones:
- Inicia procesos de manera secuencial.
- Controla el nivel de ejecución del sistema.
- Gestiona servicios y configuraciones de inicio.
Systemd:
- Descripción: Systemd es un sistema de inicialización moderno y más completo que ha reemplazado a Init en muchas distribuciones Linux.
- Funciones:
- Permite el arranque concurrente para mejorar el tiempo de inicio.
- Gestionar servicios y unidades de forma eficiente.
- Controla el registro del sistema (journal).
- Ofrece herramientas adicionales para la administración del sistema.
Diferencias Clave:
Característica | Init | Systemd |
---|---|---|
Filosofía | Secuencial | Concurrente |
Configuración | Scripts en /etc/init.d/ | Archivos de configuración («units») en /etc/systemd/system/ |
Gestión de Dependencias | Manual | Automática |
Registro y Diagnóstico | Menos estructurado | Sistema de registro (journalctl) |
Compatibilidad con CGroups | No nativa | Utiliza CGroups |
Herramientas Adicionales | Enfoque limitado | Herramientas integrales para el sistema |
Adopción | Estándar previo | Predominante en distribuciones modernas |
Configuración:
- Configuración de Init:
- Los scripts de inicio se encuentran en
/etc/init.d/
. - Configuración manual de dependencias y orden de inicio.
- Edición de scripts para personalizar el inicio.
- Configuración de Systemd:
- Archivos de configuración «units» en
/etc/systemd/system/
. - Uso de comandos como
systemctl
para gestionar servicios. - Modificación de unidades para establecer dependencias, ajustar tiempos de espera, etc.
Ejemplo de Configuración en Systemd:
- Crear un archivo
mi_servicio.service
en/etc/systemd/system/
:
[Unit]
Description=Mi Servicio
After=network.target
[Service]
ExecStart=/ruta/a/mi_programa
Restart=always
[Install]
WantedBy=default.target
Description
: Descripción del servicio.After
: Especifica que el servicio debe iniciarse después denetwork.target
.ExecStart
: Ruta del programa a ejecutar.Restart
: Configuración de reinicio.WantedBy
: Establece la relación con el objetivo predeterminado.
Luego, puedes activar y gestionar el servicio con comandos como systemctl start mi_servicio.service
.
La elección entre Init y Systemd a menudo depende de las preferencias y requisitos del sistema, así como de la distribución específica de Linux que estás utilizando. Ambos sistemas tienen sus ventajas y desventajas, pero Systemd ha ganado popularidad por su enfoque moderno y características adicionales.
systemd vs init Controversy [A Layman’s Guide] – It’s FOSS. https://itsfoss.com/systemd-init/.
Init Systems Unveiled — Understanding the Differences between SystemD …. https://akashrajpurohit.com/blog/init-systems-unveiled-understanding-the-differences-between-systemd-and-systemv/.
The Story Behind ‘init’ and ‘systemd’: Why ‘init’ Needed to … – Tecmint. https://www.tecmint.com/systemd-replaces-init-in-linux/.