Service contre Systemctl

Service Contre Systemctl



Le service et systemctl sont deux utilitaires de ligne de commande utilisés pour gérer les services système. Les deux utilitaires appartiennent respectivement à deux systèmes d'initialisation différents, SysV et systemd.

Dans ce guide, je discuterai des commandes service et systemctl, et de leurs différences en matière de gestion des services.

Avant d'aller plus loin, comprenons d'abord deux systèmes d'initialisation Linux populaires ; Système et Systemd.







Système V contre Systemd

Le système d'initialisation sous Linux est une partie cruciale du processus de démarrage. Il s'agit du premier processus avec le PID 1 qui démarre au démarrage du système. Il démarre ensuite les processus présents dans le fichier inittab. System V connaît également un SysV et systemd sont des systèmes d'initialisation Linux populaires.



Le SysV est un système d'initialisation plus ancien et fait partie des anciennes distributions Unix et Linux. Il gère les services système à l'aide des scripts situés dans le fichier /etc/init.d. Certaines distributions Linux qui utilisent encore SysV sont Slackware, Gentoo et antiX Linux.



D'autre part, système lancé en 2010 et a été rapidement adopté par de nombreuses distributions Linux. Le système d'initialisation systemd gère les services via des fichiers .service. Il fait désormais partie de toutes les distributions Linux modernes, notamment Red Hat Enterprise Linux, CentOS, Amazon Linux, Fedora, Debian, Ubuntu et les distributions basées sur ces systèmes d'exploitation.





Le systemd est beaucoup plus efficace que SysV. Il offre un temps de démarrage plus rapide, une gestion efficace des services et une gestion des dépendances.

Les deux systèmes d'initialisation fournissent deux utilitaires de ligne de commande pour la gestion des services.



Dans les sections suivantes du guide, je discuterai de ces deux utilitaires.

Commande de service

Le service La commande est un wrapper de script qui exécute des scripts situés dans le /etc/init.d annuaire. Il a été développé pour gérer le service de SysV ou Système V système d'initialisation. Les distributions Linux qui utilisent SysV comme système d'initialisation utilisent le service commande pour la gestion des services.

La syntaxe générale pour utiliser la commande service est donnée ci-dessous.

service [ Nom du service ] [ action ]

Pour obtenir l'état des services contrôlés par System V, utilisez la commande service avec le –statut-tout option.

service --statut-tout

Le + indique que le service est en cours d'exécution et que le montre que le service est inactif.

L'état actuel de tout service spécifique peut également être vérifié en mentionnant le nom du service.

service [ Nom du service ] statut

Certaines autres commandes de service utiles telles que le démarrage, l'arrêt et le redémarrage d'un service sont répertoriées ci-dessous.

service [ Nom du service ] commencer

service [ Nom du service ] arrêt

service [ Nom du service ] redémarrage

Cette commande de service fournit un contrôle de base pour gérer les services. La plupart des distributions Linux ont remplacé SysV en tant que système d'initialisation, mais en raison de la compatibilité existante, cette commande est toujours disponible dans de nombreuses distributions Linux récentes.

Commande systemctl

À l'aide de la commande systemctl, vous pouvez contrôler les services dans le /lib/systemd/système et /etc/systemd/système répertoires. C'est un composant de systemd ; un système d'initialisation que l'on retrouve dans la majorité des distributions Linux contemporaines.

Le systemctl est conçu pour fournir plus de contrôle sur la gestion des services système. La syntaxe générale d'utilisation de la commande systemctl est donnée ci-dessous :

systèmectl [ option ] [ Nom du service ]

Pour vérifier l'état de tous les services, utilisez la commande suivante.

unités de liste systemctl --taper = service --tous

Pour une utilisation de service spécifique :

statut systemctl [ Nom du service ]

Les commandes pour la gestion de base du service à l'aide de systemctl sont données ci-dessous :

systèmectl activer [ Nom du service ]

démarrage du systèmectl [ Nom du service ]

arrêt systèmectl [ Nom du service ]

systemctl désactiver [ Nom du service ]

redémarrage de systemctl [ Nom du service ]

La commande systemctl va au-delà du contrôle des services. Le tableau ci-dessous contient quelques commandes systemctl avancées.

liste-chemins Pour lister le chemin de tous les services en mémoire
est actif [nom_service] Pour vérifier si le service ou l’unité fonctionne ou non
liste-dépendances [service_name] Pour imprimer la liste des dépendances du service spécifié
échec de la réinitialisation Pour réinitialiser les services dont le chargement n'a pas pu être effectué en raison d'une anomalie
masque [nom_service] Pour désactiver le service et l'empêcher de démarrer
obtenir par défaut Pour imprimer le niveau d'exécution ou la cible par défaut
définir par défaut [cible] Pour définir le niveau d'exécution ou la cible par défaut
le système est-il en cours d'exécution Pour vérifier l'état de fonctionnement du système
redémarrer Pour redémarrer le système
éteindre Pour arrêter le système

Pourquoi il existe toujours une commande de service dans les distributions Linux avec le système systemd init

La commande service fait toujours partie de nombreuses distributions Linux car il s'agit d'un script wrapper qui résume le système d'initialisation sous-jacent, qu'il s'agisse de SysV ou de systemctl. Par exemple, sur Ubuntu, la commande service redirige vers le fichier systemctl.

Conclusion

Le service et systemctl sont deux utilitaires de ligne de commande appartenant respectivement aux systèmes SysV et systemd init. Malgré le remplacement de la commande service dans les distributions Linux modernes, elle reste un outil clé pour maintenir les services en raison de sa simplicité et de sa compatibilité. Le systemctl, quant à lui, fait partie de toutes les distributions Linux actuelles et fournit des options avancées pour l'administration des services.