Si vous êtes un utilisateur ou un administrateur Linux, vous devez savoir comment gérer les services sur votre système. Les services sont des programmes qui s’exécutent en arrière-plan et fournissent des fonctionnalités essentielles, telles que la mise en réseau, l’impression, la journalisation, etc.
Mais comment lister, démarrer, arrêter, activer, désactiver ou redémarrer des services sous Linux ? La réponse est la commande systemctl. Cette commande fait partie de systemd, un système moderne et un gestionnaire de services pour les distributions Linux comme Ubuntu et Debian.
Table des matières
Si vous êtes un débutant Linux et que vous souhaitez gérer ces services à l’aide de systemctel, suivez les étapes ci-dessous.
Répertorier tous les services avec systemctl
Pour répertorier tous les services sur votre système Linux, exécutez cette commande dans le terminal :
sudo systemctl list-units –type service
Ceci vous montrera un tableau avec cinq colonnes : UNIT, LOAD, ACTIVE, SUB et DESCRIPTION.
La colonne UNIT affiche le nom du fichier d’unité de service, qui est le fichier de configuration et de définition du service. Ce fichier contient des informations sur ce que fait le service et comment le gérer. Vous pouvez également afficher un descriptif rapide du service dans la colonne DESCRIPTION.
La colonne LOAD indique si le fichier de l’unité de service est chargé en mémoire. La colonne ACTIF indique s’il s’agit d’un service en cours d’exécution ou non. Enfin, la colonne SUB affiche le sous-état du service, tel que l’exécution, la sortie ou l’échec.
Vous pouvez également utiliser l’option-a ou –all au lieu de –type service pour répertorier tous les types d’unités, pas seulement les services.
Répertorier les services actifs avec systemctl
Si vous souhaitez uniquement voir les services actuellement actifs (en cours d’exécution) sur votre système, exécutez cette commande dans le terminal Linux :
sudo systemctl list-units –type service –state active
Cela filtrera les services inactifs (arrêtés) ou en échec.
Lister les services inactifs avec systemctl
De même, si vous souhaitez uniquement voir les services actuellement inactifs (arrêtés) sur votre système, exécutez cette commande dans le terminal :
sudo systemctl list-units –type service –state inactive
Cela filtrera les services actifs (en cours d’exécution) ou en échec.
Répertorier les services ayant échoué avec systemctl
Si vous souhaitez voir les services qui n’ont pas pu démarrer ou s’arrêter sur votre système, ouvrez le terminal et exécutez cette commande :
sudo systemctl list-units –type service –state failed
Cela filtrera tous les services actuellement actifs (en cours d’exécution) ou inactifs (arrêtés).
Répertorier les services activés avec systemctl
Pour voir quels services sont activés pour démarrer automatiquement au démarrage de votre système, exécutez cette commande dans le terminal :
sudo systemctl list-unit-files –type service –state enabled
Cela vous montrera un tableau à deux colonnes : UNIT FILE et STATE. La colonne UNIT FILE affiche le nom du fichier d’unité de service. La colonne STATE indique si le service est activé ou non.
Répertorier les services désactivés avec systemctl
Pour voir quels services sont désactivés et ne démarreront pas automatiquement au démarrage de votre système, ouvrez votre Linux terminal et exécutez cette commande :
sudo systemctl list-unit-files –type service –state disabled
Cela filtrera les services activés ou masqués.
Afficher les détails d’un service avec systemctl
Pour afficher plus de détails sur un service spécifique sur votre système, exécutez cette commande dans le terminal :
sudo systemctl status
Remplacez
Cela vous montrera des informations telles que la description, l’état de charge, l’état actif, le sous-état, l’ID de processus (PID), l’utilisation de la mémoire, l’utilisation du processeur et le service récent journaux.
Vous pouvez également utiliser la sous-commande show au lieu de status pour afficher toutes les propriétés du service dans un format nom=valeur.
Démarrer un service avec systemctl
Pour démarrer un service arrêté sur votre système, exécutez cette commande dans votre terminal Linux :
sudo systemctl start
Remplacez
Cela démarrera le service dans le arrière-plan et revenir à l’invite. Vous pouvez utiliser la sous-commande status pour vérifier que le service est en cours d’exécution.
Arrêter un service avec systemctl
Pour arrêter un service en cours d’exécution sur votre système, exécutez cette commande dans le terminal :
sudo systemctl stop
Remplacez
Cela arrêtera le service en arrière-plan et revenez à l’invite. Vous pouvez utiliser la sous-commande status pour vérifier que le service est arrêté.
Redémarrer un service avec systemctl
Vous souhaitez modifier et recharger le fichier de configuration d’un service et appliquer les modifications ? Si vous le faites, vous devrez redémarrer le service par la suite.
Pour redémarrer un service en cours d’exécution sur votre système, ouvrez votre terminal et exécutez cette commande :
sudo systemctl restart
Remplacer
Cela arrêtera et démarrera le service en arrière-plan et reviendra à l’invite. Vous pouvez utiliser la sous-commande status pour vérifier que le service est en cours d’exécution.
Recharger un service avec systemctl
Certains services prennent en charge le rechargement de leur configuration sans arrêt ni démarrage. Le rechargement d’un service vous permet d’apporter des modifications mineures aux fichiers de configuration de ces services sans les redémarrer. C’est plus rapide et moins perturbant que le redémarrage.
Pour recharger un service prenant en charge cette fonctionnalité, utilisez la commande systemctl suivante dans le terminal :
sudo systemctl reload
Remplacer
Cela rechargera le service en arrière-plan et reviendra à l’invite. Vous pouvez utiliser la sous-commande status pour vérifier que le service est en cours d’exécution.
Activer un service avec systemctl
Pour permettre à un service de démarrer automatiquement au démarrage de votre système, exécutez cette commande dans le terminal :
sudo systemctl enable
Remplacez
Cela créera un lien symbolique depuis le fichier de l’unité de service vers un emplacement sous/etc/systemd/system, qui indique à systemd de le démarrer au démarrage.
Vous pouvez également utiliser l’option –now pour activer et démarrer un service simultanément. Par exemple :
sudo systemctl enable –now
Désactiver un service avec systemctl
Pour désactiver un service de démarrer automatiquement au démarrage sur votre système, exécutez cette commande dans le terminal Linux :
sudo systemctl disable
Remplacez
Cela supprimera le lien symbolique de/etc/systemd/system, qui indique à systemd de ne pas le démarrer au démarrage.
Vous pouvez également utiliser l’option –now pour désactiver et arrêter un service en même temps :
sudo systemctl disable –now
Liste des services masqués avec systemctl
Masquer un service signifie lier son fichier unité à/dev/null, ce qui l’empêche d’être chargé ou manipulé par systemd. Cela ajoute une couche de protection supplémentaire.
Pour voir quels services sont masqués et ne peuvent pas être démarrés ou arrêtés manuellement ou automatiquement sur votre système, exécutez cette commande dans le terminal de votre PC Linux :
sudo systemctl list-unit-files –type service –state masked
La liste des services masqués apparaîtra dans une liste (avec masked répertorié sous la colonne STATE)
Masquer un Service avec systemctl
Exécutez cette commande dans le terminal pour empêcher qu’un service soit démarré, arrêté manuellement ou automatiquement sur votre système :
sudo systemctl mask
Remplacez
Cela créera le lien symbolique depuis l’unité de service file vers/dev/null pour l’empêcher d’être chargé ou manipulé par systemd.
Démasquer un service avec systemctl
Vous pouvez démasquer un service qui a déjà été masqué. Cela supprimera le lien symbolique vers/dev/null et lui permettra d’être utilisé et chargé ailleurs.
Pour démasquer un service précédemment masqué sur votre système, exécutez cette commande :
sudo systemctl unmask
Remplacer
Contrôle de votre PC Linux
Si votre PC Linux utilise systemd pour gérer les services système, vous pouvez utiliser la commande systemctl pour les gérer. Vous pouvez démarrer, arrêter, recharger, désactiver et contrôler vos services, ce qui vous donne un meilleur contrôle sur votre PC Linux.
Une autre façon de gérer votre PC consiste à limiter l’accès à certains fichiers. Vous pouvez utiliser la commande chmod sur votre PC Linux pour autoriser (ou interdire) l’accès.
Vous ne savez pas si votre distribution Linux vous convient ? Vous devriez plutôt essayer une autre distribution Linux de premier plan, ou même essayer une distribution Linux portable. L’utilisation d’une distribution portable vous permettra de basculer facilement entre eux.