Distributions Linux et cycles de maintenance

Objectifs de certification

Objectifs Linux Essentials 4.1

Connaissance des systèmes d’exploitations les plus réputés et des distributions Linux.

Domaines de connaissance les plus importants :

  • Différences entre Windows, Mac et Linux .
  • Cycle de développement des distributions.

Liste partielle de termes, fichiers et utilitaires utilisés pour cet objectif :

  • Interface graphique versus ligne de commande, configuration du bureau.
  • Cycles de maintenance, beta et stable.

1. Distribution Linux

Une distribution Linux est composée :

  • Du noyau
  • Des outils d’environnement
  • D’un logiciel d’installation
  • D’un outil de gestion des paquetages logiciels
Distribution Linux

Source de l’image

1.1. Critères de choix d’une distribution Linux

https://en.wikipedia.org/wiki/Comparison_of_Linux_distributions

  • Architecture matérielle :
    • i386,
    • amd64,
    • arm
  • Système de paquetage :
    • dpkg,
    • rpm,
    • autres : opkg, pacman, emerge
  • Droits :
    • FSF,
    • commercial,
    • GPL
  • Stabilité :
    • cycles de maintenance,
    • support,
    • End of Life (EOL)
  • Usage :
    • bureautique,
    • mobile,
    • serveur
  • Commodité :
    • Pratique,
    • habitude,
    • procédure
  • Support commercial
    • Supports techniques
    • Solution SaaS

1.2. Familles Linux

Pour une présentation graphique des familles GNU/Linux : https://prezi.com/ipbdborsg1qd/gnulinux-distribution-timeline-1210/

Distributions Généralistes

Si les outils “maison” des distributions (services, paquetages, …) et leurs comportements par défaut font toujours la différence, les procédures et les principes des nombreuses distributions deviennent de plus en plus similaires.

Aussi, les concepteurs de logiciels laissent la plupart du temps leur code ouvert, ce qui invite à les compiler soi-même dans leur dernière version. Même si la distribution et l’installation de binaires déjà compilés par les mainteneurs des distributions reste une préférence, de plus en plus de projets logiciels proposent leurs propres dépôts de paquetages.

Voici une liste non-exhaustive des distributions généralistes et leurs dérivés, par famille :

Distributions Spécifiques

Ces distributions sont plus spécifiques. Elles disposent chacunes de leur propre communauté, histoire et objectif. Par exemple,

Enfin, on connaîtra aussi bon nombre de distributions spécialisées qui remplissent un objectif assez précis. Elles se basent sur l’une ou l’autre des distributions généralistes ou spécialisées. Kali Linux est un bon exemple : basée Debian, elle propose ses propres dépôts pour des logiciels de sécurité.

2. Cycle de révision

Un cycle de révision fournit des mises à jour et des nouvelles versions. On peut connaître des :

  • révisions mineures : corrections de bugs ou des ajouts de fonctionnalités secondaires
  • révisions majeures : nouvelles fonctionnalités, voire nouvelle conception

Exemples :

  • Debian connait un cycle de plusieurs années
  • Ubuntu connait un cycle de tous les 6 mois
  • Fedora est révisé tous les 6 mois
  • Une révision mineure est proposée tous les 12/18 mois chez RHEL
  • Une révision majeure est proposée tous les 3/6 ans chez RHEL

3. Cycle de maintenance

Un cycle de maintenance est la durée pendant laquelle un logiciel est corrigé et maintenu sur un système de manière cohérente.

  • Un statut EOL (End of Life) indique la fin de ce support.
  • Une mise à niveau (upgrade) est nécessaire pour continuer à bénéficier d’un support de maintenance.

4. Debian

  • Distribution non-commerciale : GNU/Linux par excellence
  • Support d’un grand nombre d’architectures dont ARM
  • Paquetages compilés sont disponibles en dépôts locaux ou distants : dpkg, apt, synaptic
Logo Debian

Source de l’image

4.1. Présentation du projet Debian

Debian est une organisation composée uniquement de bénévoles, dont le but est de développer le logiciel libre et de promouvoir les idéaux de la communauté du logiciel libre. Le projet Debian a démarré en 1993, quand Ian Murdock invita tous les développeurs de logiciels à participer à la création d’une distribution logicielle, complète et cohérente, basée sur le nouveau noyau Linux. Ce petit groupe d’enthousiastes, d’abord subventionné par la Free Software Foundation, et influencé par la philosophie GNU, a grandi pour devenir une organisation composée par environ 1026 développeurs Debian.

Pour communiquer sa philosophie et attirer des développeurs qui adhèrent à ses principes, le projet Debian a publié un certain nombre de documents qui mettent en évidence ses valeurs et expliquent ce que signifie être un développeur Debian :

  • Le contrat social Debian est la déclaration des engagements de Debian vis-à-vis de la communauté du logiciel libre. Quiconque est d’accord pour se conformer à ce contrat social peut devenir un développeur Debian. Tout développeur Debian peut introduire de nouveaux logiciels dans Debian, à condition que ces paquets se conforment à nos critères de liberté et répondent à nos critères de qualité ;

  • Les directives Debian pour le logiciel libre (Debian Free Software Guidelines, ou DFSG) sont une déclaration claire et concise des critères Debian en matière de logiciel libre. Ce document a une grande influence sur le mouvement pour le logiciel libre ; il est à la base de la définition de l’Open Source ;

  • La charte Debian est une spécification détaillée des standards de qualité du projet Debian.

Les développeurs Debian participent aussi à d’autres projets : certains sont spécifiques à Debian, d’autres concernent tout ou partie de la communauté Linux. Voici quelques exemples :

  • Le Linux Standard Base (LSB) est un projet dont le but est de standardiser le système GNU/Linux de base. Les concepteurs de matériels et de logiciels pourront ainsi plus facilement concevoir des applications et des pilotes de périphériques pour un système Linux générique plutôt que pour une distribution particulière ;

  • Le standard pour l’organisation des systèmes de fichiers (FHS) est un effort pour standardiser l’organisation du système de fichiers Linux. Le FHS permettra aux développeurs de logiciels de se concentrer sur la conception de programmes, sans avoir à se préoccuper de la façon dont le paquet sera installé dans les différentes distributions GNU/Linux ;

Pour des informations plus générales sur Debian, voir la FAQ Debian.

Source : https://www.debian.org/releases/stable/amd64/ch01s01.html.fr

4.2. Versions (Branches) Debian

  • Debian Squeeze (6.0) sera supporté jusqu’en 02/2016
  • old stable : Wheezy (7.0), publiée en Mai 2013, les seules mises à jour sont des correctifs de sécurité ;
  • old stable : Jessie (8.0) est l’ancienne stable depuis le 26 avril 2015 ;
  • stable : Stretch (9.0) est la version stable depuis le 17 juin 2017 ;
  • testing : Buster (10.0) future version stable où seuls les paquets suffisamment matures peuvent rentrer ;
  • unstable : surnommée Sid, il s’agit d’une version en constante évolution, alimentée sans fin par de nouveaux paquets ou de mises à jour de paquets déjà existants (on parle de Rolling release).
Versions et support Debian

Source de l’image

4.3. Architectures supportées par le projet Debian

  • Intel : 386, kfreebsd-i386, amd64, kfreebsd-amd64, ia64
  • ARM : armel, armhfi
  • Autres : mips, mipsel, powerpc, sparc, s390x

Note : Une distribution Debian est optimisée (officiellement) pour la plateforme Raspberry Pi (armhf) : Raspbian.

5. Ubuntu

  • Commandité par la société Canonical et une marque déposée par cette même société.
  • Basé Debian, Ubuntu respecte les licences GNU et l’esprit Open Source.
  • https://doc.ubuntu-fr.org/ubuntu_distribution
Logo Ubuntu

Source de l’image

5.1. Version stables Ubuntu

  • Version standard sort 2 fois par an (supportée pendant 9 mois)
  • Version LTS (Long Term Support) une fois tous les 2 ans supportée 5 ans :
  • 2 ans pour les màj de sécurité et de pilotes matériel
  • 3 ans en plus pour les màj de sécurité seulement

5.2. Versions Ubuntu

Versions Ubuntu

Source: The Ubuntu lifecycle and release cadence

Numéro de versionNom de codeDate de sortieDate de fin de soutien Postes de travailServeurs
Ubuntu 4.10The Warty Warthog (le phacochère verruqueux)20 octobre 200430 avril 2006idem
Ubuntu 5.04The Hoary Hedgehog (le hérisson vénérable)8 avril 200531 octobre 2006idem
Ubuntu 5.10The Breezy Badger (le blaireau jovial)13 octobre 200513 avril 2007idem
Ubuntu 6.06 LTSThe Dapper Drake (le canard pimpant)1er juin 200614 juillet 20091er juin 2011
Ubuntu 6.10The Edgy Eft (Le Triton Agité)26 octobre 200625 avril 2008idem
Ubuntu 7.04The Feisty Fawn (le faon courageux)19 avril 200719 octobre 2008idem
Ubuntu 7.10The Gutsy Gibbon (le gibbon fougueux)18 octobre 200718 avril 2009idem
Ubuntu 8.04 LTSThe Hardy Heron (le héron robuste)24 avril 200812 mai 20119 mai 2013
Ubuntu 8.10The Intrepid Ibex (Le bouquetin intrépide)30 octobre 200830 avril 2010idem
Ubuntu 9.04The Jaunty Jackalope (le jackalope enjoué)23 avril 200923 octobre 2010idem
Ubuntu 9.10The Karmic Koala (le koala karmique)29 octobre 200930 avril 2011idem
Ubuntu 10.04 LTSThe Lucid Lynx (le lynx lucide)29 avril 20109 mai 201330 avril 2015
Ubuntu 10.10The Maverick Meerkat (le suricate rebelle)10 octobre 201010 avril 2012idem
Ubuntu 11.04The Natty Narwhal (le narval chic)28 avril 201128 octobre 2012idem
Ubuntu 11.10The Oneiric Ocelot (l’ocelot onirique)13 octobre 20119 mai 2013idem
Ubuntu 12.04 LTSThe Precise Pangolin (le pangolin précis)26 avril 201228 avril 2017-
Ubuntu 12.10The Quantal Quetzal (le quetzal quantique)18 octobre 201216 mai 2014idem
Ubuntu 13.04The Raring Ringtail (le bassaris enthousiaste)25 avril 201327 janvier 2014idem
Ubuntu 13.10The Saucy Salamander (la salamandre délurée)17 octobre 201317 juillet 2014idem
Ubuntu 14.04 LTSThe Trusty Tahr (le bélier confiant)17 avril 2014Avril 2019-
Ubuntu 14.10The Utopic Unicorn (la licorne utopique)23 octobre 201423 juillet 2015idem
Ubuntu 15.04The Vivid Vervet (le vervet vif)23 avril 20154 février 2016idem
Ubuntu 15.10The Wily Werewolf (le loup-garou rusé)22 octobre 201528 juillet 2016idem
Ubuntu 16.04 LTSThe Xenial Xerus (le xerus hospitalier)21 avril 2016Avril 2021-
Ubuntu 16.10The Yakkety Yak (le yak bavard)13 octobre 2016Juillet 2017idem
Ubuntu 17.04The Zesty Zapus (le zapus plaisant)13 Avril 2017Janvier 2018idem
Ubuntu 17.10The Artful Aardvark (l’oryctérope du Cap astucieux)19 Octobre 2017Juillet 2018idem
Ubuntu 18.04 LTSThe Bionic Beaver (le castor bionique)26 avril 2018Avril 2023idem
Ubuntu 18.10The Cosmic Cuttlefish (la seiche cosmique)18 Octobre 201818 Juillet 2019idem
Ubuntu 19.04The Disco Dingo (le dingo disco)18 Avril 201923 Janvier 2020idem
Ubuntu 19.10The Eoan Ermine (l’ermine de l’aube)17 octobre 201917 Juillet 2020idem
Ubuntu 20.04 LTSThe Focal Fossa (le fossa focal)23 avril 2020Avril 2025idem
Ubuntu 20.10The Groovy Gorilla (le gorille sensationnel)22 octobre 2020juillet 2021-

5.3. Images Ubuntu

Plusieurs images et variantes disponibles :

  • Serveur
  • Desktop (Gnome ou Unity : Gnome par défaut à partir de Ubuntu 18.04 LTS
  • En plusieurs variantes (interface graphique) : LUbuntu, XUbuntu, KUbuntu

6. Red Hat RHEL

  • Red Hat est une société multinationale d’origine américaine fondée en 1993 éditant des distributions GNU/Linux.
  • Elle est l’une des entreprises dédiées aux logiciels Open Source les plus importantes et les plus reconnues.
  • Elle distribue un OS : Red Hat Enterprise Linux (RHEL) qui un système d’exploitation basé Linux destiné aux entreprises.
  • Red Hat fournit des plateformes logicielles (Openstack, JBoss, OpenShift), vend des abonnements d’assistance, de formations et de services d’intégration personnalisés pour les clients utilisant des logiciels open source.
  • Toutes les distributions basées Redhat (CentOs, Fedora, …) utilisent le même système de paquetage RPM.

On peut télécharger gratuitement la dernière version de RHEL sur le site https://developers.redhat.com/downloads/.

6.1. Cycle de vie RHEL

Cycle de vie RHEL

Source de l’image

Voir aussi Red Hat Enterprise Linux Life Cycle.

6.2. Fedora

  • Alors que la distribution phare de Red Hat (RHEL) n’est pas livrée gratuitement dans son format binaire contrairement à la plupart des distributions Linux, Fedora a été créée par Red Hat pour être une distribution GNU/Linux communautaire.
  • La communauté qui gère ce projet est constituée à la fois d’employés de Red Hat et de contributeurs externes.
  • Red Hat présente le projet Fedora comme un laboratoire pour développer de nouvelles fonctionnalités qui seront incluse plus tard dans la distribution commerciale de Red Hat. En tant que tel Fedora est une version en amont “upstream” de RHEL.
Logo Fedora

Source de l’image

Cycle de de vie Fedora

Source de l’image

6.3. CentOS Linux

  • CentOS (Community enterprise Operating System) est une distribution GNU/Linux principalement destinée aux serveurs.
  • Tous ses paquets, à l’exception du logo, sont des paquets compilés à partir des sources de la distribution RHEL (Red Hat Enterprise Linux), éditée par la société Red Hat.
  • Centos est donc quasiment identique à la distribution RHEL et se veut 100 % compatible d’un point de vue binaire. c’est un projet en aval, “downstream”, c’est-à-dire venant de RHEL.
Logo Centos

Source de l’image

Le 8 décembre 2020 Red Hat annonce la fin de Centos 8 pour le 31/12/2021 (dernier support). Le projet se décline désormais en deux distributions (voir plus bas) :

  • Centos Stream
  • Rocky Linux

6.4. Red Hat Package Manager (RPM)

RPM Package Manager (Red Hat Package Manager) est le logiciel de gestion des paquetages utilisé par les distributions Linux :

  • Red Hat Enterprise Linux,
  • Fedora, CentOS, Rocky, AlmaLinux
  • Mandriva,
  • openSUSE,
  • SUSE Linux Enterprise

6.5. Centos Stream

Centos Stream est projet en amont de RHEL et en aval de Fedora, un projet dit “midstream” caractérisé sa nature “rolling release” dans une branche de développement de RHEL, c’est-à-dire avec des mises-à-jour et une maintenace continue dans cette version majeure. La version initiale est basé sur la dernière version de CentOS Linux 8.

Beaucoup d’utilisateurs utilisaient Centos Linux comme version en aval gratuite de RHEL, alors que Centos Stream devient une version juste en amont mais toujours dans la même branche. Centos Stream est aussi en aval de Fedora déjà très stable. Justement si l’on ne paie pas Red Hat, pourquoi s’empêcher d’accéder aisément aux derniers développements gratuitement. Pour ceux qui restent sur l’usage désormais dépassé de Centos Linux, deux alternatives au moins sont possibles : Rocky Linux et Oracle Linux.

6.6. Rocky Linux et AlmaLinux

Rocky Linux est un projet de distribution entièrement communautaire et AlmaLinux est construit et maintenu par les développeurs de CloudLinux, une société qui fournit de l’hébergement de serveurs et des logiciels Linux. Ces deux projets de distribution sont en aval de RHEL visant à remplacer Centos Linux.

Le système d’exploitation AlmaLinux est un projet communautaire open-source qui vise à fournir une alternative à la version stable de CentOS. AlmaLinux est un système d’exploitation compatible au niveau binaire 1:1 avec RHEL® 8 et une collaboration globale de la communauté des développeurs, de l’industrie, du monde universitaire et de la recherche qui s’appuie sur cette technologie pour renforcer l’humanité.

Rocky Linux est un système d’exploitation d’entreprise communautaire conçu pour être compatible à 100 %, bit pour bit, avec la principale distribution Linux d’entreprise américaine, maintenant que son partenaire en aval a changé de direction. Il est développé de manière intensive par la communauté. Rocky Linux est dirigé par Gregory Kurtzer, fondateur du projet CentOS.

6.7. Oracle Linux

Oracle Linux (en abrégé OL, anciennement connu sous le nom d’Oracle Enterprise Linux ou OEL) est une distribution Linux packagée et librement distribuée par Oracle, disponible partiellement sous la licence publique générale GNU depuis fin 2006. Elle est compilée à partir du code source de Red Hat Enterprise Linux (RHEL), en remplaçant la marque Red Hat par celle d’Oracle.

7. Autres distributions populaires

  • Archlinux
  • Gentoo
  • OpenWrt
  • Android

Mais aussi,

  • Kali Linux, Parrot OS
  • Damn small Linux

7.1. Archlinux

  • Archlinux est une distribution légère et facile à maintenir.
  • Elle dispose de dépôts pour les architectures Intel et ARM.
  • Archlinux utilise le gestionnaire de paquets pacman.
  • Le système de mise à jour est continu (rolling release).
  • Le système de paquets est basé ABS.
  • Archlinux est bien documentée : https://wiki.archlinux.fr/Accueil
Logo Archlinux

Source de l’image

7.2. Gentoo

  • Gentoo Linux est une distribution dite source
  • Sa particularité est la compilation complète ou partielle d’un système GNU/Linux à partir des sources, à la manière de Linux From Scratch mais automatisée.
  • La compilation des sources en “rolling release” est gérée grâce au logiciel “Portage” et à la commande emerge.
  • C’est une distribution qui a pour objectif la portabilité.
  • Gentoo est aussi une distribution très bien documentée : https://www.gentoo.org/doc/fr/
  • Idéal pour comprendre le fonctionnement de bas niveau d’un système d’exploitation.
Logo Gentoo

Source de l’image

7.3. OpenWrt

  • OpenWrt est une distribution GNU/Linux minimaliste pour du matériel embarqué tel que des routeurs grand public basés sur des “System-on-Chip” Broadcom (par exemple les routeurs WLAN Belkin, TP-Link, Linksys, le matériel Hak5) mais il est porté sur d’autres architectures comme X86-64 et beaucoup d’autres.
  • On compile soi-même en firmware ou on le télécharge une version compilée à partir d’un dépôt du projet.
  • OpenWrt est capable de tenir sur une mémoire Flash de 4 Mo.
  • Le gestionnaire de paquets est opkg. Les fichiers de configuration tiennent dans un seul dossier /etc/config. Un API comme LuCI permet de gérer le système en ligne de commande et à travers une interface Web.
Logo OpenWrt

Source de l’image

7.4. Distributions spécialisées

  • On trouve depuis longtemps des distributions spécialisées qui offrent des services spécifiques déjà pré-installés.
  • Ces logiciels se téléchargent librement sous format ISO, OVA / OVF ou autres (images ou recettes) et s’installent aussi bien sur des PCs, des appliances, du matériel embarqué, sur un hyperviseur ou dans le cloud…
  • Distrowatch permet de faire une recherche parmi 300 projets :
    • Infrastructure
    • Sécurité
    • Téléphonie
    • Pare-feu
    • Virtualisation
    • Clustering
    • Stockage (SAN)

7.5. Android

  • Android est défini comme étant une pile de logiciels, c’est-à-dire un ensemble de logiciels destinés à fournir une solution clé en main pour les appareils mobiles – smartphones et tablettes tactiles.
  • Cette pile est organisée en cinq couches distinctes :
    1. le noyau Linux avec les pilotes ;
    2. des bibliothèques logicielles telles que WebKit, OpenGL, SQLite ou FreeType ;
    3. une machine virtuelle et des bibliothèques permettant d’exécuter des programmes prévus pour la plate-forme Java ;
    4. un framework - kit de développement d’applications ;
    5. un lot d’applications standard parmi lesquelles il y a un environnement de bureau, un carnet d’adresses, un navigateur web et un téléphone.
Logo d'Android

Source de l’image

7.6. Versions / Architecture Android

Versions d'Android

Source de l’image

Source : Historique des versions d’Android

Architecture d'Android

Source de l’image

8. Linux et Windows

Voici ce qu’en pensait James Zemlin en 2007 qui dirige la Linux Foundation.

Il n’y a plus que deux chevaux dans la course, Microsoft et Linux. Il y a des choses que Microsoft fait bien, c’est la promotion, la standardisation et la protection juridique de Windows. Ce que Microsoft fait dans ce domaine est exactement ce que nous devons également faire pour Linux: promouvoir, protéger et standardiser.

Affirmation de John Gossman, architecte dans le domaine de Microsoft Azure dix plus tard en 2017 :

Nous avons observé communément que les clients n’optent pas pour Red Hat ou pour Microsoft, mais qu’ils ont déjà choisi: ils ont en fait choisi l’utilisation des deux technologies. Les entreprises dans le monde entier recourent à Windows et à Red Hat Enterprise Linux, Java et .NET.

Avis de Laurent Bloch sur la position européenne dans le domaine des logiciels système et réseau :

La faiblesse européenne dans le domaine des logiciels système et réseau est une faiblesse à corriger, seuls les logiciels libres offrent aujourd’hui des perspectives exploitables. On notera que deux des trois leaders du marché mondial, Google et Apple, utilisent des logiciels libres (respectivement Linux et BSD) comme socles de leur offre, cependant que Microsoft utilise de plus en plus Linux, et contribue de façon massive à son développement.

James Zemlin, le patron de la fondation Linux, écrivait récemment sur Twitter suite à l’annonce de Microsoft de rejoindre l’Open Innovation Network et de partager quelque 60 000 de ses brevets avec la communauté open source :

Nous avons été ravis d’accueillir Microsoft en tant que membre Platinium de la Linux Foundation en 2016 et nous sommes ravis de voir leur évolution en tant que supporter à part entière de l’écosystème Linux et de la communauté open source », écrit Jim Zemlin, le patron de la fondation sur Twitter.

En 2018, il existe plus de VM Linux dans Microsoft Azure que sur les autres plateformes et Microsoft contribue à tous les projets open source.

Microsoft partage 60 000 de ses brevets avec l’open source