Microsoft qui voyait en Linux le cancer du monde informatique au début des années 2000 a complètement retourné sa veste lors de la dernière décennie. La firme de Redmond s'est depuis considérablement investie dans le développement open source comme en témoignent les outils Windows Subsystem for Linux (WSL) et Azure Sphere OS. Microsoft a également racheté GitHub, la plateforme hébergeant le plus de logiciels open source dans le monde, pour près de 8 milliards de dollars en 2018. Début juillet 2021, Microsoft a publié la première version stable de sa propre distribution Linux : CBL-Mariner 1.0, où CBL signifie Common Base Linux. CBL-Mariner est un produit des ingénieurs Linux de Microsoft et est utilisé comme distribution interne par leurs équipes d'ingénieurs pour le cloud, la périphérie et d'autres besoins au sein de l'entreprise. Il ne s'agit pas d'une distribution à usage général comme Ubuntu ou Fedora, bien qu'elle soit open source. CBL-Mariner est déjà utilisée par des systèmes tels que Windows Subsystem for Linux (WSL), Azure Sphere OS, SONiC, et d'autres efforts basés sur Linux chez le géant de Redmond.
« Oui, vous avez bien lu le titre. L'enfer est en train de geler parce que chez Microsoft nous avons notre propre distribution Linux appelée Mariner ou plus exactement CBL-Mariner où CBL signifie Common Base Linux », a écrit Juan Manuel Rey, ingénieur au sein de la division Azure de Microsoft, dans un billet de blog présentant la nouvelle distribution Linux de l'entreprise.
Il a précisé en préambule que « cette distribution interne n'est pas une distribution à usage général comme Ubuntu ou Fedora, bien qu’elle ait des airs de Fedora ou Photon OS ». Elle a été créée par le System Linux Group de Microsoft qui a mis en place le noyau Linux utilisé par Windows Subsystem pour Linux version 2 (WSL2). Mariner dispose de son propre repository sur le dépôt Microsoft de GitHub. Il avertit néanmoins « qu'aucune image et ISO ne sont fournies », mais il est possible de compiler sa propre version sur une base Ubuntu 18.04 (en respectant des prérequis).
Dans le détail, Juan Manuel Rey souligne que pour l’installation de paquets, CBL-Mariner s’appuie sur RPM. Concernant leur actualisation, la distribution combine à la fois dnf et Tiny DNF (tdnf) un gestionnaire de paquet lié à Photon OS de VMware. Un autre moyen de le faire est de passer par l’outil RPM Ostree issu du projet Atomic de Red Hat facilitant la création de conteneurs LXC.
Enfin, il évoque la partie sécurité en insistant sur le fait que CBL-Mariner respecte le principe de sécurité par défaut. Plusieurs fonctionnalités ont été intégrées dans la distribution : noyau renforcé, mises à jour signées, ASLR (address space layout randomization) et aussi un compilateur renforcé et des logs robustes.
Plus tôt ce mois-ci, Microsoft a publié la version 2.0 de CBL-Mariner : réservée à Microsoft, elle n'est toujours pas publiée pour une utilisation générale. CBL-Mariner 2.0 utilise le dernier noyau Microsoft Linux System Group 5.15, inclut des mises à niveau majeures de version de package et a amélioré la prise en charge de SELinux et les packages propriétaires requis pour prendre en charge le matériel Nvidia et CUDA.
Une seconde distribution Linux interne pour Microsoft
Après Mariner, la firme de Redmond disposerait aussi d’une version baptisée Delridge (ou CBL-D). Cette déclinaison a été découverte par hasard dans un billet de blog de Hayden Barnes, responsable de l’ingénierie chez SuSE. Barnes a noté que Microsoft a publié CBL-Delridge en 2020, la même année qu'il a également publié CBL-Mariner. La principale différence entre les deux : Delridge est un dérivé personnalisé de Debian, tandis que Mariner est une distribution personnalisée de style Linux From Scratch.
Microsoft s’en sert pour faire tourner son Azure Cloud Shell, qui fournit un ensemble d’outils de gestion cloud au sein d’un conteneur. Azure Cloud Shell fournit un ensemble d'outils de gestion du cloud regroupés dans un conteneur. Dans une note sur le référentiel GitHub pour le Cloud Shell, les responsables ont noté que « la principale différence entre Debian et CBL-D est que Microsoft compile tous les packages inclus dans le référentiel CBL...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.
