SystemD apporte le concept d'unités Systemd dans Linux. Pour e.g., unité de service, unité cible, unité de montage, etc. sont des types d'unités avec extension de fichier comme .service, .cible, .monter respectivement. Le fichier de configuration représentant ces unités est stocké à l'intérieur des répertoires: / usr / lib / systemd / system /, / run / systemd / system /, / etc / systemd / system /
Les versions antérieures de Red Hat Enterprise Linux (RHEL) ont utilisé des scripts init. Ces scripts ont été écrits en bash et étaient situés dans le répertoire «/ etc / rc.d / init.d/". Ce sont des scripts utilisés pour contrôler les services et les démons. Plus tard dans Rhel 7, des unités de service ont été introduites pour remplacer les scripts init. Fedora, qui est un système d'exploitation en amont de Red Hat Enterprise Linux, a commencé à utiliser le Systemd à partir de la version 15 Fedora.
Les unités de service ont .Extensions de fichier de service et avoir des rôles similaires à ceux des scripts init. «Systemd» utilise l'utilité «SystemCTL» pour gérer les services système. Il peut être utilisé pour visualiser, démarrer, arrêter, redémarrer, activer ou désactiver ces services.
Avantages du système Systemd sur init
Que couvrirons-nous?
Dans ce guide, nous apprendrons sur la gestion des processus SystemD. Nous verrons comment activer et désactiver les services de démarrage au démarrage et comment effectuer des opérations de service comme Démarrer, arrêter, redémarrer, etc. Nous avons effectué les exercices ci-dessous sur les postes de travail Fedora 30, qui seront les plus applicables aux autres OSS Linux.
Énumérez les services de démarrage au démarrage de Fedora Linux
L'ancienne méthode sysv utilise le service et chkconfig Commandes pour gérer les services. Ces commandes sont désormais remplacées par les commandes SystemD comme systemctl. Voyons certaines des opérations de «SystemCTL» sur divers services de Linux.
1. Pour répertorier tous les services exécutés sur votre système, ainsi que leurs états (activés ou désactivés), utilisez la commande ci-dessous:
$ sudo systemctl list-unit-files --type = service
Un service peut avoir trois états: 1) activé 2) désactivé 3) statique
Un service activé a un lien symbolique dans un .veut le répertoire, tandis qu'un service handicapé n'en a pas. Un service statique n'a pas de section d'installation dans le script init correspondant. Donc, il ne peut pas être activé ou désactivé.
Pour obtenir plus de détails sur les services, la commande ci-dessous doit être utilisée.
$ sudo systemctl -at service
Résumé des noms de colonne ci-dessus:
Unité - Nom de l'unité Systemd (ici un nom de service).
Charge - spécifiez si l'unité Systemd a été chargée correctement ou non.
Actif - état de l'unité (service ici).
Sub - un sous-état d'une activation unitaire.
Description - Une courte information de l'unité.
Nous pouvons également utiliser la commande suivante:
$ sudo ls / lib / systemd / système / *.service
ou
$ sudo / etc / systemd / système / *.service
Le «/ Etc / inittab» est maintenant remplacé par «/ Etc / systemd / System /» dans Systemd. Ce répertoire contient désormais les liens symboliques des fichiers du répertoire «/ Usr / lib / systemd / système". Les scripts init sont placés dans le «/ usr / lib / systemd / système». Un service doit être mappé à «/ Etc / systemd / System /» pour le démarrer au démarrage du système. À cette fin, la commande SystemCTL est utilisée dans Fedora et d'autres derniers systèmes Linux.
2. Voyons l'exemple ci-dessous de l'activation du service HTTPD:
$ sudo systemctl activer httpd.service
De plus, nous pouvons utiliser la commande ci-dessous pour filtrer tous les services activés:
$ sudo systemctl list-unit-files | Grep activé
ou utilisez la commande:
$ sudo systemctl | Grep Running
3. Pour répertorier tous les services actifs (en cours d'exécution), utilisez la commande:
$ sudo systemctl -t service --state = actif
4. Pour voir quels services sont permis de démarrer automatiquement sur le démarrage du système, nous pouvons également utiliser la commande suivante:
$ sudo systemctl list-unit-files --type = service --state = activé - tout
5. De même, nous pouvons vérifier les services désactivés pour démarrer au démarrage avec la commande:
$ sudo systemctl list-unit-files --type = service --state = handicap - tout
6. Nous pouvons également voir à quelle heure chaque service prend au démarrage:
$ sudo systemd-analyse blâme
7. Pour vérifier si un service est activé pour Autostart au démarrage, utilisez la commande:
$ sudo systemctl est compatible xxx
Mettez le nom du service à la place de xxx. E.g., Dans le cas du service HTTPD, la commande sera:
$ sudo systemctl IS-compatible httpd.service
ou
$ sudo systemctl IS-compatible httpd
8. Pour vérifier l'état d'un service, utilisez la commande:
$ sudo systemctl status xxx.service
Par exemple, pour vérifier l'état du service SSHD:
$ sudo systemctl status sshd.service
9. Pour vérifier si un service est en cours d'exécution ou non, exécutez simplement la commande ci-dessous:
$ sudo systemctl is-active xxx.service
Par exemple, pour vérifier l'état Telnet:
$ sudo systemctl iS-active telnet.service
dix. Pour démarrer un service mort ou inactif, utilisez la commande:
$ sudo systemctl start xxx.service
Par exemple, pour démarrer un service SSHD:
$ sudo systemctl start sshd
11. Pour désactiver un service au démarrage du système
$ sudo systemctl Désactiver xxx
Par exemple, pour désactiver le service HTTPD:
$ sudo systemctl Disable httpd.service
ou
$ sudo systemctl Disable httpd
12. Pour redémarrer un service de course
$ sudo systemctl redémarrer xxx.service
Pour redémarrer le service SSHD, utilisez la commande:
$ sudo systemctl redémarrer sshd
Si le service n'est pas déjà en cours d'exécution, il sera démarré.
13. Pour recharger un service de course
$ sudo systemctl recharger xxx.service
Par exemple, recharger le service HTTPD avec:
$ sudo systemctl recharger httpd.service
Cette commande recharge la configuration d'un service spécifique. Pour recharger le fichier de configuration de l'unité de SystemD, nous avons besoin de la commande:
$ sudo Systemctl Daemon-Reload
14. Pour répertorier toutes les dépendances d'un service:
$ sudo systemctl lister les dépendances xxx.service
Dans le cas du service HTTPD, la commande sera:
$ sudo systemctl lister les dépendances httpd.service
Conclusion
Dans ce guide, nous avons vu diverses façons de gérer les services avec Systemd Utility comme activer les services au début, les démarrer et les arrêter, etc. Si vous étiez habitué à la commande de service de Old Sysvinit, vous devez passer à SystemD car il a plus de fonctionnalités et c'est le système d'initiation par défaut dans les versions plus récentes de Fedora, Rhel et la plupart des autres grandes distributions Linux.