From Fedora Project Wiki

En ce mardi XX XXXXXX, les utilisateurs du Projet Fedora seront ravis d'apprendre la disponibilité de la version Fedora 30.

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, X.Org, systemd, la célèbre suite de compilateurs GCC, etc. Cliquez ici pour voir l’ensemble des contributions de Red Hat.

Expérience utilisateur

L'environnement de bureau par défaut de Fedora Workstation est mis à jour vers GNOME 3.32. Cette version apporte notamment :

  • Un rafraichissement du thème graphique, qui est un peu plus arrondi ;
  • Par ailleurs, les icônes ont été profondément remaniée abandonnant le style très réaliste pour un style plus sobre et plus simple à dessiner ;
  • GNOME avec Wayland prend en charge maintenant les ratios non entier des affichages à haute densité de pixels, ce qui rendra l'affichage plus propre pour les machines concernées ;
  • Il y a eu beaucoup de nettoyages et d'optimisations pour rendre le bureau moins gourmand en ressources graphiques et du processeur. Les opérations de recherche notamment sont concernées ou la gestion des fichiers sur Google Drive ;
  • Le clavier virtuel prend en charge les emoji ;
  • Le navigateur officiel Web, anciennement Epiphany gère les gestes du touchpad ;
  • Les paramètres ont été améliorées. Le menu son a un affichage vertical, plus conforme avec les autres, le mode nuit peut utiliser des couleurs plus chaudes ou froides que celui par défaut et on peut enfin paramétrer les permissions des applications Flatpak.

Les extensions du gestionnaire de fichiers de GNOME, Nautilus, migrent vers Python 3. En effet Python 2 ne sera plus maintenu dès janvier 2020, dans ce cadre Fedora a travaillé à sélectionner voire convertir les extensions de Nautilus vers Python 3.

Le bureau léger LxQt bénéficie de la mise à jour vers la version 0.14.0. Le gestionnaire de fichier pcmanfm-qt qui peut afficher côte à côte le contenu de deux dossiers. Le bureau peut avoir des icônes interactives comme la corbeille, le dossier utilisateur ou le réseau. En plus de corrections plus mineures et d'une grande mise à jour des traductions.

Le nouvel environnement de bureau DeepinDE est proposé. Un bureau qui se veut moderne, performant, simple et élégant. L'interface est une synthèse des différentes interfaces. Il repose sur un dock situé en bas à la macOS, il dispose d'un panneau latéral pour les accès rapide et notifications comme pour Windows 10. Enfin l'ensemble des applications installées sont affichées sous forme de grille comme ce que propose GNOME. Pour l'installer vous devez installer le groupe Deepin Desktop.

Encore un nouvel environnement, Pantheon Desktop débarque dans Fedora. C'est celui utilisé par elementaryOS, qui réutilise les technologies de GNOME mais est écrit plutôt en Vala et se veut plus proche de l'expérience utilisateur de macOS. Pour l'installer vous devez installer le paquet pantheon-session-settings au minimum. Les applications ont un nom sous la forme elementary-*.

GnuGPG 2 devient l'implémentation de GPG par défaut. Le chemin /usr/bin/gpg pointe donc vers cette nouvelle version ce qui est plus conforme à l'expérience fournie par d'autres distributions. Si vous avez besoin de l'ancienne version pour des raisons de compatibilité, le chemin /usr/bin/gpg1 doit être explicitement mentionné.

Gestion du matériel

Pour les utilisateurs d'une carte graphique Intel et d'un ordinateur avec l'UEFI activé, l'affichage durant le démarrage est continu, sans remise à zéro de ce dernier. Cela rend l'expérience plus fluide et jolie. La changement fait suite au changement introduit dans Fedora 29 pour qu'un ordinateur mono-système ait GRUB masqué par défaut. Le nouveau thème plymouth bgrt récupère également le logo du constructeur de l'ordinateur ou de la carte mère durant le démarrage. Si vous ne souhaitez pas voir ce logo, basculez vers le thème spinner. Vous pouvez regarder cette vidéo pour voir le changement en action et les explications en détails et la FAQ par Hans de Goede, son développeur.

Les architectures ARMv7 disposeront par défaut d'un démarrage en UEFI. Cela permet notamment de passer de U-boot à GRUB2 comme chargeur de démarrage ce qui unifie la procédure de démarrage pour l'ensemble des architectures et il simplifie la maintenance et la cohérence de la distribution et des procédures fournies.

Internationalisation

Les groupes de composition des langues sont remplacées par les packs de langue. Ce dernier était utilisé depuis Fedora 24 pour installer les traductions des paquets nécessaires à l'utilisateur. Maintenant il gère également les entrées de saisie et les polices de caractères pour une expérience plus cohérente et simple, surtout pour les langues d'origines non latines. Pour rappel, pour bénéficier donc d'une meilleure expérience utilisateur en français, n'hésitez pas à installer le paquet langpacks-fr si cela n'est pas déjà fait.

Administration système

Mise à jour de Bash à la version 5.0. Cette version apporte notamment de nouvelles variables natives : BASH_ARGV0, EPOCHSECONDS et EPOCHREALTIME (qui a une granularité à la microseconde). La commande history peut supprimer des intervalles de l'historique ou prendre en charge des arguments négatifs pour les décalages. Les performances sont meilleures en cas d'appel avec un grand nombre d'arguments, et de nombreuses erreurs de gestion mémoire ont été corrigées. Enfin l'expansion des variables $@ et $* est plus conforme à la norme POSIX.

Le shell Fish évolue également à la version 3.0. Il est plus conforme avec la norme POSIX via l'ajout des instructions &&, || et ! en plus des équivalents en anglais présents jusque là. La commande wait a été également ajoutée. Un mode privé a été ajouté, disponible via l'argument --private qui n'enregistre pas les commandes dans l'historique et n'a également pas accès au contenu de celui-ci. En plus de tout ça, les performances ont été améliorées dans de nombreux scénarios.

L'outil Vagrant est à la version 2.2 maintenant. Il utilise maintenant par défaut qemu:///session au lieu de qemu:///system ce qui permet de s'en servir depuis n'importe quel utilisateur sans manipulation à faire en tant que super utilisateur au préalable. Il prend en charge également VirtualBox 6.0 et l'envoi de fichiers du système l'hôte vers le système invité. Le système hôte void linux est également géré.

DNF dispose de l'algorithme de compression zchunk en plus de xz ou gzip pour les métadonnées des dépôts. Ce qui permet la prise en charge des deltas pour optimiser la taille des téléchargements, pouvant passer de 60 Mio à moins de 5 Mio si la vérification est faite régulièrement.

Par défaut les entrées de démarrage, pour choisir la version du noyau à lancer, va passer au format BootLoaderSpec par défaut. Permettant de ne plus employer l'utilitaire grubby pour réaliser cette tâche car il est ancien et peu flexible. Il devait en effet se charger de la représentation interne de la configuration de GRUB, lilo, elilo, silo et yaboot. Le but est d'uniformiser la manière de représenter les noyaux à démarrer entre les architectures, car ils n'utilisent pas tous GRUB, en effet zipl est utilisé pour s390x et Petitboot pour ppc64le. Seule l'architecture ARMv7 n'est pas encore concernée, car U-boot ne gère pas ce format de représentation. Les entrées de démarrage sont donc situées dans le répertoire /boot/loader/entries/ et en cas de mise à niveau des scripts comme grub2-switch-to-blscfg font la conversion vers ce nouveau format automatiquement. Vous pouvez trouver plus d'explications sur cette conception et les raisons de cette mise en œuvre.

cryptsetup utilise dorénavant les métadonnées de LUKS2 par défaut. Cela ne concerne donc que les nouvelles installations nativement. Elle prend en charge la nouvelle fonction de dérivation de clé, Argon2, qui a été conçu pour mieux résister aux attaques par GPU. Il permet également à une application externe de peupler un jeton pour dire où retrouver le mot de passe. Le but étant que le jeton soit généré et vérifié par une carte à puce par exemple. Enfin les méta données sont agnostiques apr rapport à l'algorithme de chiffrement, autorisant des mises à jour de ces derniers sans rupture de compatibilité pour une meilleure sécurité.

dbus-broker devient l'implémentation par défaut de DBus. Son objectif est de fournir une implémentation qui soit plus plus performante, plus fiable tout en gardant la compatibilité avec l'implémentation de référence. Cela passe par une utilisation plus intensive des API spécifiques à Linux pour rendre cela possible.

Il fournit en effet un moyen de limiter par défaut la consommation de ressources, comme la mémoire, entre les différents utilisateurs pour éviter qu'un seul monopolise toutes les ressources du système.

dbus-broker ne supprime plus silencieusement des messages et limite le nombre de situations où une telle action peut être prise. Il ne repose plus sur un mécanisme IPC (en étant un lui même) pour éviter les cas d'interblocages au niveau système.

Il passe également mieux à l'échelle en supprimant la plupart des structures globaux ce qui diminue la taille de l'état et augmente les performances tout en réduisant le risque d'effets de bord.

FreeIPA n'est plus utilisable avec Python 2. Cela rejoint la décision prise par le projet en amont cette année, mais permet aussi d'accélérer la transition vers Python 3 en supprimant l'ensemble des paquets qui en dépendaient.

Suppression de beaucoup de paquets dépendants ou relatifs à Python 2, la fin approche et devrait se terminer pour Fedora 31. Cela concerne ici les paquets ne contenant pas une application ou n'étant pas dépendants d'autres paquets existants. L'objectif est de limiter la rupture de compatibilité tout en simplifiant et amorçant la transition devenue nécessaire. Vous trouverez la liste des paquets concernés. Si pour vos développements vous aviez besoin d'un tel paquet, vous pouvez utiliser les environnements virtuels ou porter votre travail vers Python 3.

Le fichier /etc/sysconfig/nfs est maintenant obsolète en faveur de /etc/nfs.conf pour permettre la configuration depuis un point central. Cela met fin à une période de transition de près de 2 ans. L'objectif est donc de fournir un fichier de configuration unique ce qui simplifie la maintenant et l'automatisation de cette tâche via Ansible par exemple. Le nouveau fichier de configuration est aussi plus conforme à la philosophie derrière systemd, la configuration des démons se faisant par un fichier spécifique au lieu de fournir des arguments de ligne de commande directement. Enfin le nouveau système de configuration bénéficie de l'outil nfsconf qui vérifie la validité du fichier.

De nombreux outils sont dépréciés : Apache Avalon, Apache Jakarta Commons HTTP client, Apache Jakarta ORO et Regexp, Apache Maven branche 2.x et Sonatype OSS Parent. Ils ne sont en effet plus maintenus depuis un moment et cette étape permet d'amorcer la transition pour leur suppression définitive des dépôts, avec les éventuels paquets qui en dépendent. En effet, plus aucun nouveau paquet, ni une mise à jour d'un paquet existant, ne peut les ajouter en tant que dépendance.

MongoDB est supprimé, la licence nouvellement adoptée SSPL n'étant pas considérée comme libre par le projet. Le projet a refusé de garder la dernière version distribuée sous licence AGPL, pour des raisons de maintenance de sécurité qui serait difficile de fournir en l'état.

En cas de connexion distante via SSH, l'information sur la langue à utiliser est toujours propagée du client vers le serveur pour la session en cours. Maintenant, si la machine distants ne dispose pas de la langue cible, C.UTF-8 sera demandée. Cela peut arriver si le client utilise LANG=fr_FR.UTF-8 pour se connecter dans un conteneur qui ne dispose que de en_EN.UTF-8. L'objectif est de limiter les erreurs dans certains outils ou dans l'affichage en utilisant toujours une langue supportée par le système cible.

Kerberos modernise son support des algorithmes cryptographiques en supprimant la gestion de DES, 3DES, crc-32, et MD4 pour les clés de session ou clés à long terme. MD5 et RC4 sont marqués comme obsolètes et dangereux en attendant une suppression ultérieurement. Pour ces derniers, il faudra tout de même ajouter la ligne allow_weak_crypto = True dans le fichier de configuration /etc/krb5.conf. Il y a une documentation pour migrer votre installation existante si elle est concernée par ce changement.

Développement

  • Mise à jour de GCC qui fait du 9 ;
  • Glibc n'est pas en reste avec la version 2.29 ;
  • Petit coup de Boost à la version 1.69 ;
  • Les fonctions obsolètes et non sûres de libcrypt sont supprimées et encrypt, encryptr, setkey, setkeyr, and fcryp renvoient une erreur systématiquement ;
  • Mise à jour de Ruby qui vaut 2.6 carats ;
  • Les programmes Java pourront danser dans la machine virtuelle OpenJDK 12 ;
  • Le langage de l'éléphant PHP impose sa version 7.3 ;
  • Go avance à la version 1.12 ;
  • L'environnement d'Erlang passe à la version 21 ;
  • Alors que le compilateur Haskell GHC et Stackage LTS passent respectivement à la version 8.4 et 12 ;
  • Python progressbar2 devient la version de référence pour le module des bar de progressions.

La compilation de modules Python dans Fedora sera plus proche de ce qui se fait en amont sans nécessiter de recourir à des outils tel que redhat-rpm-macros pour cela. Le but est de séparer les drapeaux de compilations nécessaires par Python et ses extensions et ceux fournis par Fedora. Cependant cela signifie que les drapeaux utilisés par les paquets de Fedora, comme la position indépendante du code, ne sera pas disponible nativement pour la compilation de telles extensions. Les développeurs doivent donc gérer ce genre d'options par eux mêmes.

Projet Fedora

  • L'environnement de compilation minimal ne dépend plus du paquet glibc-all-langpacks pour gagner en poids ;
  • La compilation de modules Python dans Fedora sera plus proche de ce qui se fait en amont sans nécessiter de recourir à des outils tel que redhat-rpm-macros pour cela ;
  • Pour ceux intéressés par le standard SWID, des drapeaux dans les paquets RPM ont été activés pour permettre leur traçabilité et faciliter leur mise en œuvre dans des dépôts ou lister les paquets correspondant à un drapeau par exemple via dnf.
  • La compilation des programmes Python est en deuxième phase de réécriture pour reposer sur moins d'hypothèses, et ainsi être plus fiable et plus maintenable.
  • Les drapeaux group des paquets sont supprimés pour près de 9600 d'entre eux. Depuis mars 2017 il ne fallait plus les utiliser. Maintenant c'est fait.
  • L'édition de lien supprime tous les liens excessifs entre bibliothèques et les exécutables. Seules les fonctions réellement nécessaires sont liées, ce qui améliore les performances au lancement de l'application.
  • Les scriptlets qui étaient obsolètes sont supprimés comme ldconfig afin de gagner du temps à l'installation des paquets et une génération des paquets plus rapide.
  • Le projet améliore la façon d'avoir des statistiques sur l'utilisation de Fedora. Actuellement le tout reposait sur la collecte de données via les miroirs pour connaître le nombre d'installation en vigueur ce qui n'était pas fiable. Pour éviter cela, chaque requête tous les 7 jours vers un dépôt officiel sera enregistrée par machine. Cela évitera les problèmes liés à la vie privée.
  • Les shebangs Python ambigus concernant la version de Python à employer génèrent des erreurs, #!/usr/bin/python devant devenir #!/usr/bin/python2 ou #!/usr/bin/python3 dans les paquets fournis par Fedora ; ceci est fait pour forcer la transition propre vers Python 3 qui doit intervenir d’ici janvier, cela ne concerne pas les scripts Python de l’utilisateur.
  • Activation de Python Generators par défaut. Ceci est la généralisation de la nouveauté de Fedora 28. Ainsi un empaqueteur n'a plus à spécifier dans le paquet RPM les dépendances Python nécessaires à l'exécution du paquet. Et l'utilisateur ne se retrouvera pas avec une erreur en cas d'oubli de la dite dépendance car résolue en amont.

La communauté francophone

L'association

Logo de Borsalinux-fr

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).

Au début de l'année 2019, Borsalinux-fr a tenu une Assemblée Générale pour renouveler le conseil d'administration pour deux. Bravo à eux et bon mandat !

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 et Édouard Duliège 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 les listes de diffusion.

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 30 ?

Fedora Media Writer

Si vous avez déjà Fedora 28 ou 29 sur votre machine, vous pouvez faire une mise à niveau vers Fedora 30. 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.

Liens