Aller au contenu
English
English
Administration Linux medium

Notions fondamentales Linux

50 min de lecture

Linux est un système d'exploitation libre et open-source. Au sens strict, c'est le noyau créé par Linus Torvalds en 1991 : le programme central qui gère le matériel, la mémoire et les processus. Au sens courant, « Linux » désigne un système complet assemblé par une distribution (Ubuntu, Debian, RHEL), qui ajoute autour du noyau les bibliothèques, les outils et les applications.

Ce guide vous donne le vocabulaire et les repères essentiels pour travailler sur un serveur Linux : comment il s'organise en couches, comment est structuré son système de fichiers, et comment il démarre. C'est le socle du parcours Fondamentaux, ces notions reviennent dans chaque guide de la section.

À la fin de ce guide, vous serez capable de :

  • expliquer en quoi Linux est un noyau et ce que les distributions ajoutent autour de lui,
  • décrire comment une commande simple comme ls voyage des couches utilisateur jusqu'au noyau,
  • nommer les 7 étapes du démarrage d'un serveur Linux moderne, de l'UEFI à systemd,
  • vous repérer dans l'arborescence / sans hésiter sur la destination d'un fichier de configuration, d'un journal ou d'un script.

Au sens strict, Linux désigne uniquement le noyau, le programme central créé en 1991 par Linus Torvalds, distribué sous licence GPL. C'est lui qui gère le matériel, la mémoire, les processus et les fichiers.

Dans l'usage courant, on dit souvent « Linux » pour parler d'un système complet. Ce système est en réalité fourni par une distribution, qui assemble :

  • le noyau Linux,
  • des bibliothèques système (dont la libc),
  • des utilitaires GNU et d'autres outils,
  • un système d'initialisation (le plus souvent systemd),
  • un gestionnaire de paquets (APT, DNF, APK…),
  • et des applications supplémentaires.

Exemples de distributions courantes en administration serveur : Ubuntu Server, Debian, RHEL/Rocky Linux, Alpine Linux.

Ce partage des rôles explique le nom GNU/Linux que certains emploient. Linus Torvalds a écrit le noyau ; Richard Stallman et le projet GNU ont fourni la majorité des outils qui l'entourent, compilateur, shell et utilitaires. Une distribution combine les deux, et bien plus, pour former un système réellement utilisable.

Un système Linux n'est pas un bloc unique mais un empilement de briques, chacune ne s'adressant qu'à sa voisine immédiate. Le tableau ci-dessous les liste de la plus proche du matériel à la plus proche de vous. Retenez surtout la colonne Rôle : elle vous dira, face à une panne, quelle brique interroger. Un service qui ne démarre pas relève de l'init, une commande introuvable des outils système, un paquet manquant du gestionnaire de paquets.

ComposantRôleExemple
NoyauGère matériel, mémoire, processusLinux 6.x
BibliothèquesInterface entre programmes et noyauglibc, musl
ShellInterprète les commandesbash, zsh, sh
Outils systèmeManipulation fichiers, réseau, processuscoreutils, util-linux
Gestionnaire de paquetsInstallation et mises à jourapt, dnf, apk
Init / PID 1Démarre et supervise les servicessystemd

Plutôt qu'une liste de couches abstraites, partons d'un exemple concret.

Vous tapez ls /etc dans un terminal :

  1. Le shell (bash, zsh…) analyse la ligne et localise le programme ls.
  2. Le shell lance ls comme un nouveau processus.
  3. ls appelle des fonctions de la bibliothèque C (glibc) pour lire le répertoire.
  4. La libc traduit ces appels en appels système (openat, getdents64…).
  5. Le noyau reçoit ces appels, interroge le système de fichiers, lit les entrées sur le disque.
  6. Les données remontent à travers les couches jusqu'à l'affichage dans votre terminal.

Ce trajet illustre la règle fondamentale : le shell n'est pas Linux. C'est un programme utilisateur ordinaire. Linux, c'est le noyau qui arbitre l'accès aux ressources.

Linux distingue en permanence deux zones :

  • Mode noyau : le noyau s'exécute avec un accès total au matériel. Un bug ici peut paralyser le système.
  • Mode utilisateur : tous vos processus (shell, services, applications) tournent avec des privilèges restreints. Un crash dans cet espace ne touche pas le reste.

La frontière entre les deux est franchie uniquement par les appels système, c'est le mécanisme de sécurité central de l'architecture Linux.

Ces quatre raccourcis reviennent chez toute personne qui débute, et chacun mène à une erreur de diagnostic précise. Les lever maintenant évite de chercher au mauvais endroit plus tard.

  • Linux n'est pas une distribution : Debian, Ubuntu et RHEL en sont, Linux est le noyau qu'elles embarquent.
  • Le shell n'est pas le terminal : le terminal affiche et transmet vos frappes, le shell interprète la ligne.
  • /proc et /sys ne sont pas de vrais répertoires de données : ce sont des vues virtuelles sur le noyau, calculées à la lecture.
  • /tmp n'est pas un stockage durable : ne supposez jamais que son contenu survit à un redémarrage.

Sur un serveur Linux moderne, le démarrage suit une séquence précise de 7 étapes. La connaître vous permet de diagnostiquer un serveur qui ne démarre pas, ou de comprendre pourquoi un service ne se lance pas.

  1. Firmware (BIOS / UEFI)

    À l'allumage, le firmware initialise le matériel (CPU, RAM, disques, cartes réseau). Sur les systèmes UEFI modernes, il peut charger directement un noyau signé : c'est le Secure Boot. Sinon, il passe la main à un chargeur de démarrage.

  2. Chargeur de démarrage (GRUB2 / systemd-boot)

    Le chargeur affiche un menu, permet de choisir un noyau parmi ceux installés, ou de passer des paramètres. Il charge en mémoire deux éléments : le noyau Linux compressé (vmlinuz) et une image initramfs.

    Installer un noyau ne le fait pas tourner, et c'est la meilleure porte d'entrée sur ce sujet. Une machine héberge plusieurs noyaux en même temps, et celui qui s'exécute n'est pas forcément le plus récent :

    Fenêtre de terminal
    ls /boot/vmlinuz*
    readlink /boot/vmlinuz
    uname -r

    Sur une Ubuntu 24.04 en cours de vie, cela donne deux noyaux installés, /boot/vmlinuz pointant sur 6.8.0-136 alors qu'uname -r répond 6.8.0-134. /proc/cmdline confirme lequel a réellement démarré :

    Fenêtre de terminal
    grep -o 'BOOT_IMAGE=[^ ]*' /proc/cmdline

    Un noyau installé, jamais démarré, faute de redémarrage. C'est exactement ce qui explique qu'une mise à jour de sécurité du noyau n'a aucun effet tant que la machine n'a pas redémarré, et pourquoi les outils de conformité distinguent « corrigé » de « redémarré ».

  3. Décompression et initialisation du noyau

    Le noyau se décompresse, détecte le matériel disponible et prend le contrôle du CPU. Il ne monte pas encore la vraie racine du système.

  4. Initramfs / initrd

    L'initramfs (Initial RAM Filesystem) est une archive compressée chargée en mémoire. Elle contient un environnement minimal, pilotes, scripts, outils, qui permet au noyau de :

    • charger les pilotes nécessaires (RAID, LVM, chiffrement…),
    • trouver et préparer la vraie partition racine,
    • déchiffrer le volume si nécessaire.

    C'est l'étape souvent oubliée, mais critique : sans initramfs, le noyau ne saurait pas accéder à un disque LVM ou chiffré.

  5. Switch-root vers la vraie racine

    Une fois la vraie partition / accessible, le noyau effectue un switch-root : il quitte l'environnement initramfs et bascule vers le système de fichiers réel installé sur disque.

  6. PID 1, systemd (ou autre)

    Le premier processus lancé par le noyau sur la vraie racine est le PID 1. Sur la quasi-totalité des distributions serveur modernes, c'est systemd. C'est lui qui gère tout ce qui suit.

  7. Services et cible par défaut

    systemd lit ses unités (.service, .target, .socket…) et démarre les services en tenant compte des dépendances. La cible par défaut (multi-user.target sur un serveur sans interface graphique) détermine l'ensemble de services actifs au terme du démarrage.

Connaître cette séquence sert surtout le jour où elle s'interrompt. Les 2 points de blocage les plus fréquents sont l'étape initramfs, pilote manquant ou volume introuvable, et l'étape systemd, service en échec. Savoir laquelle des 7 étapes a échoué vous fait cibler le diagnostic au lieu de tâtonner.

Linux organise toutes ses données dans une arborescence unique, définie par le Filesystem Hierarchy Standard (FHS). Tout part de la racine /. Voici les répertoires principaux à connaître :

  • Répertoire/ (racine, point de départ de toute l'arborescence)
    • Répertoireetc/ fichiers de configuration du système et des services
      • …
    • Répertoirevar/ données variables persistantes (journaux, état des services…)
      • …
    • Répertoireusr/ programmes, bibliothèques et documentation
      • …
    • Répertoirehome/ répertoires personnels des utilisateurs
      • …
    • Répertoireboot/ noyau, initramfs, chargeur de démarrage
      • …
    • Répertoiretmp/ fichiers temporaires, ne supposez pas leur persistance
      • …
    • Répertoirerun/ données d'exécution volatiles (réinitialisé au boot)
      • …
    • Répertoireproc/ vue virtuelle sur le noyau et les processus
      • …
    • Répertoiredev/ représentation des périphériques
      • …

Retenez d'abord 3 réflexes, ils couvrent l'essentiel des recherches quotidiennes sur un serveur :

  • chercher une configuration commence par /etc/ ;
  • analyser un problème commence par /var/log/ ;
  • repérer un fichier d'exécution, socket ou fichier de PID, commence par /run/.

Le guide Arborescence FHS détaille ensuite chaque zone, avec les écarts entre distributions et les commandes de vérification. Il se lit après les guides sur les shells et les commandes, quand ces repères sont déjà en place.

Ces repères se fixent en manipulant, pas en relisant le guide. Le lab vous ouvre un shell jetable dans lequel vous identifiez le noyau, la distribution et les répertoires clés de l'arborescence avec les commandes du système : votre sortie est comparée au résultat attendu, ligne à ligne.

Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

6 questions
6 min.
70% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

  • Linux au sens strict est un noyau. Une distribution assemble ce noyau avec des bibliothèques, des outils et un système d'init pour former un système utilisable.
  • Le shell est un programme utilisateur ordinaire. La frontière noyau / espace utilisateur est franchie uniquement par les appels système.
  • Le démarrage moderne suit : firmware → chargeur → noyau → initramfs → switch-root → PID 1 / systemd → services.
  • L'initramfs est indispensable pour préparer la vraie racine, surtout sur LVM, RAID ou volume chiffré.
  • Le FHS définit une arborescence standard : /etc pour la configuration, /var pour les données variables, /usr pour les programmes, /boot pour le démarrage. Le guide Arborescence FHS détaille chaque zone.

Ces questions reviennent le plus souvent chez qui découvre Linux, et portent sur des points que le parcours traite plus loin : le choix d'une distribution, la différence entre noyau et système, et ce qu'il faut savoir avant d'installer un premier serveur.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens ce site gratuitement, sans publicité, sans profilage et sans compte à créer. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn