Un servicio de systemd no arranca: cómo ver el porqué
Un servicio (nginx, ollama, docker…) aparece como failed o no se inicia al arrancar.
Por qué pasa (diagnóstico)
- Error en su archivo de configuración.
- Puerto ocupado por otro programa.
- No está habilitado para el arranque.
Solución paso a paso
- Estado y últimas líneas:
systemctl status nombre. - Log completo del arranque actual:
journalctl -u nombre -b. - Sigue el log en vivo:
journalctl -u nombre -f. - Tras corregir:
sudo systemctl restart nombre. - Para que arranque solo:
sudo systemctl enable nombre.
Requisitos
- Linux con systemd
Compatibilidad
- Debian
- Ubuntu
- Raspberry Pi OS
- Fedora
Verificación
Basado en la documentación oficial citada; aún no probado en este laboratorio.
Fuentes
- man systemctl (en inglés)
- man journalctl (en inglés)
Guías relacionadas
- Los logs de systemd (journal) se comen el disco
- «address already in use»: qué programa ocupa el puerto
- Mi script funciona a mano pero no desde cron
- Docker: «permission denied … docker.sock» sin sudo
- Disco lleno por Docker (imágenes, caché y logs)
- Un contenedor no arranca solo tras reiniciar
Más guías de Linux y Docker.