Bases

Qu'est-ce que Linux : noyau, distributions et système de fichiers expliqués simplement

Mis à jour: · Skillaria.Top

Linux est le noyau d'un système d'exploitation libre qui gère le processeur, la mémoire, les disques et le réseau ; associé à des utilitaires, un gestionnaire de paquets et un système d'initialisation, il forme une distribution comme Ubuntu, Debian ou Fedora. Linux fait tourner la plupart des serveurs, conteneurs et machines dans le cloud, c'est pourquoi savoir travailler dedans est une compétence de base pour les ingénieurs DevOps et les administrateurs système.

Linux est le noyau d'un système d'exploitation libre, autour duquel on construit des systèmes complets : serveurs, postes de travail et équipements embarqués. Quand on parle d'un « serveur Linux », on désigne non pas un seul programme, mais une distribution : le noyau plus des utilitaires, des bibliothèques, un gestionnaire de paquets et un système d'initialisation. Voyons ce qu'est réellement Linux, de quoi il est composé et pourquoi presque tout ingénieur DevOps s'appuie dessus.

Linux est le noyau, pas tout le système

À proprement parler, Linux n'est que le noyau (kernel). C'est le programme qui démarre en premier après le chargeur d'amorçage et qui reste en mémoire tant que l'ordinateur fonctionne. Il répartit le temps processeur entre les processus, alloue la mémoire, pilote les disques et les cartes réseau grâce aux pilotes, et veille au respect des droits d'accès.

Les programmes ordinaires ne touchent pas le matériel directement. Quand un éditeur enregistre un fichier, il effectue un appel système (open, write, close), et c'est le noyau qui décide sur quel bloc du disque écrire et si le processus en a le droit. Cette séparation rend le système stable : un programme qui plante n'entraîne pas la chute de tout l'ordinateur.

On peut connaître la version du noyau avec une seule commande :

$ uname -r
6.8.0-45-generic

Linus Torvalds a créé le noyau en 1991, et depuis il se développe ouvertement : le code source est distribué sous licence GNU GPL version 2, n'importe qui peut le lire, le modifier et le redistribuer aux mêmes conditions.

Qu'est-ce qu'une distribution Linux

Un noyau seul ne suffit pas : il faut un shell pour saisir des commandes, des outils pour les fichiers, des bibliothèques et un installateur de logiciels. La plupart des outils de base (ls, cp, bash, grep) viennent du projet GNU, d'où le nom parfois donné au système : GNU/Linux. Le noyau accompagné de cet ensemble de logiciels, assemblé et testé comme un tout, s'appelle une distribution.

Les distributions se distinguent surtout par leur gestionnaire de paquets, leur politique de mises à jour et leur public cible.

FamilleExemplesPaquetsOù on les rencontre
DebianDebian, Ubuntu, Linux Mint.deb, aptserveurs, clouds, postes de travail
Red HatRHEL, Fedora, Rocky Linux, AlmaLinux.rpm, dnfserveurs d'entreprise
AlpineAlpine Linuxapkimages Docker où la taille compte
ArchArch Linux, Manjaropacmanpassionnés, versions récentes des paquets

Pour savoir quelle distribution vous utilisez, consultez le fichier /etc/os-release :

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
ID=ubuntu
ID_LIKE=debian

Pour apprendre et pour les serveurs, on choisit le plus souvent Ubuntu LTS ou Debian : il existe beaucoup de documentation, et les commandes trouvées dans les tutoriels en ligne fonctionnent presque toujours sans modification.

Organisation du système : noyau, shell, espace utilisateur

Il est utile de voir Linux en couches. En bas se trouve le matériel. Au-dessus, le noyau. Plus haut, l'espace utilisateur avec les services système, les bibliothèques (par exemple glibc) et les programmes. Entre vous et le système se trouve le shell — le plus souvent bash — qui accepte les commandes et lance les programmes.

  • Noyau — processus, mémoire, systèmes de fichiers, réseau, pilotes.
  • Système d'initialisation — le premier processus, de PID 1 ; sur la plupart des distributions modernes, c'est systemd. Il lance les autres services.
  • Services (démons) — serveur web, serveur SSH, cron, journalisation.
  • Shell et utilitaires — ce avec quoi vous travaillez dans le terminal.

Sur un serveur, il n'y a en général pas d'interface graphique : l'administrateur se connecte en SSH et travaille en ligne de commande. C'est pourquoi apprendre Linux, c'est d'abord apprendre le terminal.

Le système de fichiers Linux : tout part de la racine /

Linux ne connaît pas de lecteurs C: ou D:. Il existe une seule arborescence de répertoires, qui commence à la racine — /. Tous les disques, clés USB et partages réseau sont rattachés (montés) à un répertoire de cette arborescence. Autre principe : presque tout dans Linux est représenté sous forme de fichier — fichiers ordinaires, répertoires, périphériques, et même informations sur les processus.

$ ls /
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

La disposition des répertoires est décrite par la norme FHS (Filesystem Hierarchy Standard) ; ainsi, dans n'importe quelle distribution, les fichiers de configuration se trouvent à peu près aux mêmes endroits.

RépertoireContenu
/etcconfiguration du système et des services : /etc/passwd, /etc/ssh/sshd_config, /etc/fstab
/homerépertoires personnels des utilisateurs : /home/alice
/rootrépertoire personnel du superutilisateur root
/vardonnées variables : journaux dans /var/log, cache des paquets, bases de données, files d'attente de courrier
/usrprogrammes et bibliothèques installés : /usr/bin, /usr/lib
/bin, /sbincommandes de base ; sur les distributions récentes, ce sont des liens vers /usr/bin et /usr/sbin
/bootle noyau (vmlinuz-*), l'initramfs et les fichiers du chargeur d'amorçage
/devfichiers de périphériques : /dev/sda, /dev/null
/proc, /syssystèmes de fichiers virtuels : le noyau y expose les processus et les réglages
/tmpfichiers temporaires, souvent vidés au redémarrage
/optlogiciels tiers livrés en un seul bloc
/mnt, /mediapoints de montage des disques et supports amovibles

Chemins absolus et relatifs

Un chemin absolu commence par / et ne dépend pas de l'endroit où vous vous trouvez : /var/log/syslog. Un chemin relatif se compte à partir du répertoire courant : ../logs/app.log. Le point . désigne le répertoire courant, les deux points .. le répertoire parent, et le tilde ~ votre répertoire personnel.

$ pwd
/home/alice
$ cd /var/log
$ cd ..
$ pwd
/var
$ cd ~
$ pwd
/home/alice

/proc : le système vu comme un ensemble de fichiers

Le répertoire /proc n'est pas stocké sur le disque : le noyau le génère à la volée. Par exemple, cat /proc/cpuinfo affiche les processeurs, cat /proc/meminfo la mémoire, et chaque processus possède un répertoire /proc/<PID> avec sa ligne de commande et ses fichiers ouverts. Beaucoup d'outils comme ps et top lisent simplement ces fichiers.

Montage

La commande df -h indique quels systèmes de fichiers sont montés où et quelle place ils occupent :

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        40G   12G   26G  32% /
/dev/sda1       1.1G  6.1M  1.1G   1% /boot/efi
tmpfs           393M  1.2M  392M   1% /run

Les points de montage permanents sont décrits dans /etc/fstab — le système lit ce fichier au démarrage.

Comment Linux démarre : de la mise sous tension à l'invite de connexion

Comprendre le démarrage aide lorsqu'un serveur « ne repart pas » après un redémarrage. Schématiquement, la chaîne est la suivante :

  1. Le micrologiciel (UEFI ou BIOS) vérifie le matériel et trouve le chargeur d'amorçage.
  2. Le chargeur GRUB affiche le menu et charge en mémoire le noyau depuis /boot ainsi que l'image initramfs.
  3. Le noyau initialise le matériel et, à l'aide de l'initramfs, trouve et monte le système de fichiers racine.
  4. systemd démarre en tant que processus de PID 1 et lance les services dans le bon ordre : réseau, journalisation, SSH, cron et les autres.
  5. L'invite de connexion apparaît sur la console ou en SSH.

Les messages du noyau au démarrage s'affichent avec sudo dmesg ou journalctl -k, et la durée de chaque étape avec systemd-analyze.

Utilisateurs et droits : une protection intégrée

Linux est un système multi-utilisateur depuis l'origine. Chaque fichier possède un propriétaire, un groupe et des droits de lecture, d'écriture et d'exécution. Un utilisateur ordinaire ne peut pas endommager les fichiers système, et les actions d'administration passent par sudo. Le superutilisateur root peut tout faire ; travailler en permanence sous root n'est donc pas une bonne pratique.

$ ls -l /etc/passwd
-rw-r--r-- 1 root root 2847 Oct  1 10:12 /etc/passwd

Lecture de cette ligne : un fichier ordinaire ; le propriétaire root peut le lire et l'écrire ; tous les autres ne peuvent que le lire.

Pourquoi un ingénieur DevOps a besoin de Linux

Pour un ingénieur DevOps, Linux n'est pas un sujet parmi d'autres, c'est l'environnement dans lequel se déroule presque tout le travail. Voici où il le rencontre chaque jour :

  • Serveurs. Les serveurs web, les bases de données et les files d'attente tournent dans leur très grande majorité sous Linux.
  • Conteneurs. Docker utilise des mécanismes du noyau Linux — espaces de noms (namespaces) et cgroups. Un conteneur est un processus Linux isolé, et une image repose sur une distribution comme Debian ou Alpine.
  • Clouds et Kubernetes. Les machines virtuelles du cloud et les nœuds des clusters sont aussi sous Linux.
  • CI/CD. Les compilations dans les pipelines s'exécutent sur des runners Linux, et les scripts de build s'écrivent en bash.
  • Diagnostic. Quand un service tombe, la réponse se trouve dans journalctl, top, ss, df — sans maîtriser ces outils, l'analyse d'incident est impossible.

Le minimum à maîtriser : se déplacer avec aisance dans le système de fichiers, comprendre les droits, installer des paquets, gérer les services avec systemctl, lire les journaux, travailler avec les processus, le réseau et SSH, et écrire de simples scripts bash.

Comment commencer à apprendre Linux

Inutile de remplacer votre système principal par Linux. Il existe plusieurs façons sûres d'essayer :

  • Machine virtuelle (VirtualBox, VMware) avec Ubuntu Server — vous pouvez la casser et la restaurer depuis un instantané.
  • WSL sous Windows — un environnement Ubuntu complet dans le terminal Windows : wsl --install.
  • Serveur cloud — l'option la plus proche du travail réel, connexion par SSH.
  • Conteneur Docker — docker run -it --rm ubuntu bash ouvre un shell en quelques secondes.

Commencez par la navigation (pwd, ls, cd), puis les fichiers et les droits, puis les paquets, les processus et les services. L'aide intégrée est toujours disponible : man ls ou ls --help.

Synthèse

Linux est le noyau, et une distribution est le noyau accompagné des utilitaires, des bibliothèques, du gestionnaire de paquets et de systemd. Le système entier est une arborescence de répertoires partant de la racine /, où la configuration se trouve dans /etc, les journaux dans /var/log et les programmes dans /usr. Comprendre ce qu'est Linux et comment il démarre donne les bases pour les serveurs, les conteneurs et les clouds. Le système de fichiers, le démarrage et l'administration sont traités pas à pas et en pratique dans notre cours sur Linux.

Questions fréquentes

Linux est-il un système d'exploitation ou un noyau ?

Formellement, Linux est le noyau ; le système d'exploitation est la distribution : le noyau plus les utilitaires GNU, les bibliothèques, le gestionnaire de paquets et le système d'initialisation. Dans le langage courant, « Linux » désigne généralement l'ensemble du système.

Linux est-il gratuit ?

Le noyau et la plupart des distributions (Ubuntu, Debian, Fedora) sont gratuits sous licences libres. Les abonnements de support sont payants, par exemple pour Red Hat Enterprise Linux.

Quelle distribution Linux choisir quand on débute ?

Pour les serveurs et l'apprentissage de l'administration, Ubuntu LTS et Debian sont pratiques : versions stables et nombreuse documentation. Les compétences se transfèrent d'une distribution à l'autre ; les différences portent surtout sur les gestionnaires de paquets.

Faut-il connaître Linux pour utiliser Docker ?

Oui, au moins les bases. Les conteneurs reposent sur les mécanismes du noyau Linux, les images contiennent des distributions, et le débogage se fait avec des commandes de shell.

Quelle est la différence entre Linux et Unix ?

Unix désigne une famille de systèmes apparue dans les années 1970, tandis que Linux est un noyau écrit indépendamment qui reprend les idées et les interfaces d'Unix (norme POSIX). C'est pourquoi les commandes et les principes de fonctionnement sont très proches.

Apprenez ce sujet en vidéo

Ce sujet est traité en détail avec de la pratique dans le cours « Linux: с нуля до уверенного администрирования ».

Voir le cours