En ce mardi 8 novembre 2011, le Projet Fedora est fier d'annoncer la sortie de la distribution GNU/Linux Fedora 16. Cette version est baptisée du nom de « Verne » en hommage à l'auteur français de science fiction : Jules Verne.
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 inclut davantage de nouveautés par rapport à d'autres distributions, ce qui peut en faire une distribution instable à certains égards.
Fedora garde toutefois 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.
Liste des nouveautés
Interface et logiciels grands public
Comme à chaque version de Fedora, on a le droit à une nouvelle version de GNOME qui est ici la version 3.2. Cette version poursuit la voie de maturation de cette nouvelle branche du logiciel. Tout d'abord on peut noter des corrections d'ordre esthétiques pour le gestionnaire de connexions GDM et une interface qui prend mieux en compte les petits écrans et des accéléromètres des tablettes pour la rotation de l'écran. Il y a aussi la possibilité de transformer un site web (ou plutôt une application web comme un webmail) en un logiciel local en apparence, de manière similaire au projet Prism de Mozilla. Il y a l'intégration des comptes distants pour échanger des données avec vos comptes Google ou Facebook par exemple directement depuis Gnome. Le branchement de périphérique est maintenant signalé et on assiste à la naissance d'un nouveau logiciel pour gérer les documents.
Mais pour les utilisateurs de KDE, Fedora intègre la version 4.7. Pour commencer le gestionnaire de connexions KDM permet d’interagir avec Grub 2 pour ordonner un redémarrage vers un OS déterminé à l'avance. Les effets graphiques du gestionnaire de fenêtre KWin sont mieux exploité par les appareils mobiles qui ont une carte graphique moins puissante, ces effets sont également plus fluides. Le logiciel de cartographie Marble est capable de calculer un itinéraire hors ligne et le navigateur de fichier Dolphin a eu une modification de son interface qui est maintenant plus épurée et il gère mieux les gros fichiers qui avaient tendance à le faire planter. L'éditeur de texte Kate a eu le droit à de nombreuses retouches et supporte le mode d'édition de vi pour les amateurs du fonctionnement de cet éditeur très célèbre. Pour finir, Digikam qui permet de gérer les photos et de travailler dessus est à la version 2.0 qui apporte la reconnaissance faciale et le tag de géolocalisation des photos.
Fedora est une des distributions travaillant le plus de concert avec l'interface graphique Sugar destiné à l'ordinateur XO, l'ordinateur portable pour les jeunes des pays pauvres. Aujourd'hui l'interface Sugar arrive à la version 0,94. Le journal d'activité de cette interface propose de dupliquer les fichiers et l'option de copie permet de copier une donnée vers un périphérique externe ou le presse papier. Sugar gère maintenant par défaut les dossiers utilisateurs de documents du projet Freedesktop.org, en effet Sugar travaillait sur des dossiers différents pour cet usage et cela ne permettait pas l'échange facile de travail entre Gnome, Sugar et KDE qui respectent tous maintenant cette convention. Il est possible de visionner le code source de Sugar toolkit et les animation du lancement de certaines activités ont été modifiées. Blender a été mis à jour vers la version 2.5. Cette nouvelle version fournit un certain nombre de nouvelles fonctionnalités, mais surtout une interface graphique améliorée. Le format de fichier openCOLLADA est dorénavant pris en charge, ce qui permet d'échanger des données de modélisation 3D vers d'autres applications.
La fondation Mozilla propose également Firefox et Thunderbird 7e du nom. Pour les deux une mise à jour du moteur de rendu Gecko a été effectué pour tenir compte des derniers standards du web. Un gain important de mémoire a été fait et Firefox propose un outil pour envoyer à la Fondation Mozilla des données concernant la gestion de la mémoire. Thunderbird a eu le droit à des corrections d'interfaces et sur le carnet d'adresses.
Cloud
Ajout de Aeolus Conductor qui est une interface internet et un outil pour créer et gérer des instances de cloud au travers de ses multiples formes, le tout à partir d'une seule interface. Il gère les réseaux de cloud EC2, RHEV-M et Rackspace.
Ajout de Condor Cloud qui est une implémentation de cloud d'infrastructure en tant que service (IaaS). Il permet de concevoir autant de machines virtuelles à partir d'une ou des images que l'on souhaite pour ensuite les envoyer vers les hôtes configurés. Par la suite Condor lancera ces dites machines virtuelles via libvirt ou KVM qui sont les outils de gestion de la virtualisation au sein de Fedora. Cet outil utilise un API Deltacloud.
Support du système de fichier HekaFS qui est basé sur GlusterFS mais destiné au cloud uniquement ce qui permet le support de l'API POSIX. Il permet une authentification fortement sécurisée par l'usage de clés et certificats d'OpenSSL, le support du chiffrement des données, un outil de gestion par ligne de commande ou interface web pour la configuration. Cependant, la réplication locale ou étendue des données n'est pas encore supportée de même qu'une amélioration des performances est attendue pour l'avenir.
Conception de Matahari qui est une collection d'API basé sur QMF (extension de la norme AMQP) pour la gestion et la surveillance des systèmes des interfaces distantes ou locales. Cela se fait à l'aide de multiples agents que l'on peut notamment ajouter (tout comme les API). Les agents disponibles s'occupent des hôtes, des services systèmes et des interfaces réseaux. Ceci va permettre le déploiement plus facile de Fedora dans les environnements de Cloud ou des clusters et de gérer ses configurations en locale ou à distance. À terme cet ensemble d'outils devrait remplacer les outils existants pour la configuration de Fedora (nommés system-config-*).
Création de pacemaker-cloud qui doit permettre une haute disponibilité des services des applications dans les machines virtuelles. Cette fonctionnalité fournit un interpréteur de commandes pour créer des images de machines virtuelles, associant les ressources avec les machines virtuelles et en combinant ces images dans un déploiement. Un déploiement peut alors être lancé et contrôlé avec une haute disponibilité. Si des machines virtuelles ou des applications échouent, ces composants vont être redémarrés, réduisant le temps moyen de réparation (MTTR) améliorant ainsi la disponibilité d'un opérateur lors d'un redémarrage manuel.
Support de OpenStack qui est un ensemble de services pour créer et lancer des clouds et des infrastructures de stockage.
Virtualisation
Le support de Xen en natif par le noyau Linux. Cette nouveauté permettra d'utiliser aussi bien Xen que QEMU avec KVM pour la virtualisation par défaut au sein de Fedora.
La libvirt qui est le composant de base de la virtualisation sous Fedora a apporté des améliorations sur le support du réseau. Une API a été conçue a cet effet faisant une meilleure abstraction entre la configuration du réseau sur la machine virtuelle et la configuration matérielle réelle. La qualité de service pour le débit peut être paramétrée via des les fichiers de configuration sur des fichiers XML. Maintenant le déploiement et le paramétrage du réseau sur de multiples machines hôtes pour les machines virtuelles ont été simplifiés.
Support de Sheepdog qui est un système de stockage objet distribué. En fait c'est un stockage basé sur le concept d'objet qui peut être distribué et répliqué assez facilement. Avec ce système on constate une augmentation des performances et est compatible avec les solutions basées sur QEMU et KVM étendant de fait les possibilités dans ce domaine pour ces outils de virtualisation.
Fedora présente la redirection des ports USB par le réseau pour les machines virtuelles utilisant QEMU et KVM. La redirection de ports USB permettra aux machines virtuelles de s'échanger par le réseau des information USB et ce même si l'hôte les hébergeant sont différents ! Le partage de ces données est ainsi facilité et fait un grand pas en avant vers les solutions propriétaires de virtualisation qui proposent déjà des fonctionnalités de ce type.
Mise à jour de Spice vers la version 0.10. Ce logiciel permet l’interaction avec les machines virtuelles à distance et cette version apporte le support tant attendu du partage des ports USB par le client et le serveur ce qui rejoint également la fonctionnalité dont on a parlé précédemment. Il y a également ce partage qui se fait sur le volume audio. On note l'arrivée de xspice pour accéder à distance à un serveur X et le support de spice intégré à virt-manager 0.9.
Au sujet de virt-manager, ce dernier permet maintenant l'inspection des systèmes invités. Il affiche dorénavant entre autre : le système d'exploitation et les applications d'un système invité mais aussi son système de fichier et la base de registre de Windows sont accessibles en lecture seule.
Administration
Suppression totale de HAL. HAL est une couche d'abstraction matérielle pour le logiciel avant le noyau. Cependant HAL est vieillissant et a vu l'émergence depuis quelques années de ses futurs remplaçants : udisk, upower et udev. Maintenant ces applications le remplacent totalement. Ce petit nettoyage conduira à un démarrage plus rapide de Fedora et la possibilité de lancer certaines applications plus rapidement.
Par défaut, l'UID du premier l'utilisateur devient 1001 au lieu de 501. L'UID est le numéro d'identification sur un système Unix d'un utilisateur et permet de gérer les droits de ce dernier sur l'ensemble du système. Ce changement permet d'allouer plus de comptes systèmes (qui ont un numéro inférieur), de délimiter une frontière claire entre les comptes systèmes dynamiques et statiques ce qui n'était pas le cas avant. De plus, ce changement permet de s'aligner sur l'attribution des UID des distributions comme Debian et OpenSUSE.
Le pilote du système de fichier ext4 servira également pour manipuler les systèmes de fichiers ext2 et ext3. En effet ces systèmes de fichiers sont assez proches et possèdent une bonne partie du code en commun. Ce remplacement permet de diminuer la taille du noyau et de faciliter la maintenance et la fiabilité de l'ensemble.
Grub 2 devient le nouveau chargeur de démarrage par défaut. Cette version qui est en développement depuis de nombreuses années permet de mieux manipuler les technologies récentes en ce qui concerne le chargement d'un système d'exploitation. En effet, le BIOS est remplacé peu à peu par l'EFI et Grub 2 gère bien mieux cette situation que son prédécesseur. De plus Grub 2 supporte plus de systèmes de fichiers (Btrfs et ext4 en natif) que son prédécesseur. L'ancienne version refusant toute amélioration, l'ajout de Grub 2 permettra d'utiliser ces dernières technologies de manière plus simple et plus fiable. Le fichier de configuration de cette version est également plus complexe mais plus puissant.
Chrony remplace ntpd par défaut pour la synchronisation de l'heure par le réseau. Chrony a l'avantage de mieux gérer cette possibilité pour les ordinateurs portables qui ne sont pas connectés constamment à Internet, de réaliser une synchronisation plus rapide. Mais aussi sa consommation mémoire est 5 fois moindre tout en ayant besoin d'être moins souvent « réveillé » ce qui préserve les ressources. Cependant Chrony peut avoir un décalage légèrement plus grand et ne supporte pas toutes les fonctionnalités du protocole NTP comme l'authentification par « Autokey ».
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. Par conséquent le script de personnalisation /etc/rc.d/rc.local n'est plus inclus par défaut. Les administrateurs qui ont encore besoin de cette fonctionnalité doivent créer ce fichier et le rendre exécutable. Il sera ainsi exécuté en tant que root au démarrage.
Activation de nss-myhostname par défaut. Ce logiciel permet de configurer le nom de la machine (le nom de l'hôte local) sans passer par des fichiers de configurations avec les droits de super-utilisateurs. Gnome 3 peut exploiter cette possibilité via son panneau de configuration et cela permet d'avoir toujours un nom d'hôte résolvable même en cas de changement dynamique via DHCP entre autre.
Fedora a travaillé sur l'unification du rapport d'erreurs depuis les applications présentant un problème. Fedora souhaite plus de retours des bogues logiciels présents et plutôt que d'utiliser le BugZilla du projet qui nécessite des opérations manuelles complexes pour obtenir l'information utile aux développeurs, des logiciels (comme ABRT) permettent de collecter les données automatiquement et de faire gagner du temps aux utilisateurs en évitant d'aller sur le BugZilla du projet pour remplir cette tâche. Seulement avec le temps les interfaces de rapports d'erreur ce sont diversifiés et font perdre du temps aux utilisateurs qui perdent vites leurs repères. Une nouvelle API a été mise en place pour les programmes en langage Python comme Anaconda (programme d'installation), setroubleshoot (alertes SELinux), firstboot (configuration initiale du système), etc. Cette modification n'impacte pas les logiciels en eux même, une simple dépendance est ajoutée pour réaliser cette tâche de manière transparente.
Support de TigerVNC 1.1 qui apporte de nombreuses fonctionnalités dont le support de VeNCrypt qui gère les connexions chiffrées de VNC avec SSL qui est très répandu. Ce procédé fonctionne pour les solutions basées sur les logiciels VNC, serveur Xvnc et vncviewer. L'usage de la connexion graphique distante est ainsi plus sécurisée.
Programmation
Pour le C++, la dernière version de la bibliothèque Boost, la version 1.47, arrive avec pas mal de corrections de bogues et d'ajouts, notamment les composants Chrono (mesure du temps), Geometry (calcul et représentation géométriques), Phoenix et Ratio (calculs sur les nombres rationnels). Boost est une des bibliothèques de références en ce qui concerne les statistiques et les mathématiques.
Support de script pour GCC en Python 2 et 3. La célèbre suite de compilateurs libre est codé principalement en C mais peut dès maintenant avoir des extensions codées en Python. Ainsi il deviendra possible d'étendre facilement les fonctionnalités de GCC sans devoir forcément s'attaquer au code source de ce logiciel conséquent. Python étant un langage de script réputé, très utilisé au sein de Fedora, et de haut niveau, cela permettra de rendre le développement sous Fedora plus attractif pour les développeurs.
Perl 5.14 débarque sous Fedora. Cette version apporte le support de l'Unicode 6, de mieux gérer la mémoire et la gestion des réseaux IPv6. Bien entendu, des modifications de syntaxes sont présentes avec des corrections de bogues et d'autres fonctionnalités supplémentaires.
Le langage D est supporté dans sa version 2 par Fedora 16. Ce langage moderne est censé allier la facilité d'apprentissage avec des performances proches du C et du C++.
Les utilisateurs de Haskell ne seront pas en reste. De nombreuses bibliothèques pour ce langage ont été portées, la version du Glasgow Haskell Compiler passe à 7.0.4 qui corrige de nombreux bogues dont l'impossibilité de compiler avec LLVM avec de fichiers trop volumineux et haskell-plateform a été mise à jour vers la version 2011.2.0.1, ce dernier étant un ensemble d'applications pour programmer de manière confortable en Haskell.
Pour finir, le langage Ada a été le centre de nombreuses attentions. Fedora 16 inclut un kit d'outils complet pour le développement Ada : un compilateur (gcc-gnat), un créateur de projet (gprbuild) et un IDE (GPS) entre autres. Ada peut s'utiliser avec les outils les plus populaires tels que : GTK, Qt, zeromq, Database (PostgreSQL, MySQL et SQLite), etc. De nombreux ajouts de ce type pour Ada devraient arriver pour l'année 2012.
Mises à jour des principaux logiciels
Comme à chaque version, Fedora met à jour des logiciels largement utilisés dont vous pouvez voir l'ensemble de leurs changements sur les lien suivant :