web-dev-qa-db-fra.com

systemctl, comment démasquer

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?

18
Albert

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.

25
Zanna

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é.

2
Erik Hensema

Suivez les étapes ci-dessous:

  1. 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
    
  2. Cela créera un fichier override.conf avec les 2 lignes ci-dessus dans le répertoire:

    /etc/systemd/system/systemd-hostnamed.service.d/
    
  3. La mise à jour systemd:

    systemctl daemon-reload
    
  4. Puis redémarrez le service:

    systemctl restart systemd-hostnamed
    

Vous devriez maintenant pouvoir exécuter hostnamectl sans le suspendre.

0
Hossein