¿Qué es el error Unit Not Found en systemctl?
El error Unit not found en systemd es uno de los problemas más comunes a los que se enfrentan los administradores de sistemas y usuarios avanzados en Linux. Ocurre cuando intentas ejecutar un comando como systemctl start, enable o status sobre un servicio que el sistema operativo no logra reconocer o localizar en sus directorios de configuración habituales.
Causas principales del error Unit Not Found
Existen diversos motivos por los cuales systemd no encuentra la unidad del servicio:
- El paquete del software no está instalado correctamente en el sistema.
- Has escrito mal el nombre del servicio o falta la extensión
.service. - Los archivos de configuración de systemd no se han recargado tras una instalación reciente.
- El archivo de la unidad se encuentra dañado o fue eliminado por error.
Método 1: Verificar el nombre del servicio y la ortografía
Muchas veces el error se debe a un simple error tipográfico. Asegúrate de escribir el nombre exacto del servicio.
- Abre tu terminal de Linux.
- Ejecuta el comando para listar todas las unidades instaladas y activas:
systemctl list-units --type=service - Utiliza
greppara filtrar por el nombre aproximado de tu aplicación, por ejemplo:systemctl list-unit-files | grep apache
Método 2: Recargar el daemon de systemd
Si has instalado un nuevo software recientemente o has creado un archivo de servicio personalizado manualmente, systemd podría no haberlo registrado todavía.
- Actualiza la lista de servicios ejecutando el siguiente comando con privilegios de superusuario:
sudo systemctl daemon-reload - Vuelve a intentar iniciar o comprobar el estado del servicio:
sudo systemctl start nombre-servicio.service
Método 3: Instalar o reinstalar el paquete faltante
Si el servicio realmente no existe porque el programa asociado no está instalado en tu distribución basada en Debian o Ubuntu, debes proceder a su instalación.
- Actualiza los repositorios locales:
sudo apt update - Instala el paquete correspondiente:
sudo apt install nombre-del-paquete - Habilita e inicia el servicio nuevamente:
sudo systemctl enable --now nombre-del-paquete