Qu’est-ce que CentOS ?

Les systèmes d’exploitation « Entreprise » (orientés vers le marché commercial) doivent répondre à certains critères essentiels. En effet, il est par exemple crucial que le logiciel d’administration système approprié soit lié à une offre de support complète des développeurs ou du fournisseur. C’est en effet la seule façon de s’assurer que les améliorations et les corrections de bugs régulières du logiciel ainsi que les mises à jour de sécurité soient garanties de manière permanente afin de se protéger contre les nouveaux logiciels malveillants et pour combler les failles de sécurité récemment découvertes. De plus il est aussi important de garantir un fonctionnement constant des applications commerciales ainsi que la stabilité des interfaces entre le système d’exploitation et les programmes utilisés (rétrocompatibilité). La distribution Linux CentOS est une solution « Entreprise » particulièrement populaire dans le secteur du Web, elle est de plus open source.

CentOS : le dérivé de la distribution RHEL

Community Enterprise Operating System, en abrégé CentOS, est une distribution Linux qui est disponible depuis mai 2004. Ce projet open source porté par une grande communauté de développeurs est basé sur les paquets source de Red Hat Entreprise Linux (RHEL), une distribution commerciale qui ne peut être utilisée qu’en combinaison avec des contrats de support payants. Mais, Red Hat, l’éditeur de RHEL, est tenu de rendre le code source accessible au public afin de se conformer aux différentes licences libres des composants logiciels intégrés. Dans le cadre du projet CentOS, les développeurs ont donc pu s’appuyer sur le code source RHEL lors de la programmation d’un équivalent gratuit.

Toutes les précédentes versions de CentOS sont basées sur les versions correspondantes de RHEL et sont aussi compatibles en termes de donnés binaires avec le produit de Red Hat. Toutes les applications qui existent pour le système commercial Entreprise fonctionnent sans compilateur supplémentaire et sans aucune restriction. Début 2014, les employés de Red Hat et les développeurs du projet CentOS, toujours indépendants, se sont regroupés au sein du « Governing Board ». Depuis, cette équipe s’est principalement occupée du développement de la distribution et de la supervision des différents groupes de travail (noyau du système, support, conception etc.).

Les caractéristiques de la distribution CentOS

À l’instar de son modèle RHEL, CentOS est une plateforme Entreprise principalement adaptée aux entreprises et aux grandes organisations. En principe, la distribution Linux peut aussi être utilisée pour un usage domestique, bien que ce ne soit pas le but des développeurs. De plus, la distribution Linux jouit d’une grande popularité en tant que système d’exploitation pour les serveurs Web, selon w3techs.com (en février 2018), seuls Ubuntu et Debian sont plus fréquemment utilisés.

En tant que distribution Entreprise, CentOS distingue les caractéristiques qui comme avec RHEL sont précieuses pour les entreprises :

  • Stabilité : CentOS  est constamment perfectionné afin de pouvoir être la plateforme idéale pour les logiciels actuels. Mais la compatibilité avec les applications plus anciennes est toujours prise en compte. Les étapes de développement évolutives sont toujours réalisées de manière à garantir la stabilité des composants actifs. De plus, le système est impressionnant par sa forte performance dans les domaines de la virtualisation (KVM pour Kernel-based Virtual Machine, soit machine virtuelle basée sur le noyau) et par la haute disponibilité, ce qui explique pourquoi la distribution joue aussi un rôle important dans l’exploitation de la virtualisation et des serveurs Cloud.

  • Sécurité : le thème de la sécurité est aujourd’hui plus que jamais important, CentOS est donc à ce niveau un excellent choix en tant que solution Entreprise avec arrière-plan RHEL. Le code source sous-jacent de Red Hat est déjà à un haut niveau de sécurité grâce à une détection proactive des vulnérabilités par l’équipe de sécurité de l’éditeur américain de logiciels. De plus, la sécurité et la vérification des erreurs sont primordiales dans chaque mise à jour CentOS et dans l‘intégration de nouveaux programmes. La distribution Linux prend aussi en charge l’extension du noyau SELinux (Security-Enhanced Linux), un produit open source dérivé de la collaboration de Red Hat avec la NSA. Ce programme met en place des contrôles d’autorisation pour l’utilisation des ressources informatiques et protège ainsi contre les accès non autorisés.

  • Cycles longs de maintenance et de support : depuis la première version de CentOS, les petites et les grandes versions ont été étroitement liées aux versions correspondantes de RHEL. L’équipe de développement prévoit une période de 2 à 6 semaines (ou quelques heures pour les mises à jour mineures) pour le processus d’adaptation du code, qui est désormais bien établi. Les numéros de versions sont simplement conservés (par exemple RHEL 6.2 à CentOS 6.2). Depuis la version 7, un horodatage indiquant la libération du code de base est également joint en annexe. La version 7.0-1406, par exemple, fait référence à la publication de la source en juin 2014. En plus de la gestion de versions, CentOS a aussi adopté les directives pour la période de maintenance : normalement 7 ans sont prévus pour le support général et 10 ans pour les mises à jour de sécurité (jusqu’à la version 5.0, c’était de 4 et 7 ans). 

Comme pour RHEL, l’installation est facilement réalisée par le manager graphique Anaconda. CentOS utilise aussi des composants Red Hat éprouvés pour la gestion des paquets (RPM) et la gestion des logiciels (Yum). Cependant, même quand les programmes RHEL via la dérivée gratuite fonctionnent généralement, ces derniers manquent souvent de certification et de soutien des fabricants, ce qui explique pourquoi il n’y a pas de garanti qu’ils fonctionneront parfaitement sous CentOS.

CentOS : quelle configuration système requise pour la distribution ?

Selon la version de CentOS, il existe logiquement des exigences matérielles très différentes. CentOS 5, par exemple, ne nécessite que 512 Mo de mémoire si vous souhaitez l’utiliser via une interface utilisateur graphique, et 128 Mo si l’exécution via ligne de commande est suffisante. De plus, 5 Go d’espace de disque dur est recommandé (au minimum 1 Go). La version 6, nécessite déjà 392 Mo pour la variante via ligne de commande, qui n’est plus disponible séparément dans CentOS 7, et 1 Go de mémoire sur les architectures qui ne font pas partie de la famille x86. La 7ème version de la distribution Linux déjà mentionnée nécessite par défaut 1 Go de mémoire et 20 Go d’espace de disque dur (au minimum 10 Go).

Les différentes versions du dérivé de RHEL diffèrent aussi en ce qui concerne les architectures matérielles supportées. Plusieurs des ports de la version 7 ont été créés et ajoutés par le groupe de travail  « Alternative Architecture Special Interest Group » (AltArch SIG). Le tableau suivant donne un aperçu des architectures de système possibles :

Architectures CentOS 4 CentOS 5 CentOS 6 CentOS 7
Système i386 (AMD, Via, 32-bit Pentium) Oui Oui Oui Oui
Système x86_64 (AMD64/EM64T) Oui Oui Oui Oui
Système ia64 (Itanium2) Oui Non Non Non
Système s390/s390x (IBM zSeries & IBM S/390) Oui Non Non Non
Système ppc/ppc64 (IBM Power, Mac) Oui Non Non Non
Système SPARC (Sun SPARC-Prozessoren) Oui Non Non Non
Système Alpha (Processeur DEC Alpha) Oui Non Non Non
Système armhfp (arm32) Non Non Non Oui
Système aarch64 (arm64) Non Non Non Oui

Les fonctionnalités offertes par le système d’exploitation Linux

La version actuelle de CentOS 7.0 (depuis janvier 2017) est basée sur le noyau Linux 3,10.0 incluant l’extension de sécurité SELinux et a aussi implémenté GCC (GNU Compiler Collection). Cette collection contient des compilateurs pour les langages de programmation les plus importants comme C, C++ et Java. La distribution Linux prend aussi en charge l’hyper-threading (divisant un processeur en deux processeurs virtuels pour augmenter les performances), le Plug and Play (PnP), Bluetooth et la version 6 du protocole Internet (IPv6). Des bibliothèques de compatibilité existent pour les anciennes versions CentOS 5 et 6. Le pack de distribution standard comprend aussi les composants logiciels suivants :

  • Serveur Web : httpd 2.4.6 (Apache)

  • LAN Manager : Samba-4.1.x

  • Base de données : MariaDB 5.5.x, PostgreSQL 9.2.x

  • Langage de script : PHP 5.4, Python 2.7, Perl 5.16.3

  • Environnement de bureau : Gnome 3.14, KDE 4.14

  • Serveur d’affichage : X.org 7.7

  • Client de messagerie : Evolution 3.12, Thunderbird 45

  • Navigateur Web : Firefox 45

  • Suite Office : LibreOffice 4.3.7

Special Interest Groups : les groupes de travail de la communauté CentOS

Avec la fondation du « Governing Boards », le développement futur du système Linux a été structuré. Depuis lors, différentes équipes composées de membres de la communauté ont travaillé au sein de différents groupes de travail avec pour objectif soit d’élargir la distribution CentOS, soit d’optimiser les aspects fonctionnels du projet CenTOS (infrastructure, documentation, etc.). Grâce au code source libre, il est également possible d’apporter des modifications au système sans appartenir à l’un de ces Special Interest Groups (SIG), mais alors, ces modifications ne peuvent pas être publiées sous la marque « CentOS ». Les SIG disposent d’une certaine autonomie et sont responsables avant tout du processus de développement. Cependant, avant que le résultat puisse être certifié et publié en tant que produit officiel de CentOS, l’approbation du Governing Boards est bien évidemment nécessaire.

Les trois catégories officielles de SIG (Special Interest Groups) sont les suivantes :

  1. Core SIG : ici les membres compilent le contenu qui est pertinent pour la version principale de la distribution Linux. Ces groupes doivent coordonner le processus de développement avec les mises à jour RHEL et enfin s’occuper de la signature et de la publication. De plus, Ils doivent élaborer des lignes directrices pour la publication des licences et des contributions via Git (logiciel de gestion de versions). 

  2. Variant SIG : Ils s’occupent notamment de modifier le noyau des versions CentOS ou de l’étendre indépendamment de la série de versions officielles. Une condition préalable à un tel projet est qu’il doit représenter un avantage concret pour un groupe de la communauté. Tous les progiciels supplémentaires utilisés doivent être conformes aux licences du projet CentOS et doivent pouvoir être décompressés et distribués de manière conforme. Il appartient également au groupe de travail de vérifier le code supplémentaire écrit par d’autres utilisateurs pour la variante respective et publié via un dépôt Git (Repository GIT), et de l’inclure si nécessaire.

  3. Functional SIG : ils ont pour tâche de créer et de gérer des composantes importantes du projet CentOS. L’objectif de ces groupes de travail est de faciliter au maximum la participation de tous les utilisateurs intéressés au développement du système. De plus, le but de ces SIG est de renforcer la communauté en répartissant les responsabilités et la charge de travail entre les membres actifs d’une manière ciblée et en fonction de leurs capacités respectives.

L’un des groupes de travail les plus importants est l’AltArch SIG, qui a déjà publié plusieurs ports de la 7ème version de CentOS. Cependant, la première variante est le CentOS Atomic Host, publiée par CentOS Atomic SIG. Elle est basée sur la structure du noyau et est spécialement conçue pour l’utilisation de Docker (logiciel). Voici ci-dessous d’autres projets en planification ou en développement :

  • Public CI : infrastructure pour les tests publiques

  • Hardening : variante qui met l’accent sur noyau système et un code source sécurisés et renforcés.

  • Cloud Instance : distribution qui optimise CentOS Linux pour les Cloud publics ou privés. 

  • PaaS : Plateforme en tant que service basée sur CentOS

  • NFV : Network Functions Virtualization apporte une pile logicielle qui sert de base à la distribution et à la vérification des fonctions de réseau virtuel.

Promo : groupe de travail sur l’image externe et la représentation de CentOS.

Comment fonctionne l’installation de CentOS ?

Pour installer le système d’exploitation open source sur votre propre ordinateur ou serveur, il est d’abord nécessaire de télécharger la variante et le port correspondants à partir du centre de téléchargement officiel. En plus des versions actuelles, vous y trouverez aussi les fichiers d’installation et les dépôts (repository) des anciennes versions de CentOS. Les images (image disque) proposées, que vous devez transférer après téléchargement sur CD, DVD ou autre support de stockage portable comme une clé USB, sont disponibles dans certains cas en plus de l’installation complète classique sous 3 variantes différentes :

  • LiveCD : une image CD bootable qui fournit un environnement d‘exécution qui démarre directement à partir du support de stockage sans nécessiter d’installation.

  • ServerCD : avec cette image disque, vous avez une variante installable, qui est équipée d’un ensemble de paquets spécifiques pour les installations de serveurs.

  • NetInstall : l’image disque NetInstall, qui est aussi parfois listée sous le nom « Minimal »  dans la liste des téléchargements, vous permet de réaliser une installation minimale par le réseau liée à la version actuelle. Avec NetInstall-ISO de CentOS 6.2, par exemple, vous ne pouvez pas installer la version 6.3.

Dès que vous avez établis le support de démarrage souhaité, vous pouvez démarrer l’installation de CentOS directement à partir de ce support. Il suffit simplement de sélectionner le bouton « installer CentOS » et de confirmer votre sélection avec la touche [Enter]. Par la suite, l’assistant d’installation graphique vous guidera à travers le reste du processus avec la variante minimale NetInstall. L’anglais et la sortie claviers sont programmés par défaut, mais vous pouvez modifier cela et basculer en français.

CentOS Linux : conclusion

Quand on liste les puissants dérivés Linux, CentOS n’est généralement pas l’un des premiers à être nommé. Pourtant, la distribution apporte avec elle tout ce qui est nécessaire pour son secteur cible : majoritairement les entreprises et les serveurs. Donc si vous êtes à la recherche d’un système stable qui puisse être utilisé sur une longue période de temps, vous ne faites pas d’erreur en choisissant le dérivé de RHEL. CentOS ne peut pas fournir un support exclusif pour le modèle commercial et n’obtient pas de certification pour les logiciels, comme c’est le cas avec le système de Red Hat. Cependant grâce à la compatibilité binaire, diverses applications et les fonctions de sécurité fonctionnent également sur le système open source, et présente donc l’avantage d’être totalement gratuit.