Je veux améliorer le temps de démarrage de mon Ubuntu GNOME 16.04 en désactivant les services plymouth lors du démarrage. J'ai trouvé deux réponses sur la façon de le faire sur divers sites Web, à savoir:
# systemctl disable plymouth-quit-wait.service
# systemctl mask plymouth-quit-wait.service
Je ne peux exécuter aucune des opérations ci-dessus à moins de savoir ce qu'elles font.
Réponses:
Si un service existe
enabled
, il y a un lien symbolique quelque part dansà un fichier d'unité, le plus souvent quelque part dans
Utilement, lorsque vous êtes
enable
un service, les chemins complets du lien et de la cible créés seront imprimés sur stdout.La désactivation du service supprime le lien symbolique, le fichier de l' unité elle - même est pas affectée, mais le service est pas chargé au prochain démarrage, lorsque systemd lectures
/etc/systemd/system
.Cependant, un service désactivé peut être chargé et sera démarré si un service qui en dépend est démarré ;
enable
etdisable
uniquement configurer le comportement de démarrage automatique pour les unités, et l'état est facilement remplacé.Un service masqué est un service dont le fichier d'unité est un lien symbolique vers
/dev/null
. Cela rend «impossible» le chargement du service, même s'il est requis par un autre service activé.Lorsque vous êtes
mask
un service, un lien symbolique est créé de/etc/systemd/system
à/dev/null
, laissant le fichier d'unité d'origine ailleurs intact. Lorsque vousunmask
un service, le lien symbolique est supprimé.Cependant, j'ai remarqué que ces commandes ne sont pas toujours honorées.
Lorsque j'essaie de masquer la plupart des services, cela échoue:
Bien sûr, j'ai d'abord arrêté le service. @Anwar suggère que le masquage n'est possible que pour les services non critiques.
Démasquer un service masqué, à moins que je ne le masque moi-même, échoue également (en silence). Je pense que c'est parce qu'il n'y a aucun fichier d'unité pour le service, sauf sous la forme d'un lien symbolique vers
/dev/null
, cette fois dans/lib/systemd/system
:Je ne suis pas le seul à avoir ce problème
Pour démasquer le service masqué x11-common, j'ai dû supprimer le lien symbolique vers
/dev/null
etsudo apt-get install --reinstall x11-common && sudo systemctl daemon-reload
. Maintenant, lorsque je l'interroge avec,systemctl status x11-common
je vois que le service a un joli cercle vert et est chargé et actif (quitté) bien qu'il n'ait pas de fichier d'unité.Pour plus d'informations, cet article sur la façon d'utiliser Systemctl peut être utile.
la source
systemctl status x11-common ● x11-common.service Loaded: masked (/dev/null; bad) Active: inactive (dead)
. Est-ce mauvais? Mais je suis sur Debian, pas sur Ubuntu. Bref, belle explication. Merci.C'est assez simple.
systemctl start
,systemctl stop
: démarre (arrête) immédiatement l'unité en question ;systemctl enable
,systemctl disable
: marque (décocher) l'unité pour le démarrage automatique au démarrage (d'une manière spécifique à l'unité, décrite dans sa[Install]
section);systemctl mask
,systemctl unmask
: interdit (autorise) toutes les tentatives de démarrage de l'unité en question (manuellement ou en tant que dépendance de toute autre unité, y compris les dépendances de la cible de démarrage par défaut). Notez que le marquage pour le démarrage automatique dans systemd est implémenté en ajoutant une dépendance artificielle de la cible de démarrage par défaut à l'unité en question, donc "mask" interdit également le démarrage automatique.Réf .: systemctl (1) .
Pour en savoir plus: Lennart Poettering (2011-03-02). "Les Trois Niveaux d'Off" . systemd pour les administrateurs . 0pointer.de.
la source
En bref,
disable
rend l'unité désactivée pendant le démarrage. Mais cette unité peut être démarrée à tout moment après le démarrage.mask
désactive complètement l'unité. Il ne peut pas être démarré sans démasquer. Cela implique automatiquement qu'il échouera au démarrage.la source
mask
etunmask
travaille pour toi? (Je comprends parfaitement si vous ne voulez pas tester!)[email protected]
service.