Qu'est-ce que Linux : noyau, distributions et système de fichiers expliqués simplement
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.
| Famille | Exemples | Paquets | Où on les rencontre |
|---|---|---|---|
| Debian | Debian, Ubuntu, Linux Mint | .deb, apt | serveurs, clouds, postes de travail |
| Red Hat | RHEL, Fedora, Rocky Linux, AlmaLinux | .rpm, dnf | serveurs d'entreprise |
| Alpine | Alpine Linux | apk | images Docker où la taille compte |
| Arch | Arch Linux, Manjaro | pacman | passionné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épertoire | Contenu |
|---|---|
/etc | configuration du système et des services : /etc/passwd, /etc/ssh/sshd_config, /etc/fstab |
/home | répertoires personnels des utilisateurs : /home/alice |
/root | répertoire personnel du superutilisateur root |
/var | données variables : journaux dans /var/log, cache des paquets, bases de données, files d'attente de courrier |
/usr | programmes et bibliothèques installés : /usr/bin, /usr/lib |
/bin, /sbin | commandes de base ; sur les distributions récentes, ce sont des liens vers /usr/bin et /usr/sbin |
/boot | le noyau (vmlinuz-*), l'initramfs et les fichiers du chargeur d'amorçage |
/dev | fichiers de périphériques : /dev/sda, /dev/null |
/proc, /sys | systèmes de fichiers virtuels : le noyau y expose les processus et les réglages |
/tmp | fichiers temporaires, souvent vidés au redémarrage |
/opt | logiciels tiers livrés en un seul bloc |
/mnt, /media | points 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 :
- Le micrologiciel (UEFI ou BIOS) vérifie le matériel et trouve le chargeur d'amorçage.
- Le chargeur GRUB affiche le menu et charge en mémoire le noyau depuis
/bootainsi que l'image initramfs. - Le noyau initialise le matériel et, à l'aide de l'initramfs, trouve et monte le système de fichiers racine.
- 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.
- 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 bashouvre 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.
Ce sujet est traité en détail avec de la pratique dans le cours « Linux: с нуля до уверенного администрирования ».
- Linux: с нуля до уверенного администрирования
- Как устроена файловая система Linux: от корня до загрузки ядра