En ce mardi 15 mai 2012, le projet Fedora est fier d’annoncer la sortie de la distribution GNU/Linux Fedora 17. Cette version est baptisée du nom de « Beefy Miracle », pour la promotion des repas au sein des relations du Projet Fedora.
Fedora est une distribution communautaire développée par le projet éponyme et sponsorisée par Red Hat, qui lui fournit des développeurs, ainsi que des moyens financiers et logistiques. Fedora se présente 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, la célèbre suite de compilateurs GCC, etc. Cliquez ici pour voir l’ensemble des contributions de Red Hat.
Par ailleurs, les distributions RHEL et CentOS (plus indirectement), plus professionnelles et plus éprouvées, sont développées à partir d’une version de Fedora et mises à jour environ tous les trois à cinq ans. Notons que CentOS est un clone gratuit de RHEL, cette dernière étant certes libre, mais payante, offrant ainsi un support technique et une garantie.
Nouveautés majeures
Bureautique
Gnome 3.4 débarque sur Fedora ! Cette version corrige les erreurs de jeunesse du nouveau Gnome 3. Au menu : pleins de détails sur l'utilisation corrigés avec un thème légèrement refait. Le navigateur Epiphany profite d'une grande retouche de son interface pour plus de sobriété et utilise SQLite pour gérer l'historique. Le gestionnaire de clé supporte la gestion des cartes à puce. L'utilitaire de gestion des disques a subi une refonte totale pour passer de la technologie HAL à udisk et GTK+2 à GTK+3 qui permet également de simplifier légèrement l'interface. Pour se rapprocher du support des tablettes, il y a le support du mode avion et du multi-point pour l'écran tactile. Le carnet d'adresses apparaît, le logiciel de messagerie peut maintenant gérer les comptes Windows Live depuis le passage à XMPP chez Microsoft. L'application « Box » permet de gérer très simplement la virtualisation à l'aide de la bibliothèque libvirt. Pour finir, Gnome-Shell peut être utilisé malgré des cartes graphiques vieillissantes pour supprimer le mode « dégradé ».
KDE n'est pas en reste avec la version 4.8. Le gestionnaire de fenêtre KWin dispose d'une amélioration notable de la gestion des ressources pour ses effets graphiques. le navigateur de fichier Dolphin améliore ses performances d'affichage et possède un nouveau mode d'affichage par défaut, cependant la vue par colonne a été également supprimée. L'éditeur de texte Kate améliore sa gestion du chercher/remplacer et peut utiliser les raccourcis clavier de l'éditeur Vim. Okular peut maintenant annoter les PDF, KMix peut modifier sans PulseAudio le son de chaque application. Le gestionnaire de connexions KNetWorkManager peut partager une connexion Wifi et son interface a été repensé pour plus de simplicité. Le gestionnaire d'énergie est plus intelligent, ne réduisant pas la luminosité en cas de lecture vidéo ou de photos par exemple. KSecretService qui gère les mots de passes peut stocker celle des applications non-KDE pour plus de transparence.
Mais derrière ces deux gestionnaires de bureau très connus, Sugar continue toujours sa progression au sein de Fedora avec la version 0.96. Rappelons que cette interface est utilisée dans le cadre de l'opération OLPC avec l'ordinateur XO-1. cette version débute la transition vers la bibliothèque graphique GTK+3 comme le navigateur Web ou le lecteur de PDF et livres numériques. Les « activités » en profite pour obtenir de nombreuses améliorations et corrections diverses. Et enfin, cette version supporte NetworkManager 0.9 permettant une meilleure gestion de la connexion réseau qui est pour l'ordinateur XO-1 une première nécessité pour la gestion du réseau ad-hoc notamment.
Dans un autre registre, le support des profils ICC par CUPS, qui gère les impressions. Les profils ICC servent à déterminer la correspondance de couleur entre périphériques informatiques. En effet, les matériels informatiques comme les écrans, appareils photos, webcam ou imprimantes ne représentent pas la couleur de la même façon et ce même d'un modèle à l'autre d'un même constructeur ! Ainsi un rouge sur votre écran peut être un rouge différent sur le papier imprimé ou sur l'écran du voisin, et ce problème est très important dans les métiers infographigues où la couleur doit être fidèlement représenté sur toute la chaine de production (de la photo au papier). Fedora apporte la solution pour le passage de l'écran à l'impression par ce support. Le démon colord correspondant choisira le profil adapté à l'impression pour le rendu et appliqué le filtre.
Fedora 17 possède une meilleure gestion de l'énergie de par l'usage de nouveaux profils de consommation et évoluera d'ici plusieurs versions de Fedora. L'objectif est d'utiliser dbus pour rendre le système plus intelligent, notamment au branchement et débranchement de la prise pour un ordinateur portable. Il est possible de concevoir des profils adaptés à chaque situation ce qui devrait diminuer la consommation globale d'énergie, notamment quand l'ordinateur est sur batterie. Il est également possible d'étendre ces profils aux machines virtuelles via KVM.
Support des écrans multitouch. Fedora a patché le serveur X mais aussi ses bibliothèques associées pour permettre l'usage du multitouch au sein des interfaces de Fedora, dont Gnome-Shell est adapté pour cet usage notamment.
Fedora avec sa version 17 signe la fin du support des pilotes 3D DRI version 1. Ceci allège le code de Mesa en ne gérant plus les pilotes suivants : i810, mga, r128, savage, sis, tdfx et unichrome qui sont en règle général très peu utilisés aujourd'hui et plus maintenus depuis de nombreuses années. Le 2D reste supporté et de part l'amélioration de Gnome-Shell, il est possible de l'utilise maintenant avec de tels pilotes nativement.
Prédiction de lors de la frappe en anglais. En effet, iBus, un utilitaire qui permet de changer de disposition de clavier aisément peut maintenant utiliser un dictionnaire pour réaliser de l'auto-complétion de mot dans la langue de Shakespear où que vous soyez dans l'interface. L'utilisateur détermine les mots à placer dans le dictionnaire au fur et à mesure et a accès à la suggestion de mot notamment en cas de mauvaise orthographe…
Intégration de libpinyin dans iBus pour les langues chinoises. L'objectif est d'augmenter la vitesse de frappe pour ces langues en se basant sur la phrase tapée afin de suggérer certains caractères, diminuant ainsi le nombre de touches nécessaires pour saisir le caractère.
Création d'un utilitaire pour configurer les polices du système. Cette configuration est propre à chaque utilisateur et peut se faire langue par langue disponible par le système.
Mise à disposition de GIMP 2.8. La nouvelle version majeure du logiciel de traitement d'image libre permet de rendre l'interface en mode une fenêtre comme son concurrent Adobe Photoshop ou de garder l'apparence par défaut. L'équipe de développement offre aussi le groupement de calque tant attendu, l'édition de texte se fait directement dans le canvas (donc sur l'image et non dans une fenêtre à part). Il est aussi possible de modifier la dynamique des brosses. Bien entendu, d'autres nouveautés sont présentes.
Les dispositions claviers m17n pour les langues hindoues ont été modifiées selon un nouveau standard en préparation par le gouvernement indien.
Dans la même veine, le support de Unicode 6.0 pour les langues hindoues est également disponible avec les polices Lohit, mettant plus de caractères disponibles pour ces langues. Le rendu n'est pas idéal et devrait mener à des peaufinages à l'avenir.
Administration système
Le plus gros travail dans ce domaine était le déplacement de la racine (/) vers le dossier user (/usr) entrainant la disparition des répertoires /bin, /sbin, /lib et /lib64. Ces répertoires étaient présents pour des raisons historiques et techniques qui n'ont plus lieu d'être aujourd'hui. /usr est un dossier qui était aujourd'hui indispensable et la séparation des 4 dossiers de /usr posaient des problèmes techniques pour la séquence de boot avec initramfs qui avait besoin de nombreux logiciels pour son exécution un peu dispersés dans tous ces répertoires qui ne sont pas montés au même instant en général. cette séparation va entrainer un certain allègement du système du boot qui est plus simple, mais aussi d'améliorer la compatibilité avec d'autres Unix comme Solaris qui ont déjà opéré ce changement et la gestion des paquets en sera également simplifié. En effet, il n'y a pas de cas particuliers à gérer, tout ira dans le même dossier, sans risque de confusion à l'usage.
Conversion des derniers scripts init de SysV vers systemd. systemd est l'application qui gère le lancement des processus lors du boot de la machine afin qu'elle se lance correctement. Systemd a déjà remplacé init chez Fedora pour cette tâche pour la 15e version, mais la plupart des services utilisaient la couche de compatibilité entre init et systemd. Maintenant ce sont des scripts natifs pour systemd et qui par conséquent exploitent mieux ses possibilités. Le temps de démarrage peut être sensiblement amélioré et la configuration de ces scripts sera beaucoup plus simple pour les administrateurs systèmes. ce travail a débuté depuis de nombreuses versions de Fedora mais n'a jamais été totalement aboutie.
Le pare-feu dynamique fait son apparition sous forme de démon nommée firewalld. Son objectif est de remplacer les outils iptables qui sont statiques. Le principal inconvénient étant qu'actuellement le pare-feu statique nécessite un redémarrage de ce dernier en cas de modification des paramètres entrainant un problème de sécurité et nécessitant même de perdre la connexion durant ce laps de temps. Ce problème est résolu avec ce nouveau pare-feu qui demandera une ou deux versions de Fedora pour remplacer iptables totalement, le temps de refaire les outils autours comme system-config-firewall et de l'adaptation entier du système et des programmes à cette modification majeure.
Suppression de ConsoleKit qui est la couche permettant de lister les utilisateurs connectés au système et permettant notamment la connexion de nouveaux utilisateurs depuis le gestionnaire de connexions graphique. Ce composant est remplacé par systemd. L'objectif affiché est de rendre cette partie du système plus sécurisé, petit et simple pour la maintenance. Cela introduit le support du multi-session automatique mais aussi la possibilité d'autoriser le lancement de service utilisateurs sans la connexion de l'utilisateur en question via une tâche automatique par cron.
Le support de systèmes de fichiers ext4 au delà de 16 Tio, la nouvelle limite étant de 100 Tio. En effet, aujourd'hui il est facile avec les systèmes RAID d'obtenir pour pas très chers des systèmes approchant cette capacité limite pouvant nuire à son usage en entreprise. Cette extension permet de retarder le problème dans ce cas d'utilisation.
Les services du systèmes lancés par systemd peuvent obtenir des dossiers dans le répertoire /tmp avec des droits d'accès supplémentaires. L'objectif est de rompre la communication entre l'utilisateur et ces services pour éviter des problèmes de sécurité par le procédé d'escalade de privilège. En effet, un service pouvant obtenir des droits supplémentaires sur le système par rapport à l'utilisateur de base, l'usage à mauvais escient de cette communication pouvait permettre à un utilisateur de base d'obtenir ces droits supplémentaires.
Il est dorénavant possible à SELinux de ne plus autoriser à d'autres processus de lire la mémoire d'autres processus que le sien, cela passe par le booléen deny_ptrace. L'objectif est que tout processus ne puisse examiner la mémoire d'un autre processus et ce pour assurer une plus grande sécurité du système même pour ceux qui utilisent une étiquette identique ou proche de l'autre processus à examiner. Pour l'administrateur système ou le programmeur qui en aurait besoin, il est possible de désactiver cette option, notamment pour l'usage du débogueur gdb. La désactivation se fait par la commande : setsebool deny_ptrace 0 ; la désactivation quant à elle nécessite de remplacer le 0 par 1.
NetwonkManager se dote de nouvelles fonctions dédiées aux usages professionnels ou de virtualisation que sont les connexions de liaisons, IP-over-infiniband et VLAN. L'objectif est de pouvoir utiliser Fedora dans le plus de configurations possible. Un travail important a été effectué pour intégrer le tout avec la virtualisation par libvirt.
Toujours au sujet du réseau, Fedora 17 utilise toutes ses requêtes à travers le protocole DNSSEC. Ce protocole est destiné à combler les manques de sécurité de son célèbre prédécesseur qu'est le DNS avec la protection des données de bout en bout empêchant ainsi l'exploitation des données par un serveur situé dans la liaison. Le tout utilise un système de clé et actuellement plus d'une vingtaine de TLD sont signés et les serveurs racines le sont également.
Il est maintenant possible d'utiliser les noyaux Linux cibles nommés LIO pour iSCSI et FCoE, le premier utilisant le stockage via des liaisons par TCP/IP quant au second cela est assuré par le protocole Fibre Channel sur un réseau Ethernet. Ceci passe par l'utilisation d'un nouvel outil de configuration qui est targetcli qui remplace l'outil tgtd qui était plus complexe à configurer et un fichier de configuration plus difficile à appréhender. Par l'usage d'une API Python, il est également possible de programmer l’interaction avec targetcli.
mkdumprd est réécrit avec kexec-tools et l'utilitaire dracut pour générer l'initrd du noyau kdump. La génération d'un initrd est complexe car cet outil doit participer au lancement du système avec le minimum d'outils à disposition et sans se planter, sinon il est impossible de démarrer tout le système. Or mkdumprd était complexe et nécessitait une lourde maintenance, d'où le passage à dracut qui réalise déjà cette tâche pour les noyaux classiques, les noyaux kdump permettant d'obtenir des informations de débogages supplémentaires. Ceci pourrait être réutilisé par d'autres distributions facilement, dracut étant déjà disponible sur d'autres distributions.
Unification de la vérification de la sécurité des mots de passe par l'usage de la bibliothèque libpwquality. L'objectif est que tout logiciel demandant la création d'un mot de passe ait les mêmes limites que les autres quant à la qualité du mot de passe demandée. ceci est configurable dans le fichier /etc/security/pwquality.conf. Cela facilitera la vie des administrateurs systèmes qui n'auront à changer qu'à un seul endroit la configuration de ces limitations.
Création de thermostat, une application pour faire du contrôle de mesures de plusieurs instances de machines virtuelles Java (et donc des applications Java) mais aussi pour réaliser de la configuration de ces derniers. Pour le moment l'application se limite seulement aux machines virtuelles locales. Les machines virtuelles libres IcedTea/OpenJDK sont supportés. Une interface graphique est également disponible, le support du « cloud » se fera dans les prochaines versions de l'utilitaire.
SSSD monte en grade avec l'intégration de sudo et de l'autofs. SSSD est un ensemble de services pour réaliser ce que l'on appelle l'identification centralisée, très répandue dans les grandes entreprises. À la différence des méthodes traditionnelles, SSSD permet d'utiliser le compte distant en local sans avoir besoin du serveur central, c'est-à-dire qu'un utilisateur déjà authentifié sur une machine pourra éteindre la machine et l'utiliser sur un autre réseau avec le même compte utilisateur qui celui utilisé précédemment, le tout passe par le protocole LDAP. L'intégration de sudo permet d'importer également dans le cache de SSSD les paramétrages liés à sudo et de pouvoir les utiliser en mode hors-ligne, comme pour les utilisateurs traditionnels. L'intégration de AutoFS permet de monter automatiquement certains périphériques distants via Samba ou NFS par exemple en mode hors ligne également. L'usage du cache SSSD permet d'économiser des requêtes LDAP pour les obtenir si on est en mode connecté.
Apparition du démon numad qui surveille la topologie et la consommation des processus pour réaliser un alignement mémoire des applications ou des machines virtuelles pour de meilleures performances.
Remplacement de dm-snapshot par thin-provisionning. Cet outil permet de créer des clichés d'un disque virtuel (comme une partition) et de les mettre dans le même volume que tous les autres clichés dans le but de réduire l'occupation disque et de favoriser les partages de données entre les machines virtuelles. Il est dorénavant possible de déterminer une profondeur de clichés de manière récursive (donc le nombre de clichés de clichés de clichés, etc. à réaliser au maximum). Il est possible de sauvegarder les métadonnées associées en dehors du volume considéré, notamment en les mettant sur un disque SSD pour de meilleure performance.
Débarquement du simulateur de réseau Ns-3, en sachant que le programme ns-2 est déjà utilisé par de nombreuses universités américaines pour l'enseignement réseau.
Virtualisation
Cloud computing
Développement
Le Projet Fedora met tout en œuvre pour être une distribution phare des développeurs en mettant à disposition des derniers outils existants.
Pour commencer, la célèbre suite de compilateurs GCC a été mis à jour à la version 4.7 et l'ensemble des paquets ont été conçus par cette dernière. Cette version propose la prise en charge expérimentale de la mémoire transactionnelle pour le domaine de la programmation concurrente, des optimisations pour les derniers nés de l'architecture x86_64, la prise en charge du Cortex-A7 pour l'architecture ARM, diverses optimisations pour l'architecture SPARC et notamment la prise en compte de certaines nouveautés des nouvelles normes C11 et C++11. Et bien d'autres encore !
Pour ceux qui sont intéressés par la cross-compilation à destination de Windows, Mingw-w64 propose la compilation d'exécutable pour Windows 32 ou 64 bits, au choix de l'utilisateur.
Les amateurs de Ruby pourront utiliser la version 1.9.3 de ce langage avec une nouvelle ligne de conduite pour empaqueter les paquets liés à ce langage comme ses extensions. RubyGems peut être plus facilement installé par les utilisateur normaux dans leur propre répertoire. cette version de Ruby permet l'ajout de code sous licence Ruby ou BSD (et non plus GPLv2), meilleur support du multi‐threading, chargement plus rapide des bibliothèques et support de l'Unicode 6.0.
Pour les développeurs web, PHP 5.4 arrive également sur Fedora qui intègre notamment un mini serveur web pour le développement, une amélioration notable des performances, nettoyage des options de configuration, des changements syntaxiques dont pour la gestion des tableaux et plein d'autres choses encore !
Parmi les langages connus, Java 7 remplace désormais la version 6 avec OpenJDK 7.0. La machine virtuelle supporte les langages typés dynamiquement, support de Unicode 6.0, meilleur support de l'accélération XRender pour les interfaces graphiques Java 2D, l'arrivée d'un nouveau synthétiseur de son et bien d'autres nouveautés.
Pour continuer dans la lignée de Java, JBoss AS7 est aussi disponible qui est un serveur d'applications Java EE, très mis en avant dans les offres Red-Hat d'ailleurs. Le temps de démarrage passe ainsi de 45 à 5 secondes environ grâce à l'indexation de métadonnées et l'usage de cache. Il utilise au repos moins de 20 Mo de mémoire contre plus de 100 pour son prédécesseur en minimisant les temps de pause du garbadge collector et en ne chargeant que les archives jar nécessaires. Le tout devient plus modulaire en ne chargeant que les classes nécessaires et isolant les applications. La configuration est maintenant plus simple et élégant en centralisant les options et se centrant sur l'utilisateur.
Pour finir avec le langage d'Oracle, l’environnement de développement Eclipse Juno est mis à jour. Cette version n'est pas encore totalement stable et devrait être publiée fin juin de cette année.
La célèbre bibliothèque du langage C++, Boost, arrive en version 1.48. Les bibliothèques d'Asio, Chrono, Geometry et Math étant les plus modifiées avec notamment une amélioration des performances pour certaines.
Pour les langages plus « exotiques », le langage D poursuit sa progression au sein du Projet Fedora. Il est maintenant possible de concevoir des interfaces avec GTK et OpenGL ou encore utiliser SQLite pour les bases de données. Le compilateur a également été mis à jour.
Pour les amateurs du langage fonctionnel Erlang, ce langage passe à la version R15. Une nouvelle interface graphique permet de faciliter le traçage du comportement des applications du ce langage. Il met à disposition une nouvelle implémentation du SSL, les exceptions précisent maintenant la ligne et le fichier concernés ce qui facilite grandement le débogage ou le rapport d'erreur et d'autres modifications.
Pour ceux qui préfèrent le langage Haskell, c'est la version 2011.4 qui débarque pour la plateforme Haskell. Ce dernier étant un ensemble d'applications pour programmer de manière confortable en Haskell.
Puis le langage Opa 0.9 arrive. Ce langage est destiné pour réaliser des application web riches, distribuées et sécurisées ou des applications de base de donnée. Cette plateforme est tout en un en permettant une exécution complète avec simplement un système d'exploitation fonctionnel. Cette version apporte entre autre une nouvelle syntaxe plus proche du JavaScript, le support de nombreuses possibilités du HTML5 et le support de MongoDB pour la gestion de base de données. De manière plus générale, cette plateforme fonctionne enfin sous Windows et FreeBSD en plus de Mac OS X et GNU/Linux déjà supportés.
Enfin, pour finir avec cette partie liée au développement, le Projet Fedora fournit le service darkserver. Ce service est destiné à aider les utilisateurs à trouver des informations à partir d'un build-id ou du nom d'un paquets RPM. Darkserver utilise un format json pour être plus facilement compréhensible par d'autres programmes et réaliser l'interrogation du serveur SQL contenant les informations. Ce service est intégré à l'infrastructure du Projet Fedora, notamment dans l'interface web de Koji pour les empaqueteurs. Par exemple, si vous souhaitez obtenir des informations sur le build-id « aa995549415cd52a6fbbc21811dfc2dd00e2c242 », sa sortie sera « {"buildid":"aa995549415cd52a6fbbc21811dfc2dd00e2c242","elf":"/usr/lib/mailman/pythonlib/japanese/c/_japanese_codecs.so","rpm":"mailman-2.1.12-17.el6.x86_64.rpm"} ».
Autres
La méthode de conception et d'installation des LiveCD de Fedora ont été revus avec l'utilisation de lorax comme utilitaire. Lorax permet de créer des CD d'installation à partir du logiciel Anaconda, le logiciel d'installation de Fedora et de ses dérivées. Car actuellement, la conception d'un liveCD nécessite de lourds travaux sur lorax, Anaconda, python-imgcreate et livecd-creator, l'objectif serait de se passer des deux derniers ce qui allègera la procédure, introduirait moins de bogues et permettre d'étendre les fonctionnalités à ce niveau car le système serait plus simple.
Mise à jour majeures de logiciels
Voici la liste des mises à jour majeures des paquets de Fedora avec les liens vers leurs notes de versions :
- Noyau Linux 3.3
- Firefox 12
- Thunderbird 12
- Gnome 3.4
- KDE 4.8
- Sugar 0.96
- GIMP 2.8
- LibreOffice 3.5
- GCC 4.7
- Ruby 1.9.3
- Haskell platforme 2011.4
- Erlang R15
- Eclipse Juno
- OpenJDK 7
- JBoss AS7
- PHP 5.4
- Boost 1.48
- Opa 0.9
Liens externes
- Site officiel du projet Fedora
- Site officiel de la communauté francophone de Fedora
- Notes de versions officielles en français
- Téléchargez Fedora 17 par Torrent ! (méthode à privilégier)
- Téléchargez Fedora 17 par FTP ou HTTP