- Apprendre
- Informatique et numérique
- Systèmes, réseaux et cloud
- Linux : ligne de commande, scripts shell et administration
- Processus, paquets et services Linux
Processus, paquets et services Linux : systemd et journaux
ps, top et free, arrête-les et modifie leur priorité avec les signaux et nice, puis examine le matériel avec des outils comme lscpu, lsblk et lspci. Installe, mets à jour et supprime des logiciels avec apt et dnf, gère les services avec systemctl, consulte les journaux avec journalctl, /var/log et dmesg pour diagnostiquer un service défaillant, et sauvegarde des fichiers avec tar, gzip, xz et zip.DébutantUnité 6 sur 7 de la formation Formation : Linux : ligne de commande, scripts shell et administration
Ce que tu vas apprendre
- Trouve les programmes exécutés sur un système Linux, surveille leur utilisation du processeur et de la mémoire, puis arrête-les, suspends-les ou modifie leur priorité en toute sécurité.
- Liste les processus et interprète les informations affichées par psExplique ce qu’est un processus, identifie-le par son identifiant et utilise
ps,pgrepet/procpour trouver des processus et consulter leur état. - Surveille l’utilisation du processeur, la mémoire et la charge avec top, free et uptimeLis la vue des processus actualisée en direct dans
top, évalue la mémoire avecfreeet détermine à partir de la charge moyenne si un système est surchargé. - Arrête des processus à l’aide de signauxEnvoie des signaux avec
kill,pkilletkillall, choisis entre un arrêt demandé et un arrêt forcé, puis vérifie le résultat. - Exécute des tâches en arrière-plan et règle les prioritésDéplace des commandes entre le premier plan et l’arrière-plan, maintiens-les en cours d’exécution après la déconnexion et modifie leur priorité d’accès au processeur avec
niceetrenice.
- Liste les processus et interprète les informations affichées par ps
- Découvre quels processeur, mémoire, disques et périphériques possède une machine Linux, ainsi que le noyau et les pilotes qu’elle utilise, sans ouvrir son boîtier.
- Identifie le processeur, la mémoire et le systèmeUtilise
uname,lscpu,nproc,/procetdmidecodepour indiquer l’architecture, les processeurs, la mémoire et le noyau d’une machine. - Liste les disques, les périphériques PCI et USB et leurs pilotesNomme correctement les périphériques de stockage, liste les périphériques connectés à une machine avec
lsblk,lspcietlsusb, et trouve les pilotes et les messages du noyau associés.
- Identifie le processeur, la mémoire et le système
- Utilise les gestionnaires de paquets des familles Debian et Red Hat pour installer, mettre à jour, supprimer et examiner des logiciels en toute sécurité depuis des dépôts de confiance.
- Comprends les paquets, les dépôts et les dépendancesExplique ce que sont un paquet, un dépôt et une dépendance, comment les outils de gestion des paquets de haut et de bas niveau se répartissent le travail et quels outils utilise chaque famille de distributions.
- Installe, mets à jour et supprime des logiciels avec apt et dnfActualise les informations sur les paquets, installe et mets à niveau des logiciels, puis supprime-les proprement avec
aptsur les systèmes de la famille Debian etdnfsur ceux de la famille Red Hat. - Recherche des paquets et examine les logiciels installésTrouve le paquet dont tu as besoin, vérifie ce qui est installé et à quelle version, consulte les fichiers installés par un paquet et le paquet auquel appartient un fichier, puis examine l’historique des paquets.
- Comprends les paquets, les dépôts et les dépendances
- Vérifie, démarre, arrête, active et personnalise les services en arrière-plan avec
systemctl, et comprends comment systemd décide de ce qui s’exécute au démarrage.- Comprends systemd, les unités et l’état des servicesExplique ce que sont un service et une unité systemd, lis la sortie de
systemctl statuset distingue un service en cours d’exécution d’un service activé au démarrage. - Démarre et arrête des services, puis active ou désactive leur démarrage automatiqueContrôle les services immédiatement et au démarrage avec
systemctl, applique les modifications de configuration en toute sécurité et choisis la cible de démarrage par défaut. - Lis et personnalise les fichiers d’unitéTrouve et lis le fichier d’unité associé à un service, modifie ses paramètres en toute sécurité avec des fichiers de configuration complémentaires et écris ton propre service simple.
- Comprends systemd, les unités et l’état des services
- Trouve les messages qui expliquent ce qu’ont fait un système et ses services à l’aide du journal systemd, des fichiers journaux de
/var/loget des messages du noyau, puis utilise-les pour réparer un service défaillant.- Interroge le journal systemd avec journalctlLis le journal systemd avec
journalctl, en le filtrant par service, démarrage, niveau de priorité et heure, et identifie son emplacement de stockage. - Consulte les fichiers journaux dans /var/log et les messages du noyauTrouve et lis les fichiers journaux texte dans
/var/log, y compris les anciens fichiers issus de la rotation, et utilisedmesgpour lire les messages du noyau concernant le matériel et les pilotes. - Diagnostique un service défaillant étape par étapeCombine
systemctl,journalctlet les vérifications propres au programme dans une méthode reproductible qui permet de trouver pourquoi un service échoue et de confirmer la correction.
- Interroge le journal systemd avec journalctl
- Regroupe des fichiers et des répertoires dans des archives avec
taretzip, compresse-les et décompresse-les avec gzip, bzip2 et xz, puis choisis le format adapté aux sauvegardes et au partage.- Crée des archives tar, liste leur contenu et extrais-lesUtilise
tarpour créer des archives compressées, vérifier leur contenu et les extraire au bon endroit sans écraser accidentellement des fichiers. - Compresse des fichiers avec gzip, bzip2, xz et zipCompresse et décompresse des fichiers individuels, lis des journaux compressés sans les décompresser, utilise
zippour le partage et choisis un format selon la vitesse, la taille et l’usage.
- Crée des archives tar, liste leur contenu et extrais-les
Processus, paquets et services Linux : cours
1Surveille et contrôle les processus en cours d’exécution
Une commande lente, un serveur très sollicité ou un programme qui refuse de se fermer posent tous la même question : qu’est-ce qui s’exécute ? Les outils de gestion des processus permettent de relier un nom de programme à son utilisateur, à son identifiant de processus et à son utilisation des ressources. Tu vas lire un état à un instant donné, observer les changements au fil du temps, puis choisir comment arrêter ou suspendre une tâche. Le contrôle des tâches du shell et les priorités d’accès au processeur te donnent davantage de contrôle sur les tâches longues sans perdre l’invite du terminal.
1.1 Liste les processus et interprète les informations affichées par ps
Un programme comme /usr/bin/sleep est un fichier sur disque. Un processus est une instance de ce programme en cours d’exécution, avec sa propre mémoire et ses propres ressources. Trois commandes qui exécutent le même programme créent trois processus. Chaque processus en cours d’exécution possède un PID, un identifiant de processus ; Linux peut réutiliser ce numéro après sa fin.
Trouve le processus et son parent
Un processus est normalement lancé par un autre processus, son parent. La colonne PPID donne le PID de ce parent. Les commandes que tu lances dans un shell sont ses processus fils. Le PID 1 est le premier processus lancé par le noyau ; sur un système utilisant systemd, il s’agit de systemd. Lorsqu’il est installé, pstree -p dessine ces liens de parenté.
ps donne un état à un instant donné. Sa sélection par défaut comprend les processus associés à ton identifiant utilisateur effectif sur ton terminal actuel. Pour obtenir une vue de l’ensemble du système, choisis les colonnes dont tu as besoin :
| Commande | Colonnes utiles |
|---|---|
ps -ef | UID, PID, PPID, STIME, TIME, CMD |
ps aux | USER, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME, COMMAND |
La forme de style BSD ps aux ne comporte pas de tiret. Le champ USER identifie le compte dont le processus utilise les droits. Un processus root peut accéder à des ressources auxquelles le processus d’un utilisateur ordinaire ne peut pas accéder.
Lis une ligne
Examine cet exemple de ps aux :
www-data 2417 0.3 1.2 214560 48212 ? S 09:14 0:02 nginx: worker process
Le propriétaire est www-data, le PID est 2417 et l’utilisation moyenne du processeur depuis le démarrage est de 0,3 %. Le processus occupe actuellement 1,2 % de la RAM. RSS est la mémoire résidente : 48 212 KiB, soit environ 47,1 MiB. VSZ, égal à 214 560 KiB, comprend aussi l’espace d’adressage virtuel qui ne réside pas en RAM. Une valeur VSZ élevée ne suffit pas à prouver un manque de mémoire.
Le ? signifie qu’il n’y a pas de terminal de contrôle. L’état S signifie que le processus est en veille, généralement en attente de travail. START indique 09:14 ; TIME indique deux secondes de travail du processeur. TIME n’est pas la durée écoulée : un serveur peut fonctionner pendant des jours tout en utilisant très peu le processeur.
Reconnais les états des processus
| État | Signification |
|---|---|
R | En cours d’exécution ou prêt à recevoir du temps processeur |
S | En veille dans l’attente d’un événement |
D | En veille non interruptible, souvent dans l’attente du stockage |
T | Arrêté ou en pause |
Z | Zombie : terminé, en attente de récupération par son parent |
I | Thread du noyau inactif |
STAT peut ajouter des indicateurs : + pour un groupe au premier plan d’un terminal, s pour un chef de session, l pour plusieurs threads, N pour une priorité d’accès au processeur réduite et < pour une priorité élevée. La veille est normale. Un processus zombie est déjà terminé et n’utilise pas de temps processeur ; lui envoyer un autre signal de terminaison ne permet pas de récupérer son code de retour. Un nombre croissant de processus zombies indique qu’il faut examiner le programme parent.
Affine la recherche
pgrep -a nginx affiche les PID et les lignes de commande correspondants. Un motif peut correspondre à plusieurs noms : pgrep ssh peut trouver à la fois sshd et ssh-agent. pgrep -u alice sélectionne les processus selon leur utilisateur ; pidof nginx recherche un nom de programme. Un pipeline reliant ps à grep peut aussi afficher le processus grep lui-même.
Pour trouver les cinq processus qui utilisent le plus de mémoire, exécute :
ps -eo pid,ppid,user,%mem,cmd --sort=-%mem | head -n 6
Il y a six lignes, car la première est un en-tête. ps -p 2417 vérifie un PID. /proc/2417/status fournit son nom, son état, son parent et des détails sur sa mémoire. /proc est une vue virtuelle fournie par le noyau, et non un ensemble de rapports sur les processus stockés sur disque ; le répertoire du PID disparaît à la fin du processus.
Points clés
- Un processus est une instance en cours d’exécution ; son PID l’identifie pendant son existence.
ps -efindique les parents ;ps auxajoute des colonnes sur l’utilisation du processeur et de la mémoire.- TIME mesure le travail du processeur, tandis que START indique quand le processus a commencé.
- RSS mesure la RAM résidente ; VSZ comprend d’autres espaces de mémoire virtuelle.
- Les processus en veille sont normaux ; les processus zombies sont déjà terminés.
pgrepaffine une recherche et/proc/PID/statusfournit des informations du noyau.
1.2 Surveille l’utilisation du processeur, la mémoire et la charge avec top, free et uptime
Un état à un instant donné indique ce qui existe ; des observations répétées montrent ce qui change. top associe une liste des processus actualisée en direct à des totaux sur l’activité du processeur, la charge, la mémoire et l’espace d’échange. Lis le récapitulatif et la liste des processus actifs ensemble avant de décider quelle ressource est fortement sollicitée.
Utilise top
Exécute top. Appuie sur P pour trier par utilisation du processeur, M pour trier par utilisation de la mémoire, 1 pour afficher chaque processeur, h pour obtenir de l’aide et q pour quitter. Ses commandes k et r envoient des signaux et modifient les valeurs de nice. htop propose une autre vue interactive, mais peut nécessiter une installation.
Les colonnes des processus comprennent PID, USER, PR, NI, VIRT, RES, SHR, l’état, %CPU, %MEM, TIME+ et COMMAND. RES est la RAM résidente, comme RSS dans ps ; VIRT comprend l’espace d’adressage réservé. Dans le mode par processeur utilisé par défaut par top, un processus multithread peut atteindre 400 % en occupant quatre processeurs. La touche I fait passer l’affichage à un calcul qui divise l’utilisation par le nombre de processeurs.
Identifie le type d’activité du processeur
Le récapitulatif du processeur répartit le temps en catégories :
| Champ | Ce qu’il indique |
|---|---|
us, sy | Travail des programmes utilisateurs et du noyau |
ni | Travail utilisateur avec une priorité modifiée par nice |
id | Temps d’inactivité |
wa | Temps d’inactivité pendant que des entrées-sorties sont en attente |
hi, si | Travail lié aux interruptions matérielles et logicielles |
st | Temps perdu par une machine virtuelle au profit de son hôte |
Une utilisation élevée du processeur par les programmes utilisateurs suggère des calculs. Une valeur wa élevée avec peu de travail utilisateur attire l’attention sur les attentes du stockage. Dans une machine virtuelle, une valeur st élevée indique du temps processeur retenu par l’hôte. Ce sont des causes différentes d’une réponse lente.
Compare la charge à la capacité du processeur
uptime et top affichent les charges moyennes des 1, 5 et 15 dernières minutes. Linux compte les tâches prêtes à s’exécuter et celles en veille non interruptible, notamment pendant les attentes du stockage. La charge n’est pas un pourcentage d’utilisation du processeur. nproc indique les processeurs disponibles pour le processus actuel, ce qui aide à interpréter la capacité.
Pour un travail limité par le processeur avec peu d’attente du stockage, supposons que nproc indique 4 et que la charge soit 6.00, 5.20, 3.10. La charge récente est de 1,5 tâche par processeur : du travail a donc été mis en attente. La valeur sur la période la plus courte dépasse celle sur la période la plus longue, ce qui montre une hausse récente. Sur 16 processeurs, une charge de 6 serait bien plus légère. Une charge élevée avec des processeurs inactifs peut aussi provenir de tâches en état D.
Évalue la mémoire avec available
Exécute free -h. Sa ligne Mem comprend total, used, free, shared, buff/cache et available. Linux remplit la RAM libre avec des caches utiles pour le disque et peut en récupérer une grande partie. Free compte la RAM entièrement inutilisée ; available estime la quantité que de nouvelles tâches peuvent utiliser sans recourir à l’espace d’échange.
Par exemple, une machine indique total 7.6Gi, used 3.1Gi, free 0.4Gi, buff/cache 4.6Gi et available 4.5Gi. La faible valeur free n’indique pas un manque : environ 59 % restent disponibles. Dans les versions actuelles de procps, used est égal à total moins available ; free, used et cache ne constituent pas des parts qu’il suffit d’additionner.
Les suffixes Ki, Mi et Gi désignent des unités binaires. Un GiB vaut 1 073 741 824 octets ; un GB vaut 1 000 000 000 octets. free -m utilise les MiB et free -g les GiB entiers, ce qui peut masquer de petites quantités par arrondissement.
L’espace d’échange déplace une partie du contenu de la mémoire vers un stockage disque plus lent. Surveille la combinaison d’une faible mémoire disponible et d’une utilisation croissante de l’espace d’échange. Si la mémoire est épuisée, l’OOM killer du noyau peut terminer un processus. Recherche un message OOM avec sudo journalctl -k avant de supposer qu’une application s’est arrêtée brutalement d’elle-même.
Points clés
- Utilise à la fois le récapitulatif du système et la liste des processus dans
top. - Sous Linux, la charge compte les tâches prêtes à s’exécuter et les attentes non interruptibles ; ce n’est pas un pourcentage.
- Évalue la charge en fonction des processeurs disponibles et vérifie les attentes du stockage.
- La colonne available est plus utile que free pour évaluer la RAM encore utilisable.
- Une faible mémoire disponible et une utilisation croissante de l’espace d’échange indiquent une forte sollicitation ; les événements OOM apparaissent dans les journaux du noyau.
1.3 Arrête des processus à l’aide de signaux
Un signal est une courte notification transmise à un processus. Il peut demander une sortie, mettre une tâche en pause ou demander à un service de relire ses paramètres. La commande kill envoie des signaux ; son nom ne signifie pas que chaque signal termine le processus destinataire.
Choisis le signal
| Signal | Rôle |
|---|---|
SIGTERM | Demander une sortie propre ; signal par défaut de kill |
SIGKILL | Forcer la terminaison sans nettoyage par l’application |
SIGINT | Interrompre le programme au premier plan, généralement avec Ctrl+C |
SIGTSTP | Demander une pause, généralement avec Ctrl+Z |
SIGSTOP | Forcer une pause |
SIGCONT | Reprendre un processus arrêté |
SIGHUP | Signaler la fermeture du terminal ; certains services l’utilisent pour recharger leur configuration |
SIGQUIT | Quitter, éventuellement avec une image mémoire ; envoyé par Ctrl+\ |
La plupart des signaux peuvent être traités ou ignorés par le programme. SIGKILL et SIGSTOP ne peuvent être ni interceptés, ni bloqués, ni ignorés. kill -l liste les noms et les numéros. Sur x86 et ARM, les numéros courants comprennent TERM 15, KILL 9, INT 2, HUP 1, QUIT 3, CONT 18, STOP 19 et TSTP 20. Les noms évitent d’utiliser des numéros qui dépendent de l’architecture.
Arrête un processus avec précaution
Détermine d’abord de quel processus il s’agit. ps -p 5120 -o pid,user,stat,cmd permet d’examiner le PID, l’utilisateur, l’état et la commande. Demande ensuite une sortie propre :
kill -TERM 5120
kill 5120, kill -15 5120 et kill -s TERM 5120 envoient la même demande. Une sortie propre permet à l’application d’enregistrer son travail, de fermer les fichiers et de supprimer les fichiers de verrouillage. Laisse-lui le temps de répondre, puis exécute à nouveau ps -p 5120. Si seul l’en-tête apparaît, elle s’est terminée.
Si le même processus est toujours en cours d’exécution et reste bloqué après cette attente, kill -KILL 5120 permet de forcer sa terminaison. L’application perd alors la possibilité d’effectuer son nettoyage : le travail non enregistré peut être perdu et des fichiers temporaires peuvent rester. Vérifie à nouveau l’identité du processus avant d’aller plus loin : les PID peuvent être réutilisés après la fin d’un processus.
Vérifie les noms avant d’agir
pkill sélectionne les processus selon un motif de nom ; killall sélectionne un nom de programme. Les deux envoient normalement SIGTERM. Examine les correspondances d’un motif large avec pgrep -a fire avant d’utiliser pkill fire : ce motif peut sélectionner plus de processus que prévu. pkill -u bob sélectionne tous les processus de bob, et non une seule application.
killall -HUP rsyslogd envoie HUP aux processus de journalisation correspondants. L’effet de HUP dépend de l’application : vérifie qu’elle prend en charge le rechargement avant d’utiliser ce signal comme commande de rechargement. Pour un service géré par systemd, utilise sudo systemctl stop NAME ; le gestionnaire s’occupe du groupe de processus du service et ne considère pas l’arrêt demandé comme un échec à corriger automatiquement.
Comprends les droits et les états
Un compte ordinaire contrôle normalement ses propres processus. Une tentative d’envoi de signal au processus d’un autre compte peut produire « Operation not permitted » ; sudo fournit les droits root si nécessaire. Vérifie la cible avant d’utiliser ces droits, car arrêter le mauvais service affecte d’autres utilisateurs.
Un processus en état D peut rester visible après SIGKILL pendant qu’il attend une réponse du stockage. Répéter le signal ne répare pas ce stockage. Un processus zombie en état Z est déjà terminé ; son parent doit récupérer son code de retour. Il est donc important d’examiner l’état lorsque le processus ne disparaît pas.
Les raccourcis clavier ciblent le groupe de processus au premier plan. Ctrl+C termine généralement la tâche ; Ctrl+Z la met en pause tout en conservant sa mémoire et ses fichiers ouverts. La fermeture du terminal entraîne couramment l’envoi de HUP et la terminaison des tâches qui lui sont attachées : les tâches longues doivent donc être prises en charge en conséquence.
Points clés
- SIGTERM demande un nettoyage ; SIGKILL force la sortie sans nettoyage.
- Examine les correspondances d’un motif et vérifie le PID avant d’envoyer un signal.
- SIGSTOP met en pause et SIGCONT reprend ;
killne sert pas seulement à terminer un processus. - Un processus zombie ne peut pas être tué à nouveau, et les attentes du stockage peuvent retarder la terminaison.
- Utilise
systemctl stoppour un service géré.
1.4 Exécute des tâches en arrière-plan et règle les priorités
Une tâche au premier plan occupe le terminal jusqu’à ce qu’elle se termine ou s’arrête. Une tâche en arrière-plan permet au shell d’accepter une autre commande pendant son exécution. Le contrôle des tâches change le plan dans lequel une tâche s’exécute ; la priorité d’accès au processeur change la façon dont elle entre en concurrence avec les autres tâches.
Déplace une tâche entre le premier plan et l’arrière-plan
Une esperluette lance une commande en arrière-plan :
sleep 300 &
Le shell peut afficher [1] 6431. Ici, 1 est le numéro de tâche local et 6431 le PID valable dans tout le système. jobs liste uniquement les tâches de ce shell. fg %1 ramène la tâche 1 au premier plan. Si tu mets cette tâche au premier plan en pause avec Ctrl+Z, bg %1 la reprend en arrière-plan. Sans numéro, fg et bg choisissent la tâche marquée +.
Essaie la séquence avec sleep 300 : lance-la au premier plan, appuie sur Ctrl+Z, exécute bg, examine jobs, puis exécute fg et appuie sur Ctrl+C. « Stopped » signifie en pause, et non terminé. Une tâche arrêtée n’utilise pas de temps processeur, mais conserve sa mémoire et ses fichiers ouverts. Bash peut afficher l’avertissement « There are stopped jobs » lorsque tu essaies de quitter.
Gère la sortie et la déconnexion
Une commande en arrière-plan peut toujours écrire dans le terminal. Redirige les deux flux de sortie pour une tâche longue :
./report.sh > report.log 2>&1 &
La première redirection envoie la sortie normale vers le fichier. 2>&1 envoie la sortie d’erreur vers cette même destination. Le & final rend l’invite de commande pendant l’exécution de la tâche.
Le seul passage en arrière-plan ne protège pas une tâche contre la fermeture du terminal. Pour lancer une tâche qui ignore SIGHUP, utilise :
nohup ./long-task.sh > task.log 2>&1 &
Sans redirection explicite, nohup écrit généralement dans nohup.out la sortie destinée au terminal. Dans Bash, disown %1 retire une tâche existante de la table des tâches du shell, afin que Bash ne lui transmette pas HUP. Le programme a toujours besoin de destinations d’entrée et de sortie utilisables. Un programme destiné à fonctionner en permanence est mieux géré comme un service.
Laisse de la place aux tâches interactives
La valeur de nice exprime la priorité d’ordonnancement du processeur pour les processus ordinaires. Les valeurs vont de -20, priorité la plus élevée, à 19, priorité la plus basse ; la valeur de départ habituelle est 0. Les valeurs plus élevées donnent plus de possibilités aux tâches concurrentes. Un processus avec une valeur de nice de 19 peut tout de même utiliser pleinement un processeur par ailleurs inactif.
nice -n 10 xz -9 big.log
renice -n 15 -p 6431
La première commande lance la compression avec un ajustement positif de nice ; à partir de la valeur habituelle 0, celle-ci devient 10. La seconde fixe à 15 la valeur de nice du processus en cours d’exécution. nice sans -n applique un ajustement de 10. Un utilisateur ordinaire peut généralement augmenter la valeur de nice de son propre processus, ce qui réduit sa priorité d’accès au processeur. Augmenter la priorité en réduisant cette valeur nécessite normalement root, par exemple sudo renice -n -5 -p 6431.
Dans top, NI indique la valeur de nice ; pour les processus ordinaires à partage de temps, PR vaut généralement 20 plus NI. Une valeur de nice de 10 apparaît donc sous la forme PR 30. Dans ps aux, N indique une priorité réduite et < une priorité élevée. La valeur de nice agit sur la concurrence pour le processeur, et non sur la priorité d’accès au disque ; ionice contrôle une ressource distincte.
Points clés
&lance une tâche en arrière-plan ;jobs,fgetbgutilisent des numéros de tâche propres au shell.- Ctrl+Z met une tâche en pause ; il ne la termine pas.
- Utilise la redirection de sortie et
nohupen connaissance de cause pour une tâche longue dans le terminal. - Des valeurs de nice plus élevées réduisent la priorité d’accès au processeur en cas de concurrence, mais pas la vitesse maximale lorsque le processeur est inactif.
2Examine le matériel en ligne de commande
Les informations matérielles t’aident à choisir un paquet compatible, à interpréter l’utilisation des ressources et à décrire clairement une panne. Linux expose le noyau en cours d’exécution, la configuration des processeurs, la mémoire utilisable et les périphériques connectés par l’intermédiaire d’outils en ligne de commande. Tu vas distinguer les processeurs logiques des cœurs physiques, les capacités décimales indiquées sur les supports de stockage des tailles binaires, et un périphérique détecté d’un périphérique doté d’un pilote fonctionnel. Les mêmes vérifications sont utiles lorsque le matériel est virtuel.
2.1 Identifie le processeur, la mémoire et le système
Avant d’installer un logiciel ou de dimensionner une charge de travail, découvre ce que le système offre réellement. L’architecture détermine les paquets en code machine qui peuvent s’exécuter. La disponibilité des processeurs aide à expliquer la charge, et la RAM utilisable limite le travail qui tient en mémoire.
Distingue le noyau de la distribution
| Commande | Information |
|---|---|
uname -r | Version du noyau en cours d’exécution, comme 6.8.0-45-generic |
uname -m | Architecture, comme x86_64 ou aarch64 |
uname -a | Tous les champs de uname |
cat /etc/os-release | Nom et version de la distribution |
hostnamectl | Récapitulatif de l’hôte, du système d’exploitation, du noyau et de l’architecture |
Ubuntu 24.04 est une version de distribution ; une valeur comme 6.8.0-45-generic identifie le noyau qui s’y exécute. Installer un nouveau noyau ne change pas immédiatement le noyau en cours d’exécution : le changement a lieu au redémarrage.
Les noms d’architecture diffèrent selon la famille de paquets. Les paquets Debian utilisent amd64 pour l’architecture que uname indique comme x86_64, et arm64 pour aarch64. Les paquets RPM utilisent couramment directement x86_64 et aarch64. Vérifie que la version construite correspond à la machine avant de l’installer.
Compte les cœurs et les processeurs logiques
lscpu indique l’architecture, le modèle, les sockets, les cœurs par socket, les threads par cœur et les processeurs logiques. Pour une configuration uniforme des processeurs :
Un socket avec six cœurs et deux threads par cœur donne 12 processeurs logiques. Il y a toujours six cœurs physiques. Deux threads matériels partagent les ressources d’un même cœur : 12 processeurs logiques ne garantissent donc pas deux fois les performances de six cœurs.
nproc indique les unités de traitement disponibles pour le processus actuel ; l’affinité des processeurs ou les limites de ressources peuvent rendre ce nombre inférieur au total de la machine. /proc/cpuinfo fournit directement les détails des processeurs. Sur x86, grep -c ^processor /proc/cpuinfo compte les entrées de processeur, et les indicateurs vmx ou svm indiquent la prise en charge de la virtualisation matérielle. ARM expose des champs différents.
Consulte la mémoire utilisable et installée
free -h fournit un récapitulatif pratique de la RAM. /proc/meminfo fournit des détails : MemTotal est la RAM utilisable et MemAvailable estime la capacité que de nouvelles tâches peuvent utiliser. Ce fichier indique l’unité kB, mais il s’agit de kibioctets, soit 1 024 octets chacun.
Par exemple, MemTotal: 16303448 kB correspond à environ 15,5 GiB après deux divisions par 1 024. Une machine équipée de 16 GiB de barrettes physiques peut afficher moins de RAM utilisable, car le micrologiciel et le noyau en réservent une partie.
Pour examiner les barrettes installées et leurs emplacements, exécute sudo dmidecode -t memory. sudo dmidecode -t system indique les données de fabricant, de modèle et de numéro de série fournies par le micrologiciel. Une machine virtuelle indique son matériel virtuel. sudo lshw -short, lorsqu’il est installé, fournit un inventaire matériel compact.
Vérifie chaque exigence séparément
Supposons qu’un logiciel nécessite un système ARM 64 bits, au moins quatre processeurs disponibles et 8 GB de RAM. Si uname -m renvoie aarch64, l’exigence d’architecture est satisfaite. Si nproc renvoie 4, l’exigence relative aux processeurs est satisfaite. Un total de 3.7Gi ne représente qu’environ 4,0 GB : la mémoire est donc insuffisante. La réussite de deux vérifications ne peut pas compenser l’échec de la troisième.
Points clés
- Utilise
/etc/os-releasepour la distribution etuname -rpour le noyau en cours d’exécution. - Les noms d’architecture des paquets diffèrent :
amd64dans Debian correspond àx86_64. - Les sockets, les cœurs et les threads matériels déterminent le nombre de processeurs logiques.
nprocindique les processeurs disponibles pour le processus actuel.- La RAM utilisable peut être inférieure à la mémoire installée ;
/proc/meminfoutilise des kilooctets binaires.
2.2 Liste les disques, les périphériques PCI et USB et leurs pilotes
Linux donne des noms aux périphériques matériels sous /dev et publie sa représentation des périphériques sous /sys. Plusieurs outils de listage répondent à différentes questions : quels périphériques de stockage existent, quels bus ont détecté des périphériques et quels pilotes les prennent en charge.
Identifie les disques et les partitions
Les disques SATA, SAS et USB apparaissent couramment sous les noms /dev/sda, /dev/sdb et avec les lettres suivantes. Un numéro est ajouté pour leurs partitions, comme dans /dev/sda1. NVMe utilise des noms comme /dev/nvme0n1, avec /dev/nvme0n1p1 pour une partition. Une machine virtuelle peut utiliser /dev/vda.
lsblk affiche les périphériques en mode bloc sous forme d’arbre. TYPE distingue un disque d’une partition ; RM indique si le périphérique est amovible et RO s’il est en lecture seule. SIZE donne la capacité et MOUNTPOINTS indique où un périphérique est utilisé. Choisis des détails supplémentaires avec :
lsblk -o NAME,SIZE,MODEL
lsblk -f
La première commande facilite la comparaison du modèle et de la taille. La seconde ajoute le type de système de fichiers, son étiquette et son UUID. Les noms comme sdb peuvent changer selon l’ordre de détection. Avant d’écrire sur un disque, confirme son identité à l’aide d’autres éléments que la lettre : écrire sur le mauvais périphérique détruit ses données.
Un disque vendu pour 512 GB contient 512 milliards d’octets. Cela représente environ 476,8 GiB, que lsblk affiche sous la forme 476.8G. Le périphérique n’a pas perdu de capacité : son étiquette et l’affichage utilisent des unités différentes.
Trouve les périphériques et les pilotes associés
| Outil | Ce qu’il faut chercher |
|---|---|
lspci | Périphériques PCI et PCI Express, comme les contrôleurs réseau et de stockage |
lspci -k | Pilote utilisé et modules du noyau possibles |
lsusb | Identifiants et descriptions des périphériques USB |
lsusb -t | Connexions USB sous forme d’arbre, avec leurs vitesses |
lsmod | Modules du noyau chargés |
modinfo e1000e | Informations sur un module |
Un identifiant USB comme 046d:c52b identifie le fabricant et le produit plus sûrement qu’un nom général comme « récepteur sans fil ». Dans la sortie PCI, distingue Kernel modules, qui nomme les modules possibles, de Kernel driver in use, qui identifie un pilote associé. La détection seule ne signifie pas que le périphérique est pris en charge et fonctionne.
La plupart des pilotes peuvent être chargés comme modules du noyau, des morceaux de code du noyau ajoutés au besoin. Charger ou retirer des modules modifie le noyau en cours d’exécution et nécessite les droits root. Certains pilotes sont intégrés au noyau. Sur les cartes ARM, de nombreux périphériques intégrés ne sont pas reliés à PCI : une liste lspci courte ne signifie donc pas nécessairement qu’il manque du matériel.
Suis une connexion dans le journal du noyau
Lorsqu’un disque USB est branché, exécute sudo dmesg | tail, ou lance sudo dmesg -w avant de le connecter. Un message comme [sdb] 60437492 512-byte logical blocks identifie le nouveau disque comme /dev/sdb et indique sa capacité. Le nombre de blocs multiplié par leur taille donne 30 943 995 904 octets, soit environ 30,9 GB ou 28,8 GiB.
Compare ensuite la nouvelle entrée lsblk avec ce message et le modèle du périphérique. Si une carte détectée ne fonctionne pas, utilise lspci -k pour vérifier le pilote et dmesg pour lire les erreurs d’initialisation. L’absence de pilote associé et un pilote qui signale une erreur nécessitent des vérifications différentes.
Points clés
- Utilise
lsblkpour les périphériques en mode bloc,lspcipour PCI etlsusbpour USB. - Les noms des disques suivent l’ordre de détection ; vérifie le périphérique avant d’écrire.
- Un disque de 512 GB décimaux représente environ 476,8 GiB.
- Vérifie le pilote associé et les messages du noyau après la détection d’un périphérique.
3Installe et gère les logiciels avec les gestionnaires de paquets
Un gestionnaire de paquets relie les fichiers des logiciels à leurs versions, à leurs dépendances et à des sources de confiance. Choisir l’outil adapté à la distribution te permet d’installer et de maintenir les logiciels sans suivre toi-même chaque bibliothèque. Tu vas découvrir les familles de commandes Debian et Red Hat, distinguer l’actualisation des informations sur les paquets de l’application des mises à niveau, et retrouver le paquet et la transaction qui ont fourni une commande installée.
3.1 Comprends les paquets, les dépôts et les dépendances
Un paquet regroupe des fichiers logiciels avec les informations utilisées pour les installer et les maintenir. Ses métadonnées indiquent la version, l’architecture et les paquets requis, et il peut inclure des scripts d’installation. Un gestionnaire de paquets enregistre à quel paquet installé appartient chaque fichier.
Identifie la famille de distributions
| Systèmes | Format de paquet | Outil de dépôt | Outil de bas niveau |
|---|---|---|---|
| Debian, Ubuntu, Linux Mint | .deb | apt | dpkg |
| Fedora, RHEL, Rocky Linux, AlmaLinux, CentOS Stream | .rpm | dnf | rpm |
| openSUSE, SUSE Linux Enterprise | .rpm | zypper | rpm |
Arch Linux utilise pacman ; Alpine Linux utilise apk. L’ancien nom yum appartient à la famille Red Hat. Si tu ne sais pas quel système tu utilises, consulte cat /etc/os-release avant de choisir les commandes.
Un fichier comme nginx_1.24.0-2_amd64.deb indique nginx, la version du logiciel, la révision du paquet et l’architecture. Ces champs aident le gestionnaire de paquets à sélectionner une version construite compatible. Le nom familier d’une application ne rend pas chaque paquet téléchargé adapté à toutes les distributions.
Laisse l’outil de haut niveau résoudre les dépendances
Une dépendance est un autre paquet nécessaire au logiciel, souvent une bibliothèque partagée. Installer une application peut donc ajouter plusieurs paquets. Un outil de haut niveau comme apt ou dnf trouve un ensemble compatible, le télécharge et demande à l’outil de niveau inférieur de l’installer.
dpkg et rpm travaillent avec des fichiers de paquets locaux et tiennent à jour la base de données des paquets installés. Ils ne récupèrent pas les dépendances manquantes dans les dépôts. Les utiliser pour installer un fichier peut laisser des dépendances manquantes à résoudre. Les outils de haut niveau peuvent aussi installer des fichiers locaux tout en résolvant leurs dépendances à partir des dépôts configurés.
Les recherches et les consultations fonctionnent avec un compte utilisateur ordinaire. L’installation, la suppression et la mise à niveau modifient des fichiers système et nécessitent normalement sudo. L’écran de confirmation fournit des informations utiles : examine les paquets supplémentaires et les suppressions proposées avant d’accepter.
Comprends la confiance accordée aux dépôts
Un dépôt fournit des fichiers de paquets et des index décrivant les versions et les dépendances disponibles. Les dépôts propres à une distribution proposent un ensemble construit pour sa version.
APT vérifie les métadonnées signées du dépôt et compare les sommes de contrôle des paquets indiquées dans ces métadonnées aux fichiers téléchargés. Il ne vérifie normalement pas de signature distincte sur chaque fichier .deb. DNF vérifie normalement les signatures des paquets RPM de la distribution ; la vérification des signatures des métadonnées du dépôt est configurée séparément. Ces vérifications établissent une chaîne de confiance jusqu’à un éditeur de confiance et aident à détecter les modifications malveillantes.
Ajouter un dépôt tiers revient aussi à faire confiance aux logiciels et aux scripts d’installation de cet éditeur. Obtiens sa clé de signature en suivant les instructions authentiques de l’éditeur. Ne contourne pas les vérifications de signature pour passer outre une erreur comme « NO_PUBKEY ». Un fichier provenant d’une page de téléchargement inconnue doit aussi avoir une origine fiable ; l’extension du paquet ne suffit pas à établir cette confiance.
Recherche avec le bon nom
Les noms des logiciels et des paquets peuvent différer. Apache est fourni dans le paquet apache2 sur les systèmes de la famille Debian et httpd sur ceux de la famille Red Hat. La commande dig provient de bind9-dnsutils ou de bind-utils. Effectue une recherche avant de supposer que le nom d’une commande est aussi celui de son paquet.
D’autres systèmes d’installation tiennent des registres distincts. Snap, Flatpak et AppImage regroupent des applications avec de nombreuses dépendances ; pip et npm gèrent des bibliothèques de programmation. Installer une bibliothèque Python avec pip n’en fait pas un paquet géré par apt.
Points clés
- Utilise la famille de paquets et l’outil de dépôt correspondant à
/etc/os-release. - Les outils de haut niveau récupèrent les dépendances ;
dpkgetrpmtravaillent sur les paquets locaux et les registres. - Les dépôts fournissent des index de paquets et une chaîne de confiance jusqu’à un éditeur.
- Les noms de paquets peuvent différer des noms de programmes et varier selon la distribution.
- Les gestionnaires de paquets du système et les gestionnaires d’applications ou de langages tiennent des registres distincts.
3.2 Installe, mets à jour et supprime des logiciels avec apt et dnf
La maintenance des paquets comporte trois tâches distinctes : connaître ce qui est disponible, appliquer les modifications choisies et supprimer les logiciels devenus inutiles. Lis la transaction prévue avant de confirmer, surtout lorsqu’elle supprime des paquets.
Actualise et mets à niveau
| Tâche | Famille Debian | Famille Red Hat |
|---|---|---|
| Actualiser les listes de paquets | sudo apt update | DNF actualise automatiquement les métadonnées périmées |
| Appliquer les mises à niveau | sudo apt upgrade | sudo dnf upgrade |
| Installer nginx | sudo apt install nginx | sudo dnf install nginx |
| Supprimer nginx | sudo apt remove nginx | sudo dnf remove nginx |
| Supprimer les dépendances inutiles | sudo apt autoremove | sudo dnf autoremove |
apt update ne met pas les logiciels à niveau. Cette commande télécharge les listes de paquets actuelles. Exécute ensuite sudo apt upgrade pour installer les versions plus récentes. La commande de mise à niveau de DNF prend en charge les métadonnées de dépôt périmées au cours de son exécution. DNF4 utilise dnf check-update pour lister les modifications disponibles ; DNF5 utilise dnf check-upgrade.
apt upgrade ne supprime pas de paquet installé pour terminer une mise à niveau. Un paquet nécessitant une telle modification peut voir sa mise à niveau reportée. sudo apt full-upgrade autorise les suppressions : examine donc attentivement son plan. -y accepte automatiquement une transaction et ne te laisse pas la possibilité de l’examiner de manière interactive.
Installe depuis un dépôt ou un fichier local
Sur Ubuntu, exécute sudo apt update, puis sudo apt install htop. APT liste les nouveaux paquets et les dépendances avant de les télécharger. htop --version vérifie le programme installé. Sur Fedora, utilise sudo dnf install htop.
Exécuter apt install pour un paquet existant peut le mettre à niveau vers la version candidate actuelle ; la commande ne change rien si cette version est déjà installée. Pour installer un fichier local de confiance, indique son chemin :
sudo apt install ./app_2.1.0_amd64.deb
sudo dnf install ./app-2.1.0-1.x86_64.rpm
Le ./ indique un chemin de fichier. En revanche, sudo dpkg -i file.deb et sudo rpm -i file.rpm ne récupèrent pas les dépendances manquantes. Si dpkg laisse des dépendances non satisfaites, sudo apt --fix-broken install peut les résoudre ; examine la réparation proposée.
Choisis les logiciels et les paramètres à supprimer
La commande remove d’APT conserve la configuration système gérée par le paquet ; purge la supprime aussi. Aucune des deux ne supprime les fichiers des répertoires personnels des utilisateurs. La suppression automatique cible les dépendances installées automatiquement dont les paquets installés n’ont plus besoin. C’est une décision différente de la suppression d’une application nommée.
Les entrées de sources APT se trouvent dans /etc/apt/sources.list et /etc/apt/sources.list.d/ ; Ubuntu 24.04 utilise couramment ubuntu.sources dans ce répertoire. Actualise les listes après avoir modifié les sources. DNF lit les fichiers .repo sous /etc/yum.repos.d/ ; dnf repolist affiche les dépôts activés.
Termine proprement la maintenance
apt est conçu pour une utilisation interactive. Les scripts utilisent généralement les interfaces plus stables d’apt-get et d’apt-cache. Leurs commandes couvrent globalement les mêmes tâches, même si les valeurs par défaut peuvent différer.
Un noyau nouvellement installé devient le noyau en cours d’exécution après un redémarrage. Les programmes qui utilisent des bibliothèques remplacées doivent être redémarrés pour charger le nouveau code. Ubuntu peut indiquer qu’un redémarrage est nécessaire avec /var/run/reboot-required.
Un verrou du gestionnaire de paquets signifie souvent qu’une mise à jour automatique ou une autre opération sur les paquets est en cours. Attends qu’elle se termine ; supprimer le fichier de verrouillage peut endommager les registres des paquets. Une erreur de droits indique plutôt que les autorisations manquent : vérifie donc si l’opération nécessite sudo.
Points clés
apt updateactualise les listes ;apt upgrademodifie les logiciels installés.- DNF actualise les métadonnées périmées pendant la mise à niveau ; DNF4 et DNF5 donnent des noms différents à la vérification des mises à jour.
- La commande remove d’APT conserve la configuration système gérée ; purge la supprime.
- Utilise un chemin avec apt ou dnf pour installer un fichier local et résoudre les dépendances.
- Examine les suppressions prévues lors d’une mise à niveau complète et les dépendances proposées à la suppression automatique.
- Attends la fin de l’opération qui détient le verrou et redémarre les programmes ou la machine lorsque le code mis à jour le nécessite.
3.3 Recherche des paquets et examine les logiciels installés
Lorsqu’une commande manque ou qu’une version change, les requêtes sur les paquets permettent de remonter à partir du symptôme. Commence par déterminer si tu as besoin d’informations sur les dépôts, sur les paquets installés ou sur le paquet auquel appartient un fichier précis.
Recherche avant d’installer
apt search json et dnf search json recherchent dans les noms et les descriptions des paquets. Examine un résultat prometteur avec apt show NAME ou dnf info NAME. Ces commandes affichent des détails comme la version, la taille, la description et le dépôt. La sortie de show d’APT liste aussi les dépendances ; celles de DNF peuvent être consultées avec dnf repoquery --requires NAME.
Les informations du dépôt indiquent ce que tu pourrais installer. Elles ne permettent pas à elles seules de déterminer ce qui est déjà installé. apt policy NAME distingue la version installée de la version candidate, celle qu’APT sélectionnerait actuellement. apt list --upgradeable ou dnf list --upgrades affiche les paquets installés pour lesquels des mises à jour sont disponibles.
Interroge les registres des paquets installés
| Question | Famille Debian | Famille Red Hat |
|---|---|---|
| Qu’est-ce qui est installé ? | apt list --installed ou dpkg -l | dnf list --installed ou rpm -qa |
| Quelle version d’un paquet est installée ? | dpkg -l nginx | rpm -q nginx |
| Quels fichiers proviennent de htop ? | dpkg -L htop | rpm -ql htop |
| À quel paquet appartient ce fichier installé ? | dpkg -S /usr/bin/htop | rpm -qf /usr/bin/htop |
Dans dpkg -l, l’état ii indique un paquet installé. Le sens de la recherche compte : -L part d’un paquet et liste ses fichiers ; -S part d’un fichier et trouve le paquet auquel il appartient. Sur les systèmes RPM, la distinction correspondante est entre -ql et -qf.
Retrouve le paquet d’une commande
Supposons que which openssl affiche /usr/bin/openssl. Sur Debian, dpkg -S /usr/bin/openssl indique que le fichier appartient au paquet openssl. apt policy openssl affiche ensuite la version installée, la version candidate et les dépôts. Cela évite de supposer que le nom de la commande correspond toujours à celui de son paquet.
Pour une commande manquante, il peut ne pas y avoir de paquet installé à rechercher. dnf provides /usr/bin/rsync recherche dans les listes de fichiers des dépôts. Les systèmes de la famille Debian proposent l’outil distinct apt-file : après l’actualisation de son index avec sudo apt-file update, apt-file search bin/rsync trouve les paquets qui fournissent le fichier. Ubuntu peut aussi suggérer un paquet lorsqu’une commande est introuvable.
Relie une panne à une transaction
APT enregistre les transactions dans /var/log/apt/history.log ; dpkg enregistre les actions de niveau inférieur dans /var/log/dpkg.log. Sur DNF4, dnf history liste les transactions ; DNF5 utilise dnf history list. dnf history info 12 affiche les paquets modifiés lors de la transaction 12.
sudo dnf history undo 12 demande l’annulation de cette transaction. Examine le plan : l’annulation dépend de la disponibilité des versions de paquets nécessaires et ne restaure pas toutes les données des applications. Pour le diagnostic, lis l’historique avant d’effectuer une autre modification. Une mise à niveau récente d’une bibliothèque peut expliquer pourquoi le comportement d’un programme a changé, même si personne n’a réinstallé l’application principale.
Points clés
- Distingue les versions des dépôts de la version réellement installée.
- Utilise
dpkg -Lourpm -qlpour retrouver les fichiers d’un paquet. - Utilise
dpkg -Sourpm -qfpour retrouver le paquet auquel appartient un fichier installé. - Pour un fichier manquant, recherche le paquet qui le fournit dans les dépôts plutôt que parmi les paquets installés.
- L’historique des transactions aide à relier un nouveau problème à une modification récente des paquets.
4Gère les services avec systemd
Les services continuent d’effectuer leur travail après qu’un utilisateur a quitté le terminal. systemd gère leur démarrage, leur état actuel et leur réaction aux échecs, en utilisant des fichiers d’unité pour décrire ce qui doit s’exécuter. Tu vas lire l’état sans le confondre avec la configuration du démarrage, contrôler les services immédiatement et pour les démarrages futurs, puis apporter de petites modifications de configuration qui résistent aux mises à jour des paquets. Un fichier de service simple montre comment ces paramètres s’articulent.
4.1 Comprends systemd, les unités et l’état des services
Un service, souvent appelé daemon, fournit une fonction en arrière-plan, comme servir des pages web ou accepter des connexions SSH. Il n’a généralement pas de terminal. De nombreux noms de daemons se terminent par d, comme sshd et chronyd.
Trouve le gestionnaire de services
Sur la plupart des distributions courantes, systemd s’exécute avec le PID 1 et lance les services dans l’ordre requis. Vérifie-le avec ps -p 1 -o comm=. systemd peut superviser les processus, redémarrer les services en échec et organiser la collecte de leurs journaux. Certaines distributions utilisent un autre gestionnaire, comme OpenRC sur Alpine Linux.
systemd gère des unités. Leurs suffixes indiquent leur rôle :
| Suffixe | Rôle |
|---|---|
.service | Exécuter et gérer un programme ou une tâche |
.socket | Écouter sur une socket et activer un service au besoin |
.timer | Planifier une activation |
.mount | Représenter un système de fichiers monté |
.target | Regrouper des unités dans un état nommé du système |
Dans les commandes de service, nginx est une forme abrégée de nginx.service. Les noms varient : SSH utilise couramment ssh sur Debian et Ubuntu, et sshd sur Fedora et RHEL. Apache s’appelle apache2 ou httpd. systemctl list-unit-files | grep ssh aide à trouver le nom local.
Lis les deux lignes d’état importantes
Exécute systemctl status nginx. Un exemple peut contenir :
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-10-21 09:14:03 UTC
Main PID: 2410 (nginx)
Loaded indique le fichier d’unité et son état d’activation au démarrage. Active indique l’état actuel et depuis quand il a commencé. Main PID identifie le processus principal ; les lignes de journal récentes suivent. Un utilisateur ordinaire peut consulter l’état, mais la visibilité des journaux système peut nécessiter des droits supplémentaires.
Active et enabled sont indépendants. Active décrit le présent. Enabled signifie que des liens d’activation ont été créés, généralement pour qu’une cible démarre le service au démarrage du système. Un service désactivé au démarrage peut toujours être lancé manuellement ou activé par une autre unité. Un service activé au démarrage peut être arrêté ou en échec.
Interprète correctement l’état
| État Active | Interprétation |
|---|---|
active (running) | Le programme du service est en cours d’exécution |
active (exited) | Une tâche terminée est toujours considérée comme active |
inactive (dead) | Le service n’est pas actif |
failed | Un démarrage ou une exécution a échoué ; examine le résultat et les journaux |
activating | Le démarrage est en cours |
La couleur du point d’état facilite la lecture rapide, mais le texte de l’état fournit l’information utile. systemctl is-active nginx indique l’état actuel ; systemctl is-enabled nginx indique l’activation au démarrage. static signifie que l’unité n’a pas d’instructions d’activation au démarrage et peut être activée par une autre voie. masked signifie que son démarrage est bloqué.
Choisis la vue d’ensemble adaptée
systemctl list-units --type=service affiche les unités de service actuellement chargées, avec son filtrage d’état par défaut. Ajoute --all pour inclure les unités chargées inactives, ou --state=running pour te concentrer sur les services en cours d’exécution. systemctl --failed isole les unités en échec. systemctl list-unit-files --type=service liste les fichiers de service installés et leurs états d’activation au démarrage, y compris les services qui ne sont pas en cours d’exécution.
Points clés
- systemd gère des unités ; une unité
.servicedécrit un programme ou une tâche. - Lis Loaded pour le fichier d’unité et l’activation au démarrage, et Active pour l’état actuel.
- Un service activé au démarrage peut être arrêté ; un service désactivé au démarrage peut être en cours d’exécution.
active (exited)peut décrire une tâche terminée avec succès.- Utilise list-unit-files pour les définitions installées et list-units pour les unités chargées.
4.2 Démarre et arrête des services, puis active ou désactive leur démarrage automatique
Le contrôle des services concerne deux moments : ce qui doit s’exécuter maintenant et ce qui doit démarrer automatiquement plus tard. Distingue ces décisions lorsque tu installes un logiciel ou répares un service.
Contrôle l’état actuel
| Commande | Effet |
|---|---|
sudo systemctl start nginx | Démarrer maintenant |
sudo systemctl stop nginx | Arrêter maintenant |
sudo systemctl restart nginx | Arrêter et démarrer, en interrompant le travail en cours |
sudo systemctl reload nginx | Demander à un service compatible de relire sa configuration |
sudo systemctl reload-or-restart nginx | Recharger si c’est pris en charge ; sinon redémarrer |
Utilise systemctl status nginx après une modification. Pour une vérification silencieuse, systemctl is-active --quiet nginx renvoie un code de réussite lorsque le service est actif. La commande n’affiche aucun texte d’état, ce qui la rend utile dans les conditions du shell.
La prise en charge du rechargement dépend du service. Pour nginx, teste une configuration modifiée avec sudo nginx -t avant sudo systemctl reload nginx. Un rechargement réussi peut appliquer les nouveaux paramètres sans arrêter le service. Si la configuration est incorrecte, nginx conserve l’ancienne configuration en cours lors du rechargement ; un redémarrage avec le fichier incorrect peut au contraire laisser le service arrêté.
Configure le démarrage automatique
sudo systemctl enable nginx crée des liens d’activation ; cette commande ne démarre pas nginx immédiatement. sudo systemctl disable nginx supprime ces liens ; elle n’arrête pas le processus actuel. Pour effectuer les deux changements ensemble :
sudo systemctl enable --now nginx
sudo systemctl disable --now nginx
La première commande active le démarrage automatique et démarre le service ; la seconde désactive le démarrage automatique et arrête le service. Sur Fedora, l’installation de nginx le laisse généralement arrêté et désactivé au démarrage, tandis que l’installation du paquet dans la famille Debian le démarre et active souvent son démarrage automatique. Vérifie l’état réel après l’installation.
Après avoir démarré un service web, curl -I http://localhost peut vérifier sa réponse locale. Une réponse locale réussie et l’accès depuis une autre machine sont deux tests différents ; un pare-feu peut encore bloquer l’accès distant.
Bloque l’activation si nécessaire
Désactiver le démarrage automatique n’empêche pas une dépendance ou une socket d’activer un service. Le masquage bloque le démarrage en reliant le nom de l’unité à /dev/null :
sudo systemctl mask bluetooth
sudo systemctl unmask bluetooth
Le masquage seul n’arrête pas une unité déjà en cours d’exécution. Arrête-la également si elle doit cesser de fonctionner. Annuler le masquage supprime le blocage ; cela ne démarre pas le service et n’active pas son démarrage automatique. Une tentative de démarrage d’une unité masquée indique qu’elle est masquée.
Choisis l’état du système par défaut
Une cible regroupe des unités. multi-user.target fournit l’environnement multiutilisateur normal sans interface graphique, couramment utilisé sur les serveurs. graphical.target ajoute le bureau. systemctl get-default indique la cible par défaut, et sudo systemctl set-default multi-user.target modifie la cible choisie pour les démarrages futurs ; cette commande ne ferme pas immédiatement le bureau actuel.
sudo systemctl reboot redémarre la machine et sudo systemctl poweroff l’éteint. Pour un seul service, utilise plutôt ses propres commandes de contrôle. Terminer le PID d’un service géré peut déclencher un redémarrage automatique ; un systemctl stop intentionnel indique à systemd de le laisser arrêté.
Points clés
- Start et stop agissent sur le présent ; enable et disable modifient les liens d’activation au démarrage.
enable --nowetdisable --nowcombinent les deux moments.- Désactiver le démarrage automatique laisse possibles d’autres voies d’activation ; le masquage bloque le démarrage.
- Le masquage seul laisse fonctionner un service déjà en cours d’exécution.
- Teste la configuration de l’application avant de recharger ou de redémarrer.
- Modifier la cible par défaut choisit le comportement des démarrages futurs.
4.3 Lis et personnalise les fichiers d’unité
Un fichier d’unité indique à systemd comment exécuter un service. Consulte la configuration effective avec systemctl cat NAME : la commande affiche le fichier de base et les éventuels fichiers de configuration complémentaires avec leurs chemins.
Sache où placer les paramètres
Les unités fournies par des paquets se trouvent sous /usr/lib/systemd/system/, également accessible sous le nom /lib/systemd/system/ sur les systèmes de la famille Debian. Les fichiers locaux de l’administrateur et les fichiers de configuration complémentaires se trouvent sous /etc/systemd/system/, qui est prioritaire. Une mise à jour du paquet peut remplacer son propre fichier : conserve donc les modifications locales dans un fichier complémentaire.
Un fichier d’unité contient des sections et des paramètres Key=value :
| Section | Paramètres importants |
|---|---|
[Unit] | Description=, ordre avec After=, dépendances avec Wants= ou Requires= |
[Service] | ExecStart=, User=, WorkingDirectory=, Environment=, Restart= |
[Install] | WantedBy=, utilisé lors de l’activation de l’unité au démarrage |
After=network.target définit un ordre ; ce paramètre ne démarre pas lui-même cette cible et ne garantit pas une connexion Internet. WantedBy=multi-user.target indique à enable de créer un lien sous multi-user.target.wants/. Une unité statique n’a pas d’instructions d’activation au démarrage, mais peut tout de même être activée par une autre unité.
Crée un service simple
Pour un petit serveur de test, prépare d’abord /srv/hello avec des fichiers lisibles et un compte système :
sudo useradd --system --no-create-home hello
Avec Python 3 installé dans /usr/bin/python3, écris /etc/systemd/system/hello-web.service :
[Unit]
Description=Hello web server
After=network.target
[Service]
ExecStart=/usr/bin/python3 -m http.server 8080 --directory /srv/hello
User=hello
Restart=on-failure
[Install]
WantedBy=multi-user.target
Exécute sudo systemctl daemon-reload, puis sudo systemctl enable --now hello-web. Examine systemctl status hello-web et envoie une requête à http://localhost:8080 avec curl. Le compte du service doit avoir le droit de lire le répertoire et de parcourir ses répertoires parents.
Avec le réglage par défaut Type=simple, le programme reste au premier plan afin que systemd puisse le suivre. ExecStart= accepte un chemin absolu vers un exécutable ou un simple nom de fichier présent dans le chemin de recherche de systemd. Un chemin relatif contenant une barre oblique, comme ./server, est invalide. Un programme qui crée un processus fils en arrière-plan nécessite un type de service adapté, comme Type=forking.
Modifie un paramètre fourni par un paquet
sudo systemctl edit nginx ouvre un fichier de configuration complémentaire. Par exemple :
[Service]
Restart=on-failure
RestartSec=5s
L’enregistrement par systemctl edit recharge la configuration des unités de systemd. Redémarre le service pour appliquer les paramètres d’exécution modifiés. Si tu modifies directement les fichiers, exécute toi-même sudo systemctl daemon-reload avant de redémarrer. Cette commande recharge les définitions des unités, et non la configuration propre à l’application.
Pour remplacer un paramètre de type liste comme ExecStart, une ligne ExecStart= vide est nécessaire avant la nouvelle ligne. sudo systemctl revert nginx supprime les modifications locales et restaure la configuration du fournisseur.
Restart=no laisse un processus terminé à l’arrêt. on-failure le redémarre après les échecs concernés ; always couvre aussi les sorties propres. Un systemctl stop intentionnel empêche le redémarrage automatique. Des échecs rapides peuvent atteindre une limite configurée de fréquence des démarrages. Par défaut, le gestionnaire autorise cinq démarrages en 10 secondes ; la configuration locale peut modifier ces valeurs. Corrige la cause avant d’effacer l’état d’échec et de réessayer.
Points clés
- Conserve les paramètres locaux sous
/etc/systemd/system/; examine-les avecsystemctl cat. - Les sections d’une unité séparent la description et les dépendances, l’exécution et l’activation au démarrage.
- Exécute un service simple au premier plan sous un compte adapté.
- Recharge les définitions des unités après des modifications directes, puis redémarre pour appliquer les changements d’exécution.
- Un fichier de configuration complémentaire résiste aux mises à jour du paquet ; les paramètres de type liste peuvent nécessiter une ligne vide de réinitialisation.
- La politique de redémarrage gère les sorties des processus, tandis que les limites de fréquence empêchent des tentatives rapides sans fin.
5Consulte les journaux système pour diagnostiquer les problèmes
L’état d’un service indique qu’un échec s’est produit ; les journaux aident à en comprendre la raison. Linux enregistre les messages dans le journal systemd, les fichiers journaux des applications et le tampon de messages du noyau. Tu vas filtrer ces enregistrements par service, démarrage, heure et gravité, puis relier la première erreur utile à une vérification précise. Une réparation méthodique traite une cause à la fois et vérifie à la fois le service en cours d’exécution et son comportement de démarrage prévu.
5.1 Interroge le journal systemd avec journalctl
Le journal systemd recueille les messages du noyau, du démarrage et des services, y compris les sorties envoyées au journal par les programmes gérés. systemd-journald stocke des enregistrements binaires indexés. Lis-les avec journalctl ; un lecteur de fichiers texte comme less ne peut pas interpréter les fichiers du journal eux-mêmes.
Lis suffisamment d’entrées
L’accès au journal système dépend des droits et de la politique locale. Root et les groupes autorisés comme systemd-journal ou adm peuvent lire les entrées système. Si un compte ordinaire n’en voit qu’une partie, utilise sudo journalctl pour examiner le système.
La vue par défaut commence par les anciens messages dans un pageur. Utilise les flèches pour te déplacer, / pour rechercher et q pour quitter. Choisis une vue plus ciblée :
| Option | Effet |
|---|---|
-r | Les plus récents en premier |
-e | Aller à la fin |
-n 50 | Les 50 dernières entrées |
-f | Suivre les nouvelles entrées jusqu’à Ctrl+C |
--no-pager | Afficher directement, utile pour les tubes |
-n sans nombre sélectionne dix entrées. La sortie de l’état ne montre souvent que quelques lignes récentes : lis donc le journal si ces lignes n’expliquent pas l’échec.
Combine les filtres d’unité, de démarrage et de temps
sudo journalctl -u nginx -b sélectionne les entrées de nginx depuis le démarrage actuel. -b -1 sélectionne le démarrage précédent ; --list-boots liste les démarrages conservés. -k sélectionne les messages du noyau et implique normalement le démarrage actuel. Pour les entrées plus anciennes du noyau, indique explicitement le démarrage.
Les filtres temporels acceptent des indications relatives et des dates complètes :
sudo journalctl -u nginx --since "2026-10-22 08:00" --until "2026-10-22 09:30"
--since today signifie depuis minuit aujourd’hui, tandis que --since "1 hour ago" définit une fenêtre temporelle mobile. Les chaînes de date et d’heure entre guillemets restent groupées dans un seul argument. Une date sans heure commence à minuit.
Comprends le seuil de priorité
Les niveaux de priorité vont de 0, urgence, à 7, débogage. Entre les deux se trouvent alerte, critique, erreur, avertissement, notification et information. Plus le nombre est petit, plus le niveau est grave. -p err inclut les niveaux 0 à 3, et pas seulement les erreurs. Utilise une plage explicite comme -p err..warning pour sélectionner ces niveaux.
Un filtre de gravité trop restrictif peut masquer les éléments dont tu as besoin. Par exemple, SSH peut enregistrer les messages d’échec de mot de passe au niveau information. Sur Ubuntu, sudo journalctl -u ssh --since today --grep "Failed password" trouve les messages correspondants sans les exclure par un seuil d’avertissement.
Une ligne comme « Failed password for invalid user admin from 203.0.113.45 » identifie le compte essayé et l’adresse source. L’horodatage et le PID du programme permettent de la situer parmi les activités environnantes. -o short-iso facilite la comparaison des dates complètes ; -o verbose expose les champs, -o json-pretty affiche des entrées structurées et -x ajoute les textes explicatifs disponibles.
Sache ce qui subsiste après un redémarrage
Les journaux persistants se trouvent sous /var/log/journal/ ; les journaux volatils sous /run/log/journal/ disparaissent à l’arrêt. Le comportement de stockage est contrôlé par Storage= dans la configuration de journald. Un seul démarrage enregistré peut signifier que les entrées plus anciennes n’ont jamais été conservées de façon persistante ou qu’elles ont déjà été supprimées.
journalctl --disk-usage inclut les fichiers de journal actifs et archivés. sudo journalctl --vacuum-size=500M supprime les anciens fichiers archivés pour tendre vers une limite de 500 MiB de fichiers archivés. Les fichiers actifs ne sont pas supprimés par cette opération : le total indiqué pour l’espace disque peut donc rester supérieur.
Points clés
- Filtre par unité, démarrage et heure avant de restreindre les niveaux de priorité.
- Un seuil de priorité inclut les niveaux plus graves, et pas seulement le niveau nommé.
- Les entrées de niveau information peuvent contenir la cause d’un problème.
- Les journaux persistants survivent au redémarrage ; les journaux volatils disparaissent.
- Le nettoyage supprime les fichiers archivés, tandis que l’espace disque utilisé compte aussi les fichiers actifs.
5.2 Consulte les fichiers journaux dans /var/log et les messages du noyau
Le journal systemd n’est pas la seule source de journaux. Certains systèmes exécutent aussi rsyslog, et les applications peuvent écrire leurs propres journaux texte. Le noyau conserve un tampon de messages distinct en mémoire. Choisis la source qui a enregistré l’événement que tu examines.
Trouve le bon journal texte
| Source | Emplacement courant |
|---|---|
| Messages généraux Debian/Ubuntu, avec syslog configuré | /var/log/syslog |
| Authentification Debian/Ubuntu | /var/log/auth.log |
| Journal texte du noyau Debian/Ubuntu | /var/log/kern.log |
| Messages généraux et authentification de la famille RHEL | /var/log/messages, /var/log/secure |
| Actions d’APT et de dpkg | /var/log/apt/history.log, /var/log/dpkg.log |
| Actions de DNF | /var/log/dnf.log |
| Requêtes et problèmes de nginx | /var/log/nginx/access.log, /var/log/nginx/error.log |
La présence d’un fichier dépend des services de journalisation installés et de leur configuration. Debian 12 et les versions ultérieures s’appuient généralement sur le journal systemd, sauf si rsyslog est installé. Les applications peuvent tout de même tenir leurs propres journaux sur une telle machine.
Lis un fichier texte avec sudo less /var/log/auth.log, examine sa fin avec sudo tail -n 20 /var/log/syslog ou suis les nouvelles lignes avec sudo tail -f /var/log/nginx/error.log. Pour sélectionner un mot sans distinction de casse, utilise sudo grep -i "error" /var/log/syslog.
Lis les champs et les fichiers plus anciens
Voici un exemple classique :
Oct 22 08:01:17 web1 sshd[3141]: Accepted publickey for alice from 198.51.100.7 port 50522 ssh2
Il donne l’heure, l’hôte, le programme avec son PID et le message de l’événement. Certains systèmes utilisent à la place des horodatages ISO complets avec décalage de fuseau horaire. Le message décrit une connexion par clé réussie, et non une tentative de mot de passe échouée ; lire seulement le nom du programme fait perdre cette distinction.
La rotation des journaux limite leur croissance en renommant les anciens fichiers, en en créant de nouveaux et en supprimant finalement les fichiers arrivés à expiration. La configuration de logrotate se trouve dans /etc/logrotate.conf et /etc/logrotate.d/. Une séquence comme syslog, syslog.1 et syslog.2.gz couvre les entrées actuelles et plus anciennes. Utilise zless ou zgrep pour le texte compressé avec gzip sans l’extraire au préalable. Une recherche dans le seul fichier actuel peut manquer la panne de la veille.
Lis les événements du noyau
Le tampon circulaire du noyau conserve les messages récents et écrase ses entrées les plus anciennes à mesure qu’il se remplit. Il enregistre la détection des périphériques, les échecs des pilotes, les erreurs de stockage et les terminaisons dues à l’épuisement de la mémoire. dmesg l’affiche ; utilise sudo lorsque l’accès est restreint. dmesg -T donne des heures lisibles, dmesg -l err,warn sélectionne les erreurs et les avertissements, et dmesg -w suit les nouveaux messages.
sudo journalctl -k lit les entrées du noyau conservées par le journal. sudo journalctl -k -b -1 peut accéder à un démarrage précédent que le tampon circulaire actuel ne contient plus.
Si un processus Java disparaît, une ligne du noyau comme « Out of memory: Killed process 4810 (java) » relie sa terminaison à une forte sollicitation de la mémoire. Vérifie free -h et top, puis réduis les besoins en mémoire ou augmente la capacité. Pour les problèmes de démarrage d’un service, commence par le journal de l’unité ; pour les détails propres à l’application, lis son propre journal d’erreurs.
Utilise la rotation ou les réglages de conservation du journal pour gérer l’espace occupé. Supprimer manuellement un journal texte efface des éléments utiles au diagnostic et peut laisser son espace disque occupé jusqu’à ce que le programme qui y écrit ferme le fichier.
Points clés
- L’emplacement des journaux texte dépend de la configuration de journalisation ; les applications peuvent conserver leurs propres fichiers.
- Utilise less, tail et grep pour les journaux texte, et zless ou zgrep pour les anciens journaux compressés.
- La rotation répartit l’historique des événements sur plusieurs fichiers.
- dmesg affiche le tampon actuel du noyau ; le journal peut conserver les démarrages précédents.
- Les messages OOM du noyau peuvent expliquer la disparition d’une application qui n’a pas elle-même signalé d’erreur.
5.3 Diagnostique un service défaillant étape par étape
Des redémarrages répétés expliquent rarement un échec. Pars du symptôme visible, recueille le message qui en indique la cause et modifie une seule chose. Teste ensuite le service réparé à la fois par son gestionnaire et par la fonction qu’il fournit.
Suis une méthode reproductible
- Confirme le symptôme : par exemple, une requête web locale échoue.
- Exécute
systemctl status NAMEet lis Active, Result et le code de retour. - Lis
sudo journalctl -u NAME -b, ou les 50 dernières entrées avec-n 50 --no-pager. - Utilise le journal d’erreurs et le test de configuration propres à l’application.
- Corrige une cause identifiée et répète la vérification correspondante.
- Démarre ou redémarre, examine l’état et teste la fonction réelle.
- Vérifie
systemctl is-enabled NAMEpar rapport au comportement de démarrage prévu.
Lis la première erreur qui explique quelque chose dans la tentative échouée. Une ligne ultérieure « Failed to start » résume le résultat ; elle ne donne pas nécessairement la cause. Des filtres cohérents pour l’heure et l’unité aident à distinguer la dernière tentative des échecs plus anciens.
Résous un conflit de port
Un redémarrage de nginx échoue. Son journal contient « bind() to 0.0.0.0:80 failed (98: Address already in use). » Un autre programme écoute déjà sur ce port. Exécute :
sudo ss -tlnp | grep ':80 '
Supposons que la commande identifie apache2. Si cette machine doit utiliser nginx et qu’Apache n’est plus nécessaire, sudo systemctl disable --now apache2 arrête Apache et supprime ses liens d’activation au démarrage. sudo systemctl start nginx peut alors obtenir le port. Vérifie systemctl status nginx et effectue une requête web locale.
La condition compte : ne supprime pas un service nécessaire simplement pour en démarrer un second. Si les deux doivent fonctionner, leur configuration d’écoute doit être modifiée en conséquence. Le journal identifie le conflit de ressource, tandis que le rôle prévu du système détermine la réparation.
Résous une erreur de configuration
Supposons que le journal signale une accolade fermante inattendue dans /etc/nginx/sites-enabled/default:24. Exécute sudo nginx -t ; la commande identifie le même fichier et la même ligne. Corrige l’accolade mal placée, exécute à nouveau le test et ne redémarre qu’après sa réussite. Cela isole la modification et évite de remplacer une configuration dont on sait qu’elle fonctionne par une configuration incorrecte.
Utilise le code de résultat pour affiner la recherche
| État ou résultat | Vérification suivante |
|---|---|
203/EXEC | Chemin de l’exécutable, droit d’exécution et possibilité de le lancer |
217/USER | Compte indiqué dans User= et possibilité d’établir ses identifiants |
1/FAILURE | Messages d’erreur propres à l’application |
oom-kill | Entrées OOM du noyau et utilisation de la mémoire |
Un exécutable manquant et un programme qui démarre mais rejette ses paramètres sont deux échecs différents. Pour « Permission denied », compare la sortie de ls -l et l’accès aux répertoires avec l’utilisateur configuré pour le service. Pour un disque plein, vérifie df -h ; pour un manque de RAM, vérifie free -h ; pour une forte sollicitation du processeur, examine top.
Si systemd affiche « start request repeated too quickly », corrige d’abord la cause. Ensuite, sudo systemctl reset-failed NAME efface l’échec et les compteurs de limitation des démarrages afin que tu puisses le relancer. Réinitialiser le compteur seul ne répare pas le programme.
Points clés
- Confirme le symptôme, examine l’état et lis la première erreur qui explique la cause.
- Utilise les vérifications de l’application et traite une cause à la fois.
- Pour réparer un conflit de port, identifie d’abord le programme qui écoute sur ce port.
- Les codes de retour distinguent les échecs d’exécution, d’identifiants utilisateur, d’application et de mémoire.
- Efface la limitation des démarrages après avoir corrigé la cause, puis vérifie l’état, la fonction et le comportement de démarrage prévu.
6Archive et compresse des fichiers
Une archive regroupe des fichiers dans un seul objet ; la compression modifie l’espace occupé par cet objet. Distinguer ces tâches rend les commandes de sauvegarde plus faciles à lire et à restaurer. Tu vas créer et examiner des archives tar, les extraire dans un répertoire choisi et comparer gzip, bzip2, xz et zip. Le choix du format dépend de la vitesse, de la taille, des besoins de partage et des métadonnées des fichiers, tandis qu’une restauration vérifiée fournit une preuve plus solide qu’un nom de fichier familier.
6.1 Crée des archives tar, liste leur contenu et extrais-les
Une archive regroupe des fichiers et des répertoires avec leurs noms et leurs métadonnées. La compression réduit le nombre d’octets nécessaires au stockage des données. Une archive tar simple regroupe les fichiers sans les compresser ; l’ajout d’un outil de compression produit des fichiers comme .tar.gz, .tar.bz2 ou .tar.xz.
Lis les options comme une petite phrase
| Option | Rôle |
|---|---|
-c, -t, -x | Créer, lister ou extraire ; choisis une opération |
-f FILE | Nommer le fichier d’archive |
-v | Afficher les noms ou les détails des membres |
-z, -j, -J | Utiliser gzip, bzip2 ou xz |
-C DIR | Changer de répertoire pour les membres suivants ou pour l’extraction |
GNU tar accepte aussi les options combinées et l’ancienne forme sans tiret. Dans un groupe combiné, place f en dernier et indique son nom de fichier juste après. Le J majuscule sélectionne xz ; le j minuscule sélectionne bzip2.
Crée une archive avec des noms de membres pratiques
tar -czvf site-backup.tar.gz -C /var/www site
Cette commande crée site-backup.tar.gz dans le répertoire actuel du shell. Tar se place dans /var/www pour lire les fichiers, puis ajoute site : les noms enregistrés commencent donc par site/. Il conserve l’arborescence, les modes de droits, les métadonnées de propriétaire et de groupe et les horodatages.
Indiquer directement /var/www/site fonctionne aussi. GNU tar retire normalement la barre oblique initiale et enregistre var/www/site/... ; l’extraction recrée ensuite ce chemin sous la destination. Choisir le répertoire d’entrée avec -C donne une structure de restauration plus courte et plus pratique.
Liste le contenu avant de restaurer
Exécute tar -tzvf site-backup.tar.gz. La commande liste les noms et les métadonnées sans extraire. Vérifie si tous les membres se trouvent sous un même répertoire. Sinon, l’extraction peut disperser les fichiers dans la destination. GNU tar détecte les formats de compression courants à la lecture : tar -tvf site-backup.tar.gz fonctionne donc aussi.
Pour restaurer dans un répertoire vide existant :
tar -xzvf site-backup.tar.gz -C /tmp/restore
La destination doit déjà exister. L’extraction peut écraser les fichiers portant le même nom : utilise donc un répertoire de restauration vide lorsque tu vérifies une archive que tu ne connais pas. Pour extraire un membre, indique son nom exactement comme dans la liste : tar -xzvf site-backup.tar.gz site/index.html.
Protège le nom et les métadonnées de l’archive
Le mot après -f est le nom du fichier d’archive. Dans tar -cfz backup.tar.gz docs, tar considère z comme ce nom de fichier et les mots suivants comme des entrées. De même, tar -cf *.txt laisse le développement du shell choisir le premier fichier texte comme archive de sortie et peut l’écraser. Nomme toujours explicitement l’archive.
Un utilisateur ordinaire restaure les fichiers sous son propre compte ; root peut restaurer les propriétaires enregistrés. Créer une sauvegarde nécessite un accès en lecture à la source. Pour les fichiers système protégés, utilise une commande autorisée comme sudo tar -czf /root/etc-2026-10-22.tar.gz /etc, et vérifie si ses erreurs signalent des fichiers omis.
--exclude='*.log' omet les chemins correspondants. L’option -a de GNU tar sélectionne un outil de compression d’après le suffixe, comme dans tar -caf backup.tar.xz docs. Avant de supprimer les originaux, lis l’archive avec tar -tzf backup.tar.gz > /dev/null et confirme que la liste contient les fichiers attendus. Une lecture réussie vérifie que l’archive est lisible ; l’examen d’une restauration vérifie aussi que le contenu choisi est utile.
Points clés
- L’archivage regroupe les fichiers et leurs métadonnées ; la compression réduit la taille.
- Choisis une opération tar et donne à
-fun nom de fichier d’archive explicite. -Ccontrôle la structure des entrées ou la destination de l’extraction.- Liste le contenu avant l’extraction et restaure dans un répertoire vide pour éviter les écrasements.
- Les sauvegardes nécessitent un droit de lecture, et root peut restaurer les propriétaires enregistrés.
- Vérifie que le contenu est lisible et teste une restauration avant de te fier à l’archive.
6.2 Compresse des fichiers avec gzip, bzip2, xz et zip
Les outils de compression diffèrent par leur vitesse, la taille obtenue et la façon dont ils traitent les originaux. Choisis un format selon la tâche : réduire rapidement un journal, sauvegarder un système Linux ou proposer un téléchargement aux utilisateurs de plusieurs systèmes d’exploitation.
Compresse un fichier et conserve l’original si nécessaire
| Outil de compression | Suffixe du fichier compressé | Commande de décompression |
|---|---|---|
gzip | .gz | gunzip ou gzip -d |
bzip2 | .bz2 | bunzip2 ou bzip2 -d |
xz | .xz | unxz ou xz -d |
Ces outils remplacent normalement un fichier d’entrée par sa version compressée. gzip access.log laisse access.log.gz et supprime l’original après réussite. Ajoute -k pour le conserver. Leurs formes avec -d inversent l’opération.
Ils ne créent pas d’archive de répertoire contenant plusieurs fichiers. gzip project refuse un répertoire ; gzip en mode récursif compresse ses fichiers individuellement. Pour conserver une arborescence dans un seul objet compressé, crée une archive tar avec l’outil de compression choisi.
Compare le temps, la mémoire et la taille
Gzip est généralement rapide, xz produit souvent des fichiers plus petits au prix d’un temps d’exécution et d’une utilisation de mémoire plus importants, et bzip2 se situe généralement entre les deux. Les résultats dépendent des données d’entrée et des paramètres. Les niveaux de -1 à -9 favorisent la vitesse aux valeurs basses et la compression aux valeurs élevées. Les valeurs par défaut sont 6 pour gzip et xz et 9 pour bzip2.
Les journaux texte diminuent souvent fortement. Les images JPEG, les vidéos MP4 et les archives compressées gagnent généralement peu à être compressées à nouveau. Les recompresser peut utiliser du temps processeur sans gain d’espace utile.
Pour un échantillon de 240 MiB de journaux, gzip a produit 31 MiB et xz 22 MiB. Ces fichiers représentent environ 12,9 % et 9,2 % de la taille d’origine. Dans cet essai, le fichier plus petit a nécessité une compression plus longue ; ces chiffres ne prédisent pas les résultats pour d’autres données.
Lis et teste le contenu compressé
zcat, zless et zgrep lisent le texte compressé avec gzip ; bzcat et xzcat prennent en charge leurs formats respectifs. Par exemple, zgrep "error" /var/log/syslog.2.gz recherche dans un journal issu de la rotation sans laisser de copie décompressée sur disque.
Utilise gzip -t file.gz ou xz -t file.xz pour les vérifications d’intégrité. Un suffixe n’est qu’une convention de nommage : file backup.bin peut identifier un contenu gzip même sans .gz. sha256sum backup.tar.gz produit une somme de contrôle à comparer après le transfert. Des sommes identiques montrent que les copies correspondent, et non que tous les fichiers sources voulus ont été inclus.
Partage un répertoire avec zip
ZIP regroupe et compresse les fichiers tout en conservant les sources :
zip -r project.zip project
unzip -l project.zip
unzip project.zip -d /tmp/project
-r inclut récursivement le contenu du répertoire. unzip -l le liste ; -d choisit la destination de l’extraction. Les commandes peuvent nécessiter une installation préalable. ZIP est pratique pour les utilisateurs de Windows et de macOS. Les outils ZIP de Linux peuvent enregistrer les métadonnées Unix, mais restaurer le propriétaire, le groupe et les droits sur d’autres systèmes est moins portable que d’utiliser tar pour une sauvegarde Linux.
Choisis .tar.gz pour une sauvegarde Linux courante, .tar.xz lorsque réduire un téléchargement compte plus que le temps de compression, .zip pour un partage étendu entre utilisateurs d’ordinateurs de bureau et gzip pour un seul gros fichier texte. Conserve les fichiers sources jusqu’à ce que les vérifications et un essai de restauration établissent que l’archive contient ce dont tu as besoin.
Points clés
- Gzip, bzip2 et xz compressent des fichiers individuels et remplacent normalement leurs fichiers d’entrée.
- Utilise
-kpour conserver un original ; utilise tar pour regrouper un répertoire. - Les gains de compression et les ressources utilisées dépendent des données d’entrée et des paramètres.
- Utilise des lecteurs de texte compressé et des tests d’intégrité sans tout extraire.
- ZIP est pratique pour le partage ; tar est le choix habituel pour les sauvegardes Linux qui conservent les métadonnées.
Processus, paquets et services Linux : exemples
1Trouve et contrôle une tâche très active
17 étapes
- 1IntroductionCommence par les tâches en cours
Un terminal est devenu lent pendant l’exécution d’une longue tâche de compression. Avant d’arrêter quoi que ce soit, relie le symptôme visible à un processus et à une ressource.
Tu vas passer d’un état des processus à un instant donné aux informations actualisées sur le processeur et la mémoire, puis décider comment mettre une tâche en pause, l’arrêter ou réduire sa priorité. Le PID identifie le processus ; le numéro de tâche du shell sert à autre chose lorsque tu le déplaces entre le premier plan et l’arrière-plan.
- 2ExplicationTrouve l’utilisateur et l’identité du processus
Exécute
ps -efpour obtenir un état de tout le système avec les PID et PPID. Une commande lancée depuis ton terminal est généralement un processus fils de ce shell.Pour obtenir les colonnes de processeur et de mémoire, utilise
ps aux. Un programme peut avoir plusieurs instances en cours d’exécution, chacune avec son propre PID. Vérifie à la fois la commande et l’utilisateur lorsque tu choisis une cible : un nom familier peut désigner plusieurs processus, et un PID peut être réutilisé après la fin du processus précédent. - 3ExempleLis correctement le temps processeur
Une ligne ps affiche START
09:00, TIME0:08et l’étatS. Le programme a démarré à 09 h 00 et a cumulé huit secondes de temps processeur. Il est en veille dans l’attente d’un événement.Le temps écoulé depuis le démarrage ne correspond pas au champ TIME. Un service peut attendre des requêtes pendant des heures et utiliser très peu le processeur. Utilise
pgrep -a NAMEpour trouver les lignes de commande pertinentes et/proc/PID/statuslorsque tu as besoin de la vue détaillée du noyau. - 4DéfiInterprète le cas d’un serveur en attente
Un serveur a démarré hier. Sa ligne ps indique TIME
0:12, TTY?et l’étatS. Est-ce la preuve qu’il n’a pas fonctionné pendant la majeure partie de la journée ? Explique les trois champs.---reveal---
Non. Il a utilisé 12 secondes de temps processeur, n’a pas de terminal de contrôle et est actuellement en veille. Attendre des requêtes est un comportement normal pour un service. Ces champs n’indiquent pas pendant combien d’heures le serveur a été disponible ni si une requête particulière a réussi.
- 5ExplicationSurveille la ressource qui change
Ouvre
top. Appuie surPpour trier par utilisation du processeur,Mpour la mémoire et1pour afficher chaque processeur. Appuie surqpour quitter.Lis le récapitulatif avec la liste des processus. Une forte utilisation du processeur par les programmes utilisateurs suggère des calculs ; une valeur
waélevée attire l’attention sur des entrées-sorties en attente, et une valeurstélevée dans une machine virtuelle indique du temps processeur retenu par l’hôte au détriment du système invité. RES mesure la RAM résidente ; une allocation VIRT élevée ne suffit pas à bien mesurer l’utilisation de la mémoire physique. - 6ExempleCompare la charge à la capacité du processeur
Supposons que
nprocindique 4 et qu’une charge de travail principalement limitée par le processeur affiche6.00, 5.20, 3.10. Avec peu d’attente d’entrées-sorties, la charge récente indique qu’il y a plus de tâches prêtes à s’exécuter que quatre processeurs ne peuvent en exécuter simultanément.La valeur sur une minute dépasse les moyennes sur les périodes plus longues, ce qui indique une hausse récente. La charge sous Linux compte aussi les attentes non interruptibles : répète donc cette comparaison en consultant le récapitulatif du processeur et les états des processus ; ce nombre n’est pas un pourcentage d’utilisation du processeur.
- 7Point cléLis available avant free pour la RAM
free -hpeut afficher peu de RAM entièrement libre alors que plusieurs GiB restent disponibles. Linux utilise la RAM libre pour le cache et peut en récupérer une grande partie pour de nouvelles tâches.Available estime la capacité disponible sans recourir à l’espace d’échange. Surveille la combinaison d’une faible mémoire disponible et d’une utilisation croissante de l’espace d’échange : elle indique plus clairement une forte sollicitation. Si le noyau termine une tâche parce que la mémoire est épuisée, une entrée OOM dans
sudo journalctl -kpeut expliquer cette sortie soudaine. - 8DéfiChoisis la ressource à examiner
Un serveur présente de nombreuses tâches en état D, une valeur
waélevée, une faible utilisation du processeur par les programmes utilisateurs et beaucoup de RAM disponible. Quelle ressource dois-tu examiner en premier, et pourquoi sa charge peut-elle rester élevée ?---reveal---
Examine d’abord le stockage ou d’autres attentes d’entrées-sorties. Linux inclut les tâches non interruptibles dans la charge : une charge élevée peut donc coexister avec des processeurs inactifs. Les chiffres de mémoire n’indiquent pas un manque immédiat de RAM, et une charge élevée ne suffit pas à attribuer la cause aux calculs du processeur.
- 9ExplicationDemande d’abord une sortie propre
Un signal demande à un processus d’agir.
kill PIDenvoie SIGTERM, qui donne au programme la possibilité d’enregistrer son état et de fermer ses ressources. SIGKILL force la sortie sans exécuter son code de nettoyage.Vérifie la cible, envoie TERM, laisse-lui du temps et vérifie à nouveau avant d’aller plus loin. Un PID qui appartient désormais à une nouvelle commande désigne un autre processus. Pour un service supervisé par systemd, demande
sudo systemctl stop NAMEpar l’intermédiaire de son gestionnaire. - 10ExempleMets en pause et reprends en connaissance de cause
kill -STOP 5120met en pause le processus 5120 ;kill -CONT 5120le reprend. Le processus conserve sa mémoire et ses fichiers ouverts pendant la pause.Ctrl+Z envoie une demande de pause à la tâche au premier plan du terminal, tandis que Ctrl+C envoie une interruption qui la termine normalement. Un processus zombie est déjà terminé et ne peut pas être tué à nouveau. Une tâche en attente non interruptible du stockage peut rester visible jusqu’à la fin de cette attente, même après un signal de terminaison forcée.
- 11DéfiGarde un service géré à l’arrêt
Un processus de travail géré redémarre après que tu as terminé son PID. Tu veux l’arrêter maintenant pour une maintenance. Quelle action convient, et pourquoi terminer le nouveau PID est-il une mauvaise méthode ?
---reveal---
Utilise
sudo systemctl stop NAME. Le gestionnaire de services comprend que cet arrêt est intentionnel et prend en charge les processus gérés. Terminer un autre PID peut répéter la même boucle de récupération après échec, car systemd peut considérer la fin du processus comme une raison de le redémarrer. - 12ExempleDéplace une tâche sans la perdre
Lance
sleep 300au premier plan, puis appuie sur Ctrl+Z. Bash indique que la tâche est Stopped.bg %1reprend la tâche 1 tout en rendant l’invite de commande, etfg %1la ramène au premier plan.%1sélectionne une tâche locale au shell, et non le PID 1. Une tâche arrêtée n’est pas terminée : elle conserve ses ressources. Si la sortie d’une tâche en arrière-plan perturbe le terminal, envoie-la dans un fichier avant de laisser la tâche s’exécuter. - 13ConseilPrépare une tâche pour la déconnexion
Pour une nouvelle tâche longue, utilise
nohup ./long-task.sh > task.log 2>&1 &. Nohup lui fait ignorer HUP, la redirection place les deux flux de sortie dans un fichier et l’esperluette la met en arrière-plan.Chaque partie a un rôle distinct. Une esperluette seule ne protège pas contre la fermeture du terminal.
disown %1dans Bash peut retirer une tâche existante de la table des tâches du shell, mais son entrée doit toujours provenir d’une source adaptée et sa sortie disposer d’une destination adaptée. - 14ExplicationRéduis la priorité sans limiter la vitesse
Lance une tâche exigeante avec
nice -n 10 COMMANDà partir de la valeur de nice habituelle 0, ou règle une tâche en cours avecrenice -n 15 -p PID. Des valeurs de nice plus élevées réduisent la priorité d’ordonnancement ordinaire du processeur.La plage va de -20 à 19. Un utilisateur ordinaire peut généralement rendre ses propres tâches moins prioritaires ; augmenter leur priorité nécessite normalement root. Une tâche avec une valeur de nice de 19 utilise tout de même pleinement un processeur inactif, et la valeur de nice ne définit pas la priorité d’accès au disque.
- 15DéfiAjuste une tâche en arrière-plan en cours d’exécution
Ta propre tâche de compression en arrière-plan porte le PID 9328 et a une valeur de nice de 0. Tu veux laisser davantage de temps processeur aux tâches interactives concurrentes sans la mettre en pause. Quelle commande et quel effet conviennent ?
---reveal---
renice -n 15 -p 9328réduit sa priorité d’accès au processeur en augmentant sa valeur de nice. La tâche continue ; elle reçoit moins de temps processeur en cas de concurrence. Envoyer STOP la mettrait entièrement en pause, tandis que choisir une valeur de nice négative augmenterait sa priorité. - 16DéfiRelie les observations à une réponse
Une sauvegarde est active avec une valeur de nice de 0. Top montre qu’elle utilise plusieurs processeurs, avec peu d’attente d’entrées-sorties et suffisamment de RAM disponible ; les tâches interactives sont lentes. Dois-tu terminer la sauvegarde pour aider la tâche interactive ?
---reveal---
Non. Les observations indiquent une concurrence pour le processeur : augmenter la valeur de nice de la sauvegarde peut donc laisser davantage de temps aux tâches interactives pendant que la sauvegarde continue. Si un arrêt devient nécessaire par la suite, identifie à nouveau le processus et demande une sortie propre avant d’envisager de le forcer.
- 17RécapitulatifAdapte l’action aux observations
Utilise ps et pgrep pour établir l’identité, puis top, free et la charge pour comprendre la sollicitation des ressources. Lis l’état avant d’interpréter le cas d’un processus qui semble bloqué.
Une sortie propre, une pause, un passage en arrière-plan et une modification de priorité résolvent des problèmes différents. Laisse systemd contrôler les services, distingue les tâches locales des PID et vérifie le résultat après avoir modifié une tâche en cours.
2Rédige un compte rendu matériel utile
10 étapes
Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.
- 1IntroductionRecueille les faits qui répondent à l’exigence
- 2ExplicationNomme les couches du système
- 3ExempleCompte les éléments de la configuration du processeur
- 4ExplicationCompare la mémoire installée et la mémoire utilisable
- 5DéfiVérifie une exigence minimale
- 6ExempleLis une arborescence de stockage
- 7ExplicationRelie un périphérique à son pilote
- 8DéfiIdentifie un disque nouvellement connecté
- 9DéfiDistingue la capacité de la prise en charge par un pilote
- 10RécapitulatifRends le compte rendu précis
3Installe un logiciel et retrouve ce qui a changé
14 étapes
Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.
- 1IntroductionGarde les fichiers et les registres des paquets liés
- 2ExplicationChoisis l’outil de dépôt
- 3Point cléUne dépendance fait partie du plan
- 4DéfiExplique les paquets supplémentaires
- 5ExempleActualise les listes avant d’installer
- 6ExplicationLis ce qu’une mise à niveau autorise
- 7ConseilChoisis ce que la suppression doit conserver
- 8DéfiDistingue l’actualisation de l’application des mises à jour
- 9ExempleRetrouve le paquet auquel appartient une commande
- 10ExplicationRecherche au-delà des fichiers installés
- 11DéfiChoisis le sens de la recherche
- 12LienRelie une panne à une maintenance récente
- 13DéfiRépare à partir des observations
- 14RécapitulatifVérifie l’état dont tu as réellement besoin
4Exécute un service maintenant et après un redémarrage
14 étapes
Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.
- 1IntroductionPose deux questions sur l’état
- 2ExempleLis Loaded et Active
- 3Point cléUne unité active n’a pas nécessairement de processus en cours
- 4DéfiInterprète un service désactivé au démarrage mais en cours d’exécution
- 5ExplicationChoisis maintenant, plus tard ou les deux
- 6ExempleApplique une configuration d’application
- 7DéfiBloque un service sans oublier son processus
- 8ExplicationLis la définition effective de l’unité
- 9ExempleDécris un serveur simple au premier plan
- 10ExempleConserve une modification lors des mises à niveau
- 11DéfiApplique une commande modifiée directement
- 12Point cléLes règles de redémarrage respectent un arrêt demandé
- 13DéfiVérifie un service après une modification d’unité
- 14RécapitulatifDistingue chaque couche
5Trouve la cause de l’échec d’un service
13 étapes
Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.
- 1IntroductionPars d’un symptôme observable
- 2ExplicationSélectionne le service et la tentative
- 3ExempleConserve les messages utiles de faible priorité
- 4DéfiRecherche dans le bon démarrage
- 5ExplicationTrouve les journaux d’application et ceux issus de la rotation
- 6ExempleExamine la sortie silencieuse d’une application
- 7DéfiChoisis une source texte plus ancienne
- 8ExempleCommence par la première erreur qui indique la cause
- 9ExempleIdentifie le programme qui utilise un port occupé
- 10Point cléUtilise les codes de résultat pour choisir la prochaine vérification
- 11DéfiRétablis un service après une limitation des démarrages
- 12DéfiVérifie sans perdre les éléments de diagnostic
- 13RécapitulatifLaisse chaque résultat guider l’étape suivante
6Crée une archive que tu peux restaurer
11 étapes
Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.
- 1IntroductionPrévois la restauration avant l’archivage
- 2ExplicationDistingue le regroupement de la réduction de taille
- 3ExempleCrée des chemins relatifs pratiques
- 4ExempleExamine et extrais en deux étapes
- 5DéfiPrévois la structure après extraction
- 6ConseilGarde f à côté de son nom de fichier
- 7ExplicationSache quels originaux restent
- 8ExempleChoisis un format adapté à la tâche
- 9DéfiConserve un journal pendant sa compression
- 10DéfiVérifie la copie et le contenu
- 11RécapitulatifUtilise le format et les vérifications adaptés
Processus, paquets et services Linux : QCM
Série 1 : Interprète les processus, les paquets et les états des services10 Questions Pratiques
Question 1 sur 10
06:20 et TIME 0:04. Que représente TIME ?Afficher la réponseMasquer la réponse
Question 2 sur 10
Afficher la réponseMasquer la réponse
Question 3 sur 10
Afficher la réponseMasquer la réponse
Question 4 sur 10
Afficher la réponseMasquer la réponse
Question 5 sur 10
Afficher la réponseMasquer la réponse
Question 6 sur 10
sudo apt update. Qu’est-ce qui a changé si la commande réussit ?Afficher la réponseMasquer la réponse
Question 7 sur 10
enabled et inactive (dead). Comment faut-il interpréter cette combinaison ?Afficher la réponseMasquer la réponse
Question 8 sur 10
Afficher la réponseMasquer la réponse
Question 9 sur 10
Afficher la réponseMasquer la réponse
Question 10 sur 10
/srv/notes/day.txt, qui appartient à root, avec tar -czf notes.tar.gz -C /srv notes. En tant qu’utilisateur ordinaire, tu exécutes ensuite tar -xzf notes.tar.gz -C /tmp/inspect dans ce répertoire existant et vide. Quels sont normalement le chemin et le propriétaire du fichier restauré ?Afficher la réponseMasquer la réponse
/tmp/inspect. Un utilisateur ordinaire crée normalement les fichiers restaurés sous son propre compte. S’attendre à ce que root en soit propriétaire confond les métadonnées enregistrées avec les droits nécessaires pour restaurer ce propriétaire ; s’attendre à un préfixe srv ignore le changement de répertoire lors de la création.Série 2 : Applique les commandes courantes de maintenance Linux10 Questions Pratiques
Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.
Question 1 sur 10
[3] 9026 après le lancement d’une tâche. Comment la ramener au premier plan ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 2 sur 10
12.0, 8.0, 4.0. Quelle est la meilleure interprétation ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 3 sur 10
Kernel driver in use n’est présente. Que dois-tu examiner ensuite ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 4 sur 10
/usr/bin/less ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 5 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 6 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 7 sur 10
app.log.2.gz. Comment rechercher directement dans ce fichier plus ancien ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 8 sur 10
203/EXEC. Son journal ne contient aucun message de démarrage de l’application. Le fichier d’unité indique /opt/worker/run, mais ce chemin n’existe pas. Quelle séquence de réparation correspond aux observations ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 9 sur 10
report.log avec gzip et conserver le fichier non compressé. Quelle commande convient ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 10 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Série 3 : Relie les observations à la bonne action10 Questions Pratiques
Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.
Question 1 sur 10
Z et son parent est toujours en cours d’exécution. Pourquoi l’envoi de SIGKILL à ce PID ne supprime-t-il pas l’entrée ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 2 sur 10
pgrep trouve deux processus data-export : le PID 8550 est ton data-export --daily ; le PID 8551 est le data-export --weekly d’un autre utilisateur. Tu veux que seule ta tâche quotidienne se termine proprement. Quelle action convient ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 3 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 4 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 5 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 6 sur 10
active (exited) après avoir terminé avec succès une tâche de configuration ponctuelle. Que signifie cet état ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 7 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 8 sur 10
journalctl -p err ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 9 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 10 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Série 4 : Diagnostique les problèmes de maintenance avec plusieurs outils10 Questions Pratiques
Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.
Question 1 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 2 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 3 sur 10
/dev/sdb hier. Aujourd’hui, un autre périphérique a été connecté en premier, et une écriture sur le mauvais disque effacerait des fichiers nécessaires. Qu’est-ce qui doit déterminer ta cible maintenant ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 4 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 5 sur 10
/usr/bin/scan est absent. Tu veux découvrir quel paquet d’un dépôt fournit ce chemin exact. Quelle recherche convient ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 6 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 7 sur 10
After=network.target à lui seul ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 8 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 9 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 10 sur 10
bundle/a.txt et bundle/b.txt. Tu veux restaurer uniquement b.txt. Quel nom de membre dois-tu demander ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Série 5 : Planifie et vérifie des réparations Linux complètes10 Questions Pratiques
Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.
Question 1 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 2 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 3 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 4 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 5 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 6 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 7 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 8 sur 10
nginx -t détecte maintenant une erreur de syntaxe. Quelle séquence applique les deux modifications prévues avec une configuration testée ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 9 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 10 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Tu bloques sur ton propre exercice ? Aide aux Devoirs
Mots-Clés
A
Activation au démarrage
Actualisation de la liste des paquets
apt update, une application plus récente peut être indiquée comme disponible alors que l’ancienne reste installée.Architecture du processeur
Archive
Attente d’entrées-sorties
C
Charge moyenne
Cible
Code de retour
Cœur physique
Compression
Conflit de port
D
Dépendance
Dépôt
E
Espace d’échange
ExecStart
./worker possède un chemin relatif contenant une barre oblique et n’est pas une forme d’exécutable valide.Extraction
É
État d’activité
F
Fichier d’unité
Fichier de configuration complémentaire
Fichier de périphérique
/dev, par lequel un logiciel accède à un périphérique représenté par le noyau./dev/nvme0n1p2 identifie une partition et non un répertoire de fichiers.G
gzip
J
Journal du noyau
Journal persistant
/var/log/journal, ce qui permet d’interroger les démarrages précédents jusqu’à leur suppression selon les règles de conservation.Journal systemd
Journal volatil
/run/log/journal, si bien qu’elles sont perdues à l’arrêt au lieu d’être reportées au démarrage suivant.L
Limitation de la fréquence des démarrages
M
Masquage
/dev/null, y compris les démarrages manuels et par dépendance.Membre d’une archive
Mémoire disponible
MemTotal
/proc/meminfo, sans la mémoire réservée avant l’utilisation ordinaire.Métadonnées du fichier
Métadonnées du paquet
Mise à niveau
Module du noyau
N
Nettoyage des fichiers de journal archivés
Niveau de priorité
Numéro de tâche
[2] 7164, fg %2 sélectionne la tâche ; 7164 identifie son processus au niveau du système d’exploitation.O
OOM killer
P
Paquet
Périphérique en mode bloc
/dev.PID
Pilote
Politique de redémarrage
systemctl stop intentionnel le maintient arrêté.PPID
Processeur logique
Processus
sleep distinctes créent deux processus, même si elles exécutent le même programme.Processus zombie
Purge
R
Rechargement
Rechargement de la configuration de systemd
Recherche du paquet auquel appartient un fichier
rpm -qf pour un exécutable installé dont tu ne connais pas le nom du paquet.Redémarrage
Rotation des journaux
RSS
S
Service
SIGKILL
Signal
SIGSTOP
SIGTERM
Somme de contrôle
Suppression automatique des dépendances inutilisées
Syslog
systemd
T
Table du micrologiciel
Tâche au premier plan
fg %2, les raccourcis clavier comme Ctrl+C agissent sur la tâche désormais au premier plan.Tâche en arrière-plan
Tampon circulaire
Test de configuration
nginx -t réussi après une correction donne une raison de poursuivre avec le rechargement ou le redémarrage prévu.Transaction
U
Unité
nginx.service identifie l’unité comme un service plutôt qu’une socket ou une cible.UUID
V
Valeur de nice
Vérification de signature
Verrou du gestionnaire de paquets
Version candidate
Version installée
X
xz
Z
ZIP
zip -r pour regrouper un répertoire et son contenu à destination de collègues utilisant Windows ou macOS.- 1Linux et l’open source
- 2Ligne de commande Linux
- 3Tubes et redirection sous Linux
- 4Scripts shell
- 5Utilisateurs et droits sous Linux
- 6Processus, paquets et services Linux
- 7Stockage et réseau sous Linux
À propos de cette unité
Crée ton propre Matériel d'Étude
Transforme tes notes, diapos et documents en Guides d'Étude, Questions Pratiques, Flashcards et 6 autres outils.