Linux y sistemas | unfantasmaenelsistema.com
Cada vez que pulsas el botón de encendido, ocurre una coreografía de varios miles de pasos en cuestión de segundos. Debajo de la superficie: el firmware se despierta, el bootloader carga el kernel, el kernel inicializa el hardware, y finalmente systemd orquesta el arranque de todos los servicios.

1. Antes de systemd: el proceso de arranque completo

2. Historia y motivación de systemd
Lennart Poettering presentó systemd en 2010 como respuesta a los problemas de SysV init. La clave de su eficiencia es la activación por socket y paralelización agresiva: los servicios que no dependen entre sí arrancan en paralelo, reduciendo el tiempo de boot drásticamente.

3. Conceptos fundamentales: Units y Targets
3.1 Tipos de unit

3.2 Targets: los nuevos runlevels

4. Anatomía de un archivo .service

4.1 Tipos de servicio (Type=)

5. El ciclo de vida de un servicio

6. Escribir tus propias units

7. Journald: el sistema de logs centralizado
journald almacena los logs en formato binario estructurado con metadatos ricos: PID, UID, unit de systemd, prioridad, timestamp nanosegundo… Esto permite búsquedas y filtros mucho más potentes que syslog.

8. Analizar el arranque con systemd-analyze

9. Control de recursos con cgroups

Conclusión
Systemd es uno de esos proyectos que resultan divisivos precisamente porque son ambiciosos. Lo que es innegable es que entenderlo en profundidad te da un control extraordinario sobre tu sistema: saber leer un archivo .service, diagnosticar un fallo con journalctl, optimizar el tiempo de arranque, o aislar un servicio con namespaces y cgroups son habilidades que distinguen a un administrador de sistemas competente de uno excepcional.

unfantasmaenelsistema.com | Seguridad, sistemas y todo lo que no debería funcionar (pero funciona)

