- Modifié
En ce mardi 15 janvier 2013, le projet Fedora est fier d’annoncer la sortie de la distribution GNU/Linux Fedora18. Cette version est baptisée « Spherical Cow », une métaphore désignant un modèle de simplification mathématique. C'est avec pas moins de trois semaines de retard qu'a commencé la phase alpha, car l'équipe devant s'occuper de la refonte de l'installeur Anaconda ayant dû travailler en priorité sur une version en cours de RHEL (Red Hat Enterprise Linux). Le planning de sortie fût lui aussi repoussé de plusieurs semaines en raison des tests effectués sur le nouvel Anaconda, le nouvel outil de mise à jour et sur le "Secure Boot".
Fedora est une distribution communautaire développée par le projet éponyme et sponsorisée par RedHat, qui lui fournit des développeurs ainsi que des moyens financiers et logistiques. Fedora est en quelque sorte une vitrine technologique pour le logiciel libre, car 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.
Par ailleurs, les distributions telles que RHEL, Scientific Linux ou CentOS (plus indirectement), avec un cycle de sorties plus long permettant une maintenance à plus long terme, 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 soutien technique et une garantie. La version 7.0 de RHEL sera basée sur cette version de Fedora.
Voir la suite de la dépêche pour une liste des nouveautés de Fedora 18.
Liste des nouveautés
Bureautique
Environnement bureautique
[center][/center]
GNOME se met à jour avec la version 3.6. Cela permet de stabiliser la branche 3 du logiciel en apportant de nombreuses petites retouches. Nous avons du coup la suppression de la vue de l'ensemble des applications pour se centrer sur la recherche, les notifications ont été revisitées pour être plus confortables à l'usage et permettre plus d’interactions, intégrations des données de Facebook, Kerberos ou Active Directory, l'écran de déverrouillage est maintenant intégré avec le reste de l'interface. Mais il y aussi un remaniement dans les paramètres qui sont plus simples et puissants. C'est l'occasion aussi de continuer le développement de l'application Boxes pour la virtualisation, le gestionnaire de disque et de son occupation (Disques et baobab) sont portés vers GTK+ 3 et une application d'horloges/alarmes est disponible tout comme un visionneur de police. Le navigateur Epiphany continue d'avancer avec une option permettant à demander de ne pas être tracé, ou avec l'apparition des vignettes sur la page de démarrage. Pour finir Nautilus poursuit son intégration avec les concepts de GNOME 3 via une interface revisitée et une recherche plus puissante.
KDE suit la même tendance à l'évolution avec la version 4.9. Ainsi les fichiers peuvent être liés à des activités, les différents éléments de Plasma sont portés vers une version en QML, KWin subit de nombreuses corrections pour l'affichage des fenêtres avec un changeur des tâches qui est paramétrable, le gestionnaire de fichiers Dolphin peut afficher les métadonnées directement et faire du renommage de fichiers sans utiliser la boîte de dialogue. Le lecteur de documents Okular peut lire les vidéos directement dans les PDF, désactiver l'économie d'énergie lors d'une présentation, enregistrer les annotations dans un fichier PDF. Konsole, le visionneur d'images Qwenview et l'éditeur de texte Kate ont aussi le droit à nombre de petits correctifs.
Le gestionnaire de bureau Xfce n'est pas en reste et débarque en version 4.10. Le gestionnaire de fenêtre supporte maintenant le mode pavage pour la disposition des fenêtres, il est possible d'avoir plusieurs rangées de lanceur dans les panneaux. Il est dorénavant possible de supprimer aisément les anciennes sessions enregistrées, la compatibilité avec les applications GNOME ou KDE a été accrue, différents éléments dans la configuration ont été améliorés, il est également possible d'utiliser des thèmes de GTK+ 3 et la documentation a été mise en ligne et non plus sous forme d'archive.
L'interface Sugar pour l'ordinateur XO-1 a été mise à jour vers la version 0.98. Le portage vers GTK+ 3 a débuté et l'ancienne version est maintenant obsolète. La page d'accueil affiche dorénavant les différents éléments par ordre alphabétique. Le portage vers GTK+ 3 demandant beaucoup de ressources, peu d'autres éléments ont été améliorés.
Mais cette fois une autre interface très célèbre a été mise à disposition aux utilisateurs à savoir MATE. MATE est un clone de GNOME, de la branche 2.X plus exactement, mise en place par des utilisateurs insatisfaits de l'évolution que prenait la branche 3.X.
C'est un mixe entre la version 1.4 et 1.5 de cet environnement qui est mis à disposition, afin de contenter un maximum d'utilisateurs et de profiter de la diversité des environnements bureautiques disponibles.
Autres
Le logiciel de gestion des différentes dispositions claviers iBus a été grandement amélioré. Tout d'abord, une meilleure intégration avec GNOME 3 a été mise en œuvre afin d'améliorer l'expérience utilisateur autour de cet outil. Apparition de ibus-libpinyin pour simplifier la saisie du chinois simplifié et gagner en vitesse de frappe dans cette langue. Le système de prédiction lors de la frappe, précédemment disponible que pour la langue anglaise, est disponible pour différentes langues asiatiques mais aussi le danois et le français ! Cela permet donc une frappe plus rapide par auto-complétion dans l'ensemble du système et améliore également l'orthographe en limitant aussi les fautes de frappes.
Fedora propose également la version 2 des polices Liberation, polices libres qui sont censées remplacer les polices très populaires dans les différents produits Microsoft comme New Time Roman afin que les textes écrits dans ces produits aient un rendu similaire sous Fedora.
Fontconfig a été mis à jour vers la version 2.10. Il supporte plus de langues « exotiques », correction de fuites de mémoires, le support de Unicode 6.1, amélioration des performances, plus de stabilité et de documentation avec d'autres fonctionnalités et corrections !
L'installation du système a été totalement revu. En effet, le logiciel Anaconda, dédié à cette tâche, a été entièrement réécrit afin d'offrir plus de flexibilité, notamment la possibilité d'une installation non linéaire, ce qui permet une extensibilité plus grande et une installation plus rapide. Sous le capot, tout a été revu afin d'avoir un code plus maintenable, s'appuyant notamment sur les briques existantes du système. L'interface globale des différents éléments de configurations ont été également revus. De part un travail sur estimé (notamment du aux changements non prévus dans d'autres éléments du système impactant le nouvel anaconda), la sortie de Fedora 18 a été maintes fois repoussée mais ces 2 mois supplémentaire de travail permettent d'offrir à l'utilisateur un système stable avec plus de finition.
De même, la configuration initiale post-installation a été revue en se basant sur les travaux de GNOME 3 dans le domaine.
Administration système
Noyau / Matériel
Passage de 16 à 256 couleurs pour la sortie des émulateurs de terminal compatibles. Les terminaux qui s'affichent à la volée comme Tilda, Guake ou Yakuake auront besoin d'une configuration plus tardivement mais la console virtuelle du noyau ou aterm ne sont pas compatibles. Cela permet d'améliorer le rendu des sorties de différentes commande comme ls ou encore de rendre plus efficace (et joli) la coloration syntaxique par exemple.
[center][/center]
Prise en charge de Secure boot, le procédé qui nécessite de signer le chargeur de démarrage et le noyau pour être utilisable sur les nouvelles cartes mères. En effet, dans les critères pour pouvoir vendre un pc certifié avec Windows 8, les constructeurs ne doivent autoriser par défaut que le chargement des systèmes signés pour s'assurer qu'ils ne sont pas vérolés. Cela pose un problème pour les systèmes à base du noyau Linux étant donné que le noyau est modifié par chaque distribution. cela a impliqué de modifier Grub, Linux, Lorax et Anaconda pour tenir compte de cela et d'ajouter des outils pour générer des certificats et le boot dans une telle situation. L'objectif étant de rendre Fedora installable et utilisable facilement sur les pcs du commerce. Bien qu'étant controversé, la norme prévoit également de pouvoir désactiver la chose, et il reste à s'assurer que les constructeurs fassent correctement le travail. Le sujet ayant été couvert en long, en large et en travers partout sur le web, j'invite les gens à lire le blog de Matthew Garett, développeur Fedora payé à l'époque par Red Hat pour travailler sur le support de l'UEFI ( et par conséquence, sur la problématique de Secure Boot ).
Prise en charge du pilote des groupes de réseaux. L'objectif est de permettre de gérer les requêtes réseaux par groupe de cartes réseaux où chaque groupe se comporte comme une seule carte réseau. Cette fonctionnalité était déjà présente dans le noyau avec la fonction de bonding, et nous parlons ici d'une fonction similaire. Nous nous retrouvons avec une architecture plus modulaire, plus efficace et piloté en espace utilisateur. En plus de ces améliorations, quelques fonctionnalités ont été ajoutées comme la gestion de la répartition de la charge via LACP, la gestion des priorités par ports, surveillance des liens réseaux par ports, la sollicitation par le réseau de voisinage IPv6. C'est le paquet teamd qui s'en charge.
Apparition de libStorageMgmt, une API agnostique pour gérer en ligne de commande le stockage de données via NAS ou SAN. targetd vient la seconder pour contrôler à distance les interfaces de stockages avec notamment la possibilité d'exporter des volumes à une autre machine hôte par iSCSI par exemple. Il n'y a pas de gain immédiat, mais des applications et bibliothèques apparaitront pour en profiter plus tard. Cependant nous pouvons nous attendre à de gains importants en automatisation auprès de systèmes virtualisés qui peuvent nécessiter une grande souplesse dans la gestion des volumes et ressources de la machine hôte.
Mise à disposition du Système de Contrôle du Stockage (commande ssm) pour manipuler facilement en ligne de commande les systèmes de stockages de différentes technologies comme lvm, btrfs, volumes chiffrés, etc. Cette couche d'abstraction permet de simplifier la tâche dans ce type d'opération en limitant le besoin de recourir à la commande spécifique d'un système de stockage et donc de se souvenir comment cela se passe pour chaque technologie. Tout comme libvirt a permis l'écriture d'outil de plus haut niveau, ssm va permettre à choisir de façon transparente la technologie sous jacente à l'heure ou btrfs pointe le bout de son nez, ou des admins jouent avec zfs sous linux et ou lvm continue à se tailler la part du lion.
L'option du noyau rngd est activé par défaut. Il permet au noyau de générer des nombres aléatoires basés sur le bruit de son environnement, du moins si le matériel est compatible, comme les processeurs Intel prenant en charge l'instruction RDRAND. L'objectif est de générer des nombres aléatoires moins pseudo-aléatoires en tenant compte du caractère aléatoire du bruit environnent pour générer la graine. Et ceci est à disposition des applications (notamment pour générer des clés ou certificats de sécurités) mais aussi des machines virtuelles.
Prise en charge de l'architecture PowerPC, plus précisément sa sous-architecture ppc64p7. C'est plus précisément encore une optimisation pour ce type d'architecture qui améliore de 20% les performances en général (et même 100% dans certains cas). Cela ne remet pas en cause la compatibilité avec les PowerPC de versions antérieures à la version 7, tout comme le support de x86_64 n'a pas remis en cause le support des machines i686.
Les pilotes graphiques utilisés par les serveurs vont migrer vers KMS à partir du pilote X.org. Cela concerne les puces MGA G200SE et AST notamment que se retrouvent très régulièrement dans ce type de configurations. L'objectif étant de gérer les pilotes graphiques de manière plus générique et cela leur permettra un meilleur support à l'avenir.
Réseau
NetworkManager crée maintenant par défaut des points d'accès en mode « AP » plutôt qu'en mode « AdHoc ». En effet, le mode AP est plus sur car le noyau Linux fonctionne bien mieux avec la sécurité WPA/WPA2 dans ce mode qu'avec le mode AdHoc, qui perd parfois le support du WPA, entrainant une baisse de la sécurité des échanges. Ce changement permet donc d'augmenter la fiabilité et la sécurité sans perte de performance. De plus, de nombreux fabricants refusent la connexion sur des points d'accès AdHoc, partant du principe que n'importe qui peut le mettre en place qui facilite le phishing des utilisateurs. L'usage du mode AP permet de lever cette problématique. Bien entendu, il est toujours possible de préciser de créer un point d'accès AdHoc sans difficulté.
Avahi est l'implémentation zeronconf utilisé pour découvrir les périphériques via MDNS comme des imprimantes. Après de nombreuses discussions, l'intégration a été finalisée pour que la gestion du pare-feu et de SELinux ne bloque pas une telle possibilité sur un poste de travail classique tout en garantissant la sécurité et la confidentialité du système.
Les domaines Active Directory et Kerberos fonctionnent désormais sans configuration complexe pour les services d'authentifications centralisées. Ceci permettra à terme une meilleure intégration de Fedora dans des environnements pur Windows ou Kerberos très prisés en entreprise et dans certaines universités. Son couplage avec SSSD permet en plus la possibilité de continuer à utiliser son compte hors ligne (technologie développée il y a quelques versions de là), en faisant une solution idéale pour les portables.
Free IPA est également mis à la version 3. Ce logiciel, semblable à la solution Active Directory de Microsoft, permet de vérifier l'identité, l'authentification et l'audit au sein d'un réseau notamment pour mettre en œuvre Kerberos et des annuaires LDAP. La nouvelle version apporte notamment la mise en place de la confiance vers les domaines Active Directory. Du coup il est possible de réaliser une seule authentification entre un domaine Active Directory et IPA, d’accéder à partir du domaine IPA aux données présentes sur l'Active Directory et ne requiert plus d'attribuer des valeurs POSIX aux comptes du domaine Active Directory.
Déplacement du cache de KRB5, de /tmp/krb5cc_UID_XXXXXX à /run/user/$USERNAME/krb5cc plus une plus grande facilité d'accès (nom moins aléatoire) et une plus grande sécurité des données car le répertoire /run est monté en RAM, rendant les données illisibles à l'extinction de la machine contrairement à /tmp.
Le système du cache de KRB5 est par ailleurs modifié par l'usage d'un répertoire ( backend KRB5 DIR ) au lieu d'un fichier ce qui permet notamment de se connecter à plusieurs royaumes Kerberos en même temps.
Mise à disposition de NFSometer pour mesurer les performances de NFS, que ce soit le protocole ou l'implémentation des clients. En effet, il est capable de comparer le temps d’exécution de différents types d'opérations sur ce système de fichier et de comparer ces performances pour évaluer les régressions entre les différents noyaux Linux, versions ou options activées de NFS. Il permet également de tester des opérations suivant l'usage qu'à l'administrateur du NFS et de comprendre les performances caractéristiques de l'installation (et éventuellement comment les améliorer).
Samba 4 a été également le centre de toutes les attentions. Il supporte les protocoles précédents SMB 3 et 2.2, une nouvelle interface de script a été mise en place pour y interagir avec des programmes codés avec Python, il peut aussi être mis en place avec LSA Service Daemon pour FreeIPA pour établir des connexions sécurisées.
Introduction de FedFS, le système de fichier fédéré pour la gestion de fichiers à travers le réseau via NFS à partir d'un seul point de montage. Il a pour base la RFC 5716). Ce système permet la mise en place d'un équivalent des liens symboliques au niveau des montages de systèmes de fichiers distants, permettant ainsi de monter de façon transparente une autre partage dans un sous dossier d'un premier partage. Bien qu'étant possible via automount, NIS, etc, ce système est transparent pour le client en étant intégré dans le protocole existant, et donc permet de simplifier l'administration des partages en supprimant un composant.
[center][/center]
Gestionnaire de paquets
Le changement le plus médiatique est sans doute l'arrivée d'un nouveau gestionnaire de paquet, en option, qui est DNF et qui pourrait remplacer à terme Yum. L'objectif est de simplifier le code global en améliorant aussi les performances des différentes procédures. Pour fonctionner, DNF utilise le solveur de dépendance libsolve via hawkey, ce meilleur découpage des rôles permet aussi de modifier plus facilement l'une des composantes pour une autre ou de le porter pour d'autres gestionnaires de paquets d'autres distributions.
RPM, le gestionnaire de paquets de base de la distribution est porté vers la version 4.10. Il apporte une amélioration des performances, le rechargement automatique des politiques SELinux en cas de modifications, il est plus robuste vis à vis des conflits de fichier, il détecte mieux certaines erreurs pour mieux les corriger seul avec bien entendu la correction de nombreux bogues.
La mise à jour hors ligne tire profit de PackageKit et de systemd pour contrôler l’environnement de manipulation et améliorer les possibilités dans ce domaine. Entre autre les mises à jour sont téléchargées avant de prévenir l'utilisateur pour diminuer le temps d'attente d'installation et d'installer les mises à jour durant l'extinction de la machine. En effet, dans certains cas la mise à jour remplace des composants critiques (comme des bibliothèques systèmes) ce qui peut provoquer une instabilité. En proposant une installation à l'extinction de la machine, le problème est bien plus limité et moins gênant pour l'utilisateur. ce système est à rapprocher de ce que fait Windows en général.
Utilisation de la compression Dwarf pour réduire la taille des fichiers de débogues des paquets debuginfo.
Un minimum d'informations de débogues sont fournis dans les binaires par défaut, dans l'objectif d'améliorer la qualité des rapports de bogues en minimisant la quantité de paquets nécessaires à télécharger pour le faire avec les complications que cela entrainent. Il est possible de supprimer ces éléments lors de la construction d'une image Fedora personnalisée et ce très facilement.
Services / Démons
systemd continue son évolution avec la suppression du script prefdm pour choisir son gestionnaire de bureau (et le gestionnaire de connexion) par défaut, remplacé par un service intégré à systemd. Cela simplifie la gestion du démarrage de la machine et évite la gestion du fichier complexe qui gérait la configuration de prefdm.
Conversion des scripts init de SysV vers systemd. Systemd est l'application qui gère le lancement des processus lors du démarrage de la machine afin qu'elle se lance correctement. Systemd a déjà remplacé init chez Fedora pour cette tâche pour la 15ème 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 finalisé, ce travail est toujours en cours.
Le pare-feu dynamique est mise en place par défaut sous forme de démon nommé 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 et qui permet entre autre l'usage de Avahi pour les périphériques MSDN en toute transparence.
Filtrage les appels systèmes par application pour limiter leur appel à certaines applications et augmenter ainsi la sécurité et la fiabilité du système. Cela se fait par l'inclusion de la bibliothèque libseccomp.
Haute disponibilité / Supervision
Migration de procps tools vers procps-ng, outil qui permet de surveiller et gérer les processus du système. Le projet originel n'était plus maintenu et ne progressait qu'à l'aide de correctifs disparates entre les distributions qui n'étaient pas remontés au projet (créant des incompatibilités). Tout a été remis à plat ce qui permet une meilleure maintenabilité, une diminution de la consommation des ressources, de nouvelles fonctionnalités et de nombreuses corrections.
Introduction du LLTng 2.0 qui est une infrastructure pour contrôler et tracer les composants en espace utilisateur. Il peut ainsi servir à détecter les baisses de performances ou les conflits d'accès des processus et threads. Intégré partiellement au noyau, il peut maintenant supporter des requêtes de plusieurs utilisateurs et de multiples sessions.
Dans la gestion des parcs de serveurs, il est important de pouvoir les contrôler à distance et de manière simultanée tout en ayant en main l'ensemble des paramètres matériels à surveiller sur tous les systèmes. L'objectif étant bien entendu de manier au mieux le parc de machines et s'assurer de son bon fonctionnement (et faciliter le débogage à distance si besoin). C'est pourquoi Fedora 18 apporte le « Service Processor » où nous pouvons y connecter différents services de supervision et de contrôle du système. L'objectif est de pouvoir à terme implémenter l'ensemble des standards IMPI (via OpenIMPI) et WS-Management qui sont utilisés dans l'industrie pour ce type d'opération. Le travail sera poursuivi dans le support de ces standards dans Fedora 19.
Toujours dans cette voie de la supervision, les projets openlmi, sblim et pegasus sont intégrés et modifiés de sorte à supporter les standards industriels de la DMTF : CIM et WBEB pour la gestion de parcs de machines distribuées et des applications à travers ce réseaux. En réalisant tout ceci, il est possible d'intégrer Fedora à un parc de machines compatibles avec ces normes le tout avec une interface centralisée et unique. Il est également possible de réutiliser les scripts ou applications compatibles avec ces normes que proposent d'autres constructeurs ou éditeurs.
Autres
Ajout de Riak comme gestionnaire de base de données NoSQL. Cette base de données écrite en Erlang était particulièrement complexe à installer à la main et la demande grandissante pour des bases de données NoSQL a permis intégration de ce logiciel connu pour sa simplicité et sa capacité à supporter de hautes charges par rapport à une base de données relationnelles.
Tous les booléens de SELinux débutant par allow_ sont renommés pour utiliser le nom d'un domaine plus spécifique à chacun. SELinux, qui permet d'étendre la gestion des droits du système et de renforcer la sécurité, a accumulé avec les années des booléens qui se sont mis dans l'espace de nom allow_ qui est générique. L'objectif était de nettoyer la situation pour les mettre dans un espace de nom plus approprié et de rendre son utilisation et son administration plus simple et plus intuitive via un normalisation du nommage.
Toujours à propos de SELinux, systemd l'a intégré de façon plus fine pour qu'il contrôle si les services lancés sont autorisés à manipuler un autre service. Cela permet d'étendre son champ de compétence et accroit d'autant plus la sécurité du système. Typiquement Networkmanager pourrait lancer ou couper le service pour se connecter à un serveur NTP mais le système pourrait l'interdire dans le même temps de faire la même chose avec le pare-feu ou le serveur HTTP. Sans l'intégration fine, cela serait revenu à donner une commande sudo pour lancer tout type de logiciel, ce qui n'est en général pas considéré comme gestion suffisante de la sécurité, car pas assez granulaire.
Simplification de la procédure de rapport de bogues via le serveur ABRT. Moins d'actions sont demandées à l'utilisateur en vue de rendre la procédure plus simple, la collecte des données se fait de manière plus automatique et il n'est plus nécessaire de posséder un compte Bugzilla pour y soumettre un bogue par ce biais. Pour les mainteneurs derrière, ils ont accès à plus de données et peuvent faire des statistiques plus fines pour identifier le problème, notamment sur base des rapports en double afin de passer plus de temps sur les bugs et moins sur le tri ou la demande de précision.
/tmp est monté en tmpfs par défaut (ce qui le met dans la RAM). Ce déploiement n'est pas nouveau dans l'univers Unix, Solaris ayant ouvert le bal en 1994. L'objectif visé est de diminuer les entrées/sorties sur le disque dur (et augmenter ainsi la réactivité du système), allonger la durée de vie des composants dont les SSD et consommer un peu moins d'énergie. Les données cependant disparaissent à la coupure de la machine, au lieu du nettoyage tous les dix jours. Il est possible de revenir à l'ancien mode si nécessaire, notamment en cas de données trop volumineuses pour tenir convenablement dans la RAM.
Virtualisation
Création de virt-sandbox-server pour gérer des bac à sables isolant les applications et les systèmes utilisant libvirt. Il s'intègre au système sous forme unités de systemd pour paramétrer les informations concernant les conteneurs que libvirt va gérer conjointement avec SELinux pour les droits d'accès. Cela améliore grandement la sécurité des différentes applications virtualisées notamment vis à vis des processus du système hôte ou d'autres conteneurs.
Prise en charge de l'hibernation et de la mise en veille des systèmes invités via QEMU et libvirt qui avaient tendance à ne pas reprendre correctement leur travail après le redémarrage du système. En plus de gérer ce cas proprement, il est possible de commander via la commande virtsh depuis le système hôte la mise en veille de machines virtualisées.
Intégration de la prise de clichés à la volée des systèmes virtualisés via QEMU et libvirt. En plus de ce qui était disponible avant, il est possible de le faire maintenant sans interrompre le service le temps de l'opération. C'est bien évidemment une grande amélioration pour la disponibilité des services ce qui n'empêche pas de devoir faire une sauvegarde des données régulièrement.
oVirt qui a été incluse la version précédente est mise à jour vers la version 3.1. cette version offre une interface graphique et une interface web pour le contrôler, il gère le partage des disques, les clichés à la volée, le support du système de fichier POSIX, le support de contrôle de bases de données, le support de solutions Red-Hat et IBM pour les serveurs, l'hôte et l'hyperviseur peuvent être sur la même machine, etc.
Cloud computing
Possibilité de créer un service cloud via Eucalyptus pour le calcul, réseau et stockage de données. Il est notamment utilisé pour les services de hautes disponibilités et est compatible avec AWS, le service cloud de Amazon. Il est à noter que le projet Fedora a déployé un cloud interne basé sur Eucalyptus pour offrir divers services aux contributeurs ( instances de test des applications, jenkins, buildbot, etc ).
Arrivée de Heat qui est une api d'orchestration dans le cloud pour OpenStack en ligne de commande, solution particulièrement développée chez Fedora depuis plus d'un an. Le fonctionnement est très classique, l'administrateur décrit des machines virtuelles via un système de template basé sur l'utilisation de oz, un outil de création d'image disque automatisé, et heat se charge du déploiement de la machine et des ressources à partir de la configuration. Intégrant dés le départ une API, le but est de permettre une automatisation des processus afin d'industrialiser l'usage d'openstack.
Par ailleurs, OpenStack voit sa version progresser en passant à OpenStack Folsom. Il apporte entre autre la possibilité d'écrire des données avec l'assurance d'être uniques, la préallocation de l'espace disque pour mieux gérer celui-ci, la compatibilité avec le service Amazon est maintenant séparé dans un projet externe afin de simplifier le développement, la possibilité d'écrire des objets versionnés ou encore une intégration plus profonde du module de statistiques pour la surveillance du système.
Développement
Les développeurs de C++ vont s'y habituer, la célèbre bibliothèque Boost a été mise à jour vers la version 1.50. De nouveaux algorithmes génériques ont été ajoutés comme ceux de recherches de données, la compatibilité avec des fonctionnalités C++11 (et la compilation dans ce mode) a été renforcée, etc.
Mise à jour de l’environnement de développement pour le langage D comme le compilateur ou l'interfaçage avec GTK. Cela est également l'occasion d'ajouter des modules liés à OpenGL pour l'exploiter au mieux ou encore le support de l'interfaçage avec SQLite pour les bases de données.
Arrivée de DragonEgg, un plugin de GCC pour remplacer certaines optimisations et générateurs de code de GCC par ceux du projet LLVM. Ce changement a été fait pour améliorer les optimisations réalisées mais aussi pour faire de la compilation croisée sur des architectures supportées par LLVM (mais avec GCC) sans nécessiter un paquet supplémentaire pour ce type d'opération.
Histoire d'être à la pointe du développement logiciel, le Glasgow Haskell Compiler a été également mis à jour vers la version 4.7.2pour les amateurs de ce langage fonctionnel.
Le langage Python a toujours été à l'honneur chez Fedora et cela se poursuit avec le débarquement de Python 3.3. Il revoit la méthode de stockage des caractères pour économiser de la mémoire, la syntaxe des générateurs a été revue, la possibilité de créer des environnements de Python virtuels, de grandes modifications dans la gestion des exceptions, etc.
Au delà de Python lui-même, IPython a été porté vers la version 0.13. De plus la structure des paquets pour ce projet a été revue avec plus de sous-paquets. Nous rappelons que ce projet est un shell pour le langage Python pour compléter celui proposé de manière officielle.
Les aficionados du langage Perl pourront quant à eux se satisfaire de la version 5.16 de leur langage favoris. De plus le PCRE (Perl-Compatible Regular Expression) a été également mis à jour vers la version 8.30 qui apporte une modification importante dans son API et le support de UTF-16. Cela a nécessité de reprendre de nombreux paquets qui en dépendaient.
Pour les amateurs de Ruby, c'est Ruby on rails qui est à l'honneur avec sa version 3.2 et l'ajout de nombreuses gems à la collection de paquets. Il apporte entre autre : un mode de développement plus rapide, un nouveau moteur de routage, une explication automatique des requêtes,
Le projet Clojure fait également son apparition dans la liste des langages officiellement supportés avec tout son environnement de programmation dédié. Ce langage libre fonctionnel qui dispose d'un fort typage est un dialecte de Lisp. L'objectif premier du langage étant d'avoir un Lisp moderne pouvant fonctionner avec la plateforme Java, notamment dans le cadre de la programmation concurrente. Un travail proche du projet initial qui ressemble fortement à l'initiative fait autour du langage D depuis quelques versions.
Projet Fedora
Simplification des procédures pour les mainteneurs des versions « spins » de Fedora et des mainteneurs de paquets au sein du projet via l'utilisation d'un service de présélection des services. En effet, auparavant quand vous installez un paquet RPM, les macros %post permettent par exemple de lancer des services pour ses propres besoins (ou lancer ce que l'utilisateur a voulu installer). Seulement cela ne tient pas compte des versions dérivées officielles de Fedora, les « spins » et cela demandait une lourde charge aux mainteneurs des paquets pour en tenir compte. Ici c'est systemd qui prend le relais, un simple fichier explicite les services à lancer suivant la configuration prédéfinie par défaut ce qui est idéal dans le cas des spins qui ont justement des paquets prédéfinis. Il est possible de prioriser différentes configurations en cas de besoin en simultanée. Ainsi la Fedora canonique sera plus propre et maintenable, la vie des « spinners » sera facilité et l'échange de fichier .spec de RPM entre distributions sera facilité également.
Les groupes de paquets sont réorganisés et leur affichage a été amélioré pour l'utilisateur.
Mises à jour majeures
Voici la liste des mises à jour majeures des paquets de Fedora avec les liens vers leurs notes de versions :
Liens externes Texte sous licence CC BY-SA
Fedora est une distribution communautaire développée par le projet éponyme et sponsorisée par RedHat, qui lui fournit des développeurs ainsi que des moyens financiers et logistiques. Fedora est en quelque sorte une vitrine technologique pour le logiciel libre, car 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.
Par ailleurs, les distributions telles que RHEL, Scientific Linux ou CentOS (plus indirectement), avec un cycle de sorties plus long permettant une maintenance à plus long terme, 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 soutien technique et une garantie. La version 7.0 de RHEL sera basée sur cette version de Fedora.
Voir la suite de la dépêche pour une liste des nouveautés de Fedora 18.
Liste des nouveautés
Bureautique
Environnement bureautique
[center][/center]
GNOME se met à jour avec la version 3.6. Cela permet de stabiliser la branche 3 du logiciel en apportant de nombreuses petites retouches. Nous avons du coup la suppression de la vue de l'ensemble des applications pour se centrer sur la recherche, les notifications ont été revisitées pour être plus confortables à l'usage et permettre plus d’interactions, intégrations des données de Facebook, Kerberos ou Active Directory, l'écran de déverrouillage est maintenant intégré avec le reste de l'interface. Mais il y aussi un remaniement dans les paramètres qui sont plus simples et puissants. C'est l'occasion aussi de continuer le développement de l'application Boxes pour la virtualisation, le gestionnaire de disque et de son occupation (Disques et baobab) sont portés vers GTK+ 3 et une application d'horloges/alarmes est disponible tout comme un visionneur de police. Le navigateur Epiphany continue d'avancer avec une option permettant à demander de ne pas être tracé, ou avec l'apparition des vignettes sur la page de démarrage. Pour finir Nautilus poursuit son intégration avec les concepts de GNOME 3 via une interface revisitée et une recherche plus puissante.
KDE suit la même tendance à l'évolution avec la version 4.9. Ainsi les fichiers peuvent être liés à des activités, les différents éléments de Plasma sont portés vers une version en QML, KWin subit de nombreuses corrections pour l'affichage des fenêtres avec un changeur des tâches qui est paramétrable, le gestionnaire de fichiers Dolphin peut afficher les métadonnées directement et faire du renommage de fichiers sans utiliser la boîte de dialogue. Le lecteur de documents Okular peut lire les vidéos directement dans les PDF, désactiver l'économie d'énergie lors d'une présentation, enregistrer les annotations dans un fichier PDF. Konsole, le visionneur d'images Qwenview et l'éditeur de texte Kate ont aussi le droit à nombre de petits correctifs.
Le gestionnaire de bureau Xfce n'est pas en reste et débarque en version 4.10. Le gestionnaire de fenêtre supporte maintenant le mode pavage pour la disposition des fenêtres, il est possible d'avoir plusieurs rangées de lanceur dans les panneaux. Il est dorénavant possible de supprimer aisément les anciennes sessions enregistrées, la compatibilité avec les applications GNOME ou KDE a été accrue, différents éléments dans la configuration ont été améliorés, il est également possible d'utiliser des thèmes de GTK+ 3 et la documentation a été mise en ligne et non plus sous forme d'archive.
L'interface Sugar pour l'ordinateur XO-1 a été mise à jour vers la version 0.98. Le portage vers GTK+ 3 a débuté et l'ancienne version est maintenant obsolète. La page d'accueil affiche dorénavant les différents éléments par ordre alphabétique. Le portage vers GTK+ 3 demandant beaucoup de ressources, peu d'autres éléments ont été améliorés.
Mais cette fois une autre interface très célèbre a été mise à disposition aux utilisateurs à savoir MATE. MATE est un clone de GNOME, de la branche 2.X plus exactement, mise en place par des utilisateurs insatisfaits de l'évolution que prenait la branche 3.X.
C'est un mixe entre la version 1.4 et 1.5 de cet environnement qui est mis à disposition, afin de contenter un maximum d'utilisateurs et de profiter de la diversité des environnements bureautiques disponibles.
Autres
Le logiciel de gestion des différentes dispositions claviers iBus a été grandement amélioré. Tout d'abord, une meilleure intégration avec GNOME 3 a été mise en œuvre afin d'améliorer l'expérience utilisateur autour de cet outil. Apparition de ibus-libpinyin pour simplifier la saisie du chinois simplifié et gagner en vitesse de frappe dans cette langue. Le système de prédiction lors de la frappe, précédemment disponible que pour la langue anglaise, est disponible pour différentes langues asiatiques mais aussi le danois et le français ! Cela permet donc une frappe plus rapide par auto-complétion dans l'ensemble du système et améliore également l'orthographe en limitant aussi les fautes de frappes.
Fedora propose également la version 2 des polices Liberation, polices libres qui sont censées remplacer les polices très populaires dans les différents produits Microsoft comme New Time Roman afin que les textes écrits dans ces produits aient un rendu similaire sous Fedora.
Fontconfig a été mis à jour vers la version 2.10. Il supporte plus de langues « exotiques », correction de fuites de mémoires, le support de Unicode 6.1, amélioration des performances, plus de stabilité et de documentation avec d'autres fonctionnalités et corrections !
L'installation du système a été totalement revu. En effet, le logiciel Anaconda, dédié à cette tâche, a été entièrement réécrit afin d'offrir plus de flexibilité, notamment la possibilité d'une installation non linéaire, ce qui permet une extensibilité plus grande et une installation plus rapide. Sous le capot, tout a été revu afin d'avoir un code plus maintenable, s'appuyant notamment sur les briques existantes du système. L'interface globale des différents éléments de configurations ont été également revus. De part un travail sur estimé (notamment du aux changements non prévus dans d'autres éléments du système impactant le nouvel anaconda), la sortie de Fedora 18 a été maintes fois repoussée mais ces 2 mois supplémentaire de travail permettent d'offrir à l'utilisateur un système stable avec plus de finition.
De même, la configuration initiale post-installation a été revue en se basant sur les travaux de GNOME 3 dans le domaine.
Administration système
Noyau / Matériel
Passage de 16 à 256 couleurs pour la sortie des émulateurs de terminal compatibles. Les terminaux qui s'affichent à la volée comme Tilda, Guake ou Yakuake auront besoin d'une configuration plus tardivement mais la console virtuelle du noyau ou aterm ne sont pas compatibles. Cela permet d'améliorer le rendu des sorties de différentes commande comme ls ou encore de rendre plus efficace (et joli) la coloration syntaxique par exemple.
[center][/center]
Prise en charge de Secure boot, le procédé qui nécessite de signer le chargeur de démarrage et le noyau pour être utilisable sur les nouvelles cartes mères. En effet, dans les critères pour pouvoir vendre un pc certifié avec Windows 8, les constructeurs ne doivent autoriser par défaut que le chargement des systèmes signés pour s'assurer qu'ils ne sont pas vérolés. Cela pose un problème pour les systèmes à base du noyau Linux étant donné que le noyau est modifié par chaque distribution. cela a impliqué de modifier Grub, Linux, Lorax et Anaconda pour tenir compte de cela et d'ajouter des outils pour générer des certificats et le boot dans une telle situation. L'objectif étant de rendre Fedora installable et utilisable facilement sur les pcs du commerce. Bien qu'étant controversé, la norme prévoit également de pouvoir désactiver la chose, et il reste à s'assurer que les constructeurs fassent correctement le travail. Le sujet ayant été couvert en long, en large et en travers partout sur le web, j'invite les gens à lire le blog de Matthew Garett, développeur Fedora payé à l'époque par Red Hat pour travailler sur le support de l'UEFI ( et par conséquence, sur la problématique de Secure Boot ).
Prise en charge du pilote des groupes de réseaux. L'objectif est de permettre de gérer les requêtes réseaux par groupe de cartes réseaux où chaque groupe se comporte comme une seule carte réseau. Cette fonctionnalité était déjà présente dans le noyau avec la fonction de bonding, et nous parlons ici d'une fonction similaire. Nous nous retrouvons avec une architecture plus modulaire, plus efficace et piloté en espace utilisateur. En plus de ces améliorations, quelques fonctionnalités ont été ajoutées comme la gestion de la répartition de la charge via LACP, la gestion des priorités par ports, surveillance des liens réseaux par ports, la sollicitation par le réseau de voisinage IPv6. C'est le paquet teamd qui s'en charge.
Apparition de libStorageMgmt, une API agnostique pour gérer en ligne de commande le stockage de données via NAS ou SAN. targetd vient la seconder pour contrôler à distance les interfaces de stockages avec notamment la possibilité d'exporter des volumes à une autre machine hôte par iSCSI par exemple. Il n'y a pas de gain immédiat, mais des applications et bibliothèques apparaitront pour en profiter plus tard. Cependant nous pouvons nous attendre à de gains importants en automatisation auprès de systèmes virtualisés qui peuvent nécessiter une grande souplesse dans la gestion des volumes et ressources de la machine hôte.
Mise à disposition du Système de Contrôle du Stockage (commande ssm) pour manipuler facilement en ligne de commande les systèmes de stockages de différentes technologies comme lvm, btrfs, volumes chiffrés, etc. Cette couche d'abstraction permet de simplifier la tâche dans ce type d'opération en limitant le besoin de recourir à la commande spécifique d'un système de stockage et donc de se souvenir comment cela se passe pour chaque technologie. Tout comme libvirt a permis l'écriture d'outil de plus haut niveau, ssm va permettre à choisir de façon transparente la technologie sous jacente à l'heure ou btrfs pointe le bout de son nez, ou des admins jouent avec zfs sous linux et ou lvm continue à se tailler la part du lion.
L'option du noyau rngd est activé par défaut. Il permet au noyau de générer des nombres aléatoires basés sur le bruit de son environnement, du moins si le matériel est compatible, comme les processeurs Intel prenant en charge l'instruction RDRAND. L'objectif est de générer des nombres aléatoires moins pseudo-aléatoires en tenant compte du caractère aléatoire du bruit environnent pour générer la graine. Et ceci est à disposition des applications (notamment pour générer des clés ou certificats de sécurités) mais aussi des machines virtuelles.
Prise en charge de l'architecture PowerPC, plus précisément sa sous-architecture ppc64p7. C'est plus précisément encore une optimisation pour ce type d'architecture qui améliore de 20% les performances en général (et même 100% dans certains cas). Cela ne remet pas en cause la compatibilité avec les PowerPC de versions antérieures à la version 7, tout comme le support de x86_64 n'a pas remis en cause le support des machines i686.
Les pilotes graphiques utilisés par les serveurs vont migrer vers KMS à partir du pilote X.org. Cela concerne les puces MGA G200SE et AST notamment que se retrouvent très régulièrement dans ce type de configurations. L'objectif étant de gérer les pilotes graphiques de manière plus générique et cela leur permettra un meilleur support à l'avenir.
Réseau
NetworkManager crée maintenant par défaut des points d'accès en mode « AP » plutôt qu'en mode « AdHoc ». En effet, le mode AP est plus sur car le noyau Linux fonctionne bien mieux avec la sécurité WPA/WPA2 dans ce mode qu'avec le mode AdHoc, qui perd parfois le support du WPA, entrainant une baisse de la sécurité des échanges. Ce changement permet donc d'augmenter la fiabilité et la sécurité sans perte de performance. De plus, de nombreux fabricants refusent la connexion sur des points d'accès AdHoc, partant du principe que n'importe qui peut le mettre en place qui facilite le phishing des utilisateurs. L'usage du mode AP permet de lever cette problématique. Bien entendu, il est toujours possible de préciser de créer un point d'accès AdHoc sans difficulté.
Avahi est l'implémentation zeronconf utilisé pour découvrir les périphériques via MDNS comme des imprimantes. Après de nombreuses discussions, l'intégration a été finalisée pour que la gestion du pare-feu et de SELinux ne bloque pas une telle possibilité sur un poste de travail classique tout en garantissant la sécurité et la confidentialité du système.
Les domaines Active Directory et Kerberos fonctionnent désormais sans configuration complexe pour les services d'authentifications centralisées. Ceci permettra à terme une meilleure intégration de Fedora dans des environnements pur Windows ou Kerberos très prisés en entreprise et dans certaines universités. Son couplage avec SSSD permet en plus la possibilité de continuer à utiliser son compte hors ligne (technologie développée il y a quelques versions de là), en faisant une solution idéale pour les portables.
Free IPA est également mis à la version 3. Ce logiciel, semblable à la solution Active Directory de Microsoft, permet de vérifier l'identité, l'authentification et l'audit au sein d'un réseau notamment pour mettre en œuvre Kerberos et des annuaires LDAP. La nouvelle version apporte notamment la mise en place de la confiance vers les domaines Active Directory. Du coup il est possible de réaliser une seule authentification entre un domaine Active Directory et IPA, d’accéder à partir du domaine IPA aux données présentes sur l'Active Directory et ne requiert plus d'attribuer des valeurs POSIX aux comptes du domaine Active Directory.
Déplacement du cache de KRB5, de /tmp/krb5cc_UID_XXXXXX à /run/user/$USERNAME/krb5cc plus une plus grande facilité d'accès (nom moins aléatoire) et une plus grande sécurité des données car le répertoire /run est monté en RAM, rendant les données illisibles à l'extinction de la machine contrairement à /tmp.
Le système du cache de KRB5 est par ailleurs modifié par l'usage d'un répertoire ( backend KRB5 DIR ) au lieu d'un fichier ce qui permet notamment de se connecter à plusieurs royaumes Kerberos en même temps.
Mise à disposition de NFSometer pour mesurer les performances de NFS, que ce soit le protocole ou l'implémentation des clients. En effet, il est capable de comparer le temps d’exécution de différents types d'opérations sur ce système de fichier et de comparer ces performances pour évaluer les régressions entre les différents noyaux Linux, versions ou options activées de NFS. Il permet également de tester des opérations suivant l'usage qu'à l'administrateur du NFS et de comprendre les performances caractéristiques de l'installation (et éventuellement comment les améliorer).
Samba 4 a été également le centre de toutes les attentions. Il supporte les protocoles précédents SMB 3 et 2.2, une nouvelle interface de script a été mise en place pour y interagir avec des programmes codés avec Python, il peut aussi être mis en place avec LSA Service Daemon pour FreeIPA pour établir des connexions sécurisées.
Introduction de FedFS, le système de fichier fédéré pour la gestion de fichiers à travers le réseau via NFS à partir d'un seul point de montage. Il a pour base la RFC 5716). Ce système permet la mise en place d'un équivalent des liens symboliques au niveau des montages de systèmes de fichiers distants, permettant ainsi de monter de façon transparente une autre partage dans un sous dossier d'un premier partage. Bien qu'étant possible via automount, NIS, etc, ce système est transparent pour le client en étant intégré dans le protocole existant, et donc permet de simplifier l'administration des partages en supprimant un composant.
[center][/center]
Gestionnaire de paquets
Le changement le plus médiatique est sans doute l'arrivée d'un nouveau gestionnaire de paquet, en option, qui est DNF et qui pourrait remplacer à terme Yum. L'objectif est de simplifier le code global en améliorant aussi les performances des différentes procédures. Pour fonctionner, DNF utilise le solveur de dépendance libsolve via hawkey, ce meilleur découpage des rôles permet aussi de modifier plus facilement l'une des composantes pour une autre ou de le porter pour d'autres gestionnaires de paquets d'autres distributions.
RPM, le gestionnaire de paquets de base de la distribution est porté vers la version 4.10. Il apporte une amélioration des performances, le rechargement automatique des politiques SELinux en cas de modifications, il est plus robuste vis à vis des conflits de fichier, il détecte mieux certaines erreurs pour mieux les corriger seul avec bien entendu la correction de nombreux bogues.
La mise à jour hors ligne tire profit de PackageKit et de systemd pour contrôler l’environnement de manipulation et améliorer les possibilités dans ce domaine. Entre autre les mises à jour sont téléchargées avant de prévenir l'utilisateur pour diminuer le temps d'attente d'installation et d'installer les mises à jour durant l'extinction de la machine. En effet, dans certains cas la mise à jour remplace des composants critiques (comme des bibliothèques systèmes) ce qui peut provoquer une instabilité. En proposant une installation à l'extinction de la machine, le problème est bien plus limité et moins gênant pour l'utilisateur. ce système est à rapprocher de ce que fait Windows en général.
Utilisation de la compression Dwarf pour réduire la taille des fichiers de débogues des paquets debuginfo.
Un minimum d'informations de débogues sont fournis dans les binaires par défaut, dans l'objectif d'améliorer la qualité des rapports de bogues en minimisant la quantité de paquets nécessaires à télécharger pour le faire avec les complications que cela entrainent. Il est possible de supprimer ces éléments lors de la construction d'une image Fedora personnalisée et ce très facilement.
Services / Démons
systemd continue son évolution avec la suppression du script prefdm pour choisir son gestionnaire de bureau (et le gestionnaire de connexion) par défaut, remplacé par un service intégré à systemd. Cela simplifie la gestion du démarrage de la machine et évite la gestion du fichier complexe qui gérait la configuration de prefdm.
Conversion des scripts init de SysV vers systemd. Systemd est l'application qui gère le lancement des processus lors du démarrage de la machine afin qu'elle se lance correctement. Systemd a déjà remplacé init chez Fedora pour cette tâche pour la 15ème 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 finalisé, ce travail est toujours en cours.
Le pare-feu dynamique est mise en place par défaut sous forme de démon nommé 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 et qui permet entre autre l'usage de Avahi pour les périphériques MSDN en toute transparence.
Filtrage les appels systèmes par application pour limiter leur appel à certaines applications et augmenter ainsi la sécurité et la fiabilité du système. Cela se fait par l'inclusion de la bibliothèque libseccomp.
Haute disponibilité / Supervision
Migration de procps tools vers procps-ng, outil qui permet de surveiller et gérer les processus du système. Le projet originel n'était plus maintenu et ne progressait qu'à l'aide de correctifs disparates entre les distributions qui n'étaient pas remontés au projet (créant des incompatibilités). Tout a été remis à plat ce qui permet une meilleure maintenabilité, une diminution de la consommation des ressources, de nouvelles fonctionnalités et de nombreuses corrections.
Introduction du LLTng 2.0 qui est une infrastructure pour contrôler et tracer les composants en espace utilisateur. Il peut ainsi servir à détecter les baisses de performances ou les conflits d'accès des processus et threads. Intégré partiellement au noyau, il peut maintenant supporter des requêtes de plusieurs utilisateurs et de multiples sessions.
Dans la gestion des parcs de serveurs, il est important de pouvoir les contrôler à distance et de manière simultanée tout en ayant en main l'ensemble des paramètres matériels à surveiller sur tous les systèmes. L'objectif étant bien entendu de manier au mieux le parc de machines et s'assurer de son bon fonctionnement (et faciliter le débogage à distance si besoin). C'est pourquoi Fedora 18 apporte le « Service Processor » où nous pouvons y connecter différents services de supervision et de contrôle du système. L'objectif est de pouvoir à terme implémenter l'ensemble des standards IMPI (via OpenIMPI) et WS-Management qui sont utilisés dans l'industrie pour ce type d'opération. Le travail sera poursuivi dans le support de ces standards dans Fedora 19.
Toujours dans cette voie de la supervision, les projets openlmi, sblim et pegasus sont intégrés et modifiés de sorte à supporter les standards industriels de la DMTF : CIM et WBEB pour la gestion de parcs de machines distribuées et des applications à travers ce réseaux. En réalisant tout ceci, il est possible d'intégrer Fedora à un parc de machines compatibles avec ces normes le tout avec une interface centralisée et unique. Il est également possible de réutiliser les scripts ou applications compatibles avec ces normes que proposent d'autres constructeurs ou éditeurs.
Autres
Ajout de Riak comme gestionnaire de base de données NoSQL. Cette base de données écrite en Erlang était particulièrement complexe à installer à la main et la demande grandissante pour des bases de données NoSQL a permis intégration de ce logiciel connu pour sa simplicité et sa capacité à supporter de hautes charges par rapport à une base de données relationnelles.
Tous les booléens de SELinux débutant par allow_ sont renommés pour utiliser le nom d'un domaine plus spécifique à chacun. SELinux, qui permet d'étendre la gestion des droits du système et de renforcer la sécurité, a accumulé avec les années des booléens qui se sont mis dans l'espace de nom allow_ qui est générique. L'objectif était de nettoyer la situation pour les mettre dans un espace de nom plus approprié et de rendre son utilisation et son administration plus simple et plus intuitive via un normalisation du nommage.
Toujours à propos de SELinux, systemd l'a intégré de façon plus fine pour qu'il contrôle si les services lancés sont autorisés à manipuler un autre service. Cela permet d'étendre son champ de compétence et accroit d'autant plus la sécurité du système. Typiquement Networkmanager pourrait lancer ou couper le service pour se connecter à un serveur NTP mais le système pourrait l'interdire dans le même temps de faire la même chose avec le pare-feu ou le serveur HTTP. Sans l'intégration fine, cela serait revenu à donner une commande sudo pour lancer tout type de logiciel, ce qui n'est en général pas considéré comme gestion suffisante de la sécurité, car pas assez granulaire.
Simplification de la procédure de rapport de bogues via le serveur ABRT. Moins d'actions sont demandées à l'utilisateur en vue de rendre la procédure plus simple, la collecte des données se fait de manière plus automatique et il n'est plus nécessaire de posséder un compte Bugzilla pour y soumettre un bogue par ce biais. Pour les mainteneurs derrière, ils ont accès à plus de données et peuvent faire des statistiques plus fines pour identifier le problème, notamment sur base des rapports en double afin de passer plus de temps sur les bugs et moins sur le tri ou la demande de précision.
/tmp est monté en tmpfs par défaut (ce qui le met dans la RAM). Ce déploiement n'est pas nouveau dans l'univers Unix, Solaris ayant ouvert le bal en 1994. L'objectif visé est de diminuer les entrées/sorties sur le disque dur (et augmenter ainsi la réactivité du système), allonger la durée de vie des composants dont les SSD et consommer un peu moins d'énergie. Les données cependant disparaissent à la coupure de la machine, au lieu du nettoyage tous les dix jours. Il est possible de revenir à l'ancien mode si nécessaire, notamment en cas de données trop volumineuses pour tenir convenablement dans la RAM.
Virtualisation
Création de virt-sandbox-server pour gérer des bac à sables isolant les applications et les systèmes utilisant libvirt. Il s'intègre au système sous forme unités de systemd pour paramétrer les informations concernant les conteneurs que libvirt va gérer conjointement avec SELinux pour les droits d'accès. Cela améliore grandement la sécurité des différentes applications virtualisées notamment vis à vis des processus du système hôte ou d'autres conteneurs.
Prise en charge de l'hibernation et de la mise en veille des systèmes invités via QEMU et libvirt qui avaient tendance à ne pas reprendre correctement leur travail après le redémarrage du système. En plus de gérer ce cas proprement, il est possible de commander via la commande virtsh depuis le système hôte la mise en veille de machines virtualisées.
Intégration de la prise de clichés à la volée des systèmes virtualisés via QEMU et libvirt. En plus de ce qui était disponible avant, il est possible de le faire maintenant sans interrompre le service le temps de l'opération. C'est bien évidemment une grande amélioration pour la disponibilité des services ce qui n'empêche pas de devoir faire une sauvegarde des données régulièrement.
oVirt qui a été incluse la version précédente est mise à jour vers la version 3.1. cette version offre une interface graphique et une interface web pour le contrôler, il gère le partage des disques, les clichés à la volée, le support du système de fichier POSIX, le support de contrôle de bases de données, le support de solutions Red-Hat et IBM pour les serveurs, l'hôte et l'hyperviseur peuvent être sur la même machine, etc.
Cloud computing
Possibilité de créer un service cloud via Eucalyptus pour le calcul, réseau et stockage de données. Il est notamment utilisé pour les services de hautes disponibilités et est compatible avec AWS, le service cloud de Amazon. Il est à noter que le projet Fedora a déployé un cloud interne basé sur Eucalyptus pour offrir divers services aux contributeurs ( instances de test des applications, jenkins, buildbot, etc ).
Arrivée de Heat qui est une api d'orchestration dans le cloud pour OpenStack en ligne de commande, solution particulièrement développée chez Fedora depuis plus d'un an. Le fonctionnement est très classique, l'administrateur décrit des machines virtuelles via un système de template basé sur l'utilisation de oz, un outil de création d'image disque automatisé, et heat se charge du déploiement de la machine et des ressources à partir de la configuration. Intégrant dés le départ une API, le but est de permettre une automatisation des processus afin d'industrialiser l'usage d'openstack.
Par ailleurs, OpenStack voit sa version progresser en passant à OpenStack Folsom. Il apporte entre autre la possibilité d'écrire des données avec l'assurance d'être uniques, la préallocation de l'espace disque pour mieux gérer celui-ci, la compatibilité avec le service Amazon est maintenant séparé dans un projet externe afin de simplifier le développement, la possibilité d'écrire des objets versionnés ou encore une intégration plus profonde du module de statistiques pour la surveillance du système.
Développement
Les développeurs de C++ vont s'y habituer, la célèbre bibliothèque Boost a été mise à jour vers la version 1.50. De nouveaux algorithmes génériques ont été ajoutés comme ceux de recherches de données, la compatibilité avec des fonctionnalités C++11 (et la compilation dans ce mode) a été renforcée, etc.
Mise à jour de l’environnement de développement pour le langage D comme le compilateur ou l'interfaçage avec GTK. Cela est également l'occasion d'ajouter des modules liés à OpenGL pour l'exploiter au mieux ou encore le support de l'interfaçage avec SQLite pour les bases de données.
Arrivée de DragonEgg, un plugin de GCC pour remplacer certaines optimisations et générateurs de code de GCC par ceux du projet LLVM. Ce changement a été fait pour améliorer les optimisations réalisées mais aussi pour faire de la compilation croisée sur des architectures supportées par LLVM (mais avec GCC) sans nécessiter un paquet supplémentaire pour ce type d'opération.
Histoire d'être à la pointe du développement logiciel, le Glasgow Haskell Compiler a été également mis à jour vers la version 4.7.2pour les amateurs de ce langage fonctionnel.
Le langage Python a toujours été à l'honneur chez Fedora et cela se poursuit avec le débarquement de Python 3.3. Il revoit la méthode de stockage des caractères pour économiser de la mémoire, la syntaxe des générateurs a été revue, la possibilité de créer des environnements de Python virtuels, de grandes modifications dans la gestion des exceptions, etc.
Au delà de Python lui-même, IPython a été porté vers la version 0.13. De plus la structure des paquets pour ce projet a été revue avec plus de sous-paquets. Nous rappelons que ce projet est un shell pour le langage Python pour compléter celui proposé de manière officielle.
Les aficionados du langage Perl pourront quant à eux se satisfaire de la version 5.16 de leur langage favoris. De plus le PCRE (Perl-Compatible Regular Expression) a été également mis à jour vers la version 8.30 qui apporte une modification importante dans son API et le support de UTF-16. Cela a nécessité de reprendre de nombreux paquets qui en dépendaient.
Pour les amateurs de Ruby, c'est Ruby on rails qui est à l'honneur avec sa version 3.2 et l'ajout de nombreuses gems à la collection de paquets. Il apporte entre autre : un mode de développement plus rapide, un nouveau moteur de routage, une explication automatique des requêtes,
Le projet Clojure fait également son apparition dans la liste des langages officiellement supportés avec tout son environnement de programmation dédié. Ce langage libre fonctionnel qui dispose d'un fort typage est un dialecte de Lisp. L'objectif premier du langage étant d'avoir un Lisp moderne pouvant fonctionner avec la plateforme Java, notamment dans le cadre de la programmation concurrente. Un travail proche du projet initial qui ressemble fortement à l'initiative fait autour du langage D depuis quelques versions.
Projet Fedora
Simplification des procédures pour les mainteneurs des versions « spins » de Fedora et des mainteneurs de paquets au sein du projet via l'utilisation d'un service de présélection des services. En effet, auparavant quand vous installez un paquet RPM, les macros %post permettent par exemple de lancer des services pour ses propres besoins (ou lancer ce que l'utilisateur a voulu installer). Seulement cela ne tient pas compte des versions dérivées officielles de Fedora, les « spins » et cela demandait une lourde charge aux mainteneurs des paquets pour en tenir compte. Ici c'est systemd qui prend le relais, un simple fichier explicite les services à lancer suivant la configuration prédéfinie par défaut ce qui est idéal dans le cas des spins qui ont justement des paquets prédéfinis. Il est possible de prioriser différentes configurations en cas de besoin en simultanée. Ainsi la Fedora canonique sera plus propre et maintenable, la vie des « spinners » sera facilité et l'échange de fichier .spec de RPM entre distributions sera facilité également.
Les groupes de paquets sont réorganisés et leur affichage a été amélioré pour l'utilisateur.
Mises à jour majeures
Voici la liste des mises à jour majeures des paquets de Fedora avec les liens vers leurs notes de versions :
Liens externes Texte sous licence CC BY-SA