From Fedora Project Wiki

< User:Renault‎ | Promotion

Revision as of 20:13, 20 October 2018 by Renault (talk | contribs)

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

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

Passage à GNOME 3.30, l'environnement par défaut de l'édition Workstation bénéficie de :

  • Mise à jour des paquets Flatpak automatiquement ;
  • Amélioration globale des performances ;
  • Le partage d'écran est simplifié, de même que la connexion à des machines distantes de Windows via Boxes ;
  • Ajout du mode lecture pour le navigateur Web ;
  • Le navigateur de fichiers Fichiers a une nouvelle barre de navigation plus efficace ;
  • La virtualisation avec Boxes permet l'import de fichiers de VirtualBox et le partage de fichiers entre l'hôte et l'invité.

De même pour l'environnement Xfce qui est mis à jour vers la version 4.13. Cette version en développement est considéré comme suffisamment stable par Fedora pour le proposer nativement. Le principal changement est la mise à jour de l'ensemble des composants à GTK+3 ce qui améliore l'intégration des applications GNOME en son sein, et ouvre la voie à l'accès de Wayland et la gestion des écrans à haute densité de pixels par exemple.

Le menu de GRUB sera caché par défaut, sauf en cas de dual-boot. En effet dans ce cas de figure, GRUB ne sert qu'à démarrer un ancien noyau, en cas de soucis. Pour des raisons de cohérence et de simplicité, les messages de démarrage étant caché par défaut, ce menu est caché pour ne pas perturber l'utilisateur et gagner du temps.

Un nouveau mécanisme est mis en place. Le menu caché sera finalement affiché si le précédent démarrage n'a pas abouti à une session valide. Cela autorise ainsi une résolution possible du problème. Pour désactiver cette fonctionnalité, vous pouvez manuellement appliquer la commande suivante avec les droits super utilisateurs :

# grub2-editenv - unset menu_auto_hide

La variable $PATH par défaut change l'ordre des dossiers ~/.bin et ~/.local/bin pour les placer en tête afin d'être prioritaires par rapport aux dossiers systèmes. L'objectif est de simplifier la vie de l'utilisateur, on considère que les applications personnelles priment sur ceux du système, comme ceux installés via pip pour Python. En plus de cela, Fedora rejoint la politique de Debian et Ubuntu à ce sujet ce qui apporte une plus grande cohérence dans l'écosystème. Ce changement ne s'applique qu'aux nouveaux utilisateurs pour éviter les problèmes, car le changement réside dans le squelette qui permet la création d'un nouvel utilisateur.

L'utilitaire Wireshark pour l'analyse des paquets réseaux perd son interface GTK+. Uniquement l'interface Qt est proposée en adéquation avec le choix du projet depuis la version 2.4.0.

Le synthétiseur vocal festival est proposé à la version 2.5 et a été grandement amélioré. En effet il n'était pas rare que cette application plantait. Cette dernière version est non seulement un bon synthétiseur vocal mais aussi un framework pour la création d'une nouvelle voix. Les voix sont considérées comme plus convaincantes que Espeak.

Gestion du matériel

Les paquets i686 sont compilés avec les instructions SSE2 ce qui réduit la liste des processeurs compatibles avec Fedora pour cette architecture. Mais uniquement de vieux processeurs tels que le Pentium III ou antérieurs (avant l'année 2000) sont vraiment impactés. Or les paquets i686 sont majoritairement installés sur des machines compatibles x86_64 voire sur des systèmes x86_64 en tant que bibliothèques de compatibilité. Activer les instructions SSE2 permet une amélioration importante des performances pour une perte négligeable de compatibilité. Une meilleure précision de calculs mathématiques serait de la partie et certains bogues disparaitront également, beaucoup d'applications exigeant déjà les instructions SSE2.

Les images pré-générées pour les architectures ARMv7 et aarch64 bénéficient de la ZRAM (une mémoire compressée) par défaut afin d'améliorer les performances et limiter l'usure des cartes SD de stockage en ayant besoin d'un espace d'échange plus faible en cas de gros besoins de mémoire.

Prise en charge initiale des FPGA, les cartes 96boards d'Ultra96 et UP² d'Intel proposent des FPGA pour faire des calculs spécialisés comme l'intelligence artificielle ou le machine learning. Fedora propose des outils de base et agnostiques pour les exploiter.

Clap de fin pour l'architecture ppc64, sa sœur little endian ppc64le recevra toutes les attentions pour cette famille. C'était une version déjà considérée comme étant en maintenance uniquement, à cause de la non gestion de cette architecture par un nombre croissant de projets dont le dernier en date est Eclipse ce qui devenait bloquant pour produire une version fonctionnelle.

Internationalisation

Mise à jour du gestionnaire d'entrée de saisie IBus vers 1.5.19. Au niveau des changements, la saisie des émojis via Ctrl+Shift+e se fait dans la zone de saisie courante de l'application, évitant de créer une nouvelle pop-up posant des soucis de positionnement sous Wayland. La saisie de caractères UNICODE via Ctrl+Shift+u se fait de manière disjointe de la saisie des émojis bien que reprenant la même conception. Enfin la saisie de caractères de composition comme ^ affiche le caractère saisi et le remplace éventuellement si le caractère suivant peut être affecté. Ainsi saisir ^ puis e affichera ^ dans la zone de saisie avant de venir ê. Avant le caractère ^ n'était pas affiché du tout.

La famille de police de caractères Liberation, compatible avec celle de Microsoft, passe à la version 2 proposant plus de caractères UNICODE. Ce changement a été envisagé il y a longtemps pour Fedora 19. Mais repoussé à cause d'une régression du hinting pour le rendu de la police. Cette régression reste présente mais semble moins cruciale qu'il y a quelques années grâce à l'amélioration de la définition des écrans depuis. L'ancienne version reste disponible via un dépôt copr.

Les langues asiatiques chinoises, coréennes et japonaises utiliseront par défaut les polices de Google Noto. Ces polices sont en effet de meilleure qualité pour représenter les symboles de ces langues. Cela proposera aussi un affichage plus cohérent de l'interface pour ces utilisateurs, toutes les applications en bénéficiant.

Les fichiers des fuseaux horaires de tzdata seront fondés sur le format vanguard en accord avec le choix effectué en amont. Cela améliore la compatibilité avec POSIX par une meilleure représentation du décalage négatif pour l'heure d'été. Cela était problématique pour les interpréteurs Java et ICU.

Administration système

Mise à jour d'OpenShift Origin 3.10. Le serveur applicatif de Red Hat propose plusieurs changements d'importance. Citons le CPU manager qui est stable, il permet de gérer des groupes de CPU et de gérer le lancement des services en tenant compte de la puissance disponible, des erreurs de cache ou encore de la faible latence du réseau. De même pour le Device Manager pour définir des limites matériel ou encore le Huge page manager pour obtenir des pages de tailles supérieurs à 4 kio (sur x86_64). La partie réseau a bénéficié de quelques améliorations également.

Le fichier /usr/bin/python est fourni par le paquet python-unversioned-command en accord avec la PEP 394. Les paquets de Fedora mentionnent en effet explicitement l'usage de Python 2 ou 3. Ce paquet sera recommandée par le paquet python2. L'objectif est bien sûr d’entamer la transition vers l'abandon total de Python 2 en 2020. Et les utilisateurs auront la possibilité de supprimer ce binaire s'ils le souhaite.

Les groupes de paquets python-classroom, engineering-and-scientific, development-libs, cloud-management, font-design, mysql, robotics-suite, authoring-and-publishing et electronic-lab utilisent les paquets Python 3. Le groupe python-web est supprimé car pas très propre et la motivation de sa création a disparu. Là encore ce changement amorce la transition vers Python 3.

Ansible utilise Python 3 par défaut. Ce changement fait suite à l'adoption l'an dernier d'un paquet pour utiliser Python 3 tout en gardant Python 2 par défaut le temps de faire la transition. un guide a été publié pour vous aider à utiliser Python 2 ou 3 sur vos cibles.

Stratis Storage est mis à jour à la version 1.0 qui est une application Python communiquant à travers DBus pour gérer l'espace de stockage du système. Introduite par Fedora 28, la technologie commence à se stabiliser. Maintenant la solution commence à être considérée pour gérer l'espace de stockage dans Anaconda dans un futur proche.

GnuTLS utilise le protocole TLS 1.3 par défaut. Cela autorise les applications qui en dépendent de pouvoir bénéficier de ce nouveau protocole de sécurité. La politique de sécurité du système peut également en tirer profit.

Le module p11-kit-proxy gère les bases de données NSS par défaut maintenant en plus d'OpenSSL et GnuTLS. Cela permet donc aux applications employant NSS d'accéder à la même manière à ces informations que ceux utilisant les deux autres bibliothèques, sans manipulations supplémentaires. Cela simplifie donc l'administration du système mais aussi l'expérience utilisateur pour ceux qui ont des lecteurs de cartes par exemple.

OpenLDAP ne gère plus le module NSS pour la sécurité, suite à son remplacement par défaut par OpenSSL avec Fedora 28. Cette période de transition est donc terminée pour se conformer aux choix du projet officiel. Décision qui a été motivée par certains bogues autours de PKI et TLS n'ont jamais été corrigés avec l'utilisation de NSS.

Fusion de Dstat et Performance Co-Pilot pour les statistiques de performance. Dstat n'est plus maintenu en amont mais PCP ajoute le module pcp-dstat pour être compatible avec son illustre prédécesseur. Cette compatibilité peur être invoquée par la commande pcp dstat. Notons également que dstat était disponible uniquement avec Python 2 quand PCP gère Python 3 ce qui a pesé dans la décision. Enfin, un lien symbolique /usr/bin/dstat a été ajouté pour invoquer pcp dstat le temps d'effectuer la transition.

Développement

  • Binutils passe à la version 2.31.
  • GLibc 2.28 est utilisée par défaut.
  • Node.js 10 est proposé par défaut.
  • Python 3.7 devient la version de référence.
  • Ruby on Rails est sur les rails de la version 5.2.
  • La perle des langages, Perl 5.12, a été mis à jour.
  • Le langage Go passe à la version 1.11.
  • MySQL 8 est proposé pour sa gestion des bases de données.
  • OpenJDK 11 LTS devient la machine virtuelle de référence pour Java.
  • La sélection de paquets compatibles entre eux Haskell Stackage LTS passe de la version 10 à 11.

Modularité

  • Fedora Workstation et Cloud bénéficient par défaut des modules en plus de Fedora Server. Ainsi tout le monde est capable facilement d'exploiter les modules, pour installer une version différente de Node.js que celle proposée par exemple.

Projet Fedora

  • Fedora Workstation Atomic devient Silverblue. Ce projet qui monte en puissance met en avant le projet Atomic pour l'édition phare de Fedora. Cela consiste majoritairement à utiliser Flatpak et rpm-os-tree pour gérer les paquets permettant une meilleure isolation des composants et une plus grande fiabilité du système. Un site web dédié a été conçu pour l'occasion.
  • Les éditions dérivées de Fedora comme les Spins, labs ou conteneurs auront les champs VARIANT et VARIANT_ID renseignés dans le fichier /usr/lib/os-release pour avoir des statistiques plus précises quant à leur utilisation et pour l'utilisateur de connaître la provenance de l'image.
  • Fedora Scientific a une image VagrantBox en plus des ISO traditionnelles.
  • GCC n'est plus nécessaire dans l'image de compilation de Fedora, réduisant le temps nécessaire à la production des paquets n'en ayant pas besoin.
  • Fedora Cloud aura des images mises à jour mensuellement, pour limiter la taille des mises à jour à effectuer après l'installation.
  • La compilation du bytecode Python est moins magique pour les paquets, les étapes doivent être mieux décrites pour faciliter la transition vers Python 3.
  • Les modules Perl obtenus via CPAN changent leurs URL de search.cpan.org vers metacpan.org dans la description des paquets concernés.
  • Les paquets Erlang sont liés à aucune architecture dorénavant.