Processus, paquets et services Linux : systemd et journaux

Apprends à gérer les logiciels exécutés sur un système Linux depuis la ligne de commande. Surveille les processus avec 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

  1. 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 ps
      Explique ce qu’est un processus, identifie-le par son identifiant et utilise ps, pgrep et /proc pour trouver des processus et consulter leur état.
    • Surveille l’utilisation du processeur, la mémoire et la charge avec top, free et uptime
      Lis la vue des processus actualisée en direct dans top, évalue la mémoire avec free et détermine à partir de la charge moyenne si un système est surchargé.
    • Arrête des processus à l’aide de signaux
      Envoie des signaux avec kill, pkill et killall, 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és
      Dé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 nice et renice.
  2. 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ème
      Utilise uname, lscpu, nproc, /proc et dmidecode pour 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 pilotes
      Nomme correctement les périphériques de stockage, liste les périphériques connectés à une machine avec lsblk, lspci et lsusb, et trouve les pilotes et les messages du noyau associés.
  3. 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épendances
      Explique 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 dnf
      Actualise les informations sur les paquets, installe et mets à niveau des logiciels, puis supprime-les proprement avec apt sur les systèmes de la famille Debian et dnf sur ceux de la famille Red Hat.
    • Recherche des paquets et examine les logiciels installés
      Trouve 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.
  4. 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 services
      Explique ce que sont un service et une unité systemd, lis la sortie de systemctl status et 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 automatique
      Contrô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.
  5. 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/log et des messages du noyau, puis utilise-les pour réparer un service défaillant.
    • Interroge le journal systemd avec journalctl
      Lis 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 noyau
      Trouve et lis les fichiers journaux texte dans /var/log, y compris les anciens fichiers issus de la rotation, et utilise dmesg pour lire les messages du noyau concernant le matériel et les pilotes.
    • Diagnostique un service défaillant étape par étape
      Combine systemctl, journalctl et les vérifications propres au programme dans une méthode reproductible qui permet de trouver pourquoi un service échoue et de confirmer la correction.
  6. Regroupe des fichiers et des répertoires dans des archives avec tar et zip, 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-les
      Utilise tar pour 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 zip
      Compresse et décompresse des fichiers individuels, lis des journaux compressés sans les décompresser, utilise zip pour le partage et choisis un format selon la vitesse, la taille et l’usage.

Processus, paquets et services Linux : cours

6 chapitres

1

Surveille 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 :

CommandeColonnes utiles
ps -efUID, PID, PPID, STIME, TIME, CMD
ps auxUSER, 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
ÉtatSignification
REn cours d’exécution ou prêt à recevoir du temps processeur
SEn veille dans l’attente d’un événement
DEn veille non interruptible, souvent dans l’attente du stockage
TArrêté ou en pause
ZZombie : terminé, en attente de récupération par son parent
IThread 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 -ef indique les parents ; ps aux ajoute 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.
  • pgrep affine une recherche et /proc/PID/status fournit 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 :

ChampCe qu’il indique
us, syTravail des programmes utilisateurs et du noyau
niTravail utilisateur avec une priorité modifiée par nice
idTemps d’inactivité
waTemps d’inactivité pendant que des entrées-sorties sont en attente
hi, siTravail lié aux interruptions matérielles et logicielles
stTemps 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
SignalRôle
SIGTERMDemander une sortie propre ; signal par défaut de kill
SIGKILLForcer la terminaison sans nettoyage par l’application
SIGINTInterrompre le programme au premier plan, généralement avec Ctrl+C
SIGTSTPDemander une pause, généralement avec Ctrl+Z
SIGSTOPForcer une pause
SIGCONTReprendre un processus arrêté
SIGHUPSignaler la fermeture du terminal ; certains services l’utilisent pour recharger leur configuration
SIGQUITQuitter, é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 ; kill ne 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 stop pour 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, fg et bg utilisent 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 nohup en 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.
2

Examine 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
CommandeInformation
uname -rVersion du noyau en cours d’exécution, comme 6.8.0-45-generic
uname -mArchitecture, comme x86_64 ou aarch64
uname -aTous les champs de uname
cat /etc/os-releaseNom et version de la distribution
hostnamectlRé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 :

processeurs logiques=sockets×cœurs par socket×threads par cœur

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-release pour la distribution et uname -r pour le noyau en cours d’exécution.
  • Les noms d’architecture des paquets diffèrent : amd64 dans Debian correspond à x86_64.
  • Les sockets, les cœurs et les threads matériels déterminent le nombre de processeurs logiques.
  • nproc indique les processeurs disponibles pour le processus actuel.
  • La RAM utilisable peut être inférieure à la mémoire installée ; /proc/meminfo utilise 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
OutilCe qu’il faut chercher
lspciPériphériques PCI et PCI Express, comme les contrôleurs réseau et de stockage
lspci -kPilote utilisé et modules du noyau possibles
lsusbIdentifiants et descriptions des périphériques USB
lsusb -tConnexions USB sous forme d’arbre, avec leurs vitesses
lsmodModules du noyau chargés
modinfo e1000eInformations 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 lsblk pour les périphériques en mode bloc, lspci pour PCI et lsusb pour 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.
3

Installe 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èmesFormat de paquetOutil de dépôtOutil de bas niveau
Debian, Ubuntu, Linux Mint.debaptdpkg
Fedora, RHEL, Rocky Linux, AlmaLinux, CentOS Stream.rpmdnfrpm
openSUSE, SUSE Linux Enterprise.rpmzypperrpm

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 ; dpkg et rpm travaillent 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âcheFamille DebianFamille Red Hat
Actualiser les listes de paquetssudo apt updateDNF actualise automatiquement les métadonnées périmées
Appliquer les mises à niveausudo apt upgradesudo dnf upgrade
Installer nginxsudo apt install nginxsudo dnf install nginx
Supprimer nginxsudo apt remove nginxsudo dnf remove nginx
Supprimer les dépendances inutilessudo apt autoremovesudo 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 update actualise les listes ; apt upgrade modifie 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
QuestionFamille DebianFamille Red Hat
Qu’est-ce qui est installé ?apt list --installed ou dpkg -ldnf list --installed ou rpm -qa
Quelle version d’un paquet est installée ?dpkg -l nginxrpm -q nginx
Quels fichiers proviennent de htop ?dpkg -L htoprpm -ql htop
À quel paquet appartient ce fichier installé ?dpkg -S /usr/bin/htoprpm -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 -L ou rpm -ql pour retrouver les fichiers d’un paquet.
  • Utilise dpkg -S ou rpm -qf pour 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.
4

Gè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 :

SuffixeRôle
.serviceExécuter et gérer un programme ou une tâche
.socketÉcouter sur une socket et activer un service au besoin
.timerPlanifier une activation
.mountReprésenter un système de fichiers monté
.targetRegrouper 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 ActiveInterpré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
failedUn démarrage ou une exécution a échoué ; examine le résultat et les journaux
activatingLe 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é .service dé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
CommandeEffet
sudo systemctl start nginxDémarrer maintenant
sudo systemctl stop nginxArrêter maintenant
sudo systemctl restart nginxArrêter et démarrer, en interrompant le travail en cours
sudo systemctl reload nginxDemander à un service compatible de relire sa configuration
sudo systemctl reload-or-restart nginxRecharger 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 --now et disable --now combinent 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 :

SectionParamè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 avec systemctl 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.
5

Consulte 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 :

OptionEffet
-rLes plus récents en premier
-eAller à la fin
-n 50Les 50 dernières entrées
-fSuivre les nouvelles entrées jusqu’à Ctrl+C
--no-pagerAfficher 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
SourceEmplacement 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
  1. Confirme le symptôme : par exemple, une requête web locale échoue.
  2. Exécute systemctl status NAME et lis Active, Result et le code de retour.
  3. Lis sudo journalctl -u NAME -b, ou les 50 dernières entrées avec -n 50 --no-pager.
  4. Utilise le journal d’erreurs et le test de configuration propres à l’application.
  5. Corrige une cause identifiée et répète la vérification correspondante.
  6. Démarre ou redémarre, examine l’état et teste la fonction réelle.
  7. Vérifie systemctl is-enabled NAME par 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ésultatVérification suivante
203/EXECChemin de l’exécutable, droit d’exécution et possibilité de le lancer
217/USERCompte indiqué dans User= et possibilité d’établir ses identifiants
1/FAILUREMessages d’erreur propres à l’application
oom-killEntré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.
6

Archive 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
OptionRôle
-c, -t, -xCréer, lister ou extraire ; choisis une opération
-f FILENommer le fichier d’archive
-vAfficher les noms ou les détails des membres
-z, -j, -JUtiliser gzip, bzip2 ou xz
-C DIRChanger 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 à -f un nom de fichier d’archive explicite.
  • -C contrô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 compressionSuffixe du fichier compresséCommande de décompression
gzip.gzgunzip ou gzip -d
bzip2.bz2bunzip2 ou bzip2 -d
xz.xzunxz 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 -k pour 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

6 Leçons Interactives

1

Trouve et contrôle une tâche très active

17 étapes
Lis les informations sur les processus, identifie la ressource limitante et choisis une action de contrôle adaptée.
  1. 1
    IntroductionCommence 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.

  2. 2
    ExplicationTrouve l’utilisateur et l’identité du processus

    Exécute ps -ef pour 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.

  3. 3
    ExempleLis correctement le temps processeur

    Une ligne ps affiche START 09:00, TIME 0:08 et l’état S. 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 NAME pour trouver les lignes de commande pertinentes et /proc/PID/status lorsque tu as besoin de la vue détaillée du noyau.

  4. 4
    Dé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’état S. 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.

  5. 5
    ExplicationSurveille la ressource qui change

    Ouvre top. Appuie sur P pour trier par utilisation du processeur, M pour la mémoire et 1 pour afficher chaque processeur. Appuie sur q pour 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 valeur st é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.

  6. 6
    ExempleCompare la charge à la capacité du processeur

    Supposons que nproc indique 4 et qu’une charge de travail principalement limitée par le processeur affiche 6.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.

  7. 7
    Point cléLis available avant free pour la RAM

    free -h peut 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 -k peut expliquer cette sortie soudaine.

  8. 8
    Dé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.

  9. 9
    ExplicationDemande d’abord une sortie propre

    Un signal demande à un processus d’agir. kill PID envoie 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 NAME par l’intermédiaire de son gestionnaire.

  10. 10
    ExempleMets en pause et reprends en connaissance de cause

    kill -STOP 5120 met en pause le processus 5120 ; kill -CONT 5120 le 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.

  11. 11
    Dé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.

  12. 12
    ExempleDéplace une tâche sans la perdre

    Lance sleep 300 au premier plan, puis appuie sur Ctrl+Z. Bash indique que la tâche est Stopped. bg %1 reprend la tâche 1 tout en rendant l’invite de commande, et fg %1 la ramène au premier plan.

    %1 sé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.

  13. 13
    ConseilPré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 %1 dans 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.

  14. 14
    ExplicationRé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 avec renice -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.

  15. 15
    Dé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 9328 ré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é.

  16. 16
    Dé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.

  17. 17
    Ré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.

2

Rédige un compte rendu matériel utile

10 étapes
Identifie l’architecture et les capacités, puis relie les périphériques détectés à leurs pilotes et aux messages du noyau.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionRecueille les faits qui répondent à l’exigence
  2. 2
    ExplicationNomme les couches du système
  3. 3
    ExempleCompte les éléments de la configuration du processeur
  4. 4
    ExplicationCompare la mémoire installée et la mémoire utilisable
  5. 5
    DéfiVérifie une exigence minimale
  6. 6
    ExempleLis une arborescence de stockage
  7. 7
    ExplicationRelie un périphérique à son pilote
  8. 8
    DéfiIdentifie un disque nouvellement connecté
  9. 9
    DéfiDistingue la capacité de la prise en charge par un pilote
  10. 10
    RécapitulatifRends le compte rendu précis
3

Installe un logiciel et retrouve ce qui a changé

14 étapes
Utilise les dépôts, choisis les opérations de maintenance et retrouve les paquets auxquels appartiennent les fichiers installés.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionGarde les fichiers et les registres des paquets liés
  2. 2
    ExplicationChoisis l’outil de dépôt
  3. 3
    Point cléUne dépendance fait partie du plan
  4. 4
    DéfiExplique les paquets supplémentaires
  5. 5
    ExempleActualise les listes avant d’installer
  6. 6
    ExplicationLis ce qu’une mise à niveau autorise
  7. 7
    ConseilChoisis ce que la suppression doit conserver
  8. 8
    DéfiDistingue l’actualisation de l’application des mises à jour
  9. 9
    ExempleRetrouve le paquet auquel appartient une commande
  10. 10
    ExplicationRecherche au-delà des fichiers installés
  11. 11
    DéfiChoisis le sens de la recherche
  12. 12
    LienRelie une panne à une maintenance récente
  13. 13
    DéfiRépare à partir des observations
  14. 14
    RécapitulatifVérifie l’état dont tu as réellement besoin
4

Exécute un service maintenant et après un redémarrage

14 étapes
Lis l’état d’un service, choisis les commandes de contrôle et applique une modification locale à son unité.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionPose deux questions sur l’état
  2. 2
    ExempleLis Loaded et Active
  3. 3
    Point cléUne unité active n’a pas nécessairement de processus en cours
  4. 4
    DéfiInterprète un service désactivé au démarrage mais en cours d’exécution
  5. 5
    ExplicationChoisis maintenant, plus tard ou les deux
  6. 6
    ExempleApplique une configuration d’application
  7. 7
    DéfiBloque un service sans oublier son processus
  8. 8
    ExplicationLis la définition effective de l’unité
  9. 9
    ExempleDécris un serveur simple au premier plan
  10. 10
    ExempleConserve une modification lors des mises à niveau
  11. 11
    DéfiApplique une commande modifiée directement
  12. 12
    Point cléLes règles de redémarrage respectent un arrêt demandé
  13. 13
    DéfiVérifie un service après une modification d’unité
  14. 14
    RécapitulatifDistingue chaque couche
5

Trouve la cause de l’échec d’un service

13 étapes
Filtre les journaux, interprète une erreur qui indique la cause et vérifie une réparation à la fois.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionPars d’un symptôme observable
  2. 2
    ExplicationSélectionne le service et la tentative
  3. 3
    ExempleConserve les messages utiles de faible priorité
  4. 4
    DéfiRecherche dans le bon démarrage
  5. 5
    ExplicationTrouve les journaux d’application et ceux issus de la rotation
  6. 6
    ExempleExamine la sortie silencieuse d’une application
  7. 7
    DéfiChoisis une source texte plus ancienne
  8. 8
    ExempleCommence par la première erreur qui indique la cause
  9. 9
    ExempleIdentifie le programme qui utilise un port occupé
  10. 10
    Point cléUtilise les codes de résultat pour choisir la prochaine vérification
  11. 11
    DéfiRétablis un service après une limitation des démarrages
  12. 12
    DéfiVérifie sans perdre les éléments de diagnostic
  13. 13
    RécapitulatifLaisse chaque résultat guider l’étape suivante
6

Crée une archive que tu peux restaurer

11 étapes
Choisis les chemins enregistrés, vérifie le contenu de l’archive et compare les formats de compression et de partage.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionPrévois la restauration avant l’archivage
  2. 2
    ExplicationDistingue le regroupement de la réduction de taille
  3. 3
    ExempleCrée des chemins relatifs pratiques
  4. 4
    ExempleExamine et extrais en deux étapes
  5. 5
    DéfiPrévois la structure après extraction
  6. 6
    ConseilGarde f à côté de son nom de fichier
  7. 7
    ExplicationSache quels originaux restent
  8. 8
    ExempleChoisis un format adapté à la tâche
  9. 9
    DéfiConserve un journal pendant sa compression
  10. 10
    DéfiVérifie la copie et le contenu
  11. 11
    RécapitulatifUtilise le format et les vérifications adaptés

Processus, paquets et services Linux : QCM

50 Questions Pratiques en 5 séries

Série 1 : Interprète les processus, les paquets et les états des services10 Questions Pratiques

Question 1 sur 10

Un processus indique START 06:20 et TIME 0:04. Que représente TIME ?
  1. Quatre secondes depuis le démarrage
  2. Quatre secondes de travail du processeur
  3. Quatre minutes depuis le démarrage
  4. Quatre minutes d’attente d’une entrée
Afficher la réponseMasquer la réponse
Réponse : B
TIME cumule le temps pendant lequel le processus a utilisé un processeur. Le champ START indique quand il a commencé : un processus peut donc s’exécuter depuis le matin tout en n’ayant effectué que quatre secondes de travail du processeur. Lire TIME comme une durée écoulée confond le travail effectué avec toute la période d’existence du processus.

Question 2 sur 10

Un serveur indique 0,2 GiB de RAM libre, 6,1 GiB de RAM disponible et une utilisation de l’espace d’échange qui n’augmente pas. Que suggèrent ces données sur la sollicitation de la mémoire ?
  1. La RAM est épuisée car free est faible.
  2. Il faut ajouter de l’espace d’échange avant toute nouvelle tâche.
  3. Le cache est définitivement indisponible.
  4. La marge de RAM disponible est importante.
Afficher la réponseMasquer la réponse
Réponse : D
La mémoire disponible estime ce que de nouveaux programmes peuvent utiliser sans recourir à l’espace d’échange, y compris le cache récupérable. La valeur de 6,1 GiB indique donc une marge malgré le peu de RAM entièrement inutilisée. Considérer la colonne free comme toute la capacité restante revient à ignorer l’utilisation de la mémoire libre par Linux pour les caches.

Question 3 sur 10

Tu as vérifié que le PID 6842 correspond à ton éditeur qui ne répond plus. Quel signal dois-tu normalement envoyer en premier pour demander sa fermeture ?
  1. SIGTERM
  2. SIGKILL
  3. SIGSTOP
  4. SIGCONT
Afficher la réponseMasquer la réponse
Réponse : A
SIGTERM demande la terminaison tout en permettant à l’éditeur d’enregistrer son état et d’effectuer son nettoyage. SIGKILL empêche ce nettoyage et sert de recours lorsque le processus vérifié ne répond pas à une demande normale. SIGSTOP met la tâche en pause, tandis que SIGCONT la reprend ; aucun des deux n’est une demande normale de sortie.

Question 4 sur 10

Tu as besoin de la version du noyau actuellement en cours d’exécution sur un serveur. Quelle commande la fournit ?
  1. cat /etc/os-release
  2. uname -m
  3. uname -r
  4. nproc
Afficher la réponseMasquer la réponse
Réponse : C
Le champ de version fourni par uname identifie le noyau actuellement en cours d’exécution. Le fichier os-release identifie quant à lui la distribution Linux, qui possède sa propre numérotation des versions. Installer un nouveau paquet du noyau ne modifie pas le résultat de uname tant que la machine n’a pas réellement démarré sur ce noyau.

Question 5 sur 10

L’installation d’une application nécessite aussi deux paquets de bibliothèques provenant des dépôts configurés. Pourquoi apt est-il plus pratique que dpkg pour cette tâche ?
  1. Il rend compatibles toutes les architectures de paquets.
  2. Il dispense de faire confiance aux éditeurs.
  3. Il résout et télécharge les dépendances.
  4. Il installe sans modifier les fichiers système.
Afficher la réponseMasquer la réponse
Réponse : C
APT utilise les informations des dépôts pour trouver et télécharger les paquets qui satisfont les dépendances requises, puis délègue l’installation à dpkg. Dpkg peut installer un fichier local et l’enregistrer, mais ne récupère pas les bibliothèques manquantes. L’accès aux dépôts ne supprime pas les exigences de compatibilité d’architecture et de confiance envers les éditeurs.

Question 6 sur 10

Un administrateur exécute uniquement sudo apt update. Qu’est-ce qui a changé si la commande réussit ?
  1. Toutes les versions des applications installées
  2. Les listes locales de paquets des dépôts
  3. Le noyau actuellement en mémoire
  4. La configuration système de chaque paquet
Afficher la réponseMasquer la réponse
Réponse : B
APT update actualise les informations locales sur les versions disponibles dans les dépôts configurés. La commande n’installe pas ces versions ; une opération de mise à niveau ou d’installation effectue ce changement. Un noyau plus récent nécessite aussi un redémarrage avant de s’exécuter : l’actualisation des listes ne peut donc pas le modifier.

Question 7 sur 10

Un service indique enabled et inactive (dead). Comment faut-il interpréter cette combinaison ?
  1. Configuré pour une activation automatique, actuellement arrêté
  2. Actuellement en cours, exclu de l’activation automatique
  3. Actuellement en échec, bloqué pour tout démarrage futur
  4. Actuellement en cours, en attente de ses liens de démarrage
Afficher la réponseMasquer la réponse
Réponse : A
Enabled décrit les liens d’activation, couramment utilisés pour démarrer un service au démarrage du système, tandis que inactive décrit son état actuel. Ce sont deux propriétés distinctes : la combinaison est donc valide. Interpréter enabled comme « en cours d’exécution » ferait manquer un service volontairement arrêté ou qui n’a jamais démarré avec succès.

Question 8 sur 10

Un service arrêté doit démarrer maintenant et être activé pour les futurs démarrages. Quelle commande combine ces actions ?
  1. sudo systemctl enable nginx
  2. sudo systemctl start nginx
  3. sudo systemctl unmask nginx
  4. sudo systemctl enable --now nginx
Afficher la réponseMasquer la réponse
Réponse : D
Enable avec --now crée les liens d’activation et démarre le service. Enable seul laisse l’état d’exécution actuel inchangé, tandis que start seul ne modifie pas l’activation au démarrage. Unmask supprime seulement un blocage du démarrage : cette commande ne satisfait donc à elle seule aucune des deux parties de la modification demandée.

Question 9 sur 10

Tu veux les entrées de nginx depuis le démarrage actuel, y compris les messages de niveau information. Quelle commande sélectionne ce périmètre ?
  1. sudo journalctl -u nginx -b -1
  2. sudo journalctl -u nginx -b
  3. sudo journalctl -u nginx -b -p err
  4. sudo journalctl -k -b
Afficher la réponseMasquer la réponse
Réponse : B
Le filtre d’unité sélectionne nginx et -b sélectionne le démarrage actuel sans restreindre le niveau de priorité des messages. Ajouter -p err masquerait les messages de niveau information, qui peuvent contenir des détails utiles. Le filtre du démarrage précédent modifie la période, et -k sélectionne les messages du noyau au lieu du journal complet du service.

Question 10 sur 10

Tu archives /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é ?
  1. /tmp/inspect/srv/notes/day.txt, appartenant à l’utilisateur qui extrait
  2. /tmp/inspect/notes/day.txt, appartenant à root
  3. /srv/notes/day.txt, appartenant à l’utilisateur qui extrait
  4. /tmp/inspect/notes/day.txt, appartenant à l’utilisateur qui extrait
Afficher la réponseMasquer la réponse
Réponse : D
La commande de création enregistre le membre relatif notes/day.txt, et l’extraction le place sous /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

Bash affiche [3] 9026 après le lancement d’une tâche. Comment la ramener au premier plan ?
  1. fg %9026
  2. bg %3
  3. fg %3
  4. kill -CONT 3
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Un serveur à huit processeurs exécute des tâches principalement limitées par le processeur, avec peu d’attente d’entrées-sorties et des charges moyennes de 12.0, 8.0, 4.0. Quelle est la meilleure interprétation ?
  1. La demande récente de processeur dépasse la capacité et a augmenté.
  2. La demande récente de processeur est faible et a diminué.
  3. Douze pour cent de la capacité du processeur sont utilisés.
  4. Toutes les tâches sont bloquées sur l’accès au stockage.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Une carte réseau PCI apparaît dans lspci, mais aucune ligne Kernel driver in use n’est présente. Que dois-tu examiner ensuite ?
  1. Le numéro de tâche au premier plan du shell
  2. Seulement le nom commercial annoncé du périphérique
  3. Seulement l’historique des paquets de l’utilisateur actuel
  4. L’association du pilote et les messages d’erreur du noyau
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Sur un système Debian, comment trouver le paquet installé auquel appartient /usr/bin/less ?
  1. dpkg -L /usr/bin/less
  2. dpkg -S /usr/bin/less
  3. apt search /usr/bin/less
  4. apt policy /usr/bin/less
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Tu veux supprimer un paquet Debian tout en conservant sa configuration système gérée pour une réinstallation ultérieure. Quelle opération convient ?
  1. sudo apt remove NAME
  2. sudo apt purge NAME
  3. sudo apt autoremove
  4. sudo apt update
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Tu modifies directement sur disque la ligne ExecStart d’une unité. Quelle séquence applique la nouvelle commande à un service en cours d’exécution ?
  1. Recharger l’application, puis activer son démarrage
  2. Exécuter daemon-reload, puis redémarrer le service
  3. Activer le démarrage du service, puis consulter ses fichiers
  4. Consulter son état, puis exécuter seulement reset-failed
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Un événement survenu il y a deux jours est absent du journal texte actuel. Le répertoire contient aussi app.log.2.gz. Comment rechercher directement dans ce fichier plus ancien ?
  1. journalctl -u app.log.2.gz
  2. tail -f app.log
  3. gzip app.log.2.gz
  4. zgrep "timeout" app.log.2.gz
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Un service personnalisé indique 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 ?
  1. Créer l’utilisateur du service, puis effacer le journal et redémarrer
  2. Augmenter RestartSec, puis attendre la prochaine tentative automatique
  3. Corriger ExecStart, recharger les définitions, puis démarrer et vérifier
  4. Activer le service au démarrage, puis redémarrer sans changer sa commande
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Tu dois compresser report.log avec gzip et conserver le fichier non compressé. Quelle commande convient ?
  1. gzip -k report.log
  2. gzip report.log
  3. gunzip report.log
  4. tar -cf report.log.gz report.log
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Sur Debian, dpkg a installé incomplètement un paquet local de confiance parce que deux dépendances manquaient. Une autre mise à jour automatique détient actuellement le verrou du gestionnaire de paquets. Quelle est la meilleure séquence à suivre ?
  1. Supprimer le fichier de verrouillage, puis répéter l’installation de bas niveau
  2. Purger le paquet principal, puis désactiver les vérifications de signature des dépôts
  3. Attendre la fin de l’opération qui détient le verrou, puis examiner une transaction de réparation apt
  4. Actualiser les listes de paquets, puis supposer que les bibliothèques manquantes sont installées
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

Un processus porte l’état 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 ?
  1. Le processus est en pause et a besoin de SIGCONT avant de se terminer.
  2. Le processus effectue des calculs avec une valeur de nice négative.
  3. Le processus est bloqué jusqu’à la fin d’une opération de stockage.
  4. Le processus est terminé et attend que son parent récupère son code de retour.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Une ancienne note attribue le PID 7440 à ta tâche data-export, mais ps indique maintenant que ce PID exécute un éditeur. 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 ?
  1. Envoyer SIGTERM au PID 7440 enregistré
  2. Vérifier le PID 8550, puis lui envoyer SIGKILL
  3. Vérifier le PID 8550, puis lui envoyer SIGTERM
  4. Utiliser pkill data-export avec les droits root
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Une configuration uniforme de processeurs comprend 2 sockets, 3 cœurs par socket et 2 threads par cœur. Combien fournit-elle de cœurs physiques et de processeurs logiques ?
  1. 6 cœurs et 12 processeurs logiques
  2. 12 cœurs et 12 processeurs logiques
  3. 3 cœurs et 6 processeurs logiques
  4. 6 cœurs et 6 processeurs logiques
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

APT rejette les métadonnées d’un dépôt récemment ajouté parce que la clé de signature attendue manque. Quelle réponse préserve la vérification de confiance prévue ?
  1. Accepter une fois les métadonnées non signées, car le paquet est connu
  2. Vérifier l’éditeur et installer correctement sa clé authentique
  3. Télécharger plutôt le même paquet depuis un miroir non vérifié
  4. Utiliser dpkg pour que la clé manquante du dépôt ne bloque pas l’installation
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

La version installée d’un paquet est 3.2 et sa version candidate APT est 3.4. Que signifie cette situation ?
  1. La version 3.2 est installée ; la version 3.4 est sélectionnée pour la mise à niveau.
  2. La version 3.4 est installée ; la version 3.2 est utilisée avant le redémarrage.
  3. Les deux versions sont installées parce que policy liste deux valeurs.
  4. La version 3.2 est disponible uniquement dans un dépôt désactivé.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Un service affiche active (exited) après avoir terminé avec succès une tâche de configuration ponctuelle. Que signifie cet état ?
  1. Son programme principal doit encore utiliser le processeur.
  2. La tâche de configuration a nécessairement échoué.
  3. Son unité est bloquée pour tous les démarrages futurs.
  4. La tâche terminée est toujours considérée comme active.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Une mise à niveau de paquet a effacé ta modification du fichier du fournisseur. Tu dois remplacer durablement son unique commande ExecStart et appliquer la nouvelle commande maintenant. Quelle séquence convient ?
  1. Modifier le nouveau fichier du fournisseur, ajouter un autre ExecStart, puis activer le démarrage
  2. Créer un fichier complémentaire local, réinitialiser ExecStart, définir son remplacement, puis redémarrer
  3. Créer un fichier complémentaire local, ajouter un autre ExecStart, puis activer le démarrage
  4. Créer un fichier complémentaire local, réinitialiser ExecStart, puis recharger seulement l’application
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Quels niveaux de priorité sont inclus par journalctl -p err ?
  1. Erreur seule, niveau 3 uniquement
  2. D’erreur à débogage, niveaux 3 à 7
  3. D’urgence à erreur, niveaux 0 à 3
  4. Avertissement et information, niveaux 4 à 6
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Le journal d’un service signale d’abord une erreur de syntaxe dans la configuration, puis des échecs répétés et une limitation de la fréquence des démarrages. Tu corriges le fichier et son test de syntaxe réussit. Que faut-il faire ensuite ?
  1. Augmenter la priorité du processeur, redémarrer, puis supprimer les anciennes entrées du journal
  2. Réinitialiser l’état d’échec, puis supposer que le service en cours est réparé
  3. Activer l’unité au démarrage, puis attendre sans demander de nouveau lancement
  4. Réinitialiser l’état d’échec, démarrer le service, puis vérifier son état et sa fonction
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Une équipe a besoin d’une archive compressée unique contenant un répertoire, facile à ouvrir sur les ordinateurs Windows et macOS. Quelle commande convient ?
  1. gzip -r handoff
  2. zip -r handoff.zip handoff
  3. zip handoff.zip handoff
  4. xz handoff
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

Une tâche de compression peut être relancée sans risque depuis le début. Elle a été lancée depuis un terminal avec une valeur de nice de 0, entre en concurrence avec des tâches interactives et doit continuer après la déconnexion. Quel nouveau plan de lancement répond à ces besoins ?
  1. La mettre en arrière-plan avec &, puis fermer le terminal sans autre changement
  2. La relancer avec nohup, une redirection de sortie et un ajustement positif de nice
  3. Utiliser nohup avec nice -10 pour donner plus de processeur à la tâche interactive
  4. Rediriger la sortie et arrêter le processus avec SIGSTOP jusqu’au lendemain
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Un serveur à 12 processeurs présente une charge de 18, une faible utilisation du processeur par les programmes utilisateurs et de nombreuses tâches en état D. La RAM disponible est élevée et l’utilisation de l’espace d’échange est stable. Quel élément doit guider la suite du diagnostic ?
  1. Les attentes du stockage peuvent expliquer la charge malgré des processeurs inactifs.
  2. La demande de processeur prouve à elle seule qu’il faut plus de cœurs.
  3. La faible valeur de processeur utilisateur prouve que l’affichage de la charge est défaillant.
  4. L’épuisement de la mémoire explique toutes les tâches en état D sur l’hôte.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Un disque USB était /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 ?
  1. La lettre du périphérique d’hier, car les noms USB sont permanents
  2. La première entrée amovible, quelle que soit sa capacité actuelle
  3. La taille, le modèle et l’UUID actuels correspondant au disque visé
  4. Le périphérique dont la lettre est la première après un redémarrage
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

APT reporte la mise à niveau d’une application parce qu’elle nécessite la suppression d’un paquet installé. Un nouveau paquet du noyau est déjà installé, mais uname indique toujours l’ancien noyau. Tu dois faire fonctionner les deux nouvelles versions. Quel plan convient ?
  1. Actualiser les listes APT, ignorer l’installation, redémarrer et vérifier seulement uname
  2. Exécuter apt upgrade avec -y, redémarrer l’application et éviter le redémarrage de la machine
  3. Supprimer le verrou des paquets, réinstaller avec dpkg et vérifier seulement les fichiers
  4. Examiner full-upgrade, l’appliquer, redémarrer et vérifier les deux versions
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Sur un système RPM, /usr/bin/scan est absent. Tu veux découvrir quel paquet d’un dépôt fournit ce chemin exact. Quelle recherche convient ?
  1. rpm -qf /usr/bin/scan
  2. rpm -ql /usr/bin/scan
  3. dnf provides /usr/bin/scan
  4. dnf history info /usr/bin/scan
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Un service en cours d’exécution est désactivé au démarrage, mais sa socket l’active à nouveau chaque fois que tu l’arrêtes. La politique impose de bloquer ses futurs démarrages et de l’arrêter maintenant. Quelle action convient ?
  1. Masquer le service et l’arrêter
  2. Activer le service au démarrage sans --now
  3. Désactiver le service au démarrage une seconde fois
  4. Annuler le masquage du service et le recharger
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Dans un fichier d’unité, qu’établit After=network.target à lui seul ?
  1. Une obligation de démarrer cette cible
  2. Une relation d’ordre avec cette cible
  3. Une garantie de connexion Internet
  4. Un lien d’activation pour les démarrages futurs
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Un programme a disparu pendant le démarrage précédent. Son propre journal se termine sans erreur et le journal persistant conserve ce démarrage. Où dois-tu chercher une terminaison OOM par le noyau ?
  1. sudo journalctl -k -b -1
  2. sudo dmesg -w
  3. sudo journalctl -k -b
  4. sudo tail -f /var/log/apt/history.log
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Nginx ne peut pas se lier au port 8080. Une recherche des programmes en écoute identifie un second service que le système doit conserver. Les deux services doivent fonctionner. Quelle réparation faut-il envisager ?
  1. Désactiver définitivement le second service et vérifier seulement nginx
  2. Terminer le PID du second service chaque fois que systemd le redémarre
  3. Modifier une configuration d’écoute, la tester et vérifier les deux services
  4. Effacer le journal, puis réessayer nginx avec la même configuration
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Une archive tar liste bundle/a.txt et bundle/b.txt. Tu veux restaurer uniquement b.txt. Quel nom de membre dois-tu demander ?
  1. b.txt
  2. /bundle/b.txt
  3. archive.tar.gz/b.txt
  4. bundle/b.txt
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

Un diagnostic de mémoire nécessite les cinq processus qui en utilisent le plus, avec leurs parents. Quelle commande fournit un en-tête et cinq lignes de données ?
  1. ps -eo pid,ppid,%mem,cmd --sort=-%mem | head -n 6
  2. ps -eo pid,ppid,%mem,cmd --sort=%mem | head -n 6
  3. ps -eo pid,ppid,%mem,cmd --sort=-%mem | head -n 5
  4. ps -eo pid,ppid,%mem,cmd --sort=%mem | head -n 5
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Tu trouves une tâche de copie non gérée en état D qui attend un stockage indisponible, un processus fils zombie de ton application et un processus de travail systemd qui redémarre après avoir été terminé. Quel plan traite ces trois situations ?
  1. Répéter KILL sur la tâche en attente ; envoyer KILL au zombie ; continuer à terminer le PID du processus de travail
  2. Reprendre la tâche en attente avec CONT ; récupérer le zombie avec KILL ; seulement désactiver le processus de travail
  3. Examiner le stockage ; examiner le parent du zombie ; arrêter le processus de travail avec systemd
  4. Augmenter toutes les priorités ; redémarrer le zombie ; masquer le processus de travail sans l’arrêter
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Deux de tes tâches limitées par le processeur sont en concurrence. L’une a une valeur de nice de 0 et l’autre de 15. Laquelle a la priorité d’ordonnancement du processeur la plus basse ?
  1. La tâche avec nice 0
  2. Les deux ont la même priorité
  3. Celle dont le PID est le plus bas
  4. La tâche avec nice 15
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Un logiciel nécessite ARM 64 bits, 6 processeurs disponibles et 8 GB de RAM utilisable. Un hôte indique aarch64, un socket avec quatre cœurs et deux threads par cœur, nproc 4 et 7,6 GiB de RAM utilisable. Quelles exigences sont satisfaites ?
  1. L’architecture et les processeurs conviennent ; la RAM utilisable est insuffisante.
  2. L’architecture et la RAM conviennent ; le nombre de processeurs disponibles est insuffisant.
  3. Tout convient car huit threads matériels dépassent six.
  4. Seule la RAM convient car aarch64 n’est pas arm64.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

L’étiquette d’un disque indique 1 TB et un affichage en unités binaires indique environ 931 GiB. Qu’est-ce qui explique cette différence ?
  1. La capacité manquante doit être entièrement attribuée à l’espace d’échange.
  2. L’étiquette utilise des octets décimaux et l’affichage des unités binaires.
  3. L’affichage a compté des threads matériels au lieu de blocs de disque.
  4. Le disque peut récupérer la différence en chargeant un nouveau pilote.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Un collègue affirme qu’installer une bibliothèque Python avec pip signifie qu’apt la listera comme paquet Debian installé. Pourquoi ce raisonnement est-il faux ?
  1. Pip ne modifie que les modules du noyau, pas les bibliothèques Python.
  2. APT n’enregistre les bibliothèques qu’après chaque redémarrage du système.
  3. APT liste chaque fichier téléchargé comme un paquet installé.
  4. Pip et apt tiennent des registres d’installation distincts.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Un service désactivé au démarrage est actif et sa socket est activée. Comment cette situation peut-elle se produire ?
  1. Le service doit être activé à son insu puisqu’il est actif.
  2. Sa désactivation signifie que son état affiché n’est plus fiable.
  3. La socket peut l’activer sans liens d’activation propres au service.
  4. Un service désactivé ne peut fonctionner qu’après une mise à niveau du noyau.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Nginx traite toujours des requêtes. Tu as directement modifié ExecStart dans son unité pour indiquer un nouveau chemin de programme valide et tu as aussi modifié les paramètres de nginx ; nginx -t détecte maintenant une erreur de syntaxe. Quelle séquence applique les deux modifications prévues avec une configuration testée ?
  1. Corriger les paramètres nginx, réussir le test, exécuter daemon-reload, puis redémarrer et vérifier
  2. Exécuter d’abord daemon-reload, recharger nginx immédiatement, puis laisser l’ancien processus
  3. Redémarrer immédiatement, puis utiliser enable pour restaurer la configuration précédente
  4. Corriger les paramètres nginx, réussir le test, puis recharger seulement l’application
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Sur Ubuntu, des échecs de connexion SSH se sont produits de 10 h 00 à 10 h 30 le 20/10/2026, pendant le démarrage précédant l’actuel. Le journal conserve ce démarrage. Quelle commande sélectionne ces entrées du service sans exclure les messages de connexion de niveau information ?
  1. sudo journalctl -u ssh -b --since "2026-10-20 10:00" --until "2026-10-20 10:30"
  2. sudo journalctl -u ssh -b -1 -p err --since "2026-10-20 10:00" --until "2026-10-20 10:30"
  3. sudo journalctl -k -b -1 --since "2026-10-20 10:00" --until "2026-10-20 10:30"
  4. sudo journalctl -u ssh -b -1 --since "2026-10-20 10:00" --until "2026-10-20 10:30"
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Tu dois transférer un répertoire entre des machines Linux, conserver les métadonnées de propriétaire et de groupe pour une restauration par root et confirmer que le transfert a préservé les octets. Quel plan convient ?
  1. Compresser chaque fichier avec gzip, comparer seulement les noms, puis supprimer l’arborescence source
  2. Créer une archive tar.gz, comparer les valeurs SHA-256, puis tester une restauration
  3. Renommer le répertoire avec un suffixe .zip, puis comparer le nombre total de fichiers
  4. Créer une archive tar.gz, vérifier son suffixe, puis supposer que tous les fichiers sont arrivés
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

78 Mots-Clés, chacun avec sa définition

A

Activation au démarrage
L’activation au démarrage est une configuration par des liens qui organise l’activation automatique d’une unité, généralement dans le cadre d’une cible de démarrage.
Un service désactivé au démarrage peut tout de même être en cours d’exécution s’il a été lancé manuellement ou activé par une socket.
Actualisation de la liste des paquets
Une actualisation de la liste des paquets télécharge les informations actuelles des dépôts afin que le gestionnaire connaisse les versions disponibles sans les installer.
Après un apt update, une application plus récente peut être indiquée comme disponible alors que l’ancienne reste installée.
Architecture du processeur
L’architecture du processeur désigne la famille de code machine qu’un système exécute, comme x86_64 ou aarch64, et influe sur la compatibilité des paquets.
Un paquet ARM ne devient pas compatible avec un serveur x86 simplement parce que les deux utilisent Linux.
Archive
Une archive regroupe plusieurs fichiers et répertoires dans un seul objet, en conservant les noms des membres enregistrés et certaines métadonnées des fichiers.
Une archive tar peut conserver une arborescence Linux tandis qu’un outil de compression en réduit séparément la taille.
Attente d’entrées-sorties
L’attente d’entrées-sorties est le temps d’inactivité du processeur comptabilisé lorsque des entrées-sorties sont en attente. Elle est affichée sous la forme wa dans top et aide à examiner les attentes du stockage.
Une valeur wa élevée et peu de travail du processeur par les programmes utilisateurs rendent une vérification du stockage plus utile qu’une modification des valeurs de nice.

C

Charge moyenne
La charge moyenne est le nombre moyen de tâches prêtes à s’exécuter et de tâches en veille non interruptible, indiqué pour 1, 5 et 15 minutes.
Une charge élevée avec une faible activité du processeur peut orienter le diagnostic vers des tâches bloquées en attente du stockage.
Cible
Une cible systemd regroupe des unités dans un état nommé du système, comme un bureau graphique ou un environnement multiutilisateur sans interface graphique.
Définir multi-user.target comme cible par défaut modifie le choix des démarrages futurs sans fermer le bureau actuel.
Code de retour
Un code de retour indique comment un programme ou une étape de démarrage s’est terminé, ce qui aide à distinguer une erreur d’application d’un échec de lancement.
Un résultat 203/EXEC oriente vers les conditions de lancement avant la recherche des messages de démarrage propres à l’application.
Cœur physique
Un cœur physique est un cœur d’exécution matériel d’un processeur, qui peut exposer plusieurs processeurs logiques grâce au multithreading simultané.
Compte les sockets et les cœurs par socket avant d’indiquer le nombre de cœurs physiques d’un serveur.
Compression
La compression code les données avec moins d’octets lorsque leur contenu le permet, au prix d’un travail de traitement et parfois de mémoire pour réduire l’espace de stockage.
Les journaux texte diminuent souvent bien plus que les images JPEG, car ces dernières sont déjà compressées.
Conflit de port
Un conflit de port se produit lorsqu’un service ne peut pas obtenir l’adresse et le port d’écoute demandés parce qu’un programme en écoute incompatible les occupe déjà.
Identifie le programme déjà en écoute avant de décider de l’arrêter ou de modifier la configuration d’un service.

D

Dépendance
Une dépendance est un autre paquet dont un logiciel a besoin pour fonctionner, comme une bibliothèque partagée utilisée par son exécutable.
L’installation d’une petite application peut aussi installer plusieurs bibliothèques qui satisfont ses dépendances.
Dépôt
Un dépôt propose à un gestionnaire de paquets des fichiers de paquets et des index décrivant les logiciels disponibles, leurs versions et leurs dépendances requises.
L’actualisation des informations du dépôt permet à apt de comparer les versions installées aux versions candidates plus récentes disponibles.

E

Espace d’échange
L’espace d’échange est un espace de stockage utilisé pour les pages mémoire déplacées hors de la RAM, offrant une capacité supplémentaire dont l’accès est plus lent que celui de la mémoire physique.
Une utilisation croissante de l’espace d’échange associée à une faible RAM disponible suggère qu’il faut examiner la charge de travail.
ExecStart
ExecStart est le paramètre d’un service qui indique le programme à exécuter, au moyen d’un chemin absolu vers l’exécutable ou d’un simple nom d’exécutable.
Une commande commençant par ./worker possède un chemin relatif contenant une barre oblique et n’est pas une forme d’exécutable valide.
Extraction
L’extraction restaure les membres d’une archive dans le système de fichiers en plaçant leurs chemins enregistrés sous le répertoire de destination choisi.
Restaure dans un répertoire vide lorsque tu vérifies une archive que tu ne connais pas, afin de ne pas écraser de fichiers existants.

É

État d’activité
L’état d’activité d’un service décrit sa condition actuelle : par exemple en cours d’exécution, inactif, en échec ou tâche terminée considérée comme active.
Un service activé au démarrage peut avoir un état d’activité en échec après que son application a rejeté une configuration.

F

Fichier d’unité
Un fichier d’unité est une définition texte d’une unité systemd, organisée en sections et paramètres d’exécution, de dépendance et d’installation.
Systemctl cat affiche le fichier d’unité de base du service et ses éventuels fichiers de modification locaux avec leurs chemins.
Fichier de configuration complémentaire
Un fichier de configuration complémentaire ajoute des paramètres locaux à la définition d’une unité, ce qui permet de séparer les modifications de l’administrateur des fichiers fournis par les paquets.
Un paramètre Restart enregistré dans un fichier de configuration complémentaire local peut être conservé lorsque l’unité du fournisseur est remplacée lors d’une mise à niveau.
Fichier de périphérique
Un fichier de périphérique est un fichier spécial, généralement situé sous /dev, par lequel un logiciel accède à un périphérique représenté par le noyau.
Le nom de partition NVMe /dev/nvme0n1p2 identifie une partition et non un répertoire de fichiers.

G

gzip
Gzip est un format et un outil de compression de fichiers individuels, couramment utilisé pour les journaux et les archives tar, qui associe une large prise en charge à une bonne vitesse.
Gzip -k conserve un journal non compressé tout en créant une copie .gz pour le stockage ou le transfert.

J

Journal du noyau
Le journal du noyau enregistre les événements du noyau du système d’exploitation, notamment la détection du matériel, les erreurs de pilotes et les actions liées à l’épuisement de la mémoire.
Si un processus disparaît silencieusement, recherche une terminaison OOM dans les messages du noyau avant de supposer un défaut de l’application.
Journal persistant
Un journal persistant conserve les entrées sur disque sous /var/log/journal, ce qui permet d’interroger les démarrages précédents jusqu’à leur suppression selon les règles de conservation.
Un diagnostic du noyau lors du démarrage précédent nécessite des entrées conservées, et pas seulement le tampon actuel du noyau.
Journal systemd
Le journal systemd stocke des entrées indexées recueillies auprès du noyau, du processus de démarrage et des programmes, avec des champs comme l’heure, l’unité et le niveau de priorité.
Utilise journalctl pour lire les fichiers du journal au lieu d’ouvrir leur contenu binaire avec un lecteur de fichiers texte.
Journal volatil
Un journal volatil conserve les entrées sous /run/log/journal, si bien qu’elles sont perdues à l’arrêt au lieu d’être reportées au démarrage suivant.
Après un redémarrage, un journal volatil ne peut pas fournir l’historique des erreurs de service du démarrage précédent.

L

Limitation de la fréquence des démarrages
Une limitation de la fréquence des démarrages restreint les tentatives répétées de démarrage d’un service pendant une période configurée, afin d’empêcher les boucles d’échecs rapides de se répéter indéfiniment.
Corrige l’erreur initiale avant d’effacer les compteurs de limitation avec reset-failed et de tester un nouveau démarrage.

M

Masquage
Le masquage systemd bloque les nouveaux démarrages d’une unité, généralement par un lien vers /dev/null, y compris les démarrages manuels et par dépendance.
Un service masqué qui était déjà en cours d’exécution nécessite une demande d’arrêt distincte s’il doit cesser de fonctionner.
Membre d’une archive
Un membre d’une archive est une entrée de fichier ou de répertoire enregistrée, identifiée par son chemin dans l’archive, qui peut différer de son chemin d’origine.
L’extraction d’un seul fichier nécessite le nom de membre affiché dans la liste, y compris tout préfixe de répertoire.
Mémoire disponible
La mémoire disponible est une estimation de la RAM que de nouvelles tâches peuvent utiliser sans recourir à l’espace d’échange, y compris la capacité récupérable dans les caches.
Lorsque la RAM libre est faible, lis la colonne available avant de décider que le serveur a besoin de plus de mémoire.
MemTotal
MemTotal est la RAM physique utilisable indiquée par le noyau dans /proc/meminfo, sans la mémoire réservée avant l’utilisation ordinaire.
Les barrettes installées peuvent totaliser 16 GiB même si MemTotal indique une quantité utilisable légèrement inférieure.
Métadonnées du fichier
Les métadonnées du fichier décrivent des propriétés comme le propriétaire, le groupe, les modes de droits et les horodatages, que tar enregistre avec le contenu des fichiers.
Une restauration par root peut appliquer les propriétaires enregistrés, tandis qu’une restauration par un utilisateur ordinaire crée normalement des fichiers qui lui appartiennent.
Métadonnées du paquet
Les métadonnées du paquet décrivent l’identité et les exigences d’un paquet, ce qui aide les outils à sélectionner, installer et consulter des logiciels compatibles.
Les champs d’architecture et de dépendances aident un gestionnaire de dépôts à planifier la transaction d’installation.
Mise à niveau
Une mise à niveau remplace un logiciel installé par une version de paquet plus récente sélectionnée, selon les règles de dépendance du gestionnaire de paquets.
Installer une mise à niveau du noyau laisse l’ancien noyau en cours d’exécution jusqu’au démarrage de la machine sur le nouveau.
Module du noyau
Un module du noyau est un morceau de code du noyau qui peut être chargé dans un noyau en cours d’exécution, souvent pour fournir la prise en charge d’un matériel.
La liste des modules indique le code chargé ; une liste de périphériques aide à déterminer quel pilote est réellement associé.

N

Nettoyage des fichiers de journal archivés
Le nettoyage des fichiers de journal archivés supprime les anciens fichiers de journal archivés pour respecter les limites de conservation choisies, sans toucher aux fichiers de journal actifs.
L’espace disque total utilisé peut rester supérieur à la taille visée par le nettoyage, car les fichiers actifs sont comptés dans le rapport d’utilisation.
Niveau de priorité
Un niveau de priorité du journal indique la gravité d’un message, numérotée de 0 pour l’urgence à 7 pour le débogage ; les nombres les plus petits correspondent aux niveaux les plus graves.
Un seuil err conserve les erreurs et les entrées plus graves tout en masquant les messages d’information qui pourraient néanmoins aider.
Numéro de tâche
Un numéro de tâche est un identifiant local au shell utilisé pour sélectionner une tâche, distinct de l’identifiant de processus valable dans tout le système et affiché à côté.
Dans [2] 7164, fg %2 sélectionne la tâche ; 7164 identifie son processus au niveau du système d’exploitation.

O

OOM killer
L’OOM killer est un mécanisme du noyau qui termine un processus sélectionné lorsque l’épuisement de la mémoire nécessite d’en libérer.
Une entrée OOM peut expliquer pourquoi une application a disparu sans écrire sa propre erreur.

P

Paquet
Un paquet regroupe des fichiers logiciels avec des métadonnées d’installation, notamment la version, l’architecture, les dépendances requises et les informations associant les fichiers au paquet.
Un paquet peut placer un exécutable, de la documentation et des fichiers de configuration dans des répertoires différents.
Périphérique en mode bloc
Un périphérique en mode bloc est un périphérique auquel on accède par des blocs de stockage adressables, comme un disque ou une partition représentés sous /dev.
L’arbre lsblk place une partition sous le disque dont elle divise le stockage en régions distinctes.
PID
Un PID est l’identifiant numérique qui désigne un processus en cours d’exécution ; le noyau peut réutiliser ce numéro après la fin du processus.
Avant d’envoyer un signal au PID 6051, vérifie qu’il désigne toujours la commande voulue.
Pilote
Un pilote est un logiciel qui permet au noyau de communiquer avec un périphérique ; la détection sur un bus ne prouve pas à elle seule qu’un pilote fonctionne.
Une carte PCI sans ligne indiquant un pilote utilisé nécessite un examen supplémentaire avant de pouvoir traiter du trafic.
Politique de redémarrage
La politique de redémarrage d’un service détermine quelles sorties de processus provoquent des tentatives de reprise automatique, sous réserve des limites et des demandes d’arrêt explicites.
On-failure peut redémarrer un service après un arrêt brutal, tandis qu’un systemctl stop intentionnel le maintient arrêté.
PPID
Un PPID est un identifiant de processus parent : il désigne le processus qui en a lancé un autre et relie ce dernier à sa famille de processus.
Le PPID indiqué à côté d’une commande de terminal correspond généralement au PID du shell qui l’a lancée.
Processeur logique
Un processeur logique est une unité de traitement présentée à l’ordonnanceur ; plusieurs processeurs logiques peuvent partager un même cœur physique grâce aux threads matériels.
Six cœurs avec deux threads chacun exposent 12 processeurs logiques, même s’il y a toujours six cœurs.
Processus
Un processus est une instance d’un programme en cours d’exécution, avec sa propre identité, sa mémoire et ses ressources gérées par le système d’exploitation.
Deux commandes sleep distinctes créent deux processus, même si elles exécutent le même programme.
Processus zombie
Un processus zombie est un processus terminé dont le parent n’a pas récupéré le code de retour, laissant une petite entrée marquée Z dans la table des processus.
Des entrées zombies répétées ayant le même parent suggèrent que celui-ci ne récupère pas les codes de retour de ses processus fils.
Purge
Une purge est une opération de suppression d’APT qui efface aussi la configuration système gérée d’un paquet, tout en laissant intactes les données des répertoires personnels.
Choisis la purge lorsque les paramètres système conservés doivent aussi disparaître, après avoir décidé quelle configuration garder.

R

Rechargement
Le rechargement d’un service demande à une application compatible de relire sa propre configuration sans effectuer un cycle complet d’arrêt et de démarrage.
Teste la configuration modifiée de nginx avant de demander son rechargement afin de trouver les erreurs avant l’application des changements.
Rechargement de la configuration de systemd
Un rechargement de la configuration de systemd demande à systemd de relire ses définitions d’unité, sans recharger lui-même une application ni redémarrer tous les services.
Après avoir modifié directement la commande d’une unité, recharge les définitions et redémarre ce service pour utiliser la nouvelle commande.
Recherche du paquet auquel appartient un fichier
Une recherche du paquet auquel appartient un fichier trouve le paquet installé qui a fourni un chemin donné, à partir de la base de données des paquets plutôt qu’en supposant le nom de la commande.
Sur un système RPM, utilise rpm -qf pour un exécutable installé dont tu ne connais pas le nom du paquet.
Redémarrage
Le redémarrage d’un service arrête puis relance la tâche gérée, permettant à de nouveaux paramètres ou à du code remplacé de prendre effet.
Redémarrer un service fonctionnel avec une configuration invalide peut le laisser arrêté après l’échec du nouveau démarrage.
Rotation des journaux
La rotation des journaux limite la croissance des journaux texte en créant de nouveaux fichiers, en renommant et souvent en compressant les anciens, puis en supprimant les entrées arrivées à expiration.
Une connexion échouée la semaine dernière peut se trouver dans un fichier compressé issu de la rotation plutôt que dans le journal d’authentification du jour.
RSS
Le RSS est la taille de la mémoire résidente d’un processus, c’est-à-dire la quantité de sa mémoire actuellement présente dans la RAM physique, généralement affichée en kibioctets par ps.
Une allocation virtuelle importante avec un faible RSS ne signifie pas nécessairement que le processus occupe autant de RAM.

S

Service
Un service est une tâche gérée en arrière-plan qui fournit une fonction, comme un serveur web ou un daemon SSH, généralement sans terminal.
Un service peut continuer à traiter des requêtes après la fermeture par l’administrateur du terminal utilisé pour le démarrer.
SIGKILL
SIGKILL est un signal de terminaison impossible à intercepter qui force un processus à se terminer sans exécuter le nettoyage normal de l’application.
Ne force la sortie qu’après avoir confirmé que le processus visé, toujours en cours d’exécution, n’a pas répondu à TERM.
Signal
Un signal est une notification transmise à un processus pour demander une action comme la sortie, la pause, la reprise ou un traitement propre à l’application.
Envoyer un signal ne demande pas toujours de terminer un processus : SIGCONT reprend une tâche arrêtée.
SIGSTOP
SIGSTOP est un signal impossible à intercepter qui arrête l’exécution d’un processus tout en conservant son identité, sa mémoire et ses autres ressources.
Un processus de test arrêté reste visible dans ps et peut continuer lorsqu’il reçoit SIGCONT.
SIGTERM
SIGTERM est le signal de terminaison utilisé par défaut par kill ; il demande une sortie que le programme peut traiter avec son code de nettoyage.
Un éditeur peut répondre à SIGTERM en fermant ses fichiers avant de quitter, si son code prend en charge ce traitement.
Somme de contrôle
Une somme de contrôle est une valeur calculée à partir des octets d’un fichier, qui peut être comparée entre plusieurs copies pour détecter si leurs contenus correspondent.
Compare les valeurs SHA-256 après avoir transféré une archive, puis vérifie séparément qu’elle contient les fichiers voulus.
Suppression automatique des dépendances inutilisées
La suppression automatique des dépendances inutilisées retire les paquets de dépendances installés automatiquement dont l’ensemble des paquets installés n’a plus besoin, après examen de la transaction.
Une bibliothèque ajoutée pour une application peut devenir admissible à la suppression automatique lorsque cette application est supprimée.
Syslog
Syslog est une interface de journalisation système et un format de message, souvent pris en charge par un service comme rsyslog qui écrit les journaux texte configurés.
Une installation fondée sur le journal systemd peut ne pas avoir de fichiers texte syslog, même si ses services continuent à consigner des événements.
systemd
systemd est un système d’initialisation et un gestionnaire de services qui s’exécute couramment avec le PID 1 et active et supervise les unités dans tout le système.
Systemd peut redémarrer un service en échec selon la politique de son unité et enregistrer sa sortie dans le journal.

T

Table du micrologiciel
Une table du micrologiciel enregistre des informations matérielles fournies par le micrologiciel de la machine, que des outils comme dmidecode peuvent lire.
Un rapport de dmidecode sur les emplacements mémoire peut indiquer la taille et le type enregistrés pour chaque barrette.
Tâche au premier plan
Une tâche au premier plan est une tâche gérée par le shell qui contrôle actuellement le terminal, tandis que le shell attend qu’elle se termine ou s’arrête.
Après fg %2, les raccourcis clavier comme Ctrl+C agissent sur la tâche désormais au premier plan.
Tâche en arrière-plan
Une tâche en arrière-plan est une tâche gérée par le shell qui s’exécute sans occuper le premier plan, ce qui permet au shell d’accepter d’autres commandes.
Un rapport en arrière-plan peut continuer à écrire dans l’invite de commande si sa sortie n’a pas été redirigée.
Tampon circulaire
Un tampon circulaire est un espace de stockage de taille fixe qui remplace ses entrées les plus anciennes par de nouvelles à mesure qu’il se remplit. Le noyau utilise un tel tampon pour ses messages.
Le tampon actuel du noyau peut perdre d’anciens messages de détection alors que le journal persistant en conserve des copies.
Test de configuration
Un test de configuration vérifie les paramètres proposés d’une application avant leur application, en identifiant souvent les erreurs de syntaxe par fichier et par ligne.
Un nginx -t réussi après une correction donne une raison de poursuivre avec le rechargement ou le redémarrage prévu.
Transaction
Une transaction sur les paquets est une opération enregistrée d’installation, de suppression ou de mise à niveau concernant un ou plusieurs paquets et leurs modifications.
Examine les détails d’une transaction DNF pour voir quelle bibliothèque a changé peu avant qu’un service commence à échouer.

U

Unité
Une unité est un objet géré par systemd, décrit par une définition de service, de socket, de cible, de montage ou d’une autre ressource.
Le suffixe de nginx.service identifie l’unité comme un service plutôt qu’une socket ou une cible.
UUID
Un UUID est un identifiant unique indiqué pour des ressources comme les systèmes de fichiers, qui aide à les distinguer indépendamment des noms de périphériques changeants.
Compare le modèle, la capacité et l’UUID du système de fichiers d’un disque lorsque sa lettre sd a changé depuis la veille.

V

Valeur de nice
Une valeur de nice ajuste la priorité d’ordonnancement ordinaire du processeur ; les valeurs plus élevées donnent plus de possibilités d’exécution aux tâches concurrentes.
Une sauvegarde avec une valeur de nice de 15 peut céder du temps processeur aux tâches interactives tout en utilisant pleinement un processeur inactif.
Vérification de signature
La vérification de signature contrôle des données authentifiées à l’aide d’une clé de signature de confiance, ce qui contribue à la chaîne de confiance envers l’éditeur dans un système de paquets.
Une clé authentique de dépôt manquante doit être ajoutée sans désactiver la vérification d’authentification.
Verrou du gestionnaire de paquets
Un verrou du gestionnaire de paquets coordonne l’accès aux registres des paquets afin que des processus simultanés d’installation ou de maintenance n’écrivent pas des modifications contradictoires.
Un outil de mise à jour automatique peut détenir le verrou pendant que tu attends de commencer une installation interactive.
Version candidate
Une version candidate est la version d’un paquet qu’APT sélectionnerait actuellement pour l’installer ou le mettre à niveau selon sa politique configurée.
Une version candidate peut changer après l’actualisation des listes des dépôts alors que les fichiers installés restent identiques.
Version installée
Une version installée est la version d’un paquet enregistrée comme installée localement, distincte d’une version simplement disponible dans un dépôt.
Une consultation de policy peut afficher la version installée 2.4 et la version candidate 2.6 avant toute mise à niveau.

X

xz
Xz est un format et un outil de compression qui produit souvent des fichiers plus petits que gzip, tout en nécessitant plus de temps et de mémoire pour la compression.
Pour une archive texte destinée à un téléchargement dont la taille compte, le traitement supplémentaire de xz peut se justifier.

Z

ZIP
ZIP est un format d’archive qui associe le regroupement des fichiers à leur compression et qui est largement pris en charge pour le partage entre systèmes d’exploitation d’ordinateurs de bureau.
Utilise zip -r pour regrouper un répertoire et son contenu à destination de collègues utilisant Windows ou macOS.

À propos de cette unité

Par StudeliSignaler une erreur

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.

Commencer