Guide gratuit
D'UNIX à Linux : l'histoire qui explique tout
L’histoire qui explique pourquoi Linux fonctionne ainsi, en 7 chapitres. À lire en ligne ou à conserver en PDF.
Sommaire
- De Multics à UNIX (1964-1973)
- La famille UNIX — BSD, System V et la norme POSIX
- GNU et le logiciel libre
- 1991 — Linus Torvalds et le noyau Linux
- Les distributions Linux — Slackware, Debian, Red Hat, Ubuntu et les autres
- La saga Red Hat — RHEL, Fedora, CentOS, Rocky et AlmaLinux
- Linux aujourd'hui et votre carrière
Chapitre 1
De Multics à UNIX (1964-1973)
Objectif
Comprendre comment est né UNIX, l'ancêtre de Linux, et pourquoi les idées de ses créateurs, vieilles de plus de cinquante ans, expliquent encore la façon dont vous travaillerez sur un serveur Linux aujourd'hui.
L'essentiel
- Multics (lancé en 1964) était un projet de système très ambitieux ; les Bell Labs d'AT&T s'en retirent en 1969.
- La même année, Ken Thompson écrit un petit système sur un ordinateur PDP-7 : c'est le début d'UNIX.
- Dennis Ritchie crée le langage C ; en 1973, le cœur d'UNIX est réécrit en C, ce qui le rend portable d'une machine à l'autre.
- Les tubes (
|) arrivent en 1973 : on assemble de petits programmes pour faire de grandes choses. - La philosophie UNIX — « un programme fait une chose et la fait bien », « tout est fichier », « le texte comme langage commun » — est toujours au cœur de Linux.
1. Le contexte : des ordinateurs grands comme une pièce
Au début des années 1960, un ordinateur occupe une salle entière, coûte des millions et ne sert qu'à une seule personne à la fois. On prépare son programme sur des cartes perforées, on les dépose au guichet, et on revient chercher le résultat… le lendemain. Une virgule oubliée, et la journée est perdue.
L'idée qui passionne alors les chercheurs s'appelle le temps partagé (time-sharing) : l'ordinateur passe très vite d'un utilisateur à l'autre, si vite que chacun a l'impression d'avoir la machine pour lui seul, devant son propre terminal.
C'est exactement ce que fait encore un serveur Linux : des dizaines de personnes et des centaines de programmes l'utilisent « en même temps ». Quand vous taperez who ou ps dans ce cours, vous verrez l'héritage direct de cette idée.
2. Multics : le grand projet qui déçoit (1964-1969)
En 1964, trois partenaires lancent Multics (Multiplexed Information and Computing Service) :
| Partenaire | Rôle |
|---|---|
| MIT (projet MAC) | La recherche universitaire |
| General Electric | Le matériel (l'ordinateur GE-645) |
| Bell Labs | Le laboratoire de recherche d'AT&T, l'opérateur téléphonique américain |
Multics veut tout faire : servir des centaines d'utilisateurs, protéger chaque fichier, fonctionner sans jamais s'arrêter, comme le réseau électrique. Plusieurs de ses idées sont excellentes : une arborescence de dossiers, des droits d'accès sur les fichiers, un interpréteur de commandes qui est un programme comme les autres.
Mais le projet prend du retard, devient lourd et coûteux. En 1969, les Bell Labs décident de s'en retirer. Multics continuera ailleurs (le dernier système Multics en service a été arrêté en 2000), mais les chercheurs des Bell Labs se retrouvent sans projet… et avec de bonnes idées plein la tête.
3. 1969 : Ken Thompson et le PDP-7
Ken Thompson veut continuer à travailler sur un système à lui. Il récupère un PDP-7 de la société DEC, un mini-ordinateur déjà démodé à l'époque, qui traînait dans un coin du laboratoire.
On raconte souvent que Thompson voulait aussi y faire tourner un jeu qu'il avait écrit, Space Travel, une simulation du système solaire. Pour cela, il lui fallait un système de fichiers, de quoi lancer des programmes, un éditeur, un interpréteur de commandes. À l'été 1969, il écrit tout cela en quelques semaines, en langage assembleur.
Il est rapidement rejoint par Dennis Ritchie, puis par d'autres collègues : Doug McIlroy, Joe Ossanna, Brian Kernighan…
D'où vient le nom ? Un collègue (on l'attribue généralement à Brian Kernighan) propose « Unics », un clin d'œil à Multics : là où Multics voulait tout faire en « multi », ce petit système fait les choses simplement. L'orthographe devient UNIX.
Un détail qui vous servira : les systèmes UNIX et Linux comptent le temps en secondes depuis le 1er janvier 1970 à 0 h (UTC), une date choisie à cette époque. On l'appelle l'« époque UNIX ». Essayez
date +%s: le grand nombre affiché, c'est le nombre de secondes écoulées depuis ce jour-là.
4. Du PDP-7 au PDP-11 : UNIX trouve sa place (1970-1972)
Pour obtenir un ordinateur plus puissant, l'équipe fait une promesse à la direction : écrire un système de traitement de texte pour le service des brevets d'AT&T. En 1970-1971, UNIX passe sur un PDP-11, un ordinateur bien plus courant. Le service des brevets devient le premier « client » d'UNIX.
En novembre 1971 paraît le premier manuel d'UNIX (la First Edition). Les éditions suivantes se succèdent au rythme de quelques mois. Le format de ce manuel — une page par commande, avec NOM, SYNOPSIS, DESCRIPTION — est celui des pages man que vous lirez sur Linux.
5. Le langage C : la décision qui change tout (1972-1973)
À l'époque, un système d'exploitation s'écrit en assembleur, le langage propre à chaque modèle de processeur. Conséquence : un système écrit pour le PDP-7 ne marche que sur le PDP-7. Changer d'ordinateur, c'est tout réécrire.
La filiation du langage C ressemble à un arbre généalogique :
BCPL (Martin Richards, Cambridge, 1966-1967)
└── B (Ken Thompson, 1969-1970) — version simplifiée de BCPL
└── C (Dennis Ritchie, 1971-1973) — B enrichi de types de données
Ritchie crée le C au début des années 1970. Il est assez proche de la machine pour écrire un système, mais assez général pour être compilé sur d'autres processeurs.
En 1973, l'équipe réécrit le noyau d'UNIX en C (la Fourth Edition, novembre 1973). C'est une première à cette échelle : seul un petit morceau reste en assembleur. Désormais, porter UNIX sur un nouvel ordinateur, c'est surtout écrire un compilateur C pour cette machine.
Cette décision explique pourquoi Linux tourne aujourd'hui aussi bien sur un serveur Intel, un téléphone ARM qu'un supercalculateur : son noyau est, lui aussi, écrit essentiellement en C.
En 1978, Kernighan et Ritchie publient The C Programming Language, le livre de référence que les programmeurs appellent encore « le K&R ».
6. Les tubes : l'idée de Doug McIlroy (1973)
Doug McIlroy, chef de l'équipe, réclamait depuis des années un moyen de brancher les programmes les uns sur les autres, comme des tuyaux d'arrosage. Thompson l'implémente en une nuit, en 1973 (Third Edition) : c'est le tube, noté |.
Exemple : vous voulez savoir combien d'utilisateurs de votre serveur utilisent le shell bash.
# Sans tube, il faudrait un programme spécial pour cette question précise.
# Avec un tube, on assemble trois petits outils :
cat /etc/passwd | grep bash | wc -l
# cat : lit le fichier des comptes
# grep : garde les lignes qui contiennent « bash »
# wc -l: compte les lignes restantes
Aucun de ces trois programmes n'a été écrit pour répondre à cette question. Ensemble, ils y répondent. C'est toute la force d'UNIX.
7. La philosophie UNIX, en quatre règles
Ces principes ont été résumés plus tard par McIlroy et d'autres ; ils restent la meilleure boussole pour comprendre Linux.
| Principe | Ce que cela veut dire | Exemple sur Linux |
|---|---|---|
| Un programme fait une chose, et la fait bien | Des outils petits et spécialisés plutôt qu'un logiciel géant | ls liste, sort trie, grep cherche |
| Les programmes travaillent ensemble | La sortie de l'un devient l'entrée de l'autre | ps aux | grep httpd |
| Le texte est le langage commun | Configuration et échanges en texte lisible | /etc/passwd, /etc/hosts, fichiers de logs |
| Tout est fichier | Disques, terminaux, informations du noyau : on les lit et écrit comme des fichiers | /dev/sda, /proc/version, /proc/cpuinfo |
cat /proc/cpuinfo # le processeur, présenté comme un simple fichier texte
cat /proc/version # la version du noyau, idem
ls -l /dev/null # un « fichier » spécial qui avale tout ce qu'on lui envoie
Pour l'administrateur, la conséquence est très concrète : presque tout se règle en modifiant des fichiers texte, et presque tout se diagnostique en lisant des fichiers texte. Pas besoin d'outils graphiques.
8. 1973-1974 : UNIX sort du laboratoire
En octobre 1973, Ritchie et Thompson présentent UNIX lors d'une conférence universitaire sur les systèmes d'exploitation (SOSP). L'article est publié en juillet 1974 dans la revue Communications of the ACM. Les universités découvrent ce système élégant et demandent à l'essayer.
Or AT&T, à cause d'un accord antitrust signé en 1956 avec le gouvernement américain, n'a pas le droit de faire commerce de l'informatique. Il distribue donc UNIX aux universités pour un prix symbolique, avec le code source. Des milliers d'étudiants vont l'étudier, le modifier, l'améliorer. C'est le point de départ de la leçon suivante : la grande famille UNIX.
En 1983, Thompson et Ritchie reçoivent le prix Turing, l'équivalent du prix Nobel en informatique, pour UNIX. Dennis Ritchie est mort en octobre 2011 ; Ken Thompson a ensuite participé, chez Google, à la création du langage Go.
9. La frise de la leçon
1964 Lancement de Multics (MIT, General Electric, Bell Labs)
1969 Les Bell Labs quittent Multics — Thompson écrit UNIX sur un PDP-7
1970 Passage sur PDP-11 — le nom « UNIX » s'impose
1971 Premier manuel d'UNIX (First Edition, novembre)
1972 Naissance du langage C (Dennis Ritchie)
1973 Les tubes « | » — le noyau réécrit en C (Fourth Edition)
1974 Article dans Communications of the ACM : UNIX se fait connaître
1983 Prix Turing pour Thompson et Ritchie
Idées reçues
- « UNIX a été conçu par une grande entreprise pour être vendu. » Non : c'est un projet de deux chercheurs, presque clandestin au départ, sur une machine de récupération. AT&T ne pouvait même pas le vendre.
- « Linux est une version d'UNIX. » Pas exactement. Linux ressemble à UNIX et en respecte les règles, mais il ne contient aucune ligne de code d'UNIX : il a été réécrit à partir de zéro (leçon 0.4).
- « Tout est fichier » veut dire que tout est stocké sur le disque. Non :
/proc/versionn'existe pas sur le disque. Le noyau le fabrique à la volée quand vous le lisez. C'est la façon d'y accéder qui est celle d'un fichier. - « Le C est un vieux langage abandonné. » Le noyau Linux, la plupart des outils de base, les bases de données comme PostgreSQL sont écrits en C. Il reste l'un des langages les plus utilisés au monde.
Lab
Votre première machine vous attend dans le terminal, sous Rocky Linux 9. Vous allez la faire parler, avec les réflexes hérités d'UNIX :
uname -s # le nom du système
cat /proc/version # « tout est fichier » : le noyau se décrit dans un fichier
cat /etc/os-release # la fiche d'identité de la distribution
cat /etc/os-release | wc -l # un tube : lire, puis compter
Réalisez les tâches : enregistrer le nom du système, copier la description du noyau, compter des lignes avec un tube, et retrouver l'année de naissance d'UNIX. Cliquez ensuite sur Vérifier : le site contrôle votre travail automatiquement.
Quiz
- Quelles étaient les trois organisations à l'origine de Multics ?
- Sur quel ordinateur Ken Thompson a-t-il écrit la première version d'UNIX, et en quelle année ?
- Pourquoi la réécriture du noyau d'UNIX en C (1973) a-t-elle été décisive ?
- Que fait la commande
cat /etc/passwd | grep bash | wc -l, et quel principe UNIX illustre-t-elle ? - Pourquoi AT&T distribuait-il UNIX aux universités au lieu de le vendre ?
Réponses
- Le MIT, General Electric et les Bell Labs (AT&T).
- Sur un PDP-7 de DEC, en 1969.
- Écrit en C, UNIX devient portable : pour le faire tourner sur une autre machine, il suffit pour l'essentiel d'un compilateur C, au lieu de tout réécrire en assembleur.
- Elle compte les comptes du système dont la ligne contient « bash ». Elle illustre l'assemblage de petits programmes spécialisés reliés par des tubes.
- Un accord antitrust de 1956 interdisait à AT&T de faire commerce de l'informatique ; il le diffusait donc à prix symbolique, avec son code source.
Sources de référence : articles de D. M. Ritchie et K. Thompson cités en en-tête, Debian Reference (licence libre). Texte original MasterLinux.
Chapitre 2
La famille UNIX — BSD, System V et la norme POSIX
Objectif
Comprendre comment UNIX s'est divisé en plusieurs branches rivales, pourquoi une norme commune (POSIX) a été nécessaire, et pourquoi ce que vous apprenez sur Linux marche en grande partie sur macOS ou FreeBSD.
L'essentiel
- À l'université de Berkeley, UNIX devient BSD : c'est là qu'arrivent le réseau TCP/IP, l'éditeur
viet le shellcsh. - Après le démantèlement d'AT&T (1984), l'entreprise vend sa version officielle : System V.
- Chaque constructeur crée son UNIX payant (Solaris, AIX, HP-UX…), incompatible avec les autres : ce sont les « guerres UNIX ».
- La norme POSIX (1988) fixe ce qu'un système « de type UNIX » doit offrir ; Linux la suit de près.
- Un procès (1992-1994) bloque BSD au moment même où Linux naît, ce qui pousse beaucoup de développeurs vers Linux.
1. Berkeley reçoit UNIX (1974-1977)
Comme vous l'avez vu dans la leçon 0.1, AT&T distribue UNIX aux universités avec son code source. L'université de Californie à Berkeley l'installe en 1974. Ken Thompson y passe même une année sabbatique (1975-1976) comme professeur invité.
Un étudiant, Bill Joy, se met à améliorer le système. En 1978, il diffuse une première collection de programmes : la Berkeley Software Distribution, ou BSD. Au départ, c'est un simple ajout à l'UNIX d'AT&T ; peu à peu, cela devient un système complet.
Ce que BSD a apporté, et que vous utiliserez sur Linux :
| Apport de Berkeley | Ce que vous en ferez sur Linux |
|---|---|
L'éditeur vi (Bill Joy, 1976) |
vi et son successeur vim sont présents sur presque tous les serveurs |
Le shell csh |
Moins utilisé aujourd'hui, mais l'historique des commandes et le contrôle des tâches (jobs, fg, bg) viennent de cette époque |
| La pile réseau TCP/IP et les sockets (4.2BSD, 1983) | Tout le réseau moderne : ssh, serveurs web, Internet entier |
| Le système de fichiers rapide (FFS) | L'idée des blocs et inodes reprise par ext2, ext3, ext4 |
L'arrivée de TCP/IP est un tournant : l'agence militaire américaine DARPA, qui finance le futur Internet, choisit BSD comme système de référence au début des années 1980. UNIX et Internet grandissent ensemble.
2. AT&T entre dans le commerce : System V (1983)
En 1982, un accord avec la justice américaine prévoit le démantèlement d'AT&T, effectif au 1er janvier 1984. En échange, l'entreprise a enfin le droit de vendre de l'informatique.
AT&T commercialise alors sa version officielle d'UNIX : System III (1982), puis System V (1983), avec ses « versions » successives (Release 2, 3, 4). La version SVR4 (System V Release 4, fin des années 1980), développée avec Sun, réunit une grande partie des idées de BSD et de System V.
Plusieurs habitudes de Linux viennent de System V :
ls /etc/init.d/ # les scripts de démarrage « à la System V » (RHEL 6, vieux Debian)
ps -ef # la syntaxe System V de ps (avec un tiret)
ps aux # la syntaxe BSD de ps (sans tiret) — Linux accepte les deux !
Le fait que ps accepte deux styles d'options est un souvenir vivant de cette double origine.
3. Les UNIX commerciaux (années 1980-1990)
Chaque grand constructeur prend une licence UNIX et crée sa propre version, adaptée à ses machines (et vendue avec elles) :
| Système | Éditeur | Base | Encore utilisé ? |
|---|---|---|---|
| SunOS puis Solaris | Sun Microsystems (racheté par Oracle en 2010) | BSD, puis System V R4 (Solaris, 1992) | Dans quelques grandes entreprises |
| AIX | IBM (à partir de 1986) | System V | Oui, sur les serveurs IBM Power (banques, assurances) |
| HP-UX | Hewlett-Packard | System V | En fin de vie |
| IRIX | Silicon Graphics | System V | Abandonné (années 2000) |
| Xenix | Microsoft, puis SCO | System V | Abandonné |
| Ultrix, Tru64 | DEC | BSD, puis OSF/1 | Abandonnés |
Le cas de Sun est intéressant : l'entreprise est cofondée en 1982 par… Bill Joy, l'auteur de BSD. Les stations Sun étaient les machines de référence des universités et d'Internet dans les années 1980-1990.
4. Les « guerres UNIX » (1988-1993)
Chacun de ces UNIX ajoute ses propres commandes, options et outils. Un programme écrit pour AIX doit être modifié pour tourner sur HP-UX. Un administrateur formé sur Solaris est perdu sur IRIX.
À la fin des années 1980, deux camps s'affrontent :
AT&T + Sun IBM, DEC, HP et d'autres
(System V Release 4, 1988-1989) (Open Software Foundation, 1988)
« UNIX International » « OSF/1 »
\ /
\___ incompatibilités, procès, ___/
clients perdus
Pendant que les constructeurs se disputent, un concurrent avance tranquillement sur les PC : Microsoft Windows NT (1993). Et, sans que personne ne s'en doute encore, un étudiant finlandais commence en 1991 à écrire un noyau sur son PC…
5. POSIX : la règle commune (1988)
Pour sortir du chaos, l'organisme de normalisation IEEE publie en 1988 la norme POSIX (IEEE 1003.1). Le nom, suggéré par Richard Stallman (que vous retrouverez à la leçon 0.3), signifie à peu près Portable Operating System Interface, avec un « X » pour UNIX.
POSIX décrit ce que doit offrir un système de type UNIX, sans dire comment le programmer :
| POSIX définit… | Exemples |
|---|---|
| Les appels système que les programmes peuvent utiliser | ouvrir un fichier, créer un processus |
| Le langage du shell | if, for, case, les redirections > et ` |
| Les commandes de base et leurs options | ls, cp, grep, sed, awk, find |
| Les droits et les signaux | chmod 755, kill -9 |
Plus tard, l'organisme The Open Group (propriétaire de la marque « UNIX » depuis les années 1990) publie la Single UNIX Specification. Seuls les systèmes certifiés et payant la licence ont le droit de s'appeler officiellement « UNIX ». C'est le cas de macOS (certifié depuis la version 10.5, en 2007), d'AIX ou de Solaris.
Linux n'est pas certifié UNIX (la certification coûte cher et n'apporte rien à un projet libre), mais il suit POSIX de très près. C'est pourquoi on dit que Linux est un système « de type UNIX » (Unix-like).
getconf _POSIX_VERSION # quelle version de POSIX ? ex. 200809 = édition de 2008
Conseil pratique pour toute votre carrière : quand vous écrivez un script qui doit tourner partout, écrivez-le en sh POSIX plutôt qu'avec des astuces propres à bash. Sur Debian et Ubuntu, /bin/sh est d'ailleurs dash, un shell POSIX minimal : un script « bash » lancé avec sh peut y échouer.
6. Le procès qui a freiné BSD (1992-1994)
À la fin des années 1980, les développeurs de Berkeley entreprennent de remplacer tout le code d'origine AT&T dans BSD, pour pouvoir le diffuser librement. En 1991 sort Net/2, presque entièrement libre. Des projets en dérivent : 386BSD (1992), pour les PC, et la société BSDi, qui vend une version commerciale.
En 1992, USL (Unix System Laboratories, la filiale UNIX d'AT&T) attaque BSDi, puis l'université de Californie, en justice : BSD contiendrait encore du code et des secrets d'AT&T. Pendant deux ans, personne ne sait si BSD pourra continuer à être distribué. Les entreprises hésitent à l'utiliser.
En 1993, Novell rachète USL. Le procès se termine par un accord début 1994 : quelques fichiers sont retirés ou modifiés, et Berkeley publie 4.4BSD-Lite (1994), libre de tout code AT&T.
Mais pendant ces deux années d'incertitude, un autre système, libre et sans aucun risque juridique, a avancé très vite : Linux. Linus Torvalds l'a dit lui-même : si un BSD libre pour PC avait été disponible à ce moment-là, il n'aurait peut-être jamais écrit son noyau.
7. Les descendants de BSD aujourd'hui
Net/2 (1991) et 386BSD (1992), puis 4.4BSD-Lite (1994)
├── FreeBSD (1993) ── serveurs, Netflix (diffusion vidéo), base du système des PlayStation récentes
├── NetBSD (1993) ── « tourne sur tout », très portable
│ └── OpenBSD (1995) ── sécurité avant tout ; a créé OpenSSH (1999)
└── NeXTSTEP / Darwin ── base de macOS et iOS (avec le micro-noyau Mach)
FreeBSD et NetBSD sont nés en 1993 de 386BSD ; après l'accord de 1994, ils ont été reconstruits sur 4.4BSD-Lite.
Vous utilisez donc peut-être déjà BSD sans le savoir : macOS et iOS en descendent, et OpenSSH, que vous emploierez sur chaque serveur Linux, est développé par l'équipe d'OpenBSD.
8. La frise de la leçon
1974 Berkeley reçoit UNIX
1978 Première distribution BSD (Bill Joy)
1982 Fondation de Sun ; accord de démantèlement d'AT&T ; System III
1983 System V (AT&T) ; 4.2BSD apporte TCP/IP
1984 AT&T démantelé : UNIX devient un produit commercial
1986 AIX (IBM)
1988 POSIX (IEEE 1003.1) ; création de l'OSF ; début des « guerres UNIX »
1991 Net/2 ; Linus Torvalds commence Linux
1992 Procès USL contre BSDi ; Solaris 2 (base System V R4)
1993 FreeBSD, NetBSD ; Novell rachète USL
1994 Accord : 4.4BSD-Lite, libre de code AT&T
Pièges fréquents
- Croire qu'une commande vue sur macOS marchera pareil sur Linux. Les deux suivent POSIX, mais les options diffèrent souvent :
sed -is'écritsed -i ''sur macOS (outils BSD),sed -isur Linux (outils GNU). - Confondre « UNIX » et « de type UNIX ». « UNIX » est une marque réservée aux systèmes certifiés. Linux et FreeBSD sont « de type UNIX ».
- Écrire
#!/bin/shen tête d'un script plein de syntaxe bash. Sur Debian et Ubuntu,shestdash: les tableaux ou[[ … ]]y échouent. Écrivez#!/bin/bashsi vous utilisez bash. - Penser que les scripts
/etc/init.d/sont toujours utilisés. Ils viennent de System V ; depuis RHEL 7 et Debian 8, c'est systemd qui démarre les services.
Lab
Cette fois, vous êtes sur Debian 12. Vous allez vérifier par vous-même l'héritage POSIX du système :
getconf _POSIX_VERSION # la version de POSIX suivie
ls -l /bin/sh # vers quel shell pointe /bin/sh ?
ps -ef | head -n 3 # syntaxe System V
ps aux | head -n 3 # syntaxe BSD : même résultat ou presque
Les tâches : enregistrer la version POSIX, découvrir quel shell se cache derrière /bin/sh, et noter les deux grandes branches d'UNIX. Puis cliquez sur Vérifier.
Quiz
- Quelles sont les deux grandes branches d'UNIX, et qui a créé chacune d'elles ?
- Citez deux apports majeurs de BSD que vous utiliserez sur Linux.
- Qu'est-ce que POSIX, et pourquoi est-ce utile à un administrateur ?
- Linux a-t-il le droit de s'appeler officiellement « UNIX » ? Pourquoi ?
- Pourquoi le procès USL contre BSDi (1992-1994) a-t-il profité à Linux ?
Réponses
- BSD, créée à l'université de Berkeley (Bill Joy et ses collègues), et System V, la version commerciale d'AT&T.
- Au choix : la pile réseau TCP/IP et les sockets, l'éditeur
vi, le shellcsh(historique, contrôle des tâches), le système de fichiers rapide, et plus récemment OpenSSH (OpenBSD). - Une norme (IEEE, 1988) qui définit les commandes, le shell et les appels système d'un système de type UNIX. Un script ou un savoir-faire conforme à POSIX fonctionne sur Linux, BSD, macOS…
- Non : « UNIX » est une marque réservée aux systèmes certifiés par The Open Group. Linux suit POSIX mais n'est pas certifié : c'est un système « de type UNIX ».
- Pendant deux ans, l'avenir juridique de BSD était incertain ; développeurs et entreprises se sont tournés vers Linux, libre et sans risque juridique.
Sources de référence : M. K. McKusick (Open Sources, 1999), documents de normalisation POSIX et The Open Group, Debian Reference (licence libre). Texte original MasterLinux.
Chapitre 3
GNU et le logiciel libre
Objectif
Comprendre d'où viennent la plupart des outils que vous utiliserez sur Linux, ce que signifie « logiciel libre », et savoir lire les grandes licences (GPL, BSD, MIT) que vous rencontrerez dans votre métier.
L'essentiel
- En 1983, Richard Stallman annonce le projet GNU : un système complet de type UNIX, entièrement libre.
- En 1985, il crée la Free Software Foundation (FSF). La licence GPL suit en 1989.
- Un logiciel libre garantit quatre libertés : utiliser, étudier, redistribuer, modifier et partager ses modifications.
- La GPL est copyleft : qui redistribue un logiciel GPL modifié doit le redistribuer sous GPL. Les licences BSD et MIT sont permissives : on peut en faire presque ce que l'on veut.
- En 1998, le terme open source apparaît : même réalité technique, discours plus tourné vers les entreprises.
1. Le problème : le code se ferme (fin des années 1970)
Dans les premières années de l'informatique, les programmeurs échangent leur code naturellement, comme des chercheurs échangent leurs résultats. UNIX lui-même circulait avec son code source dans les universités (leçon 0.1).
Au tournant des années 1980, tout change : les éditeurs comprennent que le logiciel peut se vendre séparément de la machine. Le code source devient un secret commercial. Les utilisateurs reçoivent des programmes déjà compilés, qu'ils n'ont ni le droit d'étudier, ni le droit de corriger, ni le droit de partager.
Richard Stallman, programmeur au laboratoire d'intelligence artificielle du MIT, vit ce changement comme une injustice. Une anecdote célèbre l'illustre : l'imprimante de son laboratoire se bloquait souvent. Sur l'ancienne imprimante, il avait modifié le programme pour prévenir les utilisateurs d'un bourrage. Pour la nouvelle, le fabricant refusait de donner le code source. Impossible de corriger un problème pourtant simple.
2. 1983 : l'annonce du projet GNU
Le 27 septembre 1983, Stallman annonce sur Usenet (l'ancêtre des forums) un projet fou : écrire un système d'exploitation complet, compatible avec UNIX, et entièrement libre. Il l'appelle GNU, un acronyme récursif qui signifie « GNU's Not Unix » (« GNU n'est pas UNIX »).
Pourquoi compatible UNIX ? Parce que UNIX est bien conçu (leçon 0.1), qu'il est découpé en petits programmes que l'on peut réécrire un par un, et que les utilisateurs pourront passer de l'un à l'autre sans tout réapprendre.
Le travail commence en janvier 1984, quand Stallman quitte son poste au MIT pour que l'université ne puisse pas revendiquer son code. En 1985, il publie le Manifeste GNU, qui explique sa démarche, et fonde la Free Software Foundation (FSF) pour financer le projet.
3. Les briques GNU que vous utiliserez tous les jours
Pièce par pièce, le projet GNU réécrit les outils d'UNIX. À la fin des années 1980, il ne manque presque rien :
| Outil GNU | Date | Rôle | Commande |
|---|---|---|---|
| GNU Emacs | 1984-1985 | Éditeur de texte | emacs |
| GCC (GNU C Compiler, aujourd'hui GNU Compiler Collection) | 1987 | Compilateur : il a servi à compiler Linux | gcc |
| Bash (Bourne Again Shell, Brian Fox) | 1989 | Le shell, compatible avec le shell sh de Bourne |
bash |
| coreutils (fusion de fileutils, textutils, shellutils) | années 1990-2000 | Les commandes de base | ls, cp, mv, cat, chmod |
| grep, sed, gawk, tar, gzip, find | années 1980-1990 | Chercher, transformer, archiver | grep, sed, awk, tar |
| glibc | à partir de 1987 | La bibliothèque C, utilisée par presque tous les programmes | (invisible, mais partout) |
Vérifiez vous-même :
ls --version | head -n 1 # ls (GNU coreutils) …
bash --version | head -n 1 # GNU bash, version …
grep --version | head -n 1 # grep (GNU grep) …
Il manque pourtant une pièce essentielle : le noyau, le programme qui parle directement au matériel. Le noyau prévu par GNU, le Hurd (commencé en 1990), est très ambitieux et avance lentement. Il n'est toujours pas utilisé en production aujourd'hui. Cette pièce manquante, c'est Linux qui va la fournir en 1991 (leçon 0.4).
4. Les quatre libertés
Pour Stallman, « libre » (free) parle de liberté, pas de prix. Sa formule : free comme dans « liberté d'expression », pas comme dans « bière gratuite ». En français, nous avons la chance d'avoir deux mots : libre et gratuit.
Un logiciel est libre si son utilisateur dispose des quatre libertés (numérotées à partir de zéro, en bon informaticien) :
| Liberté | Ce que vous pouvez faire | Exemple concret |
|---|---|---|
| 0 | Utiliser le programme, pour n'importe quel usage | Installer Linux sur les 200 caisses d'une chaîne de magasins, sans compter les licences |
| 1 | Étudier son fonctionnement et l'adapter (il faut donc le code source) | Lire le code d'un serveur web pour comprendre une erreur |
| 2 | Redistribuer des copies | Donner une clé USB d'installation à un collègue |
| 3 | Améliorer le programme et partager vos améliorations | Corriger un bug et envoyer le correctif au projet |
Un logiciel libre peut être vendu : Red Hat vend des abonnements à RHEL, qui est composé de logiciels libres. Et un logiciel gratuit n'est pas forcément libre : beaucoup d'applications gratuites cachent leur code.
5. La GPL et le copyleft (1989)
Pour garantir ces libertés, Stallman utilise… le droit d'auteur lui-même. La GNU General Public License (GPL) dit en substance :
Vous pouvez utiliser, étudier, modifier et redistribuer ce programme. Mais si vous redistribuez une version modifiée, vous devez la diffuser sous la même licence, avec son code source.
C'est le principe du copyleft (jeu de mots sur copyright) : la liberté se transmet, personne ne peut la confisquer en route.
| Version | Année | À retenir |
|---|---|---|
| GPL v1 | 1989 | Première version |
| GPL v2 | 1991 | La licence du noyau Linux (en « version 2 seulement ») |
| GPL v3 | 2007 | Protège contre les brevets et contre les appareils qui empêchent d'installer une version modifiée |
| LGPL | 1991 | Version « allégée » pour les bibliothèques : un programme non libre peut les utiliser |
| AGPL | 2007 (v3) | Étend l'obligation aux logiciels utilisés à distance, par le réseau (applications web) |
Point important pour un administrateur : la GPL ne vous impose rien tant que vous ne redistribuez pas. Vous pouvez modifier un logiciel GPL pour les serveurs de votre entreprise sans rien publier. (L'AGPL est l'exception : si vous offrez le service au public par le réseau, vous devez donner le code à ses utilisateurs.)
6. 1998 : le mouvement « open source »
En janvier 1998, l'éditeur du navigateur Netscape annonce qu'il va publier son code source (qui deviendra Mozilla, puis Firefox). C'est un choc : une grande entreprise ouvre son produit phare.
Quelques semaines plus tard, en février 1998, un groupe de développeurs, dont Eric S. Raymond et Bruce Perens, propose un nouveau terme : open source (« code source ouvert »), forgé par Christine Peterson. Ils fondent l'Open Source Initiative (OSI). Leur idée : parler aux entreprises de qualité, de fiabilité et de coûts, plutôt que de morale et de liberté.
| Logiciel libre (FSF) | Open source (OSI) | |
|---|---|---|
| Argument principal | Une question d'éthique : l'utilisateur doit être libre | Une question d'efficacité : le développement ouvert produit de meilleurs logiciels |
| Figure emblématique | Richard Stallman | Eric S. Raymond, Bruce Perens |
| Texte de référence | Les quatre libertés | L'Open Source Definition, dérivée des principes de Debian (DFSG) |
| En pratique | Les licences reconnues sont presque les mêmes |
Le texte de Raymond, La Cathédrale et le Bazar (1997), compare deux façons de développer : en petit groupe fermé (la cathédrale) ou au grand jour, avec des milliers de contributeurs (le bazar, le modèle de Linux). On lui doit une formule souvent citée : avec assez d'yeux, tous les bugs sont faciles à trouver.
On rencontre souvent le sigle FLOSS ou FOSS (Free/Libre and Open Source Software), qui réunit les deux camps.
7. Les licences que vous rencontrerez
Sur un serveur, chaque logiciel a sa licence. Voici les familles principales :
| Licence | Type | Ce qu'elle exige | Exemples |
|---|---|---|---|
| GPL (v2, v3) | Copyleft fort | Redistribuer les modifications sous GPL, avec le code source | Noyau Linux (v2), bash, GCC, coreutils |
| LGPL | Copyleft faible | Copyleft sur la bibliothèque, pas sur le programme qui l'utilise | glibc |
| AGPL | Copyleft réseau | Fournir le code aussi aux utilisateurs du service en ligne | Certains logiciels web (Nextcloud, par exemple) |
| BSD (2 ou 3 clauses) | Permissive | Garder la mention du copyright | FreeBSD, OpenSSH (pour l'essentiel) |
| MIT | Permissive | Garder la mention du copyright, rien d'autre | X Window (X11), Node.js, jQuery |
| Apache 2.0 | Permissive | Mention du copyright + clause sur les brevets | Serveur Apache httpd, Kubernetes, Android (en grande partie) |
L'exemple qui fait comprendre la différence : Apple a pu reprendre du code BSD dans macOS sans publier ses modifications, car la licence BSD le permet. Un fabricant de box Internet qui modifie le noyau Linux, lui, doit fournir le code source de ses modifications à ses clients, car le noyau est en GPL.
Sur Debian, les textes des licences courantes sont rangés dans un seul dossier, et chaque paquet décrit sa licence :
ls /usr/share/common-licenses/ # GPL-2, GPL-3, LGPL, BSD, Apache-2.0…
head -n 3 /usr/share/common-licenses/GPL-3
# Sur un Debian complet, chaque paquet a sa fiche de licence :
# /usr/share/doc/<paquet>/copyright
8. GNU/Linux ou Linux ?
Stallman demande que l'on dise GNU/Linux, car le système complet doit beaucoup aux outils GNU, et pas seulement au noyau. Debian suit cet usage (« Debian GNU/Linux »). La plupart des gens, et la plupart des entreprises, disent simplement Linux.
Dans ce cours, nous disons « Linux » par commodité, mais retenez la vérité technique : Linux est le noyau ; une grande partie des outils autour vient de GNU. Et certains systèmes « Linux » n'utilisent presque pas GNU : Android, par exemple, ou la distribution Alpine (avec BusyBox et la bibliothèque musl).
9. La frise de la leçon
1983 27 septembre : Stallman annonce le projet GNU
1984 Début du travail ; Stallman quitte le MIT
1985 Manifeste GNU ; création de la Free Software Foundation
1987 GCC
1989 GPL v1 ; Bash
1990 Début du Hurd, le noyau prévu par GNU
1991 GPL v2 ; LGPL
1992 Le noyau Linux passe sous GPL : le système libre est complet
1997 « La Cathédrale et le Bazar » (Eric S. Raymond)
1998 Netscape ouvre son code ; naissance du terme « open source » et de l'OSI
2007 GPL v3 et AGPL v3
Idées reçues
- « Libre veut dire gratuit. » Non. Libre parle de droits ; un logiciel libre peut être vendu (abonnements RHEL, support SUSE…).
- « Open source veut dire que n'importe qui peut modifier le logiciel officiel. » Non. Vous pouvez modifier votre copie. Pour que votre correctif entre dans le projet officiel, il doit être accepté par ses mainteneurs.
- « La GPL oblige à publier le code de tout ce qu'on développe sur Linux. » Non. Un programme qui tourne sur Linux n'est pas concerné. Seules les modifications redistribuées d'un logiciel GPL le sont.
- « Le logiciel libre, c'est pour les amateurs. » Les plus grands sites du monde, les banques et les opérateurs télécoms tournent sur des logiciels libres.
Lab
Sur votre machine Debian 12, vous allez retrouver la signature de GNU et les licences installées :
ls --version | head -n 1
bash --version | head -n 1
ls /usr/share/common-licenses/
grep -m1 Version /usr/share/common-licenses/GPL-3
Les tâches : relever la mention GNU de ls et de bash, lister les licences fournies par Debian, et retrouver la date de la GPL 3. Puis cliquez sur Vérifier.
Quiz
- Que signifie le nom « GNU », et en quelle année le projet a-t-il été annoncé ?
- Citez les quatre libertés du logiciel libre.
- Qu'est-ce que le copyleft ? Quelle licence en est l'exemple le plus connu ?
- Une entreprise modifie le code d'un logiciel sous licence MIT et le vend sans publier ses modifications. A-t-elle le droit ? Et si le logiciel était sous GPL ?
- Quelle pièce manquait au projet GNU au début des années 1990 ?
Réponses
- GNU's Not Unix (« GNU n'est pas UNIX »), un acronyme récursif ; annoncé le 27 septembre 1983 par Richard Stallman.
- 0 utiliser pour tout usage ; 1 étudier et adapter (accès au code source) ; 2 redistribuer des copies ; 3 améliorer et partager les améliorations.
- Le principe selon lequel les versions modifiées et redistribuées doivent rester sous la même licence libre. L'exemple type est la GPL.
- Avec MIT : oui, il suffit de conserver la mention du copyright. Avec la GPL : non, si elle redistribue une version modifiée, elle doit fournir le code source sous GPL.
- Le noyau (le Hurd n'était pas prêt) : c'est Linux qui l'a fourni.
Sources de référence : textes du projet GNU (gnu.org), Open Source Definition (opensource.org), Debian Policy. Texte original MasterLinux.
Chapitre 4
1991 — Linus Torvalds et le noyau Linux
Objectif
Savoir comment un étudiant a écrit, presque par jeu, le noyau qui fait tourner aujourd'hui la majorité des serveurs du monde, et comprendre comment ce noyau est développé et numéroté. Vous saurez lire une version comme 5.14.0-427.el9.x86_64.
L'essentiel
- En 1991, Linus Torvalds, étudiant à l'université d'Helsinki, écrit un noyau pour son PC, en s'inspirant de Minix.
- Il l'annonce le 25 août 1991 ; la version 0.01 sort en septembre 1991.
- En 1992, Linux passe sous licence GPL : avec les outils GNU, un système entièrement libre existe enfin.
- Linux 1.0 sort en mars 1994. Aujourd'hui, des milliers de développeurs, salariés de centaines d'entreprises, y contribuent.
- Une nouvelle version sort environ toutes les 9 à 10 semaines ; certaines sont maintenues longtemps : ce sont les versions LTS.
1. Le noyau, c'est quoi ?
Le noyau (kernel) est le programme central du système. Il démarre en premier et ne s'arrête qu'à l'extinction. Il fait le lien entre les programmes et le matériel :
Vous ──► bash, ls, nginx, mysql… (les programmes)
│ « appels système » : lire, écrire, ouvrir, créer un processus
▼
┌──────────────┐
│ NOYAU LINUX │ mémoire, processus, disques, réseau, pilotes
└──────────────┘
│
▼
processeur, mémoire, disques, carte réseau (le matériel)
Quand ls veut lire un dossier, il ne parle pas au disque : il demande au noyau. C'est ce qui permet à mille programmes de partager la même machine sans se marcher dessus.
2. Minix, l'UNIX des étudiants (1987)
À la fin des années 1980, UNIX est cher et son code n'est plus diffusé librement. Le professeur Andrew Tanenbaum, à l'université libre d'Amsterdam, écrit pour ses étudiants un petit UNIX éducatif : Minix (1987). Il est livré avec son livre de cours sur les systèmes d'exploitation, code source compris.
Minix a deux limites : sa licence ne permet pas de le modifier et de le redistribuer librement, et Tanenbaum veut le garder simple, pour l'enseignement. Il refuse beaucoup d'améliorations proposées par ses utilisateurs.
3. 1991 : un étudiant d'Helsinki
Linus Torvalds est né en 1969 à Helsinki. En janvier 1991, il achète un PC équipé d'un processeur Intel 386. Il y installe Minix et veut comprendre comment fonctionne ce nouveau processeur. Il commence par un petit programme qui affiche des « A » et des « B » en alternance, pour tester le passage d'une tâche à l'autre. Puis un émulateur de terminal pour se connecter à l'université. Puis un pilote de disque… et il se rend compte qu'il est en train d'écrire un noyau.
Le 25 août 1991, il publie un message sur le forum Usenet comp.os.minix. Il y annonce un système d'exploitation libre pour PC 386, en précisant que ce n'est « just a hobby, won't be big and professional like gnu » (« juste un hobby, rien d'aussi gros et professionnel que GNU »). Il demande aux lecteurs ce qu'ils aimeraient y trouver.
La version 0.01 est déposée sur un serveur de l'université d'Helsinki (ftp.funet.fi) en septembre 1991. Linus voulait l'appeler Freax (free + freak + x) ; l'administrateur du serveur, Ari Lemmke, range les fichiers dans un dossier nommé linux. Le nom reste.
Dès cette première version, Linux fait tourner bash et gcc, deux outils GNU (leçon 0.3).
4. 1992 : la GPL et la querelle avec Tanenbaum
La première licence de Linus interdisait toute utilisation commerciale. Début 1992, avec la version 0.12, il annonce le passage à la GPL (version 2). Désormais, n'importe qui peut utiliser, modifier et redistribuer Linux, à condition de partager ses modifications. Avec le noyau Linux et les outils GNU, un système libre complet existe enfin. Linus dira plus tard que ce choix de la GPL est l'une des meilleures décisions qu'il ait prises.
En janvier 1992, Tanenbaum publie sur le même forum un message intitulé « LINUX is obsolete ». Ses deux reproches :
| Critique de Tanenbaum | Réponse de l'histoire |
|---|---|
| Linux est un noyau monolithique (tout le noyau dans un seul bloc), une conception dépassée selon lui ; l'avenir serait aux micro-noyaux | Linux est resté monolithique, mais modulaire : les pilotes se chargent à la demande (lsmod, modprobe) |
| Linux est trop lié au processeur 386 et ne sera pas portable | Linux tourne aujourd'hui sur x86, ARM, POWER, IBM Z, RISC-V… plus de plateformes qu'aucun autre système |
Ce débat courtois mais vif est resté célèbre. Il montre que Linux n'était pas le « meilleur » système sur le papier ; il a gagné parce qu'il était libre, pratique et ouvert aux contributions.
5. Le noyau grandit (1992-2011)
Le moment est idéal : BSD est bloqué par son procès (leçon 0.2), le Hurd de GNU n'avance pas, Internet arrive dans les universités. Des centaines de développeurs envoient des correctifs à Linus.
| Version | Date | Nouveauté marquante |
|---|---|---|
| 0.01 | septembre 1991 | Première version publique |
| 0.12 | début 1992 | Passage à la GPL |
| 1.0 | mars 1994 | Première version jugée stable ; réseau TCP/IP |
| 2.0 | juin 1996 | Plusieurs processeurs (SMP) ; arrivée de la mascotte Tux, le manchot |
| 2.2 | janvier 1999 | Meilleur support du multiprocesseur |
| 2.4 | janvier 2001 | USB, grandes quantités de mémoire : Linux entre dans les entreprises |
| 2.6 | décembre 2003 | Nouveau modèle de développement ; noyau de RHEL 5 et RHEL 6 (2.6.32) |
| 3.0 | juillet 2011 | Changement de numéro pour les 20 ans de Linux, sans rupture technique |
En 2005, un conflit de licence prive les développeurs de l'outil qu'ils utilisaient pour gérer le code (BitKeeper). En quelques semaines, Linus écrit son propre outil : Git. Aujourd'hui, Git est utilisé par presque tous les développeurs du monde (GitHub, GitLab…). C'est la deuxième invention majeure de Linus.
6. Comment le noyau est développé aujourd'hui
Le noyau Linux est probablement le plus grand projet collaboratif de l'histoire du logiciel : plus de 30 millions de lignes de code, des milliers de contributeurs à chaque version, la plupart payés par leur employeur (Intel, Google, Red Hat, AMD, Meta, Huawei, SUSE, Linaro…).
Un cycle régulier
version 6.N publiée
│
├── 2 semaines : « fenêtre de fusion » (merge window)
│ les nouveautés préparées par les mainteneurs entrent dans le noyau
│
├── 6.(N+1)-rc1, rc2, … rc7 (parfois rc8) : une « release candidate » par semaine
│ plus de nouveautés, seulement des corrections de bugs
│
└── environ 9 à 10 semaines plus tard : version 6.(N+1) publiée
Cela donne 5 à 6 versions par an. Il n'y a pas de date fixe : Linus publie quand la version est prête.
Une pyramide de mainteneurs
Linus ne relit pas tout lui-même. Le noyau est découpé en sous-systèmes (réseau, systèmes de fichiers, pilotes graphiques, USB, sécurité…). Chacun a ses mainteneurs, listés dans le fichier MAINTAINERS du code source. Les contributeurs envoient leurs correctifs par e-mail au bon mainteneur ; celui-ci les relit, les teste, puis les transmet vers le haut. Linus fusionne le travail des mainteneurs principaux.
Mainline, stable, longterm
Sur kernel.org, vous verrez plusieurs sortes de versions :
| Catégorie | Ce que c'est | Maintenue par |
|---|---|---|
| mainline | La version de développement de Linus (ex. 6.N-rc3) |
Linus Torvalds |
| stable | La dernière version publiée, avec des correctifs (ex. 6.N.4) jusqu'à la suivante |
Greg Kroah-Hartman et l'équipe stable |
| longterm (LTS) | En général la dernière version de chaque année, corrigée plusieurs années | Des mainteneurs volontaires |
Depuis 2023, les nouvelles versions LTS de kernel.org sont annoncées pour environ deux ans (contre six ans pour certaines auparavant), faute de moyens pour en maintenir plus. Des projets comme le CIP (Civil Infrastructure Platform) entretiennent certaines versions pendant dix ans pour l'industrie.
Le numéro du premier chiffre ne veut rien dire de technique : Linus le change quand le second devient trop grand (3.0 en 2011, 4.0 en 2015, 5.0 en 2019, 6.0 en 2022…).
7. Les noyaux des distributions
Les distributions d'entreprise ne suivent pas la dernière version de kernel.org. Elles choisissent une version au lancement et la maintiennent elles-mêmes pendant toute la vie du produit, en y ajoutant les correctifs de sécurité et même des nouveautés (on dit qu'elles les « rétroportent »).
| Distribution | Noyau de base |
|---|---|
| RHEL 6 / CentOS 6 | 2.6.32 |
| RHEL 7 / CentOS 7 | 3.10 |
| RHEL 8 / Rocky 8 / Alma 8 | 4.18 |
| RHEL 9 / Rocky 9 / Alma 9 | 5.14 |
| RHEL 10 / Alma 10 | 6.12 |
| Debian 12 « bookworm » | 6.1 |
| Debian 13 « trixie » | 6.12 |
| Ubuntu 22.04 LTS | 5.15 |
| Ubuntu 24.04 LTS | 6.8 |
Comment lire une version de noyau Red Hat :
uname -r
# 5.14.0-427.13.1.el9_4.x86_64
# 5.14.0 → version de base choisie par Red Hat (kernel.org 5.14)
# 427.13.1 → numéro de construction Red Hat : des centaines de correctifs ajoutés
# el9_4 → « Enterprise Linux 9 », mise à jour 9.4
# x86_64 → architecture (PC 64 bits)
Un noyau 5.14 de RHEL 9 de 2025 est donc très différent du noyau 5.14 de kernel.org de 2021 : il contient des années de corrections.
8. La frise de la leçon
1987 Minix (Andrew Tanenbaum)
1991 Janvier : Linus achète son PC 386 — 25 août : l'annonce — septembre : Linux 0.01
1992 Linux passe sous GPL (0.12) ; débat « LINUX is obsolete »
1994 Linux 1.0 (mars)
1996 Linux 2.0 ; la mascotte Tux
2003 Linux 2.6
2005 Linus crée Git
2007 Création de la Linux Foundation (qui emploie Linus)
2011 Linux 3.0, pour les 20 ans
2022 Linux 6.0 ; premiers éléments en langage Rust dans le noyau (6.1)
Pièges fréquents
- Confondre version du noyau et version de la distribution.
uname -rdonne le noyau ;/etc/os-releasedonne la distribution. Rocky 9.4 et Rocky 9.5 ont le même noyau de base 5.14. - Croire qu'un vieux numéro de noyau veut dire « pas à jour ». Le noyau 4.18 de RHEL 8 reçoit encore des correctifs de sécurité. Ce qui compte, c'est la date du paquet, pas le numéro de base.
- Installer « le dernier noyau de kernel.org » sur un serveur d'entreprise. Vous perdez le support de l'éditeur et les modules tiers (pilotes, antivirus) risquent de ne plus fonctionner.
- Dans un conteneur, croire que le noyau est celui de la distribution. Un conteneur partage le noyau de la machine hôte. Vous allez le constater dans le lab.
Lab
Vous êtes sur une machine Ubuntu 24.04. Interrogez le noyau :
uname -r # la version du noyau
uname -r | cut -d. -f1 # le premier nombre seulement
cat /proc/sys/kernel/ostype # là où uname va chercher ses réponses
cat /proc/sys/kernel/osrelease
grep PRETTY_NAME /etc/os-release # la distribution
Surprise : votre lab est un conteneur. La distribution est bien Ubuntu 24.04, mais le noyau affiché n'est pas le 6.8 d'Ubuntu : c'est celui de la machine qui héberge le lab. Un conteneur emprunte le noyau de son hôte ; seuls les programmes et les fichiers sont ceux d'Ubuntu. Réalisez les tâches, puis cliquez sur Vérifier.
Quiz
- Quel système Linus Torvalds utilisait-il avant d'écrire Linux, et qui l'avait créé ?
- Pourquoi le passage à la GPL en 1992 a-t-il été si important ?
- Qu'est-ce qu'une « fenêtre de fusion » dans le développement du noyau ?
- Quelle est la différence entre une version stable et une version longterm (LTS) sur kernel.org ?
- Un serveur RHEL 9 affiche
5.14.0-503.el9.x86_64. Pourquoi n'est-il pas « en retard » alors que kernel.org propose des versions 6.x ?
Réponses
- Minix, un petit UNIX éducatif créé par le professeur Andrew Tanenbaum (1987).
- La GPL permet à tous d'utiliser, modifier et redistribuer Linux tout en obligeant à partager les améliorations ; elle a attiré les contributeurs et permis d'associer le noyau aux outils GNU pour former un système entièrement libre.
- Les deux semaines qui suivent une version, pendant lesquelles les nouveautés entrent dans le noyau ; ensuite viennent les versions
-rc, réservées aux corrections. - Une version stable est corrigée seulement jusqu'à la sortie de la suivante ; une version longterm est corrigée pendant plusieurs années.
- Red Hat a choisi la base 5.14 et la maintient lui-même en y ajoutant correctifs de sécurité et nouveautés (le nombre
503le montre). Le numéro de base ne dit pas si le noyau est à jour.
Sources de référence : documentation du noyau Linux (docs.kernel.org, GPL-2.0), kernel.org, « Just for Fun » de L. Torvalds. Texte original MasterLinux.
Chapitre 5
Les distributions Linux — Slackware, Debian, Red Hat, Ubuntu et les autres
Objectif
Comprendre ce qu'est une distribution, d'où viennent les grandes familles que vous rencontrerez en entreprise, et pourquoi la commande pour installer un logiciel change d'un serveur à l'autre.
L'essentiel
- Le noyau seul ne suffit pas : une distribution assemble le noyau, les outils GNU, des milliers de logiciels, un installateur et un gestionnaire de paquets.
- Les ancêtres encore vivants sont nés en 1993 : Slackware et Debian. Red Hat et SUSE suivent en 1994.
- Deux grandes familles dominent les serveurs : Debian (paquets
.deb,apt) et Red Hat (paquets.rpm,yum/dnf). - Ubuntu (2004) dérive de Debian ; Fedora (2003) prépare l'avenir de RHEL.
- Une distribution publie soit des versions fixes (Debian, RHEL, Ubuntu LTS), soit en continu (rolling release : Arch).
1. Pourquoi des distributions ?
En 1992, installer Linux est une aventure : il faut récupérer le noyau sur un serveur, compiler soi-même des dizaines de programmes GNU, les copier sur des disquettes, et espérer que tout fonctionne ensemble.
Une distribution fait ce travail pour vous. Comparez avec une cuisine :
| Dans une cuisine | Dans une distribution |
|---|---|
| Les ingrédients (farine, œufs, sucre) | Le noyau Linux, bash, coreutils, nginx, MariaDB… |
| La recette, testée pour que tout aille ensemble | Les versions choisies et testées les unes avec les autres |
| Le chef et son style | L'équipe de la distribution, ses choix, sa philosophie |
| La livraison régulière d'ingrédients frais | Les mises à jour de sécurité |
Concrètement, une distribution fournit :
- un installateur (Anaconda chez Red Hat, debian-installer, Subiquity chez Ubuntu) ;
- un gestionnaire de paquets pour installer, mettre à jour et supprimer les logiciels ;
- des dépôts : des serveurs qui hébergent des dizaines de milliers de paquets prêts à l'emploi ;
- des réglages par défaut : système de démarrage, pare-feu, sécurité, emplacement des fichiers ;
- une politique de versions et une durée de support.
2. Les pionniers (1992-1993)
Les toutes premières distributions s'appellent MCC Interim Linux (1992, université de Manchester) et SLS (Softlanding Linux System, 1992). SLS est pratique mais plein de bugs. Deux personnes décident de faire mieux.
Slackware (juillet 1993)
Patrick Volkerding, étudiant américain, corrige SLS pour son usage, puis publie le résultat : Slackware. C'est la plus ancienne distribution encore maintenue. Sa philosophie : rester proche d'UNIX, simple, sans outils « magiques ». Elle reste très peu utilisée en entreprise aujourd'hui, mais elle a formé des générations d'administrateurs.
Debian (16 août 1993)
Ian Murdock, étudiant à l'université Purdue, annonce le 16 août 1993 une distribution construite ouvertement par une communauté, et non par une seule personne. Le nom réunit Debra (sa compagne d'alors) et Ian.
Debian a trois particularités qui comptent encore :
- Elle n'appartient à aucune entreprise. Des milliers de bénévoles la font vivre, selon un Contrat social (1997) qui promet de rester 100 % libre.
- Ses Principes du logiciel libre selon Debian (DFSG) ont servi de base à la définition de l'open source (leçon 0.3).
- Ses versions portent des noms de personnages de Toy Story :
buzz(1.1, 1996),woody,squeeze,jessie,stretch,buster,bullseye(11),bookworm(12),trixie(13)…
Debian invente aussi un système de paquets puissant : dpkg (milieu des années 1990), puis APT (1998), qui télécharge et installe automatiquement les dépendances. À l'époque, c'est une petite révolution.
3. Les distributions commerciales (1994)
Red Hat (1994)
Marc Ewing crée Red Hat Linux en 1994 ; Bob Young s'associe avec lui pour fonder l'entreprise Red Hat (1995). Red Hat invente le format de paquets RPM (Red Hat Package Manager), puis le rend libre. Red Hat entre en Bourse en août 1999, avec un succès spectaculaire : Linux devient une affaire sérieuse aux yeux des entreprises.
En 2003, Red Hat arrête son « Red Hat Linux » grand public pour se concentrer sur RHEL (payant, pour les entreprises) et lance Fedora (gratuit, communautaire). Toute cette saga est détaillée dans la leçon 0.6.
SUSE (1992-1994)
La société allemande S.u.S.E. (Nuremberg, fondée en 1992) publie sa première distribution en 1994, d'abord basée sur Slackware. Elle devient la référence en Europe, avec son outil de configuration graphique YaST. Aujourd'hui, SUSE Linux Enterprise (SLES) concurrence RHEL dans les grandes entreprises, et openSUSE (2005) est sa version communautaire. SUSE utilise des paquets RPM avec son propre outil, zypper.
4. Ubuntu : Linux pour tout le monde (2004)
En 2004, l'entrepreneur sud-africain Mark Shuttleworth fonde l'entreprise Canonical et lance Ubuntu, un mot d'origine bantoue qui évoque l'humanité et le partage. Objectif : un Linux facile, à jour, avec un calendrier prévisible.
- Base Debian : mêmes paquets
.deb, même outilapt. - Une version tous les six mois, numérotée par l'année et le mois :
24.04= avril 2024. - Une version LTS (Long Term Support) tous les deux ans, en avril des années paires : 20.04, 22.04, 24.04… Elle est supportée 5 ans (et plus avec l'abonnement payant Ubuntu Pro).
- Des noms d'animaux, par ordre alphabétique depuis 2006 :
jammy(22.04, Jammy Jellyfish),noble(24.04, Noble Numbat)…
Ubuntu est devenu le Linux le plus répandu dans le cloud et sur les postes de développeurs. Il a lui-même des dérivés, comme Linux Mint (2006).
5. Les autres familles à connaître
| Distribution | Année | Paquets | Idée principale |
|---|---|---|---|
| Gentoo | 2002 | Compilés depuis les sources (emerge) |
Tout optimiser pour sa machine |
| Arch Linux | 2002 | pacman |
Simple, minimaliste, rolling release ; un wiki de référence pour tous les Linux |
| Alpine Linux | 2005-2006 | apk |
Minuscule et sûr (musl, BusyBox) : très utilisé comme base d'images de conteneurs |
| Linux Mint | 2006 | apt |
Ubuntu rendu plus familier pour les anciens utilisateurs de Windows |
| Kali Linux | 2013 | apt (base Debian) |
Outils de tests d'intrusion (sécurité offensive) |
| Oracle Linux | 2006 | rpm, dnf |
Recompilation de RHEL par Oracle |
Le site DistroWatch en recense des centaines. Mais en entreprise, retenez surtout deux familles :
FAMILLE DEBIAN — paquets .deb, outils dpkg et apt
Debian (1993)
└── Ubuntu (2004)
└── Linux Mint, Pop!_OS…
FAMILLE RED HAT — paquets .rpm, outils rpm et yum (RHEL 5-7) / dnf (RHEL 8+)
Red Hat Linux (1994-2003)
├── Fedora (2003) ──► CentOS Stream ──► RHEL
└── RHEL ──► Rocky Linux, AlmaLinux, Oracle Linux (recompilations)
HORS DE CES DEUX FAMILLES
SUSE (rpm + zypper), Arch (pacman), Alpine (apk), Gentoo (emerge)
6. Le gestionnaire de paquets : le cœur d'une distribution
Un paquet est une archive qui contient un logiciel et des informations : sa version, sa description, et surtout ses dépendances (les autres paquets dont il a besoin).
Il y a deux étages d'outils dans chaque famille :
| Étage | Rôle | Famille Debian | Famille Red Hat |
|---|---|---|---|
| Bas niveau | Installer un fichier de paquet déjà présent, interroger la base locale | dpkg |
rpm |
| Haut niveau | Chercher dans les dépôts, télécharger, résoudre les dépendances, mettre à jour tout le système | apt (et apt-get) |
yum (RHEL 5 à 7), dnf (RHEL 8 et suivants) |
# Famille Debian / Ubuntu
apt update && apt install nginx # installer nginx et ses dépendances
dpkg -l | grep nginx # est-il installé ?
# Famille Red Hat
dnf install nginx # (yum install nginx sur RHEL 7)
rpm -qa | grep nginx # est-il installé ?
Les dépendances, c'est tout l'intérêt : vous demandez nginx, l'outil installe aussi les bibliothèques nécessaires, dans des versions testées ensemble. Sans gestionnaire de paquets, vous passeriez des heures à les chercher une par une.
Plus récemment sont apparus des formats universels, indépendants de la distribution : Snap (Canonical, 2016), Flatpak (surtout pour les applications de bureau) et, côté serveur, les conteneurs (Docker en 2013, Podman). Ils ne remplacent pas les paquets classiques : ils s'ajoutent à eux.
7. Versions fixes ou publication continue
| Modèle | Principe | Exemples | Pour qui ? |
|---|---|---|---|
| Versions fixes, support long | Une version majeure tous les 2-3 ans, puis seulement des corrections pendant des années | RHEL, Rocky, Alma (10 ans), Debian (≈ 5 ans avec le support LTS), Ubuntu LTS | Serveurs de production : stabilité avant tout |
| Versions fixes, cycle court | Une version tous les 6 mois environ | Fedora, Ubuntu non-LTS | Postes de travail, découverte des nouveautés |
| Publication continue (rolling) | Pas de version : on met à jour en permanence | Arch, openSUSE Tumbleweed | Passionnés, postes personnels |
Un serveur de banque ou de boutique en ligne veut que rien ne change sans qu'on l'ait décidé : il tourne sur une version fixe à support long. C'est pourquoi ce cours enseigne Red Hat (RHEL et ses clones), Debian et Ubuntu LTS.
8. Comment savoir sur quelle distribution vous êtes ?
C'est le premier réflexe à prendre en arrivant sur un serveur inconnu :
cat /etc/os-release # standard sur toutes les distributions modernes
# ID=debian, ID=ubuntu, ID="rocky"… → la distribution
# ID_LIKE="rhel centos fedora" → la famille
# VERSION_ID="12" → la version
cat /etc/debian_version # famille Debian seulement
cat /etc/redhat-release # famille Red Hat seulement
Le fichier /etc/os-release a été standardisé vers 2012 avec l'arrivée de systemd. Sur de très vieux serveurs (CentOS 6, par exemple), il peut manquer : utilisez alors /etc/redhat-release.
9. La frise de la leçon
1992 MCC Interim Linux, SLS — S.u.S.E. fondée en Allemagne
1993 Slackware (juillet) — Debian (16 août)
1994 Red Hat Linux — première distribution SuSE
1997 Contrat social Debian
1998 APT (Debian) — Mandrake
1999 Entrée en Bourse de Red Hat
2002 Arch Linux, Gentoo
2003 Fedora Core 1 ; RHEL devient le produit phare de Red Hat
2004 Ubuntu 4.10 (octobre) ; CentOS
2005 openSUSE ; Alpine (2005-2006)
2013 Docker : les conteneurs se répandent
2023 Debian 12 « bookworm »
2024 Ubuntu 24.04 LTS « noble »
2025 Debian 13 « trixie » ; RHEL 10
Pièges fréquents
- Copier une commande d'installation trouvée sur Internet sans vérifier la famille.
apt installn'existe pas sur Rocky ;dnfn'existe pas sur Debian. Regardez/etc/os-released'abord. - Installer un
.debsur une distribution Red Hat (ou un.rpmsur Debian). Ce n'est pas le même format ni les mêmes bibliothèques. Cherchez le paquet de votre famille. - Mélanger les dépôts de deux versions (par exemple ajouter des paquets Debian 13 sur un Debian 12). C'est la meilleure façon de casser un système : les dépendances ne correspondent plus.
- Penser qu'Ubuntu et Debian sont identiques. Ils partagent
aptet.deb, mais leurs versions de logiciels, leurs outils réseau (Netplan sur Ubuntu) et leur pare-feu par défaut diffèrent.
Lab
Vous êtes sur Debian 12. Menez l'enquête comme sur un serveur inconnu :
cat /etc/os-release
cat /etc/debian_version
dpkg -l | head -n 10 # les premiers paquets installés
dpkg -l | grep -c '^ii' # combien en tout ?
dpkg -s coreutils # la fiche d'un paquet
Les tâches : identifier la distribution, relever sa version précise, compter les paquets installés et lire la version du paquet coreutils. Le lab est volontairement minimal : un serveur complet compte souvent plusieurs centaines de paquets. Cliquez ensuite sur Vérifier.
Quiz
- Citez quatre éléments qu'une distribution ajoute au noyau Linux.
- Quelles sont les deux plus anciennes distributions encore maintenues, et en quelle année sont-elles nées ?
- À quelle famille appartient Ubuntu ? Quel est son format de paquets ?
- Quelle est la différence entre
rpmetdnf? - Vous arrivez sur un serveur inconnu. Quelle est votre première commande pour savoir quelle distribution il exécute ?
Réponses
- Au choix : les outils GNU et des milliers de logiciels, un installateur, un gestionnaire de paquets, des dépôts, des réglages par défaut, une politique de versions et de mises à jour de sécurité.
- Slackware (juillet 1993) et Debian (août 1993).
- À la famille Debian ; paquets
.deb, gérés avecdpkgetapt. rpmest l'outil de bas niveau (installe un fichier.rpm, interroge la base locale) ;dnfest l'outil de haut niveau qui va chercher les paquets dans les dépôts et résout les dépendances.cat /etc/os-release(et, sur un très vieux serveur Red Hat,cat /etc/redhat-release).
Sources de référence : histoire officielle de Debian et Contrat social (debian.org), documentation Fedora et Red Hat, cycle de publication Ubuntu. Texte original MasterLinux.
Chapitre 6
La saga Red Hat — RHEL, Fedora, CentOS, Rocky et AlmaLinux
Objectif
Comprendre la famille Red Hat, la plus répandue dans les grandes entreprises : qui fait quoi entre RHEL, Fedora, CentOS, Rocky et AlmaLinux, pourquoi CentOS a disparu, et ce qui change d'une version de RHEL à l'autre. C'est le fil rouge du parcours Red Hat de ce cours.
L'essentiel
- RHEL (Red Hat Enterprise Linux) est la version entreprise, vendue par abonnement (support + mises à jour), avec 10 ans de support par version.
- Fedora (2003) est la distribution communautaire où se préparent les nouveautés ; CentOS Stream est l'aperçu de la prochaine mise à jour de RHEL.
- CentOS (2004) était une recompilation gratuite de RHEL. Fin 2020, Red Hat arrête CentOS Linux 8 prématurément (fin 2021) ; CentOS 7 s'arrête le 30 juin 2024.
- Rocky Linux et AlmaLinux (2021) prennent la relève : gratuits, compatibles avec RHEL.
- Chaque version de RHEL apporte un changement majeur :
systemden 7,dnfen 8, OpenSSL 3 en 9, mode image en 10…
1. De Red Hat Linux à RHEL (1994-2003)
Vous avez vu à la leçon 0.5 la naissance de Red Hat Linux en 1994. Pendant près de dix ans, c'est une distribution unique, à la fois gratuite (téléchargeable) et vendue en boîte avec un manuel et du support. Elle va jusqu'à la version Red Hat Linux 9 (2003).
Problème : une nouvelle version sort environ tous les six mois. Une banque ne peut pas réinstaller ses serveurs deux fois par an. Red Hat lance donc en 2002 Red Hat Linux Advanced Server 2.1, bientôt renommé Red Hat Enterprise Linux : une version stable, certifiée avec les grands logiciels (Oracle, SAP…) et le matériel des constructeurs (Dell, HP, IBM), et maintenue des années.
En 2003, Red Hat sépare définitivement ses deux publics :
| Pour… | Distribution | Prix | Rythme |
|---|---|---|---|
| Les entreprises | RHEL | Abonnement payant | Une version majeure tous les 3 à 5 ans, supportée 10 ans |
| La communauté, les passionnés | Fedora (Fedora Core 1, novembre 2003 ; le mot « Core » disparaît en 2007) | Gratuit | Une version tous les 6 mois environ, supportée environ 13 mois |
Attention à une idée reçue : l'abonnement RHEL ne paie pas une « licence » au sens Windows. Le code est libre (GPL et autres). Le client paie le support, les mises à jour, les certifications et l'accès aux outils de Red Hat.
2. CentOS : RHEL gratuit (2004-2014)
Comme RHEL est composé de logiciels libres, Red Hat publie son code source. Des bénévoles ont alors une idée simple : recompiler ce code, retirer les logos et marques de Red Hat, et diffuser le résultat gratuitement.
C'est CentOS (Community ENTerprise Operating System), dont les premières versions sortent en 2004. Le résultat est identique à RHEL « bug pour bug », mais sans support officiel. D'autres projets font la même chose, comme Scientific Linux (laboratoires Fermilab et CERN, arrêté avec la version 7).
CentOS devient vite le serveur gratuit préféré :
- des hébergeurs web (le panneau d'hébergement cPanel, très répandu, a longtemps exigé CentOS ou RHEL) ;
- des startups, qui veulent du RHEL sans payer ;
- des administrateurs, qui se forment sur CentOS pour passer l'examen RHCSA ;
- des entreprises, pour leurs serveurs de test (et RHEL en production).
En janvier 2014, Red Hat embauche l'équipe de CentOS et prend le projet sous son aile. Pour beaucoup, CentOS semble alors assuré pour longtemps.
3. CentOS Stream et le choc de décembre 2020
En septembre 2019, avec CentOS 8, Red Hat lance aussi CentOS Stream : une version qui avance en continu, juste avant la prochaine mise à jour de RHEL.
AVANT (2004-2020) : CentOS suit RHEL
Fedora ──► RHEL 8.3 ──► (quelques semaines) ──► CentOS 8.3
code source publié, puis recompilé
APRÈS (2021 →) : CentOS Stream précède RHEL
Fedora ──► CentOS Stream 9 ──► RHEL 9.x
(ce qui entrera dans la prochaine mise à jour mineure de RHEL)
Le 8 décembre 2020, Red Hat annonce que CentOS Linux 8, promis jusqu'en 2029, s'arrêtera le 31 décembre 2021. Désormais, le projet CentOS se concentre sur CentOS Stream.
Pour les utilisateurs, c'est un choc :
- des milliers d'entreprises avaient installé CentOS 8 en pensant avoir huit ans devant elles ;
- CentOS Stream ne convient pas à tout le monde : il reçoit les changements avant RHEL, il n'est donc plus un clone exact d'une version de RHEL déjà validée.
CentOS Linux 7, lui, garde sa date de fin d'origine : le 30 juin 2024. Beaucoup de serveurs CentOS 7 tournaient encore à cette date, et certains tournent toujours : vous en rencontrerez peut-être.
4. Rocky Linux et AlmaLinux (2021)
La communauté réagit en quelques jours. Deux projets naissent pour reprendre le rôle de CentOS : une recompilation gratuite et compatible de RHEL.
| Rocky Linux | AlmaLinux | |
|---|---|---|
| Annonce | Décembre 2020 | Décembre 2020 |
| Fondateur | Gregory Kurtzer, cofondateur du projet CentOS | CloudLinux, une entreprise qui fait déjà des distributions pour hébergeurs |
| Origine du nom | Hommage à Rocky McGaugh, autre cofondateur de CentOS, décédé | « Alma » signifie « âme » en espagnol et en portugais |
| Première version stable | Rocky 8.4, juin 2021 | AlmaLinux 8.3, mars 2021 |
| Organisation | Rocky Enterprise Software Foundation | AlmaLinux OS Foundation (association à but non lucratif) |
Pour passer d'un CentOS 8 à l'un d'eux, chaque projet fournit un script de migration sur place (migrate2rocky, almalinux-deploy), sans réinstaller. D'autres alternatives existent : Oracle Linux (recompilation de RHEL depuis 2006), CentOS Stream lui-même, ou RHEL directement.
Red Hat a aussi assoupli son offre : depuis 2021, l'abonnement gratuit Red Hat Developer Subscription for Individuals permet à un particulier d'utiliser RHEL sur un petit nombre de machines (jusqu'à 16).
Juin 2023 : nouveau rebondissement
En juin 2023, Red Hat annonce que CentOS Stream devient la seule source publique du code lié à RHEL : le code source exact de chaque version de RHEL n'est plus publié librement, il est réservé aux clients.
Les recompilations doivent s'adapter :
- AlmaLinux choisit d'être compatible au niveau binaire (ABI) avec RHEL, plutôt que copie « bug pour bug » : les logiciels prévus pour RHEL y fonctionnent, mais il peut exister de petites différences ;
- Rocky Linux continue à viser l'identité avec RHEL, en récupérant le code par d'autres moyens légaux ;
- CIQ (l'entreprise derrière Rocky), Oracle et SUSE créent en août 2023 l'OpenELA, une association qui publie du code source compatible avec RHEL.
Pour vous, administrateur, la conséquence est simple : ce que vous apprenez sur Rocky ou Alma vaut pour RHEL, et inversement. Les commandes, les fichiers de configuration et l'examen RHCSA sont les mêmes.
5. La famille aujourd'hui
nouveautés, tous les 6 mois
FEDORA ─────────────────────────────────► (le laboratoire)
│ tous les 3 ans environ, Fedora sert de base à
▼
CENTOS STREAM N ───────────────────────► (la prochaine mise à jour de RHEL, en avance)
│
▼
RHEL N.0, N.1, N.2… (le produit, 10 ans de support)
│ code compatible
▼
ROCKY LINUX N.x ALMALINUX N.x ORACLE LINUX N.x (gratuits, compatibles)
En 2018, IBM annonce le rachat de Red Hat pour environ 34 milliards de dollars, finalisé en juillet 2019. Red Hat reste une division autonome, qui continue de développer RHEL et de contribuer massivement à Linux, à systemd, à GNOME, à Podman…
6. Le cycle de vie d'une version de RHEL
Chaque version majeure de RHEL a une durée de vie d'environ dix ans, en deux grandes phases, plus une option payante :
| Phase | Durée approximative | Ce que vous recevez |
|---|---|---|
| Support complet (Full Support) | ≈ 5 ans | Corrections, sécurité, nouveau matériel, petites nouveautés à chaque version mineure (9.1, 9.2…) |
| Maintenance | ≈ 5 ans de plus | Corrections de sécurité et de bugs importants seulement |
| Support étendu (ELS, payant en plus) | quelques années de plus | Correctifs critiques pour ceux qui n'ont pas pu migrer |
Les versions mineures sortent environ tous les six mois : 9.0, 9.1, 9.2… Rocky et Alma suivent le même calendrier, avec un léger décalage.
Selon la version
| Version | Sortie | Noyau | Ce qui change pour l'administrateur | Fin de maintenance |
|---|---|---|---|---|
| RHEL 6 | novembre 2010 | 2.6.32 | Démarrage par Upstart mais services gérés à l'ancienne : service httpd start, chkconfig httpd on ; ext4 par défaut ; pare-feu iptables ; yum |
novembre 2020 |
| RHEL 7 | juin 2014 | 3.10 | Arrivée de systemd (systemctl) ; pare-feu firewalld ; XFS par défaut ; GRUB 2 ; 64 bits seulement ; MariaDB remplace MySQL ; chronyd pour l'heure |
juin 2024 |
| RHEL 8 | mai 2019 | 4.18 | dnf remplace yum (la commande yum reste en alias) ; dépôts BaseOS et AppStream avec des « modules » ; nftables sous firewalld ; Podman au lieu de Docker ; Python 3 (plus de commande python par défaut) ; console web Cockpit ; politiques cryptographiques système |
mai 2029 |
| RHEL 9 | mai 2022 | 5.14 | Construit à partir de CentOS Stream 9 ; OpenSSL 3 ; connexion SSH de root par mot de passe refusée par défaut ; signatures SHA-1 dépréciées ; anciens fichiers réseau ifcfg dépréciés au profit des fichiers de NetworkManager ; processeurs x86-64 de niveau v2 exigés |
mai 2032 |
| RHEL 10 | mai 2025 | 6.12 | Mode image (le système déployé comme une image de conteneur, avec bootc) ; premiers algorithmes de cryptographie post-quantique ; assistant en ligne de commande Lightspeed ; serveur graphique Xorg retiré (Wayland seulement) ; Valkey remplace Redis ; processeurs x86-64 de niveau v3 exigés |
prévue en 2035 |
Ce tableau est la raison d'être du parcours Red Hat de ce cours : chaque leçon importante y a sa section « Selon la version », parce qu'en entreprise vous croiserez encore des serveurs RHEL ou CentOS 6 et 7 à côté de RHEL 9 et 10.
# Sur un RHEL 6 / CentOS 6 # Sur un RHEL 7 et suivants
service sshd restart systemctl restart sshd
chkconfig sshd on systemctl enable sshd
iptables -L firewall-cmd --list-all
yum install httpd dnf install httpd (RHEL 8+)
7. La frise de la leçon
1994 Red Hat Linux
1999 Red Hat entre en Bourse
2002 Red Hat Linux Advanced Server 2.1 → bientôt « RHEL »
2003 Red Hat Linux 9, la dernière ; RHEL 3 ; Fedora Core 1
2004 Premières versions de CentOS
2007 RHEL 5
2010 RHEL 6
2014 Red Hat embauche l'équipe CentOS (janvier) ; RHEL 7 (juin)
2019 RHEL 8 (mai) ; IBM finalise le rachat (juillet) ; CentOS Stream (septembre)
2020 8 décembre : fin anticipée de CentOS Linux 8 annoncée
2021 AlmaLinux 8.3 (mars), Rocky Linux 8.4 (juin) ; fin de CentOS Linux 8 (31 décembre)
2022 RHEL 9 (mai), suivi de Rocky 9 et AlmaLinux 9
2023 Code source de RHEL réservé aux clients (juin) ; OpenELA (août)
2024 Fin de CentOS Linux 7 (30 juin)
2025 RHEL 10 (mai), suivi d'AlmaLinux 10 et Rocky 10
Pièges fréquents
- Dire « CentOS » pour parler d'un serveur Red Hat récent. CentOS Linux n'existe plus : un CentOS 7 encore en service ne reçoit plus de correctifs gratuits depuis juillet 2024. C'est un risque de sécurité à signaler.
- Confondre CentOS Stream et l'ancien CentOS. Stream est en avance sur RHEL, pas une copie d'une version validée de RHEL.
- Croire que Rocky et Alma sont « moins professionnels ». Ils sont utilisés en production par de grandes organisations. La différence avec RHEL tient au support et aux certifications des éditeurs, pas aux commandes.
- Appliquer une procédure RHEL 6 sur un RHEL 9 (ou l'inverse). Regardez toujours la version (
cat /etc/redhat-release) avant de suivre un tutoriel.
Lab
Vous êtes sur Rocky Linux 9. Vérifiez sa parenté avec RHEL :
grep -E '^(ID|ID_LIKE|VERSION_ID)=' /etc/os-release
cat /etc/redhat-release # présent sur toute la famille Red Hat
rpm -qa | wc -l # nombre de paquets RPM installés
rpm -q rocky-release # le paquet qui « signe » la distribution
Les tâches : relever la famille déclarée par ID_LIKE, la ligne de /etc/redhat-release, le nombre de paquets et la version exacte de rocky-release. Puis cliquez sur Vérifier.
Quiz
- Quelle est la différence entre Fedora et RHEL ?
- Qu'était CentOS, et pourquoi était-il si populaire ?
- Qu'a annoncé Red Hat le 8 décembre 2020 ?
- Où se place CentOS Stream par rapport à RHEL ?
- Sur quelle version de RHEL sont apparus
systemctletfirewalld? Etdnf?
Réponses
- Fedora est communautaire et gratuite, avec une version tous les 6 mois environ : c'est le laboratoire des nouveautés. RHEL est la version entreprise, vendue par abonnement, stable et supportée 10 ans.
- Une recompilation gratuite du code source de RHEL, sans les marques Red Hat : un RHEL gratuit, identique « bug pour bug », sans support officiel. Hébergeurs, startups et administrateurs en formation l'adoraient.
- Que CentOS Linux 8, prévu jusqu'en 2029, s'arrêterait le 31 décembre 2021, le projet se concentrant sur CentOS Stream.
- Avant RHEL : il contient ce qui entrera dans la prochaine mise à jour mineure de RHEL.
systemctletfirewalld: RHEL 7 (2014).dnf: RHEL 8 (2019).
Sources de référence : cycle de vie et notes de version de Red Hat Enterprise Linux (documentation Red Hat, CC BY-SA 3.0), annonces officielles de CentOS, Rocky Linux et AlmaLinux. Texte original MasterLinux.
Chapitre 7
Linux aujourd'hui et votre carrière
Objectif
Voir où Linux est utilisé aujourd'hui, quels métiers il ouvre, quelles certifications comptent sur un CV, et choisir votre parcours dans ce cours : famille Red Hat ou famille Debian.
L'essentiel
- Linux fait tourner la grande majorité des serveurs web et du cloud, 100 % des 500 plus puissants supercalculateurs (depuis 2017), Android et une foule d'appareils embarqués.
- Les grands métiers : administrateur système, ingénieur DevOps, SRE, ingénieur cloud, sans oublier la sécurité et l'embarqué.
- Les certifications de référence : RHCSA puis RHCE (Red Hat), LPIC-1 (LPI, neutre), LFCS (Linux Foundation).
- Choisissez une famille pour commencer : Red Hat (grandes entreprises, banques, télécoms, administrations) ou Debian/Ubuntu (hébergeurs, startups, cloud).
- Environ quatre cinquièmes de ce que vous apprendrez sont communs aux deux familles : le tronc commun de ce cours.
1. Où tourne Linux ?
Linux est le système le plus utilisé au monde… même si peu de gens le voient. Il est partout où il n'y a pas d'écran Windows ou macOS devant vous.
| Domaine | Place de Linux | Exemples |
|---|---|---|
| Serveurs web | Très majoritaire | La plupart des sites que vous visitez tournent sur Linux, souvent avec nginx ou Apache |
| Cloud | Très majoritaire | Les machines virtuelles d'AWS, Google Cloud, Azure ; Microsoft a indiqué que plus de la moitié des machines virtuelles d'Azure tournent sous Linux |
| Conteneurs | Quasi exclusif | Docker, Podman, Kubernetes reposent sur des fonctions du noyau Linux (namespaces, cgroups) |
| Supercalculateurs | 100 % du classement TOP500 depuis novembre 2017 | Météo, recherche médicale, simulation nucléaire |
| Téléphones | Android utilise le noyau Linux | Plus de 3 milliards d'appareils Android actifs selon Google (2021) |
| Embarqué | Très présent | Box Internet, routeurs, téléviseurs connectés, voitures, caisses enregistreuses, distributeurs de billets, appareils médicaux |
| Espace | Présent | L'hélicoptère Ingenuity, sur Mars en 2021, fonctionnait sous Linux |
| Postes de travail | Minoritaire (quelques pour cent) | Développeurs, ChromeOS (basé sur Linux), console Steam Deck |
Retenez ceci : quand vous consultez votre banque sur votre téléphone, il est très probable que Linux soit présent à chaque étape : dans le téléphone (Android), dans la box ou l'antenne relais, dans le serveur web de la banque, et dans sa base de données.
2. Pourquoi Linux a gagné
En reprenant les six leçons précédentes, on peut résumer le succès de Linux en cinq raisons :
- Il est libre (leçon 0.3) : pas de licence à payer par machine. Pour un hébergeur qui a 10 000 serveurs, cela change tout.
- Il est ouvert : n'importe quelle entreprise peut l'adapter à son matériel (Android, box Internet, supercalculateurs).
- Il suit les idées d'UNIX (leçons 0.1 et 0.2) : solides, éprouvées, connues de générations d'ingénieurs.
- Il est développé par tous (leçon 0.4) : les concurrents (Intel et AMD, Google et Microsoft) améliorent ensemble le même noyau.
- Il existe des distributions pour chaque besoin (leçons 0.5 et 0.6) : RHEL pour la banque, Ubuntu pour le cloud, Alpine pour les conteneurs.
3. Les métiers
Savoir administrer Linux ouvre plusieurs métiers, qui se recouvrent souvent. Les intitulés varient d'une entreprise à l'autre.
| Métier | Ce que vous faites au quotidien | Compétences Linux clés |
|---|---|---|
| Administrateur système Linux | Installer, configurer, mettre à jour et surveiller les serveurs ; gérer comptes, disques, sauvegardes, incidents | Tout ce cours : services, réseau, stockage, sécurité, journaux |
| Ingénieur DevOps | Automatiser le déploiement des applications ; chaînes d'intégration continue ; conteneurs | Scripts shell, Git, Ansible, Docker/Podman, Kubernetes |
| SRE (Site Reliability Engineer) | Garantir la fiabilité d'un service à grande échelle ; mesurer, alerter, réduire les pannes. Le métier a été formalisé chez Google au début des années 2000 | Supervision, performance, automatisation, programmation |
| Ingénieur cloud | Concevoir et gérer des infrastructures chez AWS, Azure ou Google Cloud | Linux + réseau + outils du fournisseur, Terraform |
| Ingénieur sécurité | Durcir les serveurs, analyser les journaux, répondre aux incidents | SELinux/AppArmor, pare-feu, SSH, audit, journaux |
| Ingénieur systèmes embarqués | Faire tourner Linux sur un appareil (box, voiture, terminal de paiement) | Noyau, compilation, démarrage, pilotes |
Un parcours fréquent : technicien support ou administrateur junior → administrateur système confirmé → DevOps, SRE ou cloud. Dans tous les cas, la base est la même : être à l'aise en ligne de commande et comprendre ce qui se passe dans un système Linux. C'est exactement ce que ce cours construit.
Au Maroc comme ailleurs, les employeurs de profils Linux sont nombreux : banques et assurances, opérateurs télécoms, administrations, hébergeurs, sociétés de services et centres d'externalisation (offshoring), startups.
4. Les certifications
Une certification prouve à un recruteur que vous savez faire, pas seulement que vous avez lu. Les principales :
| Certification | Organisme | Format | Niveau | Pour qui ? |
|---|---|---|---|---|
| RHCSA (examen EX200) | Red Hat | 100 % pratique : vous administrez de vraies machines RHEL pendant quelques heures | Administrateur | La référence dans la famille Red Hat ; très demandée en entreprise |
| RHCE (EX294) | Red Hat | Pratique, centré sur l'automatisation avec Ansible (depuis RHEL 8) ; exige la RHCSA | Administrateur confirmé | Après la RHCSA, pour viser DevOps |
| RHCA | Red Hat | Plusieurs examens pratiques de spécialité | Expert | Architectes |
| Linux Essentials | LPI | QCM | Débutant | Première validation des bases |
| LPIC-1 (examens 101 et 102) | LPI (Linux Professional Institute) | Questions à choix et à compléter | Administrateur junior | Neutre : couvre Red Hat et Debian |
| LPIC-2, LPIC-3 | LPI | Questions | Confirmé, expert | Suite du parcours LPI |
| LFCS | The Linux Foundation | Pratique, en ligne, surveillé | Administrateur | Alternative pratique et neutre à la RHCSA |
| CompTIA Linux+ | CompTIA | Questions et mises en situation | Junior | Reconnu surtout en Amérique du Nord |
Les examens pratiques (RHCSA, RHCE, LFCS) sont souvent les plus appréciés des recruteurs : on ne peut pas les réussir en apprenant par cœur. Les certifications ont une durée de validité limitée (de deux à cinq ans selon l'organisme) : vérifiez les règles à jour sur le site officiel avant de vous inscrire, car elles changent régulièrement.
Après une première certification Linux, beaucoup d'administrateurs poursuivent vers Kubernetes (CKA, de la Linux Foundation) ou vers les certifications des fournisseurs cloud (AWS, Azure, Google Cloud), qui supposent toutes une bonne maîtrise de Linux.
5. Choisir votre voie : famille Red Hat ou famille Debian ?
Ce cours propose un tronc commun, puis trois parcours : Red Hat, Debian et Ubuntu. Voici comment choisir.
| Si vous visez… | Commencez par | Pourquoi |
|---|---|---|
| Une banque, une assurance, un opérateur télécom, une administration, une grande entreprise | Red Hat (RHEL, Rocky, Alma) | Ces organisations achètent du support RHEL ; la RHCSA y est souvent demandée |
| La certification RHCSA | Red Hat | L'examen se passe sur RHEL ; Rocky et Alma sont parfaits pour s'entraîner |
| Un hébergeur, une startup, une agence web | Debian ou Ubuntu | Ce sont les distributions les plus courantes chez eux |
| Le cloud et le DevOps | Ubuntu, puis Red Hat | Ubuntu est très répandu dans le cloud ; les entreprises clientes, elles, ont souvent du RHEL |
| Une certification neutre (LPIC-1, LFCS) | Le tronc commun, puis les deux familles | Ces examens couvrent les deux mondes |
Les principales différences que vous rencontrerez :
| Famille Red Hat | Famille Debian / Ubuntu | |
|---|---|---|
| Paquets | .rpm — dnf (yum avant RHEL 8) |
.deb — apt |
| Pare-feu courant | firewalld |
nftables (Debian), ufw (Ubuntu) |
| Sécurité obligatoire | SELinux | AppArmor |
| Groupe des administrateurs | wheel |
sudo |
| Configuration du réseau | NetworkManager (nmcli) |
/etc/network/interfaces (Debian), Netplan (Ubuntu) |
| Support d'une version | 10 ans | ≈ 5 ans (Debian avec LTS, Ubuntu LTS ; plus avec Ubuntu Pro) |
Le bon conseil : ne cherchez pas le « meilleur » Linux. Apprenez à fond une famille, puis les différences de l'autre. Un administrateur qui maîtrise Rocky s'adapte à Ubuntu en quelques jours, et inversement : les commandes de base, systemd, SSH, les droits, le shell sont les mêmes.
6. Comment progresser
- Pratiquez tous les jours, même vingt minutes : l'administration système s'apprend avec les doigts, pas seulement avec les yeux. Chaque leçon de ce cours a un lab pour cela.
- Cassez et réparez : dans un lab, rien n'est grave. Supprimez un fichier, arrêtez un service, et cherchez comment revenir en arrière.
- Lisez les messages d'erreur jusqu'au bout : neuf fois sur dix, la solution y est écrite.
- Apprenez à vous documenter :
man,--help, la documentation officielle de votre distribution (tronc commun, leçon sur la documentation). - Gardez un carnet de vos commandes et de vos solutions : c'est le début de vos propres procédures, et un vrai atout en entretien.
- Visez une certification : une date d'examen dans l'agenda est le meilleur moteur.
7. La frise du module Histoire
1964 Multics
1969 UNIX (Thompson, Ritchie, Bell Labs)
1973 UNIX réécrit en C ; les tubes
1978 BSD (Berkeley)
1983 System V (AT&T) — projet GNU (Stallman)
1985 Free Software Foundation
1988 POSIX
1989 GPL
1991 Linux 0.01 (Linus Torvalds)
1993 Slackware, Debian
1994 Linux 1.0 ; Red Hat Linux ; SuSE
1998 « Open source »
2003 RHEL et Fedora
2004 Ubuntu ; CentOS
2008 Premier téléphone Android
2017 Linux sur 100 % des supercalculateurs du TOP500
2019 IBM rachète Red Hat
2021 Rocky Linux et AlmaLinux
2024 Fin de CentOS 7
2025 RHEL 10, Debian 13
… et la suite, c'est vous qui l'écrivez
Idées reçues
- « Linux, c'est pour les geeks, pas pour les entreprises. » C'est l'inverse : Linux est surtout un système d'entreprise. C'est sur les postes personnels qu'il reste minoritaire.
- « Avec le cloud, plus besoin d'administrateurs Linux. » Le cloud déplace le travail, il ne le supprime pas : les machines virtuelles et les conteneurs du cloud sont des Linux qu'il faut configurer, sécuriser et dépanner.
- « Il faut savoir programmer pour administrer Linux. » Pas pour commencer. Les scripts shell viennent naturellement avec la pratique ; un langage comme Python devient utile plus tard, pour le DevOps ou le SRE.
- « Une certification suffit pour être embauché. » Elle ouvre des portes, mais l'entretien technique vérifie votre pratique : les labs comptent autant que le diplôme.
Lab
Dernier lab du module, sur Ubuntu 24.04 :
grep '^VERSION_CODENAME=' /etc/os-release # le nom de code de cette version
uname -m # l'architecture du processeur
Relevez le nom de code et l'architecture, puis engagez-vous : écrivez la famille que vous choisissez (redhat ou debian) et la première certification que vous visez. Personne d'autre que vous ne lira ces fichiers ; c'est une promesse à vous-même. Cliquez ensuite sur Vérifier, et rendez-vous dans le tronc commun.
Quiz
- Citez quatre domaines où Linux est utilisé, en dehors des ordinateurs de bureau.
- Quelle est la différence principale entre un administrateur système et un SRE ?
- Pourquoi la RHCSA est-elle particulièrement appréciée des recruteurs ?
- Vous voulez travailler dans une banque qui utilise RHEL. Quelle famille apprenez-vous en premier, et sur quelle distribution gratuite pouvez-vous vous entraîner ?
- Citez trois différences entre la famille Red Hat et la famille Debian.
Réponses
- Au choix : serveurs web, cloud, conteneurs, supercalculateurs, téléphones Android, box et routeurs, téléviseurs, voitures, appareils médicaux, espace.
- L'administrateur fait fonctionner les serveurs (installation, configuration, maintenance) ; le SRE se concentre sur la fiabilité mesurée d'un service à grande échelle, avec beaucoup d'automatisation et de supervision. Les deux métiers se recouvrent largement.
- Parce que l'examen est 100 % pratique : on administre de vraies machines, on ne peut pas réussir en apprenant des réponses par cœur.
- La famille Red Hat ; entraînement sur Rocky Linux ou AlmaLinux (ou RHEL avec l'abonnement gratuit pour développeurs).
- Au choix : paquets
.rpm/dnfcontre.deb/apt; SELinux contre AppArmor ; groupewheelcontresudo;firewalldcontrenftables/ufw; NetworkManager contreinterfaces/Netplan ; durée de support (10 ans contre environ 5 ans).
Sources de référence : TOP500 (top500.org), pages officielles des certifications Red Hat, LPI et Linux Foundation. Texte original MasterLinux.
Passez à la pratique
Les fondamentaux commencent par votre premier terminal, gratuitement.
Découvrir les fondamentauxhttps://masterlinux.online