Qu'est-ce que systemd?
La Systemd Software Suite fournit les bases du système d'exploitation Debian. Le processus racine dans l'arbre de processus de Linux est responsable de la gestion d'autres processus et applications, et il est utilisé pour contrôler les applications en mode niveau du noyau. Par exemple, l'exécution de Docker en tant que service.
Comment utiliser Systemd pour diverses tâches
Répertoriez les fichiers unitaires
SystemD utilise «unité» pour gérer tous les services et processus système. Les unités SystemD utilisent des fichiers de configuration pour régir leurs différentes activités. Les fichiers de configuration de l'unité sont classés en trois types:
«Fichiers de configuration de l'unité par défaut» avec des fichiers de configuration contenus dans le répertoire «/ usr / lib / systemd / système"
«Fichiers de configuration d'unité spécifiques au système» avec des fichiers de configuration d'unité spécifiques au système contenus dans «/ etc / systemd / système"
"
«Fichier de configuration de l'unité d'exécution» »avec des fichiers de configuration trouvés dans le répertoire» «/ run / systemd / système"
Vous trouverez ci-dessous la commande pour répertorier les fichiers unitaires avec leur sortie
$ SystemCTL List-Unit-Files
Sortir
État du fichier unitaire
Proc-Sys-Fs-Binfmt_Misc.Automount statique
pages de développement.monter statique
dev-mqueue.monter statique
Proc-Sys-Fs-Binfmt_Misc.monter statique
SYS-FS-Fuse-Connections.monter statique
Sys-Kernel-Config.monter statique
sys-kernel-debug.monter statique
TMP.Montant handicapé
marque de marque.chemin désactivé
Systemd-Ask-Password-Console.chemin statique
Systemd-Ask-Password-Plymouth.chemin statique
Systemd-Ask-Password-Wall.chemin statique
Session 1.Scope statique
arp-étage.service handicapé
auditd.Service activé
autovt @.Service activé
Essayez d'utiliser la commande Linux Grep pour filtrer uniquement les services activés.
$ SystemCTL List-Unit-Files | Grep activé
Sortir
auditd.Service activé
autovt @.Service activé
grond.Service activé
dbus-org.fedoraproject.Firewalld1.Service activé
dbus-org.Freedesktop.NM-Dispatcher.Service activé
pare-feu.Service activé
getty @.Service activé
irqbalance.Service activé
kdump.Service activé
lvm2-moniteur.Service activé
Démarrer et arrêter les services d'un service
$ sudo systemctl start
$ sudo systemctl stop
Vous trouverez ci-dessous un exemple de gestion d'un conteneur Docker en tant que service.
Pour exécuter votre application (appelons-la «x») en tant que service systemd, créez le fichier suivant dans le répertoire «/ etc / systemd / system» et nommez-le en tant que
'docker.certains_nom.service' :
[Unité]
Description = x conteneur
After = docker.service
Want = Network-online.cible docker.prise
Requiert = docker.prise
[Service]
Redémarrer = toujours
Execstart = / usr / bin / docker start -a quelque_name
Execstop = / usr / bin / docker stop -t 10 some_name
[Installer]
Recherché = multi-utilisateurs.cible
Pour démarrer un service avec un démarrage système, utilisez la commande suivante:
SystemCTL Activer Docker.certains_nom
Utilisez les commandes suivantes pour arrêter et démarrer le service manuellement:
service sudo stop docker.certains_nom
service sudo start docker.certains_nom
Vérifier l'état du service
Vous trouverez ci-dessous la commande pour vérifier l'état du service en cours d'exécution.
$ sudo systemctl status
Redémarrer un service
Vous pouvez également redémarrer un service sans avoir à s'arrêter et à le démarrer, ce qui nécessite plus d'effort. Vous trouverez ci-dessous la commande pour effectuer cette tâche.
$ sudo systemctl redémarrer Firewalld
Redémarrer et arrêter
Vous trouverez ci-dessous les commandes pour redémarrer et arrêter le système, respectivement. (En tant qu'administrateur système, vous devez également savoir comment arrêter le système à l'aide d'une ligne de commande)
$ sudo systemctl redémarrer
$ sudo systemctl poweroff
Démarrage des services au démarrage
Des services comme Docker doivent être démarrés dès que votre machine est allumée. Pour l'accomplir, vous pouvez mentionner la commande ci-dessous.
$ sudo systemctl activer le pare-feu
Essayez de démarrer votre machine et vous remarquerez que le service démarre automatiquement sans interaction humaine.
Conclusion
Dans cet article, nous avons vu comment systemd pourrait effectuer des tâches d'administration et de configuration courantes avec votre machine. Un administrateur système peut utiliser les commandes ci-dessus pour automatiser la configuration des services en cours d'exécution dans votre machine. Assurez-vous d'essayer ces commandes avec vos services personnalisés et réaliser la puissance du systemd.