Les systèmes d’ex­ploi­ta­tion « En­tre­prise » (orientés vers le marché com­mer­cial) doivent répondre à certains critères es­sen­tiels. En effet, il est par exemple crucial que le logiciel d’ad­mi­nis­tra­tion système approprié soit lié à une offre de support complète des dé­ve­lop­peurs ou du four­nis­seur. C’est en effet la seule façon de s’assurer que les amé­lio­ra­tions et les cor­rec­tions de bugs ré­gu­lières du logiciel ainsi que les mises à jour de sécurité soient garanties de manière per­ma­nente afin de se protéger contre les nouveaux logiciels mal­veil­lants et pour combler les failles de sécurité récemment dé­cou­vertes. De plus il est aussi important de garantir un fonc­tion­ne­ment constant des ap­pli­ca­tions com­mer­ciales ainsi que la stabilité des in­ter­faces entre le système d’ex­ploi­ta­tion et les pro­grammes utilisés (ré­tro­com­pa­ti­bi­lité). La dis­tri­bu­tion Linux CentOS est une solution « En­tre­prise » par­ti­cu­liè­re­ment populaire dans le secteur du Web, elle est de plus open source.

CentOS : le dérivé de la dis­tri­bu­tion RHEL

Community Enterprise Operating System, en abrégé CentOS, est une dis­tri­bu­tion Linux qui est dis­po­nible depuis mai 2004. Ce projet open source porté par une grande com­mu­nauté de dé­ve­lop­peurs est basé sur les paquets source de Red Hat En­tre­prise Linux (RHEL), une dis­tri­bu­tion com­mer­ciale qui ne peut être utilisée qu’en com­bi­nai­son avec des contrats de support payants. Mais, Red Hat, l’éditeur de RHEL, est tenu de rendre le code source ac­ces­sible au public afin de se conformer aux dif­fé­rentes licences libres des com­po­sants logiciels intégrés. Dans le cadre du projet CentOS, les dé­ve­lop­peurs ont donc pu s’appuyer sur le code source RHEL lors de la pro­gram­ma­tion d’un équi­valent gratuit.

Toutes les pré­cé­dentes versions de CentOS sont basées sur les versions cor­res­pon­dantes de RHEL et sont aussi com­pa­tibles en termes de donnés binaires avec le produit de Red Hat. Toutes les ap­pli­ca­tions qui existent pour le système com­mer­cial En­tre­prise fonc­tion­nent sans com­pi­la­teur sup­plé­men­taire et sans aucune res­tric­tion. Début 2014, les employés de Red Hat et les dé­ve­lop­peurs du projet CentOS, toujours in­dé­pen­dants, se sont regroupés au sein du « Governing Board ». Depuis, cette équipe s’est prin­ci­pa­le­ment occupée du dé­ve­lop­pe­ment de la dis­tri­bu­tion et de la su­per­vi­sion des dif­fé­rents groupes de travail (noyau du système, support, con­cep­tion etc.).

Les ca­rac­té­ris­tiques de la dis­tri­bu­tion CentOS

À l’instar de son modèle RHEL, CentOS est une pla­te­forme En­tre­prise prin­ci­pa­le­ment adaptée aux en­tre­prises et aux grandes or­ga­ni­sa­tions. En principe, la dis­tri­bu­tion Linux peut aussi être utilisée pour un usage do­mes­tique, bien que ce ne soit pas le but des dé­ve­lop­peurs. De plus, la dis­tri­bu­tion Linux jouit d’une grande po­pu­la­rité en tant que système d’ex­ploi­ta­tion pour les serveurs Web, selon w3techs.com (en février 2018), seuls Ubuntu et Debian sont plus fré­quem­ment utilisés. En tant que dis­tri­bu­tion En­tre­prise, CentOS distingue les ca­rac­té­ris­tiques qui comme avec RHEL sont pré­cieuses pour les en­tre­prises :

  • Stabilité : CentOS  est cons­tam­ment per­fec­tionné afin de pouvoir être la pla­te­forme idéale pour les logiciels actuels. Mais la com­pa­ti­bi­lité avec les ap­pli­ca­tions plus anciennes est toujours prise en compte. Les étapes de dé­ve­lop­pe­ment évo­lu­tives sont toujours réalisées de manière à garantir la stabilité des com­po­sants actifs. De plus, le système est im­pres­sion­nant par sa forte per­for­mance dans les domaines de la vir­tua­li­sa­tion (KVM pour Kernel-based Virtual Machine, soit machine virtuelle basée sur le noyau) et par la haute dis­po­ni­bi­lité, ce qui explique pourquoi la dis­tri­bu­tion joue aussi un rôle important dans l’ex­ploi­ta­tion de la vir­tua­li­sa­tion 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 En­tre­prise 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 vul­né­ra­bi­li­tés par l’équipe de sécurité de l’éditeur américain de logiciels. De plus, la sécurité et la vé­ri­fi­ca­tion des erreurs sont pri­mor­diales dans chaque mise à jour CentOS et dans l‘in­té­gra­tion de nouveaux pro­grammes. La dis­tri­bu­tion Linux prend aussi en charge l’extension du noyau SELinux (Security-Enhanced Linux), un produit open source dérivé de la col­la­bo­ra­tion de Red Hat avec la NSA. Ce programme met en place des contrôles d’au­to­ri­sa­tion pour l’uti­li­sa­tion des res­sources in­for­ma­tiques et protège ainsi contre les accès non autorisés.

  • Cycles longs de main­te­nance et de support : depuis la première version de CentOS, les petites et les grandes versions ont été étroi­te­ment liées aux versions cor­res­pon­dantes de RHEL. L’équipe de dé­ve­lop­pe­ment prévoit une période de 2 à 6 semaines (ou quelques heures pour les mises à jour mineures) pour le processus d’adap­ta­tion du code, qui est désormais bien établi. Les numéros de versions sont sim­ple­ment conservés (par exemple RHEL 6.2 à CentOS 6.2). Depuis la version 7, un ho­ro­da­tage indiquant la li­bé­ra­tion du code de base est également joint en annexe. La version 7.0-1406, par exemple, fait référence à la pu­bli­ca­tion de la source en juin 2014. En plus de la gestion de versions, CentOS a aussi adopté les di­rec­tives pour la période de main­te­nance : nor­ma­le­ment 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’ins­tal­la­tion est fa­ci­le­ment réalisée par le manager graphique Anaconda. CentOS utilise aussi des com­po­sants Red Hat éprouvés pour la gestion des paquets (RPM) et la gestion des logiciels (Yum). Cependant, même quand les pro­grammes RHEL via la dérivée gratuite fonc­tion­nent gé­né­ra­le­ment, ces derniers manquent souvent de cer­ti­fi­ca­tion et de soutien des fa­bri­cants, ce qui explique pourquoi il n’y a pas de garanti qu’ils fonc­tion­ne­ront par­fai­te­ment sous CentOS.

CentOS : quelle con­fi­gu­ra­tion système requise pour la dis­tri­bu­tion ?

Selon la version de CentOS, il existe lo­gi­que­ment des exigences ma­té­rielles très dif­fé­rentes. CentOS 5, par exemple, ne nécessite que 512 Mo de mémoire si vous souhaitez l’utiliser via une interface uti­li­sa­teur graphique, et 128 Mo si l’exécution via ligne de commande est suf­fi­sante. De plus, 5 Go d’espace de disque dur est re­com­mandé (au minimum 1 Go). La version 6, nécessite déjà 392 Mo pour la variante via ligne de commande, qui n’est plus dis­po­nible sé­pa­ré­ment dans CentOS 7, et 1 Go de mémoire sur les ar­chi­tec­tures qui ne font pas partie de la famille x86. La 7ème version de la dis­tri­bu­tion Linux déjà men­tion­née nécessite par défaut 1 Go de mémoire et 20 Go d’espace de disque dur (au minimum 10 Go).

Les dif­fé­rentes versions du dérivé de RHEL diffèrent aussi en ce qui concerne les ar­chi­tec­tures ma­té­rielles sup­por­tées. Plusieurs des ports de la version 7 ont été créés et ajoutés par le groupe de travail  « Al­ter­na­tive Ar­chi­tec­ture Special Interest Group » (AltArch SIG). Le tableau suivant donne un aperçu des ar­chi­tec­tures de système possibles :

Ar­chi­tec­tures 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-Pro­zes­so­ren) Oui Non Non Non
Système Alpha (Pro­ces­seur DEC Alpha) Oui Non Non Non
Système armhfp (arm32) Non Non Non Oui
Système aarch64 (arm64) Non Non Non Oui

Les fonc­tion­na­li­tés offertes par le système d’ex­ploi­ta­tion 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 im­plé­menté GCC (GNU Compiler Col­lec­tion). Cette col­lec­tion contient des com­pi­la­teurs pour les langages de pro­gram­ma­tion les plus im­por­tants comme C, C++ et Java. La dis­tri­bu­tion Linux prend aussi en charge l’hyper-threading (divisant un pro­ces­seur en deux pro­ces­seurs virtuels pour augmenter les per­for­mances), le Plug and Play (PnP), Bluetooth et la version 6 du protocole Internet (IPv6). Des bi­blio­thèques de com­pa­ti­bi­lité existent pour les anciennes versions CentOS 5 et 6. Le pack de dis­tri­bu­tion standard comprend aussi les com­po­sants logiciels suivants :

  • Serveur Web : httpd 2.4.6 (Apache)
     
  • LAN Manager : Samba-4.1.x
     
  • Base de données : MariaDB 5.5.x, Post­greSQL 9.2.x
     
  • Langage de script : PHP 5.4, Python 2.7, Perl 5.16.3
     
  • En­vi­ron­ne­ment de bureau : Gnome 3.14, KDE 4.14
     
  • Serveur d’affichage : X.org 7.7
     
  • Client de mes­sa­ge­rie : Evolution 3.12, Thun­der­bird 45
     
  • Na­vi­ga­teur Web : Firefox 45
     
  • Suite Office : Li­breOf­fice 4.3.7

Special Interest Groups : les groupes de travail de la com­mu­nauté CentOS

Avec la fondation du « Governing Boards », le dé­ve­lop­pe­ment futur du système Linux a été structuré. Depuis lors, dif­fé­rentes équipes composées de membres de la com­mu­nauté ont travaillé au sein de dif­fé­rents groupes de travail avec pour objectif soit d’élargir la dis­tri­bu­tion CentOS, soit d’optimiser les aspects fonc­tion­nels du projet CenTOS (in­fras­truc­ture, do­cu­men­ta­tion, etc.). Grâce au code source libre, il est également possible d’apporter des mo­di­fi­ca­tions au système sans ap­par­te­nir à l’un de ces Special Interest Groups (SIG), mais alors, ces mo­di­fi­ca­tions ne peuvent pas être publiées sous la marque « CentOS ». Les SIG disposent d’une certaine autonomie et sont res­pon­sables avant tout du processus de dé­ve­lop­pe­ment. Cependant, avant que le résultat puisse être certifié et publié en tant que produit officiel de CentOS, l’ap­pro­ba­tion du Governing Boards est bien évi­dem­ment né­ces­saire.

Les trois ca­té­go­ries of­fi­cielles de SIG (Special Interest Groups) sont les suivantes :

  1. Core SIG : ici les membres compilent le contenu qui est pertinent pour la version prin­ci­pale de la dis­tri­bu­tion Linux. Ces groupes doivent coor­don­ner le processus de dé­ve­lop­pe­ment avec les mises à jour RHEL et enfin s’occuper de la signature et de la pu­bli­ca­tion. De plus, Ils doivent élaborer des lignes di­rec­trices pour la pu­bli­ca­tion des licences et des con­tri­bu­tions 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 in­dé­pen­dam­ment de la série de versions of­fi­cielles. Une condition préalable à un tel projet est qu’il doit re­pré­sen­ter un avantage concret pour un groupe de la com­mu­nauté. Tous les pro­gi­ciels sup­plé­men­taires utilisés doivent être conformes aux licences du projet CentOS et doivent pouvoir être dé­com­pres­sés et dis­tri­bués de manière conforme. Il ap­par­tient également au groupe de travail de vérifier le code sup­plé­men­taire écrit par d’autres uti­li­sa­teurs pour la variante res­pec­tive et publié via un dépôt Git (Re­po­si­tory GIT), et de l’inclure si né­ces­saire.

  3. Func­tio­nal SIG : ils ont pour tâche de créer et de gérer des com­po­santes im­por­tantes du projet CentOS. L’objectif de ces groupes de travail est de faciliter au maximum la par­ti­ci­pa­tion de tous les uti­li­sa­teurs in­té­res­sés au dé­ve­lop­pe­ment du système. De plus, le but de ces SIG est de renforcer la com­mu­nauté en ré­par­tis­sant les res­pon­sa­bi­li­tés et la charge de travail entre les membres actifs d’une manière ciblée et en fonction de leurs capacités res­pec­tives.

L’un des groupes de travail les plus im­por­tants 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é­cia­le­ment conçue pour l’uti­li­sa­tion de Docker (logiciel). Voici ci-dessous d’autres projets en pla­ni­fi­ca­tion ou en dé­ve­lop­pe­ment :

  • Public CI : in­fras­truc­ture 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 : dis­tri­bu­tion qui optimise CentOS Linux pour les Cloud publics ou privés. 

  • PaaS : Pla­te­forme en tant que service basée sur CentOS

  • NFV : Network Functions Vir­tua­li­za­tion apporte une pile lo­gi­cielle qui sert de base à la dis­tri­bu­tion et à la vé­ri­fi­ca­tion des fonctions de réseau virtuel.

Promo : groupe de travail sur l’image externe et la re­pré­sen­ta­tion de CentOS.

Comment fonc­tionne l’ins­tal­la­tion de CentOS ?

Pour installer le système d’ex­ploi­ta­tion open source sur votre propre or­di­na­teur ou serveur, il est d’abord né­ces­saire de té­lé­char­ger la variante et le port cor­res­pon­dants à partir du centre de té­lé­char­ge­ment officiel. En plus des versions actuelles, vous y trouverez aussi les fichiers d’ins­tal­la­tion et les dépôts (re­po­si­tory) des anciennes versions de CentOS. Les images (image disque) proposées, que vous devez trans­fé­rer après té­lé­char­ge­ment sur CD, DVD ou autre support de stockage portable comme une clé USB, sont dis­po­nibles dans certains cas en plus de l’ins­tal­la­tion complète classique sous 3 variantes dif­fé­rentes :

  • LiveCD : une image CD bootable qui fournit un en­vi­ron­ne­ment d‘exécution qui démarre di­rec­te­ment à partir du support de stockage sans né­ces­si­ter d’ins­tal­la­tion.

  • ServerCD : avec cette image disque, vous avez une variante ins­tal­lable, qui est équipée d’un ensemble de paquets spé­ci­fiques pour les ins­tal­la­tions de serveurs.

  • Ne­tIns­tall : l’image disque Ne­tIns­tall, qui est aussi parfois listée sous le nom « Minimal »  dans la liste des té­lé­char­ge­ments, vous permet de réaliser une ins­tal­la­tion minimale par le réseau liée à la version actuelle. Avec Ne­tIns­tall-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’ins­tal­la­tion de CentOS di­rec­te­ment à partir de ce support. Il suffit sim­ple­ment de sé­lec­tion­ner le bouton « installer CentOS » et de confirmer votre sélection avec la touche [Enter]. Par la suite, l’assistant d’ins­tal­la­tion graphique vous guidera à travers le reste du processus avec la variante minimale Ne­tIns­tall. L’anglais et la sortie claviers sont pro­gram­més par défaut, mais vous pouvez modifier cela et basculer en français.

CentOS Linux : con­clu­sion

Quand on liste les puissants dérivés Linux, CentOS n’est gé­né­ra­le­ment pas l’un des premiers à être nommé. Pourtant, la dis­tri­bu­tion apporte avec elle tout ce qui est né­ces­saire pour son secteur cible : ma­jo­ri­tai­re­ment les en­tre­prises 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 choi­sis­sant le dérivé de RHEL. CentOS ne peut pas fournir un support exclusif pour le modèle com­mer­cial et n’obtient pas de cer­ti­fi­ca­tion pour les logiciels, comme c’est le cas avec le système de Red Hat. Cependant grâce à la com­pa­ti­bi­lité binaire, diverses ap­pli­ca­tions et les fonctions de sécurité fonc­tion­nent également sur le système open source, et présente donc l’avantage d’être to­ta­le­ment gratuit.

Aller au menu principal