Respuestas:
Los comandos que está utilizando son correctos . Ver también el manual .
Parece que el unmask
comando falla cuando no hay un archivo de unidad existente en el sistema que no sea el enlace simbólico /dev/null
. Si es mask
un servicio, eso crea un nuevo enlace simbólico /dev/null
en /etc/systemd/system
donde systemd busca los archivos de la unidad para cargar en el arranque. En este caso, no hay un archivo de unidad real.
Otros parecen tener problemas similares
x11-common.service
También estaba enmascarado en mi sistema. Puedes arreglarlo así:
Primero verifique que el archivo de la unidad sea un enlace simbólico a /dev/null
file /lib/systemd/system/x11-common.service
debería volver:
/lib/systemd/system/x11-common.service: symbolic link to /dev/null
en cuyo caso, elimínelo
sudo rm /lib/systemd/system/x11-common.service
Como ha cambiado un archivo de unidad, debe ejecutar esto:
sudo systemctl daemon-reload
ahora verifique el estado:
systemctl status x11-common
si no dice cargado y ejecutándose (si el círculo sigue siendo rojo), reinstale el paquete:
sudo apt-get install --reinstall x11-common
y vuelve a cargar el demonio
sudo systemctl daemon-reload
y verifique el estado una vez más
systemctl status x11-common
Ahora es verde y se está ejecutando :) El servicio no tiene un archivo de unidad systemd, pero systemd felizmente usa el script para ello /etc/init.d
.
/etc/init/
...). Es posible que desee hacer una nueva pregunta. Lo que hice no hizo ninguna diferencia aparente, solo el servicio se muestra como cargado, habilitado, detenido (está activo en el inicio) (verde) en lugar de cargado enmascarado muerto (rojo). Debería leer mis registros ...
/dev/null
? Sin embargo, tienes razón sobre mi respuesta. Yo llamaría a esta solución una solución para un ... comportamiento confuso ... de systemd
Podría ser que su servicio tenga un archivo de anulación vacío, como este:
● redis-server.service - Almacén avanzado de valores clave Cargado: cargado (/lib/systemd/system/redis-server.service; enmascarado; proveedor preestablecido: habilitado) Drop-In: / etc / systemd / system / redis-server .service.d └─limit.conf
Compruebe si limit.conf es un archivo vacío. Si es así, quítelo. Entonces el servicio debe ser desenmascarado.
Siga los pasos a continuación:
systemctl edit systemd-hostnamed
Agregue las 2 líneas a continuación y salga del editor (no olvide guardar cuando se le solicite):
[Service]
PrivateNetwork=no
Esto creará un archivo override.conf con las 2 líneas anteriores en el directorio:
/etc/systemd/system/systemd-hostnamed.service.d/
La actualización systemd:
systemctl daemon-reload
Luego reinicie el servicio:
systemctl restart systemd-hostnamed
Ahora debería poder correr hostnamectl
sin que se cuelgue.