Blue Planet Studio - stock.adobe
Canonical veut unifier les déploiements d’Ubuntu Server et Desktop
Canonical a lancé la version 24.04 d’Ubuntu, sa distribution Debian supportée à long terme. L’occasion de tenter d’unifier les déploiements des éditions Server et Desktop, en sus de poursuivre ses investissements en matière d’informatique confidentielle.
Cette version LTS sera supportée pendant cinq ans, jusqu’en juin 2029. L’éditeur recommande d’attendre la version 24.04.1 avant d’adopter l’OS, afin que les équipes de Canonical règlent les derniers soucis d’instabilité. Les entreprises peuvent obtenir un support étendu jusqu’à douze ans « au moins », en souscrivant à l’offre Ubuntu Pro. Une offre compatible avec les versions LTS de l’OS depuis la 14.04.
Ubuntu 24.04 profite en premier lieu des mises à jour du kernel Linux, entré en version 6.8 le 10 mars dernier.
Cette version de l’OS dispose donc du système de fichiers bcacheFS de copie à l’écriture (comme ZFS), une amélioration du précédent système de cache de Linux, Bcache. À l’avenir, il s’agit de prendre en charge des techniques d’erasure coding. Celui-ci peut supporter de manière stable jusqu’à 100 To.
Surtout, cette mouture du kernel permet à Ubuntu 24.04 de prendre en charge jusqu’à 4 096 vCPU avec l’hyperviseur KVM. De même, il hérite de la capacité du noyau à supporter la virtualisation imbriquée (Nested VM) avec les instructions ppc64el, c’est-à-dire pour les systèmes PowerPC d’IBM 64 Bits, et plus précisément la gamme Power10.
En sus des fonctions spécifiques à Intel prises en charge par le kernel 6.8, Ubuntu 24.04 intègre Intel QuickAssist Technology (QAT), un système consacré à l’accélération du chiffrement et des transferts de données vers le réseau et les unités de stockage, propre aux processeurs de la gamme Xeon Scalable 4e génération et au-delà.
De son côté, Canonical « a fusionné les fonctionnalités du kernel à faible latence dans le kernel par défaut, réduisant ainsi les délais d’ordonnancement des tâches ».
Un OS pour Raspberry Pi 5 qui ne s’arrête pas en 2038
Canonical a aussi présenté la prise en charge de Raspberry Pi 5 avec les éditions Server et Desktop de son OS. Pour cela, il revoit le set d’instruction de prise en charge des opérations à virgule flottante. Au lieu d’utiliser armhf 32 bits, Ubuntu 24.04 prendra directement en charge armhf 64 bits, le set utilisé par le mini-ordinateur.
Il s’agissait pour Canonical de régler un problème digne du bug de l’an 2000. « Armhf est un système 32 bits et a donc un problème de calcul du temps, ce qui signifie que l’horloge interne ne peut aller que jusqu’à l’année 2038 », explique Oliver Smith Senior Product Manager chez Canonical, lors d’un point presse.
« Il y a donc beaucoup d’appareils bon marché qui devraient être remplacés si l’on n’avait pas résolu ce problème », poursuit-il. « Nous avons donc pris l’initiative, en collaboration avec Debian en amont, de passer en revue tous les paquets (plus d’un millier) avec cette horloge 32 bits et de les mettre à jour avec le temps 64 bits ». Dans cette configuration, Ubuntu peut calculer 292 milliards d’années (!).
Les équipements IoT ou d’autres dotés d’une puce ARM qui ne prennent pas en charge les instructions 64 bits auraient pu être incompatibles avec Ubuntu 24.04. Canonical permet une prise en charge de ces appareils plus anciens en tant qu’architecture étrangère. C’est un support temporaire. Ce ne sera plus le cas dès la prochaine version LTS de l’OS. De manière générale, le recours aux instructions arm64 est de plus en plus commun.
L’unification des déploiements Server et Desktop, même sur Azure
Dans cette logique « tout terrain » que défendait Canonical au lancement d’Ubuntu 22.04, avec la version 24.04 l’éditeur a investi dans Window Subsystem for Linux, qui gagnerait en popularité.
« La grande nouveauté, c’est la prise en charge de cloud init avec WSL », avance Oliver Smith. Cloud init est un paquet développé à l’origine pour OpenStack afin d’initialiser des instances cloud.
« Nos instances WSL sont construites comme des images cloud, permettant aux administrateurs Windows de déployer un fichier de configuration cloud init sur la machine Windows pour une application facile et cohérente des paramètres », poursuit-il. « Auparavant, les administrateurs devaient utiliser des scripts Bash personnalisés et demander aux développeurs de les exécuter pour configurer et normaliser les instances. »
Par ailleurs, Canonical utilise désormais le même installateur pour les éditions Server et Desktop d’Ubuntu. « Cela permet non seulement d’unifier la base de code, afin d’obtenir une expérience d’installation plus cohérente sur toutes ces plateformes, mais aussi d’apporter certaines des fonctionnalités intéressantes d’Ubuntu Server, comme la prise en charge de l’installation automatique dans le cloud, et des outils plus simples pour personnaliser votre installation Ubuntu au moment de l’installation », affirme Oliver Smith.
Suivre les évolutions des frameworks de développement
Pour Canonical, la nouvelle version LTS d’Ubuntu est l’occasion de se mettre à la page concernant la prise en charge des langages et des frameworks de programmation. En premier, Ubuntu 24.04 prend en charge Python 3.12, Ruby 3,2, PHP 8.3, Go 1.22 et Rust 1.75.
« Pour les développeurs Rust, il existe maintenant une chaîne d’outils (toolchain snap) sur laquelle nous travaillons très dur […] de sorte que vous n’ayez pas à vous soucier de la mise à jour de votre Ubuntu pour pouvoir travailler avec les versions les plus récentes de Rust », déclare Oliver Smith.
De la même manière, le système d’exploitation est compatible avec l’OpenJDK 21 (LTS) en plus des versions 8,11 et 17, LLVM 18, et .NET 8 (même sur le System Z d’IBM). L’OS est certifié TCK, précise Canonical, ce qui en clair veut dire que le système d’exploitation fonctionne également avec les plateformes Java en dehors du giron Oracle.
Là encore, Canonical vante sa souscription Ubuntu Pro, avec laquelle il promet d’assurer la sécurité et la conformité pendant dix ans de plus de 25 000 paquets open source, directement liés (2 300) ou non (23 000) à Ubuntu. Dans cette veine, l’éditeur propose un package OpenJDK 11 conforme aux standards FIPS. Avec l’offre Ubuntu Pro for devices, il s’agit s’apporter ce type de garantie pour les objets connectés et leurs librairies logicielles (Python, Docker, OpenJDK, MQTT, etc.).
Canonical mise sur l’informatique confidentielle
En outre, Canonical étend sa collaboration avec Microsoft afin de mieux prendre en charge l’informatique confidentielle. « Il s’agit d’exécuter des charges de travail sur du matériel bare-metal et dans des environnements cloud tout en protégeant l’accès aux données de l’OS et de la machine hôtes », décrit Oliver Smith.
Le sujet n’est pas nouveau chez Microsoft Azure, ni chez les autres fournisseurs cloud. Microsoft avait déjà fait d’Ubuntu 22.04 l’OS par défaut d’Azure Confidential VM. Pour autant, les efforts des deux acteurs ciblent un cas d’usage particulièrement en vogue. « Nous avons donc travaillé avec Azure sur l’IA confidentielle. Nous proposons une image d’OS en préversion qui vous permet essentiellement de faire du calcul confidentiel sur des GPU », déclare Oliver Smith.
En particulier, Canonical et Azure s’appuient sur des CPU AMD EPYC quatrième génération, couplés aux GPU Nvidia H100. Ils utilisent sur la fonction SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging). Elle permet d’attester les instances équipées d’un tel processeur et de chiffrer la mémoire, et donc d’isoler les données de l’hyperviseur.
« Nous avons également travaillé en étroite collaboration avec Intel sur la prise en charge de VM confidentielles dans des centres de données privés », assure Oliver Smith. Pour cela, Canonical exploite la technologie Intel Trust Domain Extensions (TDX), un module visant à créer ce qu’Intel nomme des « domaines de confiances », des VM isolées de l’hyperviseur.
Canonical renforce AppArmor
Concernant les fournisseurs cloud, Canonical tente tant bien que mal de prendre en charge les infrastructures diverses, mais rencontre encore quelques bugs, qu’il faudra gommer. C’est le cas d’Azure Confidential VM qui n’est pas totalement compatible avec le package AppArmor. Cela n’est pas dû directement aux nouvelles fonctionnalités du système de contrôle d’accès obligatoire.
En effet, celui-ci a été revu pour restreindre l’utilisation de namespaces non privilégiés. Habituellement, ces espaces de noms permettent à des applications de créer leurs propres sandbox ou d’exécuter des charges de travail conteneurisées, précise Canonical. Dans un même temps, l’éditeur entend supporter des profils AppArmor qui permettent à des frameworks ou des applications populaires (Google Chrome, Discord) d’exploiter ces namespaces non privilégiés.