Qu'est-ce que Systemctl
?
Systemctl
est l'outil de gestion central pour contrôler le systemd init
système. En tant que tel, vous utilisez le plus souvent cette commande pour interagir avec le systemd
système. La plupart des distributions Linux® utilisent systemd
comme leur init
system, il est donc utile de se familiariser avec l'utilisation de systemctl
fonction lors de la gestion des services exécutés sur votre système Linux.
Gérer les services
L'exemple suivant montre le modèle de commande de base pour l'utilisation de systemctl
commande :
systemctl (command) (service)
Cela diffère de la commande de service, utilisez un service (service) (commande) format, qui utilise des commandes telles que service httpd reload to reload the Apache service
. En utilisant cet exemple de nom sous le systemctl
format, la commande ressemble aux exemples suivants :
Systèmes basés sur CentOS® ou Red Hat® Enterprise Linux® :
systemctl reload httpd
Systèmes d'exploitation Ubuntu :
systemctl reload apache2
Remarque : Vous n'êtes pas obligé d'inclure le .service après le nom du service que vous souhaitez gérer.Systemctl est suffisamment intelligent pour savoir que vous essayez d'exploiter un service lorsque vous utilisez des commandes de gestion de service.
Voici certains systemctl
courants commandes :
- commencer :Démarrer un service qui n'est pas en cours d'exécution
- arrêter :Arrête un service en cours d'exécution
- redémarrer :Redémarrer un service en cours d'exécution
- recharger :effectuer un redémarrage progressif d'un service en cours d'exécution
- activer :Activez un service pour qu'il démarre automatiquement à chaque redémarrage du système
- désactiver :Empêcher un service de démarrer automatiquement au redémarrage du système
- statut :vérifier l'état actuel d'un service sur votre système
Remarque :Le reload
l'option n'est pas toujours disponible. Vous pouvez utiliser reload-or-restart
à la place si vous n'êtes pas sûr de reload
disponibilité. Utilisation de reload-or-restart
tente d'utiliser reload
d'abord, et utilise restart
si reload
n'est pas disponible.
Voici quelques options moins courantes :
- est actif :Vérifiez si une unité est actuellement active (en cours d'exécution)
- est activé :Vérifiez si un service est activé ou désactivé
- est-échoué :Vérifie si un service est en échec état
- list-units :Vérifiez toutes les unités qui
systemd
considère actuellement comme actif sur le système
La commande list-units
Les list-units
affiche un tableau avec les colonnes suivantes :
- UNITÉ :Le nom de l'unité (ou du service) systemd
- CHARGER :Le service actuellement chargé dans systemd
- ACTIF :Un résumé indiquant si le service est actuellement actif
- SOUS :Donne un peu plus de détails sur l'état actuel du service
- DESCRIPTION :Une brève description de ce qu'est ou fait le service
Ajout du --all
argument de list-units
systemctl
la commande inclut tout service que systemd
chargé ou tenté de charger quel que soit son état actuel sur le système, comme illustré dans l'exemple suivant :
systemctl list-units --all
Vous pouvez utiliser les list-units
La commande peut être utilisée de plusieurs manières supplémentaires, telles que l'ajout de --state=
filtre, comme illustré dans l'exemple suivant :
systemctl list-units --all --state=(filter)
En règle générale, vous utilisez cette option pour filtrer les résultats en fonction de l'état actuel du service, soit active
ou inactive
, comme illustré dans l'exemple suivant :
systemctl list-units --all --state=inactive
Vous pouvez filtrer davantage les résultats en ajoutant l'argument suivant :
systemctl list-units --type=(filter)
Cette option indique à systemctl
pour répertorier uniquement les services du type spécifié. Par exemple, remplacer (filter)
avec(service)
dans la commande précédente répertorie uniquement les unités de service actives.
De même, vous pouvez utiliser la commande systemctl list-units-files
lister tous les fichiers d'unité disponibles dans le systemd
chemin, y compris ceux que systemd
n'a pas essayé de charger.
La commande de masque
Si vous avez besoin d'empêcher le démarrage d'un service, manuellement ou automatiquement, vous pouvez utiliser le mask
commande avec systemctl
.Par exemple, supposons que vous souhaitiez vous assurer qu'Apache® ne s'exécute pas. Si vous n'exécutez pas en tant que root, vous devez placer le sudo
commande devant la commande. Sinon, la commande ressemble à l'exemple suivant :
systemctl mask httpd.service
ou
systemctl mask apache2.service
Lorsque vous souhaitez décocher le service, remplacez le mask
précédent avec unmask
, et le service peut redémarrer.
Conclusion
Bien qu'il existe des utilisations plus avancées du systemctl
, ce sont les options d'utilisation que vous utiliserez le plus souvent. Vous êtes maintenant familiarisé avec les utilisations les plus courantes de systemctl
lors de l'interaction avec systemd
. Systemctl
est votre principale méthode d'interaction pour la gestion des services.