root@gcomputer:~# systemctl status x11-common
● x11-common.service
Loaded: masked (/dev/null; bad)
Active: inactive (dead)
J'ai essayé systemctl unmask x11-common
et systemctl unmask x11-common.service
mais cela n'a rien changé.
Comment puis-je le démasquer?
Les commandes que vous utilisez sont toutes deux correctes . Voir aussi le manuel .
Il semble que la commande unmask
échoue s’il n’existe dans le système aucun fichier d’unité autre que le lien symbolique vers /dev/null
. Si vous mask
un service, cela crée un nouveau lien symbolique vers /dev/null
dans /etc/systemd/system
où systemd recherche les fichiers d'unités à charger au démarrage. Dans ce cas, il n'y a pas de fichier unité réel.
D'autres semblent avoir des problèmes similaires
x11-common.service
a également été masqué sur mon système. Vous pouvez le réparer comme ça:
Commencez par vérifier que le fichier d'unité est un lien symbolique vers /dev/null
file /lib/systemd/system/x11-common.service
il devrait retourner:
/lib/systemd/system/x11-common.service: symbolic link to /dev/null
dans ce cas, supprimez-le
Sudo rm /lib/systemd/system/x11-common.service
Depuis que vous avez modifié un fichier d'unité, vous devez exécuter ceci:
Sudo systemctl daemon-reload
maintenant vérifier le statut:
systemctl status x11-common
s'il ne dit pas chargé et en cours d'exécution (si le cercle est toujours rouge), réinstallez le package:
Sudo apt-get install --reinstall x11-common
et recharger à nouveau le démon
Sudo systemctl daemon-reload
et vérifier le statut une fois de plus
systemctl status x11-common
Maintenant, il est vert et en cours d'exécution :) Le service n'a pas de fichier d'unité systemd, mais systemd utilise volontiers le script correspondant dans /etc/init.d
à la place.
Il se peut que votre service ait un fichier de remplacement vide, comme ceci:
● redis-server.service - Magasin de valeurs-clés avancées Loaded: chargé (/lib/systemd/system/redis-server.service; masqué; paramètre prédéfini par le vendeur: activé) Drop-In:/etc/systemd/system/redis-server .service.d └─limit.conf
Vérifiez si limit.conf est un fichier vide. Si c'est le cas, veuillez l'enlever. Ensuite, le service devrait être démasqué.
Suivez les étapes ci-dessous:
systemctl edit systemd-hostnamed
Ajoutez les 2 lignes ci-dessous puis quittez l'éditeur (n'oubliez pas de sauvegarder lorsque vous y êtes invité):
[Service]
PrivateNetwork=no
Cela créera un fichier override.conf avec les 2 lignes ci-dessus dans le répertoire:
/etc/systemd/system/systemd-hostnamed.service.d/
La mise à jour systemd:
systemctl daemon-reload
Puis redémarrez le service:
systemctl restart systemd-hostnamed
Vous devriez maintenant pouvoir exécuter hostnamectl
sans le suspendre.