Réponses:
Les commandes que vous utilisez sont toutes les deux correctes . Voir aussi le manuel .
Il semble que la unmask
commande échoue lorsqu'il n'y a aucun fichier d'unité dans le système autre que le lien symbolique vers /dev/null
. Si vous mask
un service, puis qui crée un nouveau lien symbolique /dev/null
dans /etc/systemd/system
lequel les regards systemd pour les fichiers de l' unité à charger au démarrage. Dans ce cas, il n'y a pas de véritable fichier unitaire.
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 ceci:
Vérifiez d'abord 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
Puisque vous avez modifié un fichier d'unité, vous devez exécuter ceci:
sudo systemctl daemon-reload
vérifiez maintenant 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 à nouveau le statut
systemctl status x11-common
Maintenant, il est vert et fonctionne :) Le service n'a pas de fichier d'unité systemd, mais systemd utilise volontiers le script pour cela /etc/init.d
.
/etc/init/
...). Vous voudrez peut-être poser une nouvelle question. Ce que j'ai fait n'a fait aucune différence apparente, seul le service s'affiche comme chargé, activé, arrêté (il est actif au démarrage) (vert) au lieu de chargé masqué mort (rouge). Je devrais lire mes journaux ...
/dev/null
? Mais vous avez raison sur ma réponse. J'appellerais cette solution une solution de contournement pour un ... comportement déroutant ... de systemd
Il se peut que votre service ait un fichier de remplacement vide, comme ceci:
● redis-server.service - Magasin de valeurs-clés avancé Chargé: chargé (/lib/systemd/system/redis-server.service; masqué; prédéfini par le fournisseur: 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 le retirer. Ensuite, le service doit ê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 d'enregistrer lorsque vous y êtes invité):
[Service]
PrivateNetwork=no
Cela va créer 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
Redémarrez ensuite le service:
systemctl restart systemd-hostnamed
Vous devriez maintenant pouvoir courir hostnamectl
sans le suspendre.