Fedora 28 est sortie dans les temps !

Posté par  (site web personnel) . Édité par Davy Defaud, Nils Ratusznik, M5oul, Benoît Sibaud, frederic et bubar🦥. Modéré par bubar🦥. Licence CC By‑SA.
52
1
mai
2018
Fedora

En ce mardi 1er mai 2018, les utilisateurs du Projet Fedora seront ravis d’apprendre la disponibilité de la version 28 de Fedora.

Fedora est une distribution GNU/Linux 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.

Notons que Fedora 28, avec ses quelques 52 changements officiels validés, est sans conteste la version comportant le plus de changements de son histoire. C’est d’autant plus remarquable que la date de sortie initiale n’a jamais été repoussée, une première !

GNOME Shell nature

Sommaire

Bureautique

Passage à GNOME 3.28. Ce nouvel environnement apporte comme souvent quelques raffinements :

  • disparition des icônes sur le bureau, faute de mainteneur ;
  • nouveau visuel du clavier virtuel ;
  • nouveau dessin pour la police par défaut Cantarell ;
  • Fichiers gère les marque‐pages dans un dossier dédié dans la barre latérale ;
  • Photos prend en charge l’importation depuis un média amovible ;
  • mise à disposition du logiciel Utilisation, sorte de Moniteur système simplifié qui reprend les codes des applications similaires sur Mobile pour simplifier la maintenance de l’appareil ;
  • le glisser‐déposer de fichiers entre l’hôte et la machine virtuelle est disponible dans Machines ; par ailleurs, Machines peut télécharger elle‐même l’ISO de votre distribution favorite ;
  • les fenêtres jointes latéralement sont redimensionnées ensemble ;
  • GNOME Logiciels peut gérer les dépôts tiers depuis Fedora 27, un dépôt RPM Fusion pour Steam et le pilote NVIDIA est proposé nativement dans cette interface de gestion.

L’environnement Sugar est disponible en version 0.112. Cet environnement bureautique, destiné à l’ordinateur OLPC continue d’évoluer. En premier lieu, le matériel est mieux géré avec la machine qui s’éteint en cas de batterie trop faible pour éviter de l’endommager sur une coupure trop brutale. La gestion des écrans externes est meilleure. Le navigateur affiche la progression des téléchargements, supporte le copier‐coller par les raccourcis clavier et bénéficie d’une meilleure auto‐complétion. Enfin, l’ensemble des applications profite de la demande de sauvegarde du document en cas de fermeture de l’application, si ceux‐ci n’ont pas été sauvegardés.

Mise à jour de Fontconfig à la version 2.13. Le plus gros du travail concerne l’amélioration des performances. Le cache peut être partagé entre dossiers montés via bind ce qui bénéficie aux applications Flatpak. L’empreinte du cache a été considérablement réduite, ce qui permet d’accélérer sa lecture et sa génération. À titre d’exemple, régénérer le cache prend cinq à dix fois moins de temps qu’auparavant. Fontconfig apporte aussi la gestion des polices de caractères variables.

Réduction de la redondance entre Anaconda et gnome-initial-setup, pour la version Workstation, dans la configuration demandée à l’utilisateur créée lors de l’installation. L’objectif étant, bien entendu, de simplifier le code mais aussi la procédure d’installation afin de rendre le tout cohérent.

Anaconda en plus léger

Sont configurés par Anaconda :

  • le clavier ;
  • la date ;
  • l’heure ;
  • la langue et la disposition clavier.

Gnome-initial-setup se chargera de la création du premier utilisateur.

Seront supprimés :

  • le nom d’hôte réseau ;
  • le mot de passe du super utilisateur root.

En effet, Fedora Workstation suit la politique d’Ubuntu en désactivant le compte root par défaut. Le premier utilisateur sera donc super‐utilisateur, configuré automatiquement via sudo. Il reste possible de l’activer manuellement si vous le souhaitez.

Le premier utilisateur est donc configuré après le premier redémarrage, une session temporaire de GNOME Shell sera ouverte automatiquement pour créer le compte utilisateur avec l’ensemble des paramètres usuels, avant de vous proposer de vous connecter avec le nom de cet utilisateur via GDM.

Fedora a poussé petit à petit l’intégration des modules invités de VirtualBox dans le noyau Linux. Ainsi, si vous utilisez VirtualBox pour virtualiser un système Fedora, ce dernier aura automatiquement, et dès l’installation, la gestion du plein écran et du presse‐papiers partagé par exemple. La gestion du dossier partagé devrait arriver après la sortie de Fedora 28. Il ne sera donc plus nécessaire de recourir à l’installation manuelle des modules invités pour profiter pleinement de Fedora dans VirtualBox.

Gestion du matériel

Meilleure gestion de l’autonomie des ordinateurs portables avec un processeur Intel. Cela passe par une meilleure gestion de l’énergie des ports SATA pour disques durs et SSD (gain estimé de 1 W à 1,5 W) en reprenant le mode utilisé par Windows : med_power_with_dipm. Intel HDA codec pour le multimédia est mis en sommeil après une seconde d’inactivité (gain estimé de 0,4 W) et activation de l’économie d’énergie pour les récepteurs Bluetooth en USB (gain estimé de 0,4 W si tous les ports USB sont en repos). Sachant qu’un ordinateur portable récent non orienté puissance consomme moins de 10 W (7,5 W par exemple sur un Lenovo E560) en usage non intensif. Cela peut donner 20 % d’autonomie supplémentaire.

Intégration de la norme Thunderbolt 3 qui est une norme concurrente à l’USB sur de nombreux points. Cette norme permet par exemple de gérer des transferts de données ou de brancher un écran externe sur le même port. Cependant, ces périphériques pourraient accéder à des informations sensibles de votre machine lors du branchement, pour des raisons de performances. En effet, pour alléger la charge du processeur, ces périphériques peuvent être maîtres de la communication DMA. C’est pourquoi la norme propose une politique de sécurité pour que l’utilisateur autorise ou non l’accès à l’ordinateur et éviter que discrètement un appareil branché sans votre consentement ait un libre accès. Maintenant, il est possible de configurer ces accès dans GNOME par le biais des notifications ou du panneau de configuration qui lui est dédié.

Nouveau panneau de configuration, pour Thunderbolt

Les politiques de sécurité possibles sont :

  • none : pas de restrictions ;
  • dponly : uniquement la sortie vidéo via DisplayPort ;
  • user : les périphériques connectés doivent recevoir une autorisation de l’utilisateur ;
  • secure : l’utilisateur doit autoriser l’appareil également et l’appareil doit prouver son identité avec une clef secrète.

Mise à jour de VA-API à la version 1.1.0, qui change l’API et l’ABI de ce module vidéo pour plate‐forme Intel mais propose en contrepartie une meilleure exploitation de l’accélération du matériel récent de la marque. L’API propose par exemple la gestion du multi‐frame, la gestion du format H.264 FEI et la correction de bogues concernant Wayland. Le module Video Processing Pipeline peut maintenant effectuer des rotations, des effets miroirs, de la composition et utiliser le filtre couleur Total.

Les caméras et autres appareils optiques compatibles RealSens d’Intel peuvent utiliser la bibliothèque librealsense 1 et 2 pour exploiter l’entièreté de cette gamme technologique. Cette bibliothèque permettant d’exploiter l’ensemble des informations proposées par ces capteurs, comme calculer les dimensions d’un objet en 3D. Le paquet librealsense réfèrera à la version 2 de la bibliothèque pour les versions modernes, un nouveau paquet librealsense1 sera à installer manuellement pour le matériel plus ancien comme les modèles F200, R200, LR200 et ZR300.

Internationalisation

Ibus Typing utilise maintenant la boîte de dialogue pour les emoji afin de proposer des symboles Unicode en tapant leur description. Cette boîte de dialogue permettait de simplifier la saisie d’emojis en se basant sur leur descriptif pour trouver celui que souhaitait l’utilisateur. Cela a été généralisé à l’ensemble des caractères Unicode pour simplifier la saisie de caractères complexes. Ainsi, saisir copyright sign propose le symbole © connu sous le nom technique U+00A9.

La bibliothèque libidn passe à la version 2.0.0 forçant le passage de la norme IDNA2003 à IDNA2008 pour l’ensemble des applications. Ces normes ne sont pas compatibles ce qui pouvait mener à des incompatibilités entre les applications mais pouvaient aussi être une source d’attaque par redirection, en faisant passer un site Web pour un autre par exemple. Ces normes servent à transcrire un nom de domaine Internet Unicode en une chaîne unique de caractères 8 bits latins comme faß.de qui devient fass.de ou xn--fa-hia.de respectivement.
Nouveau logiciel : GNOME Utilisation

Les données concernant l’internationalisation de GLibc sont mises à jour à partir des fichiers ISO et CLDR de 2015 (Unicode 9.0) en remplacement de iso14651_t1_common qui avait quinze ans. Cela permettra de corriger pas mal d’erreurs, dont des tris alphabétiques dans des langages moins courants en Occident. Ou les symboles infinis et ensemble vide qui étaient considérés comme identiques dans les applications.

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.

Administration système

Anaconda, le programme d’installation, devient modulaire. La communication se fait via une API plus stable en DBus, permettant d’augmenter les tests disponibles et de simplifier la personnalisation ou l’extension par l’utilisateur suivant ses envies et ses besoins. Cette décomposition en modules est progressive. Cette version propose par exemple la lecture et l’interprétation des fichiers kickstarts. Les tâches plus critiques, comme la tâche qui installe les paquets, seront effectuées plus tard. À terme, il permettra à Anaconda de ne pas nécessiter les droits du super‐utilisateur et donc d’avoir un rendu natif sous Wayland.

authselect remplace authconfig et devient l’outil de configuration par défaut pour les modules d’authentification enfichables PAM et le fichier nsswitch.conf.

L’outil authconfig devenait assez difficile à maintenir, car il gérait l’ensemble des possibilités de configurer les droits des utilisateurs et leur authentification. Par exemple, il devait définir le profil pour signifier qu’il gérait les utilisateurs locaux avec des fichiers, des utilisateurs distants avec sssd ou winbind le tout avec authentification par carte ou empreinte digitale. Ensuite, il devait configurer chaque démon comme sssd. Cette explosion combinatoire le rendait peu fiable et une nouvelle fonctionnalité d’un des démons qu’il gère pouvait prendre du temps à être prise en charge, avec beaucoup de régressions en prime.

authselect est plus simple, car il laisse la configuration des démons à la charge de l’administrateur système ou à des outils dédiés comme realmd ou ipa-client-install. Par conséquent, sa configuration est plus simple et stable, avec des configurations par défaut mieux testées. L’outil est aussi bien nettoyé, écrit en C, ce qui le rend plus léger et apte à une inclusion dans une installation très minimale de Fedora.

Le paquet tcp_wrappers est supprimé. Cet outil servait à bloquer les connexions entrantes au niveau applicatif, alors que Linux ne bénéficiait pas de pare‐feu à la hauteur. De plus, il n’était plus réellement maintenu. Son utilisation doit être remplacée par iptables, ou mieux par firewalld.

OpenLDAP abandonne la gestion de TCP wrappers également. Ce qui consiste concrètement, outre ce qui a été décrit précédemment, à supprimer l’option --enable-wrappers lors de la compilation.

libnsl et nss_nis sont proposés hors de GLibc, comme recommandé par le projet officiel depuis quelque temps. libnsl passe à la version 2 au passage permettant la compatibilité de NIS avec la norme IPv6.

De même pour Sun RPC dont la gestion dans GLibc est supprimée au profit de libtirpc qui permet, entre autres, la gestion native de l’IPv6. Le faire au niveau de la GLibc aurait nécessité un changement d’ABI important.

Le stockage par défaut des clefs et autres certificats de sécurité par la bibliothèque NSS est le format de SQLite au lieu de DBM. La bibliothèque NSS est souvent utilisée pour sa base de données de clefs de sécurité, les certificats et pour valider la chaîne de confiance. Par défaut NSS utilisait le format DBM qui reposait sur l’antique Berkeley DB. Le principal inconvénient est qu’il n’est pas possible de faire des accès parallèles, ce qui peut mener régulièrement à des corruptions de la base de données. En passant à SQLite par défaut, l’accès parallèle est bien entendu géré nativement sans option supplémentaire pour l’utilisateur.

OpenLDAP utilise OpenSSL au lieu de NSS, comme recommandé par le projet officiel. OpenLDAP avait ajouté la gestion de NSS en 2008 pour en cesser sa prise en charge en 2014, ne le gardant disponible uniquement que pour de vieilles applications telles que 389DS. Par conséquent, certains bogues autours de PKI et TLS n’ont jamais été corrigés avec l’utilisation de NSS, le passage avec OpenSSL permettra de les résoudre comme d’autres fonctionnalités ou problèmes à venir.

Clients et serveurs OpenLDAP vont utiliser uniquement les certificats partagés du système. Ainsi, OpenLDAP exploite une nouveauté introduite par Fedora 19 qui est de centraliser les certificats et leur exclusion au sein du système, tout comme l’ont fait depuis NSS, GnuTLS, OpenSSL et Java. Ainsi, il ne va plus lire le contenu du chemin /etc/openldap/certs mais utilise l’outil p11-kit. Ceci simplifiera la maintenance des certificats pour le projet Fedora tout comme pour les administrateurs système.
Nouvelle interface pour créer un utilisateur dans gnome-initial-setup…

Les utilisateur et groupe nobody voient leurs UID et GUID passer tous deux de 99 à 65534, l’utilisateur et le groupe nfsnobody sont supprimés, et nobody n’est plus utilisé de manière systématique par défaut pour certains services. La situation précédente était source de confusion :

  • le couple GID:UID 65534:65534 (utilisé par nfsnobody:nfsnobody) est la valeur limite employée par le noyau, qui s’en sert pour désigner un utilisateur qui n’existe pas dans cet espace de noms, soit très couramment pour les conteneurs, nfsnobody est donc un nom impropre pour cet usage ;
  • nfsnobody n’est défini que si le paquet nfs-utils est installé, ce qui n’est pas forcément courant dans le cas des conteneurs pour lesquels on souhaite minimiser la taille du système ;
  • nobody était, quant à lui, employé parfois pour des services du système où aucun utilisateur spécifique n’était rattaché à son exécution ; le souci est que tout processus lancé avec cet utilisateur pouvait communiquer facilement avec les autres processus de cet utilisateur, voire utiliser ptrace pour les analyser ; des utilisateurs dédiés seront créés pour couvrir cette situation ;
  • Fedora était la seule distribution populaire à ne pas suivre la convention nobody:nobody ou nobody:nogroup pour le couple GID:UID 65534:65534 ce qui est source d’erreurs ou de confusion pour l’administrateur système.

Étant donné l’importance du changement et la difficulté de changer cela à chaud, cela ne concernera que les systèmes nouvellement installés.

Première étape de la nouvelle version de la politique de sécurité par défaut. Afin d’améliorer la sécurité du système, les applications fournies par Fedora devront suivre une politique de sécurité qui sera peu à peu renforcée. Pour cette première étape, par défaut, les clefs RSA doivent avoir une taille minimum de 2 048 bits et l’algorithme DSA est désactivé. Le passage à TLS 1.2 minimum par défaut est repoussé pour le moment.

Les paquets de gestion de Kerberos dans Python sont grandement remaniés. python-krbV, pykerberos et python-requests-kerberos sont remplacés par python-gssapi. Cela a été fait pour les raisons suivantes :

  • python-krbV n’est pas compatible Python 3 ;
  • pykerberos n’a pas de documentation et est trop minimaliste ;
  • python-requests-kerberos n’est plus maintenu ;
  • python-gssapi utilise une interface répandue et standard GSS-API pour l’authentification, est implémentée par la version MIT et Heimdal Kerberos en plus d’être plus simple à l’usage.

libcurl utilisera libssh au lieu de libssh2 pour les protocoles SCP et SFTP ce qui permet l’utilisation de l’authentification GSS-API et l’usage d’algorithmes plus sécurisés par défaut. De plus, la version libssh est mieux maintenue.

L’outil time passe à la version 1.8. Cette version change de licence vers GPL v3 et GFDL. Elle bénéficie de nouveaux codes d’erreur pour signifier l’erreur de la commande exécutée ou s’il y a eu un souci dans time lui‐même. Enfin, elle a une nouvelle sortie par défaut. L’affichage conforme POSIX reste possible via l’option -p.

Comparez :

  • avant :

    $ /usr/bin/time -p /bin/false
    
    real 0,00
    user 0,00
    sys 0,00
    
  • après :

    $ /usr/bin/time /bin/false
    
    Command exited with non-zero status 1
    0.00user 0.00system 0:00.00elapsed 100%CPU (0avgtext+0avgdata 1076maxresident)k
    0inputs+0outputs (0major+54minor)pagefaults 0swaps
    

Mise à disposition initiale de l’application Stratis Storage qui est une application Python communiquant à travers DBus pour gérer l’espace de stockage du système. Reposant sur le système de fichiers XFS pour le moment, son but est de proposer des fonctionnalités populaires avec Btrfs, ZFS ou LVM mais en plus simple pour l’utilisateur comme les clichés, l’intégrité des données ou mettre en place d’un système de cache.

Une interface de programmation est mise à disposition et il possède aussi des fonctionnalités de réparation et de surveillance du système de fichiers. Cela reste la première étape de son intégration, il est prévu à terme de l’utiliser dans Anaconda ou dnf pour simplifier l’installation de Fedora ou faciliter un retour en arrière après une mise à jour.

Facter passe de la version 2.4.3 à 3.9.2. Cet outil qui permet de récupérer facilement des informations sur le système a pour principal changement sa réécriture de Ruby à C++. Des portages de son interface en Ruby existent notamment pour l’utilisation de puppet. Cela est fourni, entre autres, par le paquet ruby-facter, si vous en avez besoin pour un de vos projets. Il permet au passage de se débarrasser peu à peu de l’obsolète net-tools dans Fedora.

Développement

Binutils passe à la version 2.29.1. Cette version qui reste un changement mineur, corrige quelques bogues sans nouvelles fonctionnalités. Le plus notable est sans doute sa compilation avec l’option -z defs pour considérer les symboles indéfinis comme des erreurs. Pour notamment éviter de fournir un fichier DSO ayant besoin de variantes versionnées d’une fonction, qui ne sont pas spécifiées.
… avec la définition du mot de passe !

GLibc 2.27 est utilisée par défaut. Cette version peut être compilée en statique pour des applications avec la position indépendante du code activée (PIE) ce qui peut améliorer la sécurité de l’application. De nombreuses fonctions mathématiques ont été optimisées pour l’architecture x86_64 : asin, atan2, exp, expf, log, pow, atan, sin, cosf, sinf, sincosf et tan. Pour cette architecture, avec les instructions SSE 4.1 disponibles, trunc et truncf sont concernés aussi. Et pour l’ensemble des architectures, c’est expf, exp2f, logf, log2f, powf, sinf, cosf et sincosf qui ont été optimisées. Les instructions memfd_create, copy_file_range et mlock2 ont été implémentées, tout comme des fonctions de protections de clefs en mémoire avec la suite pkey_alloc, pkey_free, pkey_mprotect, pkey_set et pkey_get.

De manière plus significative pour la compatibilité, la fonction abort ne vide plus le flux de la sortie standard avant de quitter l’application, ce qui posait des soucis de corruption des données et entraînait des interblocages. La famille de fonctions malloc n’affichera plus l’adresse de l’échec et la pile d’appels en cas de détection d’une erreur du tas. Pour des raisons de sécurité, mais aussi de performances.

La partie cryptographique libcrypt de GLibc est remplacée par libxcrypt. Cette séparation, non encore actée en amont, a été effectuée pour découpler l’évolution des deux bibliothèques et permettre ainsi une évolution plus rapide de libcrypt pour améliorer la sécurité. Ce changement repose par la création d’une nouvelle bibliothèque nommée libxcrypt, qui est compatible avec libcrypt mais pas inversement. Car, si les symboles de libcrypt ont été correctement reproduits, de nouveaux sont disponibles, comme les fonctions crypt_rn, crypt_ra, crypt_gensalt, crypt_gensalt_rn et crypt_gensalt_ra.

GCC 8 devient le compilateur de référence. Cette version apporte bien sûr une meilleure gestion des architectures ou processeurs récents comme les dernières puces d’ARM, d’Intel ou d’AMD. La gestion du C++17 a aussi été améliorée avec un début d’implémentation pour le futur C++20. Un grand effort a été effectué pour améliorer la qualité de la lisibilité des erreurs de compilation en C et C++ avec même des conseils sur la correction à appliquer. Des améliorations notables au niveau des performances sont disponibles comme une meilleure heuristique pour « inliner » une fonction ou une meilleure exploitation des profils pour une application,

Coup de Boost à la version 1.66. Cette bibliothèque majeure de l’écosystème C++ progresse de deux versions. Outre de multiples corrections de bogues, cette version bénéficie de cinq nouvelles sous‐bibliothèques :

  • Boost.PolyCollection, pour des conteneurs rapides d’objets polymorphiques ;
  • Boost.Stacktrace, pour obtenir, sauvegarder, copier ou afficher une pile d’appels ;
  • Boost.Beast, qui permet de faire du HTTP portable avec WebSocket, tout en utilisant exclusivement des opérations réseau en C++11 avec Boost.Asio ;
  • Boost.CallableTraits, qui est un fichier d’en‐tête C++11 pour l’inspection au moment de la compilation et la manipulation de tous les types callables ;
  • Boost.Mp11, qui fait de la métaprogrammation pour C++11.

Le cadriciel Web de Python DJango dégaine à la version 2.0. Le changement majeur est, bien entendu, la non gestion de Python 2. Pour les applications ayant toujours besoin de Python 2 avec Django, le paquet python2-django1.11 avec ses sous‐paquets sont proposés. En termes de fonctionnalités, Django simplifie sa fonction django.urls.path() pour la rendre plus lisible à l’usage. La partie contrib.admin est plus adaptée à la navigation sur mobile. Enfin, une nouvelle classe Window fait son apparition pour permettre l’application de fonctions sur des frames ou des partitions de données.

Ruby est poli à la version 2.5. Cette version propose Unicode 10.0, une amélioration des performances d’environ 5 à 10 % en réduisant l’ajout des instructions de traçage tout le long du code généré. Il gère la mesure de la couverture des branches et des méthodes, ce qui permet d’avoir une vue plus précise de la couverture du code. L’affichage des erreurs et de la pile d’appels dans le terminal se fait dans le sens inverse (du plus récent au plus ancien) pour simplifier sa lecture.

Le compilateur Haskell GHC évolue à la version 8.2. Les informations de débogue DWARF sont plus fiables. La génération de code aux points de jointures est améliorée. De nouveaux messages d’erreurs sont colorisés. Enfin, dans certaines circonstances, une exception est lancée en cas de dépassement dans le tas.

De même pour le couple Erlang/OTP pour la version 20. Cette version propose aux applications de gérer certains signaux du système comme SIGHUP. Les dirty schedulers sont implémentés pour permettre l’exécution de code natif avec moins de restrictions sur le temps d’exécution. L’utilisation d’Unicode a été améliorée, que ce soit dans les chaînes de caractères ou dans le module Atom. gen_fsm est déclaré obsolète en faveur de l’usage de gen_statem. Le module zlib pour la compression peut être utilisé de manière concurrente. Fedora a ajouté la gestion de journald pour la journalisation, auparavant chaque application avait son propre système.

Le langage Go court vers la version 1.10. Comme souvent, une légère amélioration des performances devrait être mesurée. Les résultats de l’exécution des tests sont maintenant cachés. Cgo gère la notation C de l’instruction typedef et vérifie les valeurs de CFLAGS avec et depuis une liste blanche.

L’éléphant PHP avance prudemment à la version 7.2. Cette version inclut la bibliothèque Sodium pour la cryptographie ce qui permet d’incorporer dans PHP des fonctionnalités essentielles pour la sécurité de base de ses applications. Cela se fait aux dépens de Mcrypt qui a été supprimé du noyau du langage car plus maintenu depuis 2007. Les clefs numériques pour tableau ou objet peuvent être échangées lors d’un cast. Une erreur est émise en cas d’appel de l’instruction count sur un objet non dénombrable.

Mise à jour de giflib vers la version 5.1.4. Cette version majeure de la bibliothèque de rendu des images GIF a diminué grandement le nombre de plantages et le nombre de failles de sécurité liés à des fichiers GIF mal formés. La bibliothèque est réentrante et concurrente. Il n’y a plus de variable d’erreur globale, il faut utiliser les fonctions GifError ou GifLastError dorénavant. De nombreuses fonctions ont été renommées ou préfixées. Un paquet compat-giflib est proposé pour faciliter la transition aux utilisateurs.

Les symboles de débogage PE pour les applications compilées avec MinGW (à destination de Windows donc) seront conservés pour simplifier le débogage natif. Les autres symboles seront bien conservés dans le dossier indépendant .debug. Cela a un surcoût d’environ 17 % d’espace disque pour une application compilée par ce biais mais permet de bénéficier de plus d’informations pour l’utilisateur et le développeur.

Modularité

Ajout des dépôts modular, modular-updates et modular-updates-testing pour proposer des composants dans des versions différentes de celles des dépôts natifs de Fedora. Cela est proposé par défaut pour l’édition Server, optionnel pour les autres. Il s’agit de la continuité des travaux de Fedora.NEXT, afin de proposer une nouvelle vision des distributions. Ainsi, l’utilisateur peut choisir d’utiliser une version plus récente (ou ancienne) de Python que celle proposée nativement. Mais seuls des composants toujours maintenus par le projet officiel sont proposés. Pour le moment, les modules suivants sont disponibles : Docker, Django, NodeJS et le langage Go.
Il n’a jamais été aussi simple d’utiliser RPMFusion

Projet Fedora

L’architecture AArch64 (ARM 64 bits) devient une architecture primaire pour Fedora Server, donnant lieu à une meilleure promotion sur les sites Web du projet Fedora et à une meilleure qualité des images officielles. Il pourra aussi avoir une image DVD, une image Qcow2 pour le Cloud et une image Docker.

L’architecture s390x est proposée aux images Cloud, Docker et Atomic. Cela améliorera la disponibilité de Fedora pour cette architecture d’IBM.

Les binaires empaquetés par Fedora et compilés avec GCC sont maintenant annotés grâce à un greffon de GCC. Cela permet de plus facilement retrouver ou vérifier les options de compilation l’ayant généré ou les propriétés de son ABI. Par exemple, pour vérifier si le renforcement d’une application a bien été appliqué. En contrepartie, les applications et bibliothèques prendront un petit peu plus d’espace disque, environ 2 % en moyenne.

Renforcement des options de compilation par défaut pour une meilleure sécurité du système :

  • -fstack-clash-protection, pour que l’application plante plutôt que l’attaquant ne prenne le contrôle de l’application via les objets de la pile ou du tas ;
  • D_GLIBCXX_ASSERTIONS, pour appliquer une vérification des bornes des tableaux, vecteurs et chaînes de caractères en C++ ;
  • -fcf-protection=full -mcet, qui active la technologie Control‐flow Enforcement Technology d’Intel pour l’architecture x86_64, qui protège notamment les applications des attaques return‐oriented programming et call‐jump‐oriented programming ;
  • .got.plt, pour que la table globale des décalages des adresses soit en lecture seule ;
  • --enable-default-pie, pour activer la position indépendante du code pour toutes les architectures.

Définition et empaquetage des applications écrites en Rust. Fedora propose ainsi quelques applications écrites dans ce langage :

  • exa, qui est l’équivalent d’un ls en plus élaboré (mais non POSIX) ;
  • ripgrep, qui est l’équivalent d’un grep en plus moderne, avec exécution nativement en parallèle (mais non POSIX) ;
  • tokei, qui génère des statistiques sur le code d’un projet logiciel comme cloc.

Activation de Python Generators pour permettre aux empaqueteurs de choisir d’utiliser ou non le générateur automatique de dépendances à un module Python au lancement, ce qui a déjà été proposé depuis un moment par des distributions comme Mageia par exemple. 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 ladite dépendance, puisqu’elle est résolue en amont.

Les scriptlets ldconfig sont supprimés, du moins pour les paquets installant les bibliothèques partagées dans des endroits standard. Cela simplifiera la maintenance des fichiers specs RPM car il n’est plus nécessaire d’y faire appel, et l’installation des paquets sera également plus rapide. En effet, l’appel à ldconfig sera effectué une fois par transaction (par exemple, la mise à jour de plusieurs paquets en même temps) et non pour chaque paquet de cette transaction.

La communauté francophone

L’association

Logo de Borsalinux-fr
Borsalinux-fr est ’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 régulièrement des évènements promotionnels, comme les Rencontres Fedora, 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 du 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 à 20 h 30 (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 cinq années de retard accumulées sur le sujet.

Le moindre que l’on puisse dire, c’est que le travail abattu est important : près de soixante‐dix 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 21 h (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 à transmettre, n’hésitez pas à participer.

Aller plus loin

  • # Fedora a changé de crémerie!

    Posté par  . Évalué à 10.

    Avant elle sortait dans les bacs, maintenant elle sort dans l'étang…

    Ok, c'est bon, je --> []

  • # Modularité

    Posté par  . Évalué à 2.

    Mauvaise copié d'écran pour illustrer la "modularité".

    La modularité s'active via les paquets fedora-repos-modular et, pour les plus courageux, fedora-repos-rawhide-modular.

    S'utilise avec dnf (pour fedora-repos-modular) :
    # dnf module list
    Fedora Modular 28 - x86_64
    Name Stream Version Profiles

    nodejs 6 20180308155546 default, development, …

    reviewboard 2.5 [d] 20180206144254 default, server

        Fedora Modular 28 - x86_64 - Test Updates
        Name                Stream     Version           Profiles                      
        ant                 1.10       20180411122322    default                       
        container-tools     2017.0     20180313063358    default                       
        cri-o               2017.0     20180313134242    default                       
        django              1.6        20180328170906    default, python2_development  
        docker              2017.0     20180314032736    default                       
        flatpak-runtime     f28        20180307202408    buildroot, runtime, ...       
        golang              1.10       20180327174614    default                       
        golang-ecosystem    2017.0     20180312141905    default                       
        mariadb             10.1       20180419160707    client, default, ...          
        maven               3.5        20180411112402    default                       
        mysql               5.6        20180418190000    client, default, ...          
        nodejs              8          20180328183715    default, development, ...     
        nodejs              9          20180405175619    default, development, ...     
        postgresql          9.6        20180429200004    client, default, ...          
        reviewboard         3.0        20180411170047    default, server               
    
        Hint: [d]efault, [e]nabled, [i]nstalled, [l]ocked
    
    • [^] # Re: Modularité

      Posté par  (site web personnel) . Évalué à 6.

      Il n'est pas mentionné que cette image sert à activer les dépôts modulaires. ;)

      C'est pour illustrer la mise en avant de RPMFusion, pour des raisons d'aération j’ai étalé les captures le long de la dépêche (sinon il n'y en aurait qu'au début).

      Merci d'avoir précisé cela pour les petits curieux.

  • # KDE Plasma

    Posté par  . Évalué à 6.

    C'est quand meme curieux que KDE Plasma ne soit cite nul part. Je trouve que Fedora propose un bureau de tres bonne qualite maintenant, ils pourraient en faire mention.

    • [^] # Re: KDE Plasma

      Posté par  . Évalué à 1.

      J'hésite à tenter Plasma, l'intégration est vraiment bonne sur Fedora ?

      • [^] # Re: KDE Plasma

        Posté par  . Évalué à 2.

        Franchement, je n'ai pas grand chose a critiquer car tout marche comme il faut, regulierement mis a jour, et avec un large choix de paquets. Je ne suis pas un power user de KDE - tu as peut etre des besoins differents de moi.

      • [^] # Re: KDE Plasma

        Posté par  . Évalué à 2.

        D'apres mes tests dans une image virtuelle, plasma fonctionne pas trop mal par contre oublie l'integration que gnome peut avoir. Par contre fais attention au niveau de la panoplie de logiciel KDE compare a Kubuntu ou Arch j'ai l'impression qu'il y en a beaucoup moins dans les repositories de base.

        Example pour le probleme d'integration: gnome-software permet de faire l'upgrade vers la nouvelle version sous Gnome… Sous KDE il ne fait pas l'etape redemarrage…

      • [^] # Re: KDE Plasma

        Posté par  . Évalué à -2.

        Euh comment dire …
        J'ai installé Fedora 27-KDE y a 2-3 semaines sur un ordi, et j'en garde une mauvaise expérience, entre autre dû à Discover (gestionnaire de paquet KDE qui peut aussi gérer les dépôts de Fedora) qui présente pas mal de comportements frustrants à mon sens. Mais à part Discover, j'ai été franchement déçu par pas mal de petites choses, je m'attendais à mieux.

        Emacs le fait depuis 30 ans.

      • [^] # Re: KDE Plasma

        Posté par  (site web personnel) . Évalué à 2. Dernière modification le 02 mai 2018 à 17:48.

        L'intégration est bonne, sauf pour Discovery qui ne sert à rien (bug bien trop souvent, pas de support flatpak, etc ..) bon, pas grave.
        Il y a aussi régulièrement des bugs : la boite à miniatures qui a parfois un comportement ératique (ne veut plus ouvrir les menus spécifiques de chaque icones) ou encore redshift qui se retrouve avec un icon type "avion de chasse" ou encore kdisplay qui n'est pas présent dans cette boite (et qui de toutes façons, via systemsettings, ne prends pas en charge la luminosité des écrans hdmi externes, il faut passer par "brightness-master" mais qui a un conflit avec redshift). Bref, il y a de petits bugs, mais vraiment pas grand chose. En plus c'est tellement agréable de voir l'évolution du projet Kde Plasma au fur et à mesure des mises à jour (puisqu'il est livré "as it", les wallpapers changent, les icons évoluent, etc)

        Il y a aussi les "spins" Fedora Scientific & Fedora Astronomy et Fedora Jam qui sont avec Kde Plasma.

      • [^] # Re: KDE Plasma

        Posté par  . Évalué à 3.

        Il y a comme une impression de passage à vide pour KDE …

        qt.io s'est positionné sur un marché où il est concurrentielle : l'embarqué, un sujet récurrent sur leur blog

        Pour le desktop, le web est à la mode à tord où à raison, il paraît que html5 c'est beau alors que le reste c'est moche …

        D'où les whitepapers QML versus HTML5 versus Java FX. Qui compare le desktop linux versus windows versus OS X ?

        Résultat concret l'impression sous Qt a été délaissé au point ou un carré de 100 mm est imprimé en 96 mm … ( il y a eu des commits depuis peu )

        Qt5 a mis en cryogénisation les QtWidgets, c'est un peu déroutant quant un projet floss a été écrit en Qt3 …

        Donc ça marche mais avec des bogues plus ou moins casse pieds par ci par là, des tas de choses pas fini et à l'ergonomie douteuse.

        Un desktop c'est quoi en faîte ? Personnellement je suis plus intéressé par wayland qui tarde à venir.

        Et je penses que les projets floss les plus significatifs en Qt : krita, kusescore, valentina, vlc …) jouent la carte de la portabilité plutôt que les kf5.

    • [^] # Re: KDE Plasma

      Posté par  (site web personnel) . Évalué à 7.

      Personnellement mes dépêches ne parlent que des changements validés ou opérés par Fedora. Ce qui est déjà un gros travail. ;)

      De plus, contrairement à GNOME, Plasma est mis à jour après la sortie de Fedora ce qui rendrait non significatif sa mention car disponible aussi probablement dans Fedora 27 bientôt sans travail supplémentaire.

      Cela n'enlève nullement la qualité de travail des mainteneurs de Plasma et de Fedora sur ce composant.

      • [^] # Re: KDE Plasma

        Posté par  . Évalué à 3.

        Personnellement mes dépêches ne parlent que des changements validés ou opérés par Fedora. Ce qui est déjà un gros travail. ;)

        La depeche est de tres bonne qualite, en aucun cas je ne voudrais blamer son redacteur. Le fond de mon commentaire est plus lie au projet Fedora lui-meme qui ne met en aucun cas le travail des mainteneurs de KDE / Plasma en evidence. Il est aussi pour rappeler que meme si Fedora communique surtout sur GNOME et le systeme en general, ceux qui aiment Plasma ne seront pas decus.

  • # Modules Fedora 28

    Posté par  . Évalué à 7.

    J'ai fait un petit tuto sur l'utilisation des modules dans Fedora 28.

    Merci pour vos retours d'expérience si vous étiez amené-e à les mettre en place.

  • # Gnome HS après Upgrade Fedora 27 -> Fedora 28

    Posté par  . Évalué à 5. Dernière modification le 04 mai 2018 à 17:04.

    Bonjour,

    Juste pour partager un retour d'expérience suite à la mise à jour de la version 27 vers 28.
    J'ai lancé la mise à jour en mode clickodrome en me disant que de nos jours les upgrades à la main en console sur ce type de distrib c'était du passé.

    Mais non, des paquets (à jour) pourtant dans le dépôt officiel (Kicad pour mon cas) ont réussi à empêcher la mise à jour avec une erreur trop abstraite pour en faire quoi que ce soit. Donc suppression du paquet kicad en console, et c'est passé. La réinstallation du paquet kicad en suivant n'a pas posé de problème. Probablement un problème de dépendance mal gérée.

    Ah bah non, en fait une fois l'installation terminée, impossible de se loguer sous Gnome… quelle idée d'avoir lancé la mise à jour le matin avant d'attaquer une grosse journée de travail…

    Verdict, une extension gnome (system-monitor) qui fait crasher gnome-shell à l'ouverture de session.
    Donc de nouveau ouverture d'une console tty, pour aller désactiver les extensions à coup de gsettings.

    L'erreur remontée dans les logs pour le crash n'était pas du tout explicite, et c'est à force d'essayer toutes (assez peu au final) les pistes trouvées que la désactivation des extensions a fini par sauver la journée de travail. D'où ce message en espérant que ça puisse aider quelqu'un d'autre qui aurait l'idée de faire ça le mauvais jour.

    Morale de l'histoire :
    - pas très malin de faire la mise à jour le matin avant de travailler
    - la ligne de commande a encore de beaux jours devant elle pour les upgrades

    • [^] # Re: Gnome HS après Upgrade Fedora 27 -> Fedora 28

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      Ça se trouve, tu serais passé par Logiciels, tu n'aurais pas eu de soucis :p

      Sinon, pour les extensions problématiques, il me semblait que celles qui faisaient planter le shell étaient automatiquement désactivées pour pouvoir redémarrer normalement.

      • [^] # Re: Gnome HS après Upgrade Fedora 27 -> Fedora 28

        Posté par  . Évalué à 1.

        C'est justement ça le clickodrome utilisé : passer par Logiciels et accepter simplement sa proposition de tout casser :)

        • [^] # Re: Gnome HS après Upgrade Fedora 27 -> Fedora 28

          Posté par  . Évalué à 0.

          J'ai une difficulté similaire mais à cause de l'extension qui affiche les IP dans la barre du haut (là j'ai plus son nom en tête).
          C'est la première fois que ça m'arrive. Les mises à niveaux s'étaient toujours passées nickel pour moi jusque là.

          • [^] # Re: Gnome HS après Upgrade Fedora 27 -> Fedora 28

            Posté par  (site web personnel) . Évalué à 3.

            Pour moi les soucis de GNOME Shell avec ses extensions est sans lien avec la mise à niveau de Fedora. Le soucis est que Gnome Shell ne :

            • Désactive pas automatiquement les extensions en cas de soucis ;
            • Ne propose pas de désactiver les extensions sans le lancer de manière graphique ;
            • Ne mets pas à jour automatiquement ses extensions.

            Du coup si tu n'utilises pas les paquets de la distributions, une mise à niveau avec une incompatibilité peut poser soucis. Mais cela serait vrai avec OpenSuse, Ubuntu, Archlinux ou Debian.

            C'est à GNOME selon moi de résoudre le soucis d'une manière ou d'une autre.

    • [^] # Re: Gnome HS après Upgrade Fedora 27 -> Fedora 28

      Posté par  (site web personnel) . Évalué à 3.

      J'ai eu le problème l'année dernière avec un thème qui faisait planter mon Gnome après l'upgrade en 26.

      Maintenant, ce que je fais avant chaque upgrade :
      - remettre les divers thèmes au thème par défaut
      - désactiver toutes les extensions Gnome

      Et je remets le tout après l'upgrade.

      Je pense qu'ils devraient faire cela par défaut parce que ça m'a l'air assez courant comme problème et s'y retrouver à coup de gsettings, c'est un peu désagréable - doux euphémisme.

    • [^] # Re: Gnome HS après Upgrade Fedora 27 -> Fedora 28

      Posté par  . Évalué à -1.

      Je fais des Upgrade successifs depuis la version 18 sur des serveurs en prod sans avoir à réinstaller ! Je tiens à préciser que je n'ai pas installé la couche graphique dont je me contrefous par ailleurs sur des serveurs. ;+)

  • # Fréquence des mise à jour

    Posté par  . Évalué à 0.

    Je ne sais pas vous, mais chez moi j'ai depuis la version 27 fréquemment pour ne pas dire tous les jours des notifications de mises à jour, et parfois même en mettant à jour les paquets, j'ai une nouvelle notification de mise à jour quelques heures après. Je ne me rappelle pas d'en avoir eu autant avant la 26, les même dépôts activés (free, nonfree etc.).

    • [^] # Re: Fréquence des mise à jour

      Posté par  (site web personnel) . Évalué à 1.

      Heu… je dois être en Fedora depuis la version 7 et j'ai pas eut autant de MAJ que tu le dis…

      A tout péter j'en ai 2 par semaines - on doit pas avoir les même paquets.

      Ou alors mes notifs sont super lentes.

      • [^] # Re: Fréquence des mise à jour

        Posté par  (site web personnel) . Évalué à 1.

        Je viens de comprendre ta phrase "je suis en version 27" - je pensais que tu voulais dire que tu l'utilises depuis la version 27… d'où mon "j'utilise depuis la version 7", mais ma remarque reste valable pour le nombre de MAJ

        Bon bref je me suis mélangé.

        Il devient quoi Mickaël Vendetta ?

        Et ils sont où mes cachets… ?

  • # Release notes incomplètes

    Posté par  (site web personnel) . Évalué à 0.

    Bonjour

    Le lien vers les release notes n'amène pas à celles-ci. D'ailleurs, il ne semble pas y avoir de notes en français.

    Et le lien anglais pointe vers des notes où la moitié des sujets sont vides. Ça fait vraiment bizarre pour cette distribution plutôt connue.

    https://docs.fedoraproject.org/f28/release-notes/

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.