0% ont trouvé ce document utile (0 vote)
45 vues5 pages

TP3 Cibles Services Systemd

Transféré par

Zäk Ärïä
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
45 vues5 pages

TP3 Cibles Services Systemd

Transféré par

Zäk Ärïä
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Administration Unix

4IIR
TP 3 : Configuration des cibles et gestion des services par Systemd

Objectif :
• Comprendre comment fonctionnent les cibles (target) systemd
• Manipuler les commandes les plus utiles des ciblesc.
• Gérer les services par systemd

Atelier 1 : Bases de systemd et systemctl


1. Vérifier si le système Linux utilise Systemd
Si vous n'êtes pas sûr de savoir si votre distribution Linux utilise systemd, ouvrez une fenêtre
Terminal et exécutez la commande suivante :
root@hostname# systemctl --version

Cela vous montre le numéro de version de systemd sur votre système Linux, si systemd est installé.
2. Vérifier votre gestionnaire de démarrage
Pour vérifier que votre distribution est gérée par systemd, nous pouvez lancer à partir du
terminalhe:
root@hostname# ps aux | head -2. #Afficher les 2 premières
lignessyst
Si le PID 1 est systemd c'est que votre système fonctionne avec systemd.

3. Vérifier ou sont installés les fichiers de systemd et systemctl


root@hostname# whereis systemd
root@hostname# whereis systemctl

4. Analyser le temps de démarrage de votre système :


La commande ci-dessous donne le temps total nécessaire au démarrage, ainsi que le temps
après lequel on arrive à l'écran de connexion.
root@hostname# systemd-analyze

5. Analyser le temps pris par chaque processus au démarrage.


La commande system-analyze utilisée avec l'option blame donne la liste des services en
cours, triés par ordre de temps nécessaire à leur initialisation (ordre décroissant)
root@hostname# systemd-analyze blame

6. Analyser la chaine critique du démarrage


root@hostname# systemd-analyze critical-chain

Cette commande est utilisée pour afficher la chaîne critique des unités du système au
démarrage. Elle fournit des informations sur la séquence d'activation des unités au démarrage
du système, en mettant en évidence les dépendances critiques et les unités qui ont un impact
significatif sur le temps de démarrage du système.
Cela peut être utile pour diagnostiquer les problèmes de performance liés au démarrage du
système et pour identifier les unités qui peuvent nécessiter une optimisation ou une attention
particulière afin d'accélérer le processus de démarrage
li

Atelier 2 : Configurer les cibles systemd


Pour afficher, modifier, ou configurer des cibles Systemd, vous allez utiliser l'utilitaire
systemctl comme décrit dans le Tableau ci-dessous. Les commandes runlevel et telinit sont
toujours disponibles dans le système et fonctionnent comme prévu, mais ne sont incluses que
pour des raisons de compatibilité et doivent être évitées.
Ancienne Nouvelle commande Description
commande
runlevel systemctl list-units --type target Répertorie les unités de cible
actuellement chargées
init runlevel systemctl isolate name.target Modifie la cible actuelle.

1. Afficher la cible par défaut


Au démarrage du système, lorsque le contrôle est transféré de initramfs à systemd, ce dernier
tente d’activer la cible par défaut.
Pour déterminer l'unité de cible qui est utilisée par défaut, exécutez la commande suivante :
root@hostname# systemctl get-default

Cette commande résoud le lien symbolique situé sur /etc/systemd/system/default.target et


affiche le résultat.
2. Afficher la cible actuelle
Pour répertorier toutes les unités de cible actuellement chargées, il faut saisir la commande
suivante:
root@hostname# systemctl list-units --type target

2/5
Cette commande affiche le nom complet de chaque unité de cible (UNIT) suivi d'une note
indiquant si l'unité a été chargée (LOAD), son état d'activation de haut niveau (ACTIVE) et de
bas niveau (SUB), ainsi qu'une courte description (DESCRIPTION).
3. Modifier la cible par défaut
Pour configurer le système de manière à utiliser une unité de cible différente par défaut,
saisissez la commande suivante :
root@hostname# systemctl set-default name.target

Remplacez name par le nom de l'unité de cible que vous souhaitez utiliser par défaut (par
exemple, multi-user).
Cette commande remplace le fichier /etc/systemd/system/default.target par un lien
symbolique pointant vers /usr/lib/systemd/system/name.target, où name est le nom de
l'unité cible que vous souhaitez utiliser.
Exemple: Configurer le système de manière à utiliser l'unité multi-user.target par défaut
root@hostname# systemctl set-default multi-user.target

Vous aurez l’affichage suivant:


root@hostname# systemctl set-default multi-user.target

Created symlink /etc/systemd/system/default.target→


/lib/systemd/system/multi-user.target.

root@hostname# systemctl reboot

4. Modifier la cible actuelle


Vous pouvez changer la cible actuelle immédiatement avec l’option isolate de la commande
systemctl.
root@hostname# systemctl isolate name.target

Remplacer name par le nom de l'unité de cible que vous souhaitez utiliser par défaut (par
exemple, multi-user). Cette commande met en place l'unité de cible nommée name et toutes
ses unités dépendantes, et arrête immédiatement toutes les autres.
Exemple : Désactiver l'interface utilisateur graphique de la session actuelle (modifier la cible
actuelle et activer la cible multi-user.target) :
root@hostname# systemctl isolate multi-user.target

root@hostname# systemctl --no-wall rescue

5. Lister toutes les unités défaillantes


root@hostname# systemctl --failed

iss

3/5
Vérifier si une unité de type service est activée
root@hostname# systemctl is-enabled sshd.service

6. Vérifiez si un service est en cours d'exécution


root@hostname# systemctl status crond.service

Atelier 3 : Gestion de services par systemctl


1. Lister tous les services de votre système (activés et désactivés)
# systemctl list-unit-files --type=service

2. Démarrer, redémarrer, arrêter, recharger le service SSH


# systemctl start sshd.service

# systemctl restart sshd.service

# systemctl stop sshd.service

# systemctl reload sshd.service

3. Interrogez systemd pour avoir le statut du service sshd


systemctl status sshd.service

4. Vérifier l’activation d’un service cron


# systemctl is-active crond.service

5. Activer le démarrage automatique du service cron au démarrage du système


# systemctl enable crond.service

6. Désactiver le démarrage automatique du service cron au démarrage du système


# systemctl disable crond.service

7. Masquer ou démasquer un service


# systemctl mask httpd.service
# systemctl unmask httpd.service

Lorsqu'un service est masqué, il devient impossible de le démarrer, de l'arrêter ou de le


redémarrer via systemd.
8. Envoyer un signal d’arrêt à un service
# systemctl kill sshd
# systemctl status sshd

Atelier 4: Création d'un service personnalisé avec systemd


1. Créer un script simple qui affiche un message dans un fichier.
Dans votre répertoire d’accueil (/home/user par exemple), créez un fichier appelé
service_perso.sh avec le contenu suivant :

4/5
#!/bin/bash
echo "Bonjour depuis le service personnalisé de systemd" >
/tmp/service_perso_output.txt

2. Créer un fichier de configuration pour votre service.


Par exemple, créez un fichier appelé service_perso.service dans le répertoire
/etc/systemd/system/ avec le contenu ci-dessous :
# cd /etc/systemd/system/

# touch service_perso.service

[Unit]
Description=Service personnalisé de test

[Service]
ExecStart=/bin/bash /home/user/custom_service.sh

[Install]
WantedBy=multi-user.target

3. Gestion du service :
Après avoir créé le fichier de service, exécutez les commandes suivantes pour activer et
démarrer le service :
# systemctl daemon-reload
# systemctl enable service_perso.service
# systemctl start service_perso.service

4. Vérification du service :

Vérifiez si le service fonctionne en vérifiant le contenu de /tmp/service_perso_output.txt.

5/5

Vous aimerez peut-être aussi