En ce mardi XX avril, les utilisateurs du Projet Fedora seront ravis d'apprendre la disponibilité de la version Fedora 34.
Fedora est une distribution communautaire développée par le projet Fedora et sponsorisée par Red Hat, qui lui fournit des développeurs ainsi que des moyens financiers et logistiques. Fedora peut se voir comme une sorte de vitrine technologique pour le monde du logiciel libre, c’est pourquoi elle est prompte à inclure des nouveautés.
Fedora garde un rôle central dans le développement de ces nouveautés via le développement en amont. En effet, les développeurs de la distribution contribuent également directement au code d’un certain nombre de logiciels libres contenus dans la distribution, dont le noyau Linux, GNOME, NetworkManager, PackageKit, PulseAudio, Wayland, systemd, la célèbre suite de compilateurs GCC, etc. Cliquez ici pour voir l’ensemble des contributions de Red Hat.
Cela a été aussi abordé dans une série d'articles ici, là et par ici encore.
Expérience utilisateur
Passage à GNOME 40. Derrière ce changement de numérotation, abandonnant le format 3.x se cachent plusieurs changements d'envergure.
Si l'interface du bureau semble inchangé en prime abord, les bureaux virtuels sont organisés de manière horizontale et non plus verticale. Cela correspond mieux à l'organisation de ces espaces de travail dans les autres systèmes ou même chez GNOME 2 en son temps. La nouvelle ergonomie est mieux adaptée en cas d'usage multi écran, les écrans étant souvent placés les uns à côté des autres.
Le dock applicatif est aussi situé en bas et dispose d'une séparation entre les applications épinglés de ceux en cours d'exécution seulement.
Le navigateur Web a de nouveaux onglets, qui peuvent maintenant défiler et avec un style plus cohérent avec le reste des applications GNOME. Il peut afficher aussi les suggestions de recherches de Google, en option.
Le navigateur de Fichiers bénéficie d'une meilleure estimation du temps restant pour les opérations comme la copie ou les suppressions. Il prend en charge la saisie d'un mot de passe pour extraire une archive. L'interface des préférences des application a été remaniée.
Le centre de contrôle a déplacé les paramètres concernant la disposition clavier de _Pays et langues_ vers _clavier_ pour des raisons ergonomiques. Si votre constructeur l'a renseigné dans l'UEFI, le nom du modèle de votre machine apparaît dans À propos.
L'application Cartes peut afficher des infobulles concernant des lieux en se basant sur le contenu de Wikipédia, et il peut afficher le nom local du lieu également.
L'application Météo a été graphiquement rafraîchie, avec possibilité de voir le détail sur 48h ou le global sur dix jours. Graphiquement aussi beaucoup d'icônes des applications GNOME ont été redessinées ou des parties de l'interface modernisée comme dans Fichiers, Web, Disques, Polices, Agenda, Photos et Moniteur système.
L'environnement de bureau Xfce fait tourner la roue vers sa version 4.16. Cette version majeure débute par d'importants changements graphiques. La palette de couleurs et les icônes ont été redéfinies pour être plus modernes et cohérents en essayant de suivre le concept de Adwaita adopté chez GNOME avec GNOME 3.
Dans le centre de configurations, les menus applications préférées et associations de fichiers ont fusionné pour configurer ces aspects en un seul endroit pour des raisons ergonomiques. Il permet aussi de configurer la mise à l'échelle de l'écran si votre écran le prend en charge.
Le navigateur de fichiers Thunar gère la mise en pause des opérations sur els fichiers et de gérer une file d'attente de ces opérations.
Pour les barres principales de l'interface, un nouveau plugin permet de gérer finement le bouton de status des applications, pour savoir si vous avez reçu un message dans votre logiciel de messagerie préféré par exemple.
Le menu À propos affiche plus d'informations concernant votre machine et Xfce, utile pour collecter des informations en cas de besoin.
L'environnement de bureau minimaliste LxQt est proposé dans sa version 0.16.0.
Les préférences ont été particulièrement étendues, avec la possibilité de définir l'action à faire pour les boutons de mise en veille ou d'éteinte de la machine. Il est possible d'y configurer la palette de couleurs de Qt. Il permet de définir un client de messagerie, un navigateur web et de fichiers par défaut.
Le visionneur d'images peut les redimensionner et afficher plus de formats différents.
Le serveur d'affichage Wayland est employé par défaut dans l'environnement KDE Plasma. Le support par KDE de Wayland est jugé suffisamment mature pour rejoindre GNOME dans ce choix par défaut, près de quatre ans et demi après. En cas de problèmes il reste toujours possible de lancer cet environnement avec X11. Évidemment, les applications non compatibles avec ce changement pourront être lancés de manière transparente à travers XWayland qui établie la couche de compatibilité entre les deux.
Rappelons que Wayland vise à améliorer la sécurité du système, en évitant qu’une application quelconque puisse dessiner sur d’autres applications, par exemple. Il pourrait à terme améliorer les performances, en exploitant pleinement l’accélération matérielle par les cartes graphiques. En outre, il devrait fiabiliser le système, en améliorant l’architecture du programme et en facilitant sa maintenance.
La mémoire d'échange zram activé peut utiliser toute la mémoire RAM et ce jusqu'à 8 Gio par défaut. Cette fonction introduite dans Fedora 33 était limitée au quart de la mémoire RAM de la machine et jusqu'à un maximum de 4 Gio. Cette extension a pour but de permettre l'exécution de certains programmes comme l'installateur de Fedora nommé Anaconda dans de bonnes conditions sur des machines qui ont un Gio de mémoire voire moins. Le choix initial pour Fedora 33 était aussi conservateur car il y avait des doutes sur le bon fonctionnement avec une zram pouvant remplir potentiellement la RAM entièrement, ce qui s'avère être peu réaliste en pratique.
Le gestionnaire de fenêtre minimaliste et pavant i3 dispose de sa propre image Spin de Fedora. C'est le premier gestionnaire de fenêtres pavant à bénéficier d'une image dédiée, ce qui peut faciliter la réalisation de tests de cet environnement. Il propose un environnement minimal pour des machines peu puissantes sans devoir passer par une autre édition de Fedora avant d'installer i3 par après.
L'audio va maintenant être géré par Pipewire par défaut, en remplacement de PulseAudio, ALSA et JACK. PulseAudio était globalement utilisé pour l'ensemble des applications classiques, ceux de GNOME ou Firefox par exemple, tandis que JACK pour les applications professionnels ou usages avancés, comme pour faire de l'enregistrement audio de qualité, et ALSA pour des logiciels plus anciens qui ne se sont pas adaptés à PulseAudio. Ici Pipewire les remplace tous les trois et il fournit sa propre couche de compatibilité pour que la transition soit transparente.
Son avantage est que contrairement à PulseAudio, il est destiné à prendre en charge l'usage pointu des professionnels de l'audio dont la gestion d'une faible latence. Ces applications utilisaient JACK pour cette tâche, mais son intégration dans le système était souvent difficile et mauvaise ce qui rend la gestion du son globalement difficile.
Pipewire est également plus flexible que PulseAudio, plusieurs processus gèrent le graphe de routage du son et la configuration de ces flux. Par ailleurs il a été conçu avec la sécurité en tête, en étant capable de gérer les permissions de manière plus fines et de gérer les applications situées dans des conteneurs comme Flatpak. Il devient plus aisé d'interdire une application d'enregistrer le son du micro par exemple.
Cependant, du moins pour Fedora 34, certaines fonctionnalités ne seront pas proposées par rapport à PulseAudio :
- La découverte réseau via avahi et le transport réseau via les protocoles TCP et RTP ;
- Définir sa machine comme serveur multimédia UPNP.
Cela sera proposé par la suite, si jamais vous souhaitez revenir à PulseAudio ou JACK comme avant cela reste possible via les commandes suivantes :
# dnf swap --allowerasing pipewire-pulseaudio pulseaudio # dnf swap --allowerasing pipewire-jack-audio-connection-kit jack-audio-connection-kit
L'image Comp Neuro pour la neuroscience va être déclinée aussi en image Docker / podman pour le fournir sous forme de conteneurs. Cela facilitera sa diffusion et son usage à partir d'un autre système hôte.
Les images netinstall et DVD n'auront plus le fichier ext4 à l'intérieur du système de fichiers squashfs. Squashfs récupère l’arborescence complète de l'image d'installation. Jusqu'à présent le système complet était effectivement dans une partition de type ext4, lui même inclus dans le système de fichiers squashfs qui est en lecture seule et compressée pour optimiser sa taille. Ext4 était nécessaire pour bénéficier des attributs de fichiers étendus XATTRs et parce qu'il fallait être capable de monter ce système de fichier en lecture et écriture durant le démarrage, ce que squashfs ne gère pas. Mais squashfs sait maintenant prendre en charge les attributs XATTRs, et via un système de fichiers overlayfs par dessus on peut contourner sa limitation concernant le lecture / écriture. Se débarrasser de la partition ext4 permet de rendre la compression par squashfs plus efficace, car on supprime une couche intermédiaire inefficace dans ce processus, mais aussi de simplifier la réalisation et le test de l'image. Les images concernées gagnent environ 27 Mio.
Gestion du matériel
La configuration de GRUB est unifiée pour toutes les architectures. En particulier entre les architectures utilisant l'EFI d'un côté comme x86_64 ou certaines machines ARM et x86 avec BIOS ou PowerPC 64 bits avec OpenFirmware de l'autre. En effet, avec l'EFI, la configuration comme l'environnement de GRUB sont situés dans la partition dédiée de l'EFI quand pour les autres cela réside dans la partition ou le répertoire /boot.
En particulier cela signifie que le chemin d'accès au fichier de configuration diffère, avec l'EFI c'est le fichier /boot/efi/EFI/fedora/grub.cfg quand c'est /boot/grub2/grub.cfg pour les autres. Cela signifie que les outils qui gèrent ces configurations et leur installation comme les utilisateurs et la documentation doivent en être conscients. Par ailleurs, en cas de désactivation de l'EFI ou de transfert du disque dur sur une autre machine, le démarrage peut ne plus fonctionner.
La solution est de sauvegarder les fichiers grub.cfg et grubenv dans /boot/grub2/. Le contenu de /boot/efi/EFI/fedora/grub.cfg deviendra très minimal pour définir la variable $prefix qui permettra de définir sa localisation dans le système via UUID de la partition contenant le répertoire /boot. L'inconvénient est que cette disposition oblige GRUB à être installé dans le répertoire /boot mais comme c'est déjà le cas pour le noyau dans Fedora, finalement cela ne change pas grand chose. Il sera toujours difficile de réaliser un démarrage ne reposant que sur l'EFI.
L'architecture ARMv7 va bénéficier de l'UEFI par défaut pour les nouvelles images générées par le projet Fedora. GRUB devient de fait le nouveau gestionnaire de démarrage par défaut au lieu de extlinux. Cela rendra l'installation, la documentation et la maintenance de Fedora plus uniforme au sein des architectures avec un seul chargeur de démarrage par défaut.
Une nouvelle image pour l'architecture AArch64 sera proposée avec l'environnement KDE Plasma. Cette image rejoint les images Workstation, Xfce, Minimal et Server pour cette architecture, avec un choix de fait plus large.
Les fichiers firmware du noyau sont compressés avec l'algorithme LZMA2. Cette nouvelle possibilité offerte par Linux 5.3 consiste à compresser en somme les fichiers contenus dans le répertoire /usr/lib/firmware/. Avec le temps le contenu du dépôt linux-firmware pèse plus de 900 Mio, et ce sans compter les firmware provenant d'autres endroits. Avec la compression il devient possible de réduire cet impact maximal par deux. En contrepartie ces fichiers sont décompressés à la volée quand ils sont chargés ce qui ajoute une petite latence supplémentaire.
Internationalisation
- Un nouveau site web et son infrastructure va être proposé pour fournir les statistiques de traduction de Fedora et simplifier la maintenance des mémoires de traduction.
- IBus est proposé à la version 1.5.24.
- ibus-anthy est le système d'entrée par défaut pour le japonais, ibus-m17n pour le singhalais et ibus-unikey pour le vietnamien.
- HarfBuzz est activé par défaut dans les polices FreeTypes pour permettre d'améliorer le rendu dans les langues ayant des symboles plus complexes.
- kasumi-unicode est généré à partir du fichier source katsumi.spec dorénavant.
Administration système
- Par défaut les partitions btrfs crées lors de l'installation auront la compression du système de fichiers activée avec l'algorithme zstd.
- SELinux ne peut plus être entièrement désactivé après le démarrage. Seul le passage entre les modes permissif et enforcé est permis. Un redémarrage est nécessaire pour appliquer une désactivation complète.
- SELinux a été mis à jour pour prendre en compte des dernières classes, permissions et capacités ajoutées dans le noyau.
- La gestion du manque de mémoire disponible sera prise en charge par le service systemd-oomd par défaut. Pour revenir à earlyoom utilisé jusque là, vous pouvez exécuter les commandes suivantes :
# systemctl disable --now systemd-oomd # systemctl enable --now earlyoom
- Les paramètres de démarrage, reçus par le noyau Linux, à destination de l'installateur Anaconda devront être préfixés de inst. pour éviter les conflits. Sinon ils sont ignorés.
- Les services systemd qui doivent être relancées suite à une mise à jour le seront toutes à la fin de la procédure.
- Les utilitaires Bluetooth désuets ciptool, gatttool, hciattach, hciconfig, hcidump, hcitool, rfcomm et sdptool sont déplacés dans le paquet bluez-deprecated avant une suppression dans le future.
La collection d'outils X.org sera proposée via des paquets plus individuels que les paquets génériques xorg-x11-{apps,font-utils,resutils,server-utils,utils,xkb-utils} employés jusqu'ici. Certains utilitaires sont également supprimés. Ces collections d'utilitaires étaient assez historiques mais offrent peu de flexibilité et ne représentent plus la réalité. Par exemple les utilitaires luit ou edid-decode ne sont même plus développés sous l'égide de X.org. Le versionnage de ces paquets ne collait plus avec ceux des projets embarqués. Mettre à jour un paquet pour un composant nécessitait de régénérer cette mise à jour pour l'ensemble. Les paquets étaient aussi plus gros que nécessaires pour beaucoup d'utilisateurs. Tout ceci est donc simplifié et plus cohérent avec le nouveau découpage.
- Les paquets xemacs, xemacs-packages-base, xemacs-packages-extra, neXtaw, nscd et python-mock sont en passe de subir le même sort.
- XWayland est proposé dans un paquet à part et indépendant du reste de X.org : xorg-x11-server-Xwayland.
- Le célèbre serveur de DNS Bind est lié à la version 9.16.
- Le gestionnaire de base de données PostgreSQL s'impose avec sa version 13.
- Son concurrent MariaDB est proposé à la version 10.5.
- L'utilitaire de gestion du stockage Stratis dispose de la version 2.3.0.
- Le démon pour synchroniser le temps avec le potocole NTP et nommé sobrement ntp utilise ntpsec à la place. Mais chrony reste le démon utilisé par défaut pour cette fonction.
Développement
- Mise à jour de la suite de compilateurs libre GCC 11.
- Son concurrent LLVM passe lui à la version 12.
- Tandis que la bibliothèque C Glibc passe à la version 2.33.
- Mise à jour des utilitaires binutils 2.35.
- Le petit coup d'accélération pour la bibliothèque généraliste C++ Boost 1.75.
- Le langage Go fait un bon en avant avec la version 1.16.
- Le langage précieux Ruby est proposé dans sa nouvelle version 3.0.
- Sa boîte à outils Ruby on Rails arrive à la gare au quai 6.1.
- L'environnement de compilation de binaires Windows, MinGW, est mis à jour qui fourni GCC 11, GDB 10 et binutils 2.36.
- La bibliothèque de sécurité NSS avec sa version 3.52 a changé la structure CK_GCM_PARAMS en étant incompatible en terme de source code, mais pas son interface binaire.
- OpenLDAP va fournir uniquement des bibliothèques avec un fil d'exécution parallèle. Des liens symboliques redirigent la liaison vers la bibliothèque libldap vers libldap_r.
- Les bibliothèques Rust fournis via les crate nécessaires pour les paquets proposés par Fedora seront fournis dans les dépôts dans des paquets dédiés sous la forme rust-$NOM_CRATE comme par exemple rust-libsqlite3-sys pour la bibliothèque SQLite.
- Les bibliothèques Python avec un nom de fichier dépendant de l'architecture utilisent maintenant la nomenclature officielle de CPython au lieu d'un nom spécifique à Fedora.
- Les paquets ne fournissant qu'une bibliothèque Nodejs sans être utilisée en tant que dépendance ne seront plus proposés.
Projet Fedora
- Le système minimal de compilation du projet Fedora, buildroot, se débarrasse de make.
- Les macros liés à Python 2 pour créer les paquets RPM sont gelés. Ceux pour générés les dépendances automatiques liés à Python 2 sont supprimés car plus nécessaires suite au passage à Python 3 l'an dernier.
- L'utilitaire fbrnch est proposé dans les dépôts.
- Les dépôts git de Fedora ont renommé la branche principale en main au lieu de master.
- La politique concernant les modules a été remaniée et formalisée.
La communauté francophone
L'association
Borsalinux-fr est l'association qui gère la promotion de Fedora dans l'espace francophone. Nous constatons depuis quelques années une baisse progressive des membres à jour de cotisation et de volontaires pour prendre en main les activités dévolues à l'association.
Nous lançons donc un appel à nous rejoindre afin de nous aider.
L'association est en effet propriétaire du site officiel de la communauté francophone de Fedora, organise des évènements promotionnels comme les Rencontres Fedora régulièrement et participe à l'ensemble des évènements majeurs concernant le libre à travers la France principalement.
Si vous aimez Fedora, et que vous souhaitez que notre action perdure, vous pouvez :
- Adhérer à l'association : les cotisations nous aident à produire des goodies, à nous déplacer pour les évènements, à payer le matériel ;
- Participer sur le forum, les listes de diffusion, à la réfection de la documentation, représenter l'association sur différents évènements francophones ;
- Concevoir des goodies ;
- Organiser des évènements type Rencontres Fedora dans votre ville.
Nous serions ravis de vous accueillir et de vous aider dans vos démarches. Toute contribution, même minime, est appréciée.
Si vous souhaitez avoir un aperçu de notre activité, vous pouvez participer à nos réunions hebdomadaires chaque lundi soir à 20h30 (heure de Paris) sur IRC (canal #fedora-meeting-1 sur Freenode).
La documentation
Depuis juin 2017, un grand travail de nettoyage a été entrepris sur la documentation francophone de Fedora, pour rattraper les 5 années de retard accumulées sur le sujet.
Le moins que l'on puisse dire, c'est que le travail abattu est important : près de 90 articles corrigés et remis au goût du jour. Un grand merci à Charles-Antoine Couret, Nicolas Berrehouc, Édouard Duliège, José Fournier et les autres contributeurs et relecteurs pour leurs contributions.
L'équipe se réunit tous les lundis soir après 21h (heure de Paris) sur IRC (canal #fedora-doc-fr sur Freenode) pour faire progresser la documentation par un travail collaboratif. Le reste de la semaine cela se passe sur le forum.
Si vous avez des idées d'articles ou de corrections à effectuer, que vous avez une compétence technique à retransmettre, n'hésitez pas à participer.
Comment se procurer Fedora 34 ?
Si vous avez déjà Fedora 33 ou 32 sur votre machine, vous pouvez faire une mise à niveau vers Fedora 34. Cela consiste en une grosse mise à jour, vos applications et données sont préservées.
Autrement, pas de panique, vous pouvez télécharger Fedora avant de procéder à son installation. La procédure ne prend que quelques minutes.
Nous vous recommandons dans les deux cas de procéder à une sauvegarde de vos données au préalable.
De plus, pour éviter les mauvaises surprises, nous vous recommandons aussi de lire au préalable les bogues importants connus à ce jour pour Fedora 34.