systemd

Comment lister le service avec systemd

Comment lister le service avec systemd
Cet article pourrait être une commande courte mais l'impression résultante est très longue.

La commande de vidage

Si quelqu'un vous demande d'afficher toute la configuration de votre système, utilisez la commande dump.

$ systemd --dump-configuration-items

Le fichier couvre toutes les unités que vous avez sur le système. Une fois qu'un développeur a ce fichier disponible, la personne examinera ce que vous avez et essaiera de trouver les problèmes auxquels vous êtes confronté. Terminé. Cependant, vous ne liriez pas cet article si vous deviez laisser quelqu'un d'autre faire tout. Voyons ce que vous pouvez faire avec un service à la fois et apprenez quelques astuces pour filtrer vos résultats.

La hiérarchie de systemd

Pour devenir efficace, vous devez réaliser que, dans systemd, vous avez une hiérarchie et que vous pouvez configurer chaque service pour qu'il dépende et/ou attende d'autres services. Les différentes manières de procéder sont évidentes dans les fichiers de service. Les différentes déclarations que vous avez sont « Vouloir », « Obligatoire », « Avant » et « Après ». Pour une analyse efficace, vous pouvez les utiliser pour voir si votre unité est en panne à cause de dépendances. Vous pouvez ensuite remonter jusqu'où se situe le problème sous-jacent. Voici un exemple de cela.

$ systemctl list-dependencies --before xpra.un service

L'impression montre les autres unités que xpra.le service repose sur. Dans ce cas, les autres unités sont actives, nous devons donc nous concentrer sur la raison pour laquelle l'unité elle-même est cassée. L'exemple manquait un fichier de certificat.

L'utilisation la plus importante de ceci est de rechercher s'il manque des dépendances à votre service, utilisez la commande de cette façon.

$ systemctl liste-dépendances xringd

Le résultat est une longue liste, organisée de manière pratique dans une arborescence et affichant tous les services en vert ou en rouge si quelque chose ne va pas. Vous pouvez également voir les dépendances dans le fichier services. Ouvrez le fichier en utilisant votre éditeur préféré ou utilisez systemctl, qui ouvrira le fichier avec l'éditeur par défaut.

Liste des services actifs

Lorsque vous souhaitez étudier un système, vous devez savoir comment les unités s'emboîtent. Pour ce faire, vous disposez de plusieurs options pour imprimer les détails. Vous pouvez lister les systèmes occupés, en panne, etc. Plus important encore, vous pouvez indiquer comment ils sont assemblés, quelle unité, service, etc. l'unité actuelle dépend de. La commande principale pour ce faire est systemctl, les options sont utiles pour affiner votre problème spécifique.

Pour utiliser correctement systemctl, examinez attentivement les options de la commande. Il existe des options pour choisir exactement ce dont vous avez besoin, en particulier en ce qui concerne l'état des services. Ici, nous recherchons des services qui ont des problèmes.

$ systemctl list-unit-files --type=service

Cette liste est aussi longue et il faut faire défiler tous les services pour trouver ce que l'on cherche. Avec quelques paramètres supplémentaires, vous pouvez filtrer un paramètre spécifique ou ceux qui sont désactivés. La commande ci-dessous trouvera toutes les unités masquées.

$ systemctl list-unit-files --type=service --state=masked

Les services masqués sont bloqués afin que les autres services ne puissent pas les démarrer, même si l'autre service en a besoin. Cela peut être utilisé pour garantir que vous n'avez pas de services en conflit en cours d'exécution. Généralement, de nombreux services sont masqués par votre gestionnaire de packages lorsque vous supprimez le package. Vous pouvez supprimer complètement le fichier de service si vous le souhaitez après avoir supprimé un service. Il est également possible que cela détruise beaucoup de services que vous souhaitez, alors assurez-vous de savoir si vous avez besoin des services masqués.

Certains services sont masqués par des processus et vous n'avez pas toujours l'intention de masquer le service. Lorsque cela est arrivé à votre système, la première action à entreprendre est de démasquer à l'aide de systemctl. Cependant, ce n'est pas toujours possible, vous devez donc retirer le lien dans le bon répertoire. Dans la plupart des systèmes, ce sera lib/systemd/system. Avant de le faire, vérifiez que le fichier est en fait un lien vers /dev/null.

$ ls -l lib/systemd/system> |grep null

Lorsque vous êtes certain de vouloir supprimer ce lien, supprimez-le avec rm ou unlink.

$ rm /lib/systemd/system/udisks2.un service

Maintenant que vous savez comment faire, écoutez cet avertissement : plusieurs fois, il est nécessaire d'avoir ce lien là-dedans. Prenons lvm2 comme exemple, il est masqué du fonctionnement afin qu'il n'interfère pas avec le nouveau système, où lvm2 vient comme de nombreux petits services. Voir le résultat de :

$ systemctl status lvm2*

La suppression du lien peut causer des ravages sur votre système car lvm2 lui-même en a besoin pour éviter les conflits. Ceci n'est qu'un exemple, alors faites attention avant de continuer.

Conclusion

Lorsque vous souhaitez lister des services dans systemd, vous devez d'abord réfléchir à ce que vous recherchez dans votre quête. Vous cherchez un service dont vous avez besoin ou vous voyez que vous avez trop de services. Dans tous les cas, vous devez adapter votre requête à vos besoins particuliers. Systemd semble déroutant au début, mais lorsque vous regardez de plus près, tout utilise un moyen simple d'unifier le démarrage afin que les services puissent démarrer en parallèle là où le système en a besoin, tout en permettant à chaque service d'attendre le service spécifique dont il dépend.

OpenTTD contre Simutrans
Créer votre propre simulation de transport peut être amusant, relaxant et extrêmement attrayant. C'est pourquoi vous devez vous assurer que vous essay...
Tutoriel OpenTTD
OpenTTD est l'un des jeux de simulation d'entreprise les plus populaires. Dans ce jeu, vous devez créer une merveilleuse entreprise de transport. Cepe...
SuperTuxKart pour Linux
SuperTuxKart est un excellent titre conçu pour vous apporter l'expérience Mario Kart gratuitement sur votre système Linux. C'est assez stimulant et am...