tag:linuxfr.org,2005:/users/rolinhLinuxFr.org : les contenus de Rolinh2016-11-18T11:49:05+01:00/favicon.pngtag:linuxfr.org,2005:News/373672016-10-24T13:51:40+02:002016-10-25T07:55:50+02:00DragonFly BSD 4.6 et 4.6.1Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>DragonFly BSD 4.6.1 est disponible depuis le 17 octobre 2016. Il s’agit d‘une version mineure comportant principalement des corrections de bogues. Cette dépêche se focalise sur les nouveautés de la branche 4.6 en général.</p>
<p>Justin Sherill a annoncé la version 4.6 de DragonFly BSD le 2 août 2016. Cette version contient des mises à jour qui raviront les utilisateurs de processeurs graphique Intel et Radeon, un tout nouveau contrôleur NVMe, une prise en charge préliminaire de l’EFI, mais également des améliorations de performance SMP et réseau lors de charges importantes.</p></div><ul><li>lien nᵒ 1 : <a title="https://www.dragonflybsd.org/release46/" hreflang="en" href="https://linuxfr.org/redirect/97437">Notes de version</a></li><li>lien nᵒ 2 : <a title="https://www.dragonflybsd.org/" hreflang="en" href="https://linuxfr.org/redirect/97438">Site officiel</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<a href="#noyau">Noyau</a><ul>
<li>
<a href="#syst%C3%A8mes-de-fichiers-et-stockage">Systèmes de fichiers et stockage</a><ul>
<li><a href="#hammer">HAMMER</a></li>
<li><a href="#hammer2">HAMMER2</a></li>
<li><a href="#nouveau-pilote-nvme">Nouveau pilote NVMe</a></li>
</ul>
</li>
<li><a href="#r%C3%A9seau">Réseau</a></li>
<li><a href="#pile-graphique">Pile graphique</a></li>
</ul>
</li>
<li>
<a href="#espace-utilisateur">Espace utilisateur</a><ul>
<li><a href="#paquets">Paquets</a></li>
<li><a href="#efi">EFI</a></li>
</ul>
</li>
<li>
<a href="#divers">Divers</a><ul>
<li><a href="#nouveaux-d%C3%A9veloppeurs">Nouveaux développeurs</a></li>
<li><a href="#un-nouvel-outil-pour-les-dports-synth">Un nouvel outil pour les (d)ports : synth</a></li>
</ul>
</li>
</ul><h2 id="noyau">Noyau</h2>
<h3 id="systèmes-de-fichiers-et-stockage">Systèmes de fichiers et stockage</h3>
<h4 id="hammer">HAMMER</h4>
<p>HAMMER utilise désormais l’option <code>noatime</code> <a href="http://lists.dragonflybsd.org/pipermail/users/2015-November/228445.html">par défaut</a>.</p>
<h4 id="hammer2">HAMMER2</h4>
<p>HAMMER2 est toujours en développement et donc pas encore finalisé. Cependant, un travail important sur HAMMER2 a été effectué ces derniers mois afin d’améliorer la stabilité ainsi que les performances en environnement SMP.</p>
<h4 id="nouveau-pilote-nvme">Nouveau pilote NVMe</h4>
<p>DragonFly BSD bénéficie désormais d’un tout nouveau <a href="https://www.dragonflybsd.org/cgi/web-man?command=nvme&section=4">pilote NVMe</a> (SSDs PCIe). Ce pilote a été implémenté de zéro par Matthew Dillon à partir de la spécification NVM Express 1.2a. Le pilote utilise toutes les fonctionnalités de concurrence offertes par la puce et se charge de distribuer des files d’attente et les interruptions sur plusieurs processeurs afin de maximiser les performances. Matt a publié les résultats <a href="http://apollo.backplane.com/DFlyMisc/nvme_sys01.txt">de</a> <a href="http://apollo.backplane.com/DFlyMisc/nvme_sys02.txt">quelques</a> <a href="http://apollo.backplane.com/DFlyMisc/nvme_sys03.txt">tests</a>. On en retiendra qu’il a été possible de tirer profit au maximum de trois SSD NVMe sur la machine de test tout en ayant passablement de ressources encore disponibles. En termes de chiffres, les tests ont atteint environ 1,05 MIOPS @4K et 6,5 Gio/s @32K (lecture aléatoire de partitions remplies par <em>urandom</em>) avec un serveur de test (deux Xeon E5-2620v4) restant au repos à 78 % dans le test d’entrées‐sorties par seconde et 72 % dans le test de bande passante.</p>
<p>Le pilote n’est toutefois pas inclus dans le noyau par défaut. Il faut donc charger le module si vous voulez en bénéficier.</p>
<p>Il faut noter également que le travail sur le pilote NVMe a également permis d’améliorer les performances SMP de DragonFly qui étaient déjà excellentes. Le sous‐système de cache tampon et d’autres sous‐systèmes liés aux entrées‐sorties ont été optimisés par une réduction des conflits de verrous et de la surcharge liée à l’IPI.</p>
<h3 id="réseau">Réseau</h3>
<p>La pile réseau a subi une mise à jour importante. Le travail a été effectué de concert par <a href="https://fr.wikipedia.org/wiki/Matt_Dillon_(d%C3%A9veloppeur)">Matthew Dillon</a>, Imre Vadasz et Adrian Chadd. Ce dernier est un développeur FreeBSD et il en a donc profité pour récupérer quelques corrections effectuées çà et là par l’équipe de DragonFly BSD pour FreeBSD (la pile Wi‐Fi de DragonFly BSD est en effet essentiellement dérivée de celle de FreeBSD).</p>
<p>En vrac, on peut citer :</p>
<ul>
<li>la mise à jour des pilotes <a href="https://www.dragonflybsd.org/cgi/web-man?command=emx&section=4"><em>em</em>(4), <em>emx</em>(4)</a>, <a href="https://www.dragonflybsd.org/cgi/web-man?command=igb&section=4"><em>igb</em>(4)</a> et <a href="https://www.dragonflybsd.org/cgi/web-man?command=ix&section=4"><em>ix</em>(4)</a> pour les cartes Intel ;</li>
<li>le pilote <a href="https://www.dragonflybsd.org/cgi/web-man?command=iwm&section=4"><em>iwm</em>(4)</a> pour les cartes réseau sans fil Intel gère <a href="http://lists.dragonflybsd.org/pipermail/commits/2016-January/459113.html">désormais</a> l’indicateur lumineux.</li>
</ul><h3 id="pile-graphique">Pile graphique</h3>
<p>Comme à l’accoutumée, cette version de DragonFly bénéficie d’un important travail de François Tigeot sur la pile graphique et notamment <em>drm/i915</em> pour la gestion des processeurs graphiques Intel. Elle a d’abord été mise à jour pour atteindre la <a href="http://lists.dragonflybsd.org/pipermail/commits/2015-December/459067.html">parité avec Linux 4.0</a>, puis <a href="http://lists.dragonflybsd.org/pipermail/commits/2016-January/459241.html">4.1</a>, <a href="http://lists.dragonflybsd.org/pipermail/commits/2016-February/459414.html">4.2</a>, <a href="http://lists.dragonflybsd.org/pipermail/commits/2016-May/500352.html">4.3</a> et finalement <a href="http://lists.dragonflybsd.org/pipermail/commits/2016-July/624056.html">4.4</a>.</p>
<p>Concrètement, ces mises à jour apportent la prise en charge des processeurs graphiques Skylake et Broxton (nouveau système monopuce Atom). Tous les processeurs graphiques Intel vendus jusqu’en août 2016 sont pris en charge.</p>
<p>Le pilote <em>drm/i915</em> a bénéficié de nombreuses corrections de bogues et est globalement plus stable sur toutes les familles de processeurs graphiques prises en charge. En particulier, certains plantages matériels de vieux jeux de puces sur des machines Core 2 ou Atom d’avant 2012 devraient maintenant être récupérables.<br>
La gestion des sorties vidéo a été améliorée. Certains moniteurs HDMI qui réagissaient plus lentement que ce qui était prévu dans la norme devraient maintenant pouvoir fonctionner sans problème. De nombreux soucis de jeunesse ont également été corrigés pour la prise en charge des liens DisplayPort.</p>
<p>Les performances ont aussi été augmentées et une meilleure gestion des fréquences du processeur graphique permet d’améliorer l’expérience utilisateur pour différents types de tâches sur les processeurs des générations Haswell et Broadwell.</p>
<p>Rimvydas Jasinskas a également amélioré le pilote <em>drm/radeon</em>, afin de rajouter la prise en charge des processeurs graphiques de la famille Bonaire.</p>
<h2 id="espace-utilisateur">Espace utilisateur</h2>
<h3 id="paquets">Paquets</h3>
<p>Grâce au travail de contributeurs et principalement John Marino et Rimvydas Jasinskas, plus de 24 000 paquets sont désormais disponibles pour DragonFly BSD, à compiler via les <em>dports</em> ou à installer via <a href="https://www.dragonflybsd.org/cgi/web-man?command=pkg&section=8"><em>pkg</em>(8)</a>.</p>
<h3 id="efi">EFI</h3>
<p>DragonFly BSD peut désormais être démarré via l’EFI. Cependant, cela reste préliminaire dès lors que l’installateur ne le prend pas encore en charge.</p>
<h2 id="divers">Divers</h2>
<h3 id="nouveaux-développeurs">Nouveaux développeurs</h3>
<p>L’équipe de DragonFly BSD est restreinte. C’est donc toujours un plaisir d’accueillir de nouveaux développeurs. C’est ainsi que Rimvydas Jasinskas est le dernier programmeur en date à avoir obtenu son « <em>commit bit</em> ». Il a effectué un travail important tout au long du cycle de développement, notamment en réparant de nombreux <em>dports</em>, mais aussi en aidant François Tigeot dans son travail sur la pile graphique.</p>
<p>Ce cycle de développement a également vu Bill Yuan obtenir son « <em>commit bit</em> ». Bill a surtout travaillé sur <a href="https://www.dragonflybsd.org/cgi/web-man?command=ipfw3&section=8"><em>ipfw3</em></a> comme pare‐feu alternatif.</p>
<h3 id="un-nouvel-outil-pour-les-dports-synth">Un nouvel outil pour les (d)ports : synth</h3>
<p>John Marino, qui est à l’origine des <em>dports</em> et très actif dans son maintien, a créé <a href="http://lists.dragonflybsd.org/pipermail/users/2016-January/228540.html">un nouvel outil</a> pour la compilation des <em>dports</em> : <a href="https://github.com/jrmarino/synth"><em>synth</em></a>. Cet outil peut être utilisé tant pour créer des paquets à partir des <em>dports</em> de DragonFly, que des <em>ports</em> de FreeBSD. Il se veut une alternative à <code>portupgrade</code> et <code>portmaster</code> et, dans une certaine mesure, à <code>poudriere</code>.</p></div><div><a href="https://linuxfr.org/news/dragonfly-bsd-4-6-et-4-6-1.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/109226/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/dragonfly-bsd-4-6-et-4-6-1#comments">ouvrir dans le navigateur</a>
</p>
RolinhDavy DefaudFrançois TigeotBenoît SibaudNils RatusznikXavier Teyssierpalm123Yves Bourguignonloran42ohttps://linuxfr.org/nodes/109226/comments.atomtag:linuxfr.org,2005:News/361212015-06-29T18:40:04+02:002015-06-30T08:44:06+02:00DragonFly BSD 4.2Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>La nouvelle version stable du système d'exploitation DragonFly BSD, la 4.2, est sortie aujourd'hui 29 juin 2015. Elle est disponible au téléchargement. De nombreux changements ont été apportés depuis la version 4.0 de novembre dernier, notamment de nombreuses améliorations pour le pilote i915. GCC 5.1.1 fait son apparition dans <code>base</code>, d'importants changements ont lieu dans les pilotes wifi, et la pile audio qui souffrait de plusieurs problèmes a été revue en profondeur.</p>
<p><em>Merci à tous les contributeurs à cette dépêche et en particulier à François Tigeot et Joris Giovannangeli.</em></p></div><ul><li>lien nᵒ 1 : <a title="http://www.dragonflybsd.org/" hreflang="en" href="https://linuxfr.org/redirect/93071">Site officiel</a></li><li>lien nᵒ 2 : <a title="http://www.dragonflybsd.org/release42/" hreflang="en" href="https://linuxfr.org/redirect/93072">Notes de version</a></li><li>lien nᵒ 3 : <a title="https://www.dragonflydigest.com/2015/06/29/16337.html" hreflang="en" href="https://linuxfr.org/redirect/94521">Annonce</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<a href="#noyau">Noyau</a><ul>
<li><a href="#performances">Performances</a></li>
<li>
<a href="#syst%C3%A8mes-de-fichiers">Systèmes de fichiers</a><ul>
<li><a href="#hammer">HAMMER</a></li>
<li><a href="#hammer2">HAMMER2</a></li>
<li><a href="#tmpfs-et-ext2">tmpfs et ext2</a></li>
</ul>
</li>
<li>
<a href="#pile-graphique">Pile graphique</a><ul>
<li><a href="#i915">i915</a></li>
<li><a href="#radeon">radeon</a></li>
</ul>
</li>
<li><a href="#pile-sonore">Pile sonore</a></li>
<li><a href="#pile-usb">Pile USB</a></li>
<li>
<a href="#fiabilit%C3%A9-facilit%C3%A9-de-maintenance-et-disponibilit%C3%A9-">Fiabilité, facilité de maintenance et disponibilité </a><ul>
<li><a href="#capteurs-de-temp%C3%A9rature-et-compteurs-ecc">Capteurs de température et compteurs ECC</a></li>
<li><a href="#watchdogs">Watchdogs</a></li>
</ul>
</li>
<li>
<a href="#r%C3%A9seau">Réseau</a><ul>
<li>
<a href="#protocoles">Protocoles</a><ul>
<li><a href="#fonctionnalit%C3%A9s">Fonctionnalités</a></li>
<li><a href="#performances-et-parall%C3%A9lisme">Performances et parallélisme</a></li>
</ul>
</li>
<li><a href="#pilotes-r%C3%A9seau">Pilotes réseau</a></li>
<li><a href="#nouveau-pare-feu--ipfw3">Nouveau pare-feu : ipfw3</a></li>
</ul>
</li>
<li><a href="#divers">Divers</a></li>
</ul>
</li>
<li>
<a href="#espace-utilisateur">Espace utilisateur</a><ul>
<li><a href="#outils-de-d%C3%A9veloppement">Outils de développement</a></li>
<li><a href="#introduction-de-sshlockout8">Introduction de sshlockout(8)</a></li>
<li><a href="#dma-remplace-sendmail-en-tant-que-mta-par-d%C3%A9faut">DMA remplace Sendmail en tant que MTA par défaut</a></li>
<li><a href="#biblioth%C3%A8que-math%C3%A9matique">Bibliothèque mathématique</a></li>
<li><a href="#symbol-versioning">Symbol versioning</a></li>
<li><a href="#unicode">Unicode</a></li>
<li><a href="#divers-1">Divers</a></li>
</ul>
</li>
<li>
<a href="#divers-2">Divers</a><ul>
<li><a href="#chargeur-damor%C3%A7age-en-couleur">Chargeur d'amorçage en couleur</a></li>
<li><a href="#usr-int%C3%A9gr%C3%A9-dans-la-racine">/usr intégré dans la racine</a></li>
<li><a href="#slider-un-outil-pour-naviguer-dans-lhistorique-de-hammer">Slider, un outil pour naviguer dans l'historique de HAMMER</a></li>
<li><a href="#suppression-des-page-info">Suppression des page info</a></li>
<li><a href="#gestionnaire-de-service-svc">Gestionnaire de service svc</a></li>
</ul>
</li>
<li><a href="#notes-de-mise-%C3%A0-jour">Notes de mise à jour</a></li>
</ul><h2 id="noyau">Noyau</h2>
<h3 id="performances">Performances</h3>
<p>Maintenant que la plupart des sous-système importants du noyau peuvent fonctionner en parallèle sans verrous, les performances en charge peuvent être dégradées par des choses apparemment anodines.<br>
C'est le cas du sous-système <em>sysctl</em>, utilisé pour échanger des informations entre le noyau et les applications en espace utilisateur, qui utilisait jusqu'à maintenant un verrou global.<br>
Ce verrou n'est maintenant utilisé plus que pour la création et la suppression de nœuds. L'immense majorité des opérations peuvent désormais se dérouler en parallèle, sans se bloquer.</p>
<p>L'algorithme CRC iscsi a été remplacé par la version rapide de Gary S. Brown, obtenue depuis FreeBSD. Cela devrait permettre d'améliorer grandement les performances du système de fichier HAMMER2.</p>
<p>Une fonction critique du sous-système SCSI, la <em>CAM SWI</em> est maintenant capable de fonctionner sur plusieurs processeurs en parallèle, ce qui devrait améliorer les performances en entrée/sorties lorsque plusieurs disques ou SSD travaillent en même temps.</p>
<p>Le sous-système <em>callout</em> a été réécrit pour fonctionner de manière plus efficace. Cette interface de programmation du noyau permet d'enregistrer des minuteurs associés à une fonction de traitement. Quand le temps demandé est écoulé, la fonction enregistrée est exécutée. Il est désormais plus simple de forcer l’exécution des fonctions sur un CPU particulier. Une API permettant de se saisir automatiquement d'un verrou avant d’exécuter certaines fonctions, à la manière de FreeBSD, a été implémentée. Cette fonctionnalité devrait faciliter le port de pilotes venant du noyau FreeBSD.</p>
<p>L'allocateur mémoire interne du noyau utilise le mécanisme de <a href="https://en.wikipedia.org/wiki/Slab_allocation">Slab allocation</a>. Pour les tailles les plus courantes, l'allocation est arrondie à la puissance de 2 supérieure. Au lieu de créer les objets uns à uns, des zones mémoires de tailles fixes pouvant contenir plusieurs objets de tailles très proches sont allouées d'un seul coup, puis remplies selon la demande. Cela permet de réduire la pression sur le sous-système mémoire. La fonction <em>slab_cleanup</em> est chargée de détruire les zones qui ne sont plus utilisées. Elle utilisait jusqu'à présent des listes simplement chaînées. Sur certaines machines comportant une quantité de mémoire importante, supprimer des slabs inutilisés pouvait consommer un temps excessif de processeur. Les listes sont désormais doublement chaînées, ce qui réduit la complexité de l'opération. Ce changement était particulièrement visible sur <em>Monster</em>, une machine de test quadri-Opteron avec 128GB de mémoire et 48 cœurs relativement lents.</p>
<h3 id="systèmes-de-fichiers">Systèmes de fichiers</h3>
<h4 id="hammer">HAMMER</h4>
<p>HAMMER est un système de fichiers déclaré stable pour la production lors de la sortie de <a href="http://www.dragonflybsd.org/release22/">DragonFly 2.2</a> en avril 2009 et utilisé comme système de fichiers par défaut à l'installation avec la sortie de <a href="http://www.dragonflybsd.org/release24/">DragonFly 2.4</a> en septembre 2009. Avec les années, HAMMER a bénéficié de nombreux ajustements, améliorations de performance ou encore de la dé-duplication de données.</p>
<p>Cependant, Matt Dillon, l'auteur de HAMMER, consacre désormais une bonne partie de son temps au développement de HAMMER2, un nouveau système de fichiers qui devrait corriger les quelques défauts de HAMMER ainsi qu'apporter la prise en charge du clustering au niveau du système de fichiers. Une personne non proche du développement de DragonFly pourrait penser que HAMMER ne reçoit désormais plus le soin nécessaire à sa maintenance mais il n'en est rien.</p>
<p>De nouveaux développements mineurs d'HAMMER ont ainsi eu lieu depuis DragonFly 4.0 :</p>
<ul>
<li>une commande "hammer abort-cleanup" a été ajoutée ;</li>
<li>l'export NFS de systèmes de fichiers esclaves a été rendu possible.</li>
</ul><p>L'utilisation d'HAMMER en production sur des serveurs de stockage de plus en plus importants a également permis de corriger des bugs gênants mais qui n'étaient pas visibles sur des machines comportant un nombre de disques modestes.</p>
<p>La bibliothèque libhammer(3), permettant de gérer les fonctions avancées des systèmes de fichier HAMMER, a également fait l'objet de nombreuses corrections de bugs.</p>
<p>Par ailleurs, un nouveau contributeur, Tomohiro Kusumi, a fait son apparition depuis février dernier. Jusqu'à présent il a apporté <a href="http://gitweb.dragonflybsd.org/dragonfly.git/search?pg=0;s=Tomohiro+Kusumi;st=author">quasi exclusivement des corrections mineures</a> à ce système de fichier, tout en étudiant en détail son fonctionnement.</p>
<p>Pour la petite histoire, Tomohiro souhaitait initialement faire un portage natif de HAMMER pour Linux (donc sans passer par <a href="https://fr.wikipedia.org/wiki/Filesystem_in_Userspace">FUSE</a>) ce qui l'a poussé à regarder le code source et à commencer à soumettre quelque patchs. Le temps passant, il a fini par prendre goût à DragonFly, recevoir un commit bit et abandonner l'idée du port Linux.</p>
<p>De toute façon HAMMER serait très difficile à porter sur une autre plateforme selon Matt Dillon. C'est un des "défauts" que HAMMER2 devrait combler…</p>
<h4 id="hammer2">HAMMER2</h4>
<p>Les personnes qui pourraient penser que HAMMER2 n'est qu'une simple évolution de HAMMER se tromperaient. Ce système de fichiers, toujours en cours d'écriture, est entièrement différent. Alors qu'il est prévu qu'il conserve les fonctionnalités de HAMMER qui lui donnent tout son intérêt (historique fin (paramétrable), <em>snapshoting</em>, gestion multi-volume, <em>mirroring</em> via le réseau, récupération instantanée lors de crashs (<code>fsck(8)</code> n'est pas nécessaire), …), il est également prévu de faire encore un pas en avant.</p>
<p>Matt Dillon a acquis une excellente expérience lors du développement de HAMMER ce qui lui permet aujourd'hui d'identifier les points faibles de son implémentation. Par exemple, les <a href="http://en.wikipedia.org/wiki/B%2B_tree">arbres B+</a> utilisés comme structure de données sur disque et en mémoire sont remplacés par des <a href="http://fr.wikipedia.org/wiki/Arbre_radix">arbres radix</a> pour HAMMER2. Ce choix permet de réduire la complexité du code et facilite la synchronisation de plusieurs systèmes de fichiers sur le réseau, car les fichiers sont représentés naturellement par un arbre radix.</p>
<p>HAMMER2 est pensé pour fonctionner en multi-maîtres dans le cadre d'un cluster, chaque machine du groupe ayant la même vue du système de fichiers et les opérations effectuées sur n'importe quel nœud étant visibles par les autres.</p>
<p>HAMMER2 est loin d'être fini mais de nombreux progrès ont été faits depuis DragonFly 4.0 :</p>
<ul>
<li>la libération d'espace après suppression de fichiers est maintenant fonctionnelle ; par le passé, le système de fichier ne pouvait que se remplir et seule une opération de formatage de type <code>newfs</code> permettait de récupérer l'espace disque ;</li>
<li>la gestion de disques distants est maintenant opérationnelle ;</li>
<li>la gestion de messages du cluster est maintenant opérationnelle ;</li>
<li>du travail a été fait pour la validation de quorum dans le cadre d'un cluster ;</li>
<li>la gestion de la synchronisation des données et la gestion des erreurs réseau est également en cours de développement ;</li>
<li>les Pseudo File Systems (PFS) sont maintenant compressés par défaut avec l'algorithme lz4.</li>
</ul><p>Le processus de développement est itératif et des changements de structures de données disque ainsi que du refactoring de certains sous-ensembles du code de HAMMER2 ont lieu en fonction des problèmes rencontrés lors des progrès de l'implémentation.</p>
<p>Le <a href="http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/b93cc2e0815ec1ad6d6f8e60cc0becbdee247679:/sys/vfs/hammer2/DESIGN">document de référence HAMMER2</a> a été mis à jour en fonction de ces changements.</p>
<h4 id="tmpfs-et-ext2">tmpfs et ext2</h4>
<p>Non content d'avoir amélioré de nombreux détails du code de HAMMER, Tomohiro Kusumi a également commencé à s'attaquer à tmpfs et ext2, apportant de nombreuses corrections de bugs et corrigeant la documentation lorsque cela était nécessaire.<br>
Le pilote de gestion des systèmes de fichier ext2 n'est pas actuellement fonctionnel, mais si Tomohiro continue son travail il sera sans doute bientôt possible de relire de vieux disques durs formatés en ext2fs ou d'utiliser ce système de fichiers pour une partition d'échange entre Linux et DragonFly.</p>
<h3 id="pile-graphique">Pile graphique</h3>
<p>Le code noyau drm a été partiellement mis à jour vers Linux 3.14 afin d'accompagner l'évolution des pilotes i915 et radeon.</p>
<p>De nombreuses interfaces de programmation et structures de données Linux ont été implémentées afin de faire tourner le code drm et ses pilotes avec aussi peu de modifications que possible. Du point de vue du sous-système graphique, le noyau DragonFly peut ainsi être considéré comme une implémentation sous licence BSD de Linux.</p>
<h4 id="i915">i915</h4>
<p>Le pilote drm/i915 a été mis à jour vers la version de Linux 3.14, ce qui apporte notamment une prise en charge des GPU Broadwell (mais sans accélération pour le moment).</p>
<ul>
<li>La plupart des chemins de code GEM sont maintenant similaires à ceux de Linux, entraînant une augmentation de la stabilité et des performances. Faire ce changement a été grandement aidé par l'étude du code OpenBSD.</li>
<li>De nombreuses corrections de bugs ont été apportées. Le pilote est maintenant plus robuste et résiste mieux aux plantages du GPU.</li>
<li>Les fonctions d'économie d'énergie et de compression du framebuffer sont maintenant activées par défaut (suivant la famille de GPU utilisée).</li>
<li>La gestion de l'économie d'énergie a par ailleurs été grandement améliorée.</li>
<li>Les écrans HDMI 4K sont maintenant pris en charge, ainsi que les systèmes d'affichage 3D/stéréo.</li>
<li>La gestion du modesetting a été améliorée. Il devrait maintenant être possible d'utiliser des systèmes d'affichage utilisant des couleurs 30 bits.</li>
<li>Le branchement d'écrans à chaud a été amélioré et devrait être plus robuste.</li>
<li>Outre une prise en charge initiale des GPU Broadwell, de nouveaux membres de la famille Haswell ont été ajoutés</li>
<li>Le changement de fréquence et l'overclocking ont été grandement améliorés sur les familles de GPU Sandy-Bridge à Haswell</li>
<li>Le cache géant de 128MB est maintenant activé sur les GPU Haswell qui le possèdent</li>
<li>Le moteur VECS est maintenant activé sur Haswell. Il est utilisé par libva pour des tâches de post-traitement video.</li>
</ul><h4 id="radeon">radeon</h4>
<p>Le pilote drm/radeon a été mis à jour vers la version de Linux 3.11. Parmi les diverses améliorations que cela apporte, on peut noter une prise en charge du son via HDMI (fonctionnalité encore expérimentale).<br>
Il est également désormais possible de lire les informations des capteurs de température.</p>
<h3 id="pile-sonore">Pile sonore</h3>
<p>Le sous-système de gestion du son a été mis à jour vers la pile sonore de FreeBSD 11 (version en cours de développement) datée de janvier 2015.</p>
<p>Cela a permis d'améliorer la prise en charge du matériel récent (en particulier les chipsets Intel depuis la génération de processeurs Ivy-Bridge) et d'apporter la gestion des flux audio sur liens HDMI et DisplayPort.<br>
Il est désormais possible de changer simplement la carte son utilisée par défaut grâce au sysctl(8) <code>hw.snd.default_unit</code>.</p>
<p>L'amélioration la plus visible est que les vidéos HTML5 peuvent maintenant être lues avec du son sans manipulation particulière.</p>
<p>La qualité du son est également améliorée, la nouvelle pile utilisant des algorithmes avancés de conversion et de ré-échantillonnage conçus pour respecter au maximum la fidélité des données.</p>
<p>Plusieurs pilotes aux licences jugées trop restrictives ou nécessitant l'emploi de blobs binaires ont été éliminés. À l'inverse, un nouveau pilote a été ajouté pour gérer le son sur les portables Acer Chromebook de la série C720. Ce pilote n'est pas présent dans FreeBSD.</p>
<h3 id="pile-usb">Pile USB</h3>
<p>La pile USB a été mise à jour depuis FreeBSD. La gestion de l'USB 3 est maintenant activée par défaut et les chipsets Wildcat Point gérés.</p>
<p>Les pilotes <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=aue&section=4">aue(4)</a>, <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=cue&section=4">cue(4)</a>, <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=ipheth&section=4">ipheth(4)</a>, <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=kue&section=4">kue(4)</a> et <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=axge&section=4">axge(4)</a> pour adaptateurs ethernet USB ont été portés depuis FreeBSD.</p>
<h3 id="fiabilité-facilité-de-maintenance-et-disponibilité-">Fiabilité, facilité de maintenance et disponibilité </h3>
<h4 id="capteurs-de-température-et-compteurs-ecc">Capteurs de température et compteurs ECC</h4>
<p>Les pilotes dimm(4), <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=ecc&section=4">ecc(4)</a>, <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=coretemp&section=4">coretemp(4)</a> et <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=memtemp&section=4">memtemp(4)</a> ont été créés ou mis à jour afin de pouvoir obtenir et traiter les informations concernant l'état du matériel de la part des capteurs inclus dans les cœurs processeur et les barrettes mémoire.</p>
<p>Les informations de température ainsi que le taux d'erreur ecc remontés par les différents composants sont classés en fonction de la topologie matérielle afin de pouvoir identifier facilement les composants problématiques.</p>
<p>Un taux d'erreurs mémoire corrigées acceptable est paramétrable pour le pilote ecc(4). Si ce taux est dépassé, une alerte est générée en utilisant le mécanisme <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=devctl&section=4">devctl(4)</a>.</p>
<p>Les informations des capteurs sont sinon visibles sous les arborescences sysctl <code>hw.sensors</code> et <code>hw.dimminfo</code> comme le montrent ces exemples:</p>
<pre><code>hw.sensors.cpu5.temp0: 44.00 degC (node0 core1 temp), OK
hw.sensors.dimm0.ecc0: 0 (node0 chan0 DIMM0 ecc), OK
$ sysctl hw.dimminfo
hw.dimminfo.dimm0.node: 0
hw.dimminfo.dimm0.chan: 0
hw.dimminfo.dimm0.slot: 0
hw.dimminfo.dimm0.ecc_thresh: 10
hw.dimminfo.dimm1.node: 0
hw.dimminfo.dimm1.chan: 1
hw.dimminfo.dimm1.slot: 0
hw.dimminfo.dimm1.ecc_thresh: 10
</code></pre>
<p>Les pilotes <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=ecc&section=4">ecc(4)</a> et <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=memtemp&section=4">memtemp(4)</a> gèrent les contrôleurs mémoire des familles de processeur Intel Xeon E3, E3v2, E3v3 et Intel Xeon E5v2 et E5v3, ainsi que les processeurs Intel core i3/i5/i7 Haswell.</p>
<h4 id="watchdogs">Watchdogs</h4>
<p>Le pilote <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=ichwd&section=4">ichwd(4)</a> a été mis à jour pour gérer les chipsets Intel Coleto Creek (Xeon EP Ivy-Bridge), Lynx Point et Wildcat Point (processeurs utilisant le socket 1150)</p>
<p>Un nouveau pilote <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=ipmi&section=4">ipmi(4)</a> a été ajouté et gère la fonctionnalité watchdog présente dans les systèmes de gestion IPMI.</p>
<h3 id="réseau">Réseau</h3>
<h4 id="protocoles">Protocoles</h4>
<h5 id="fonctionnalités">Fonctionnalités</h5>
<p>La prise en charge du protocole <a href="https://fr.wikipedia.org/wiki/Stream_Control_Transmission_Protocol">SCTP</a> (une alternative à UDP et TCP) a été supprimée. Le code datait du début des années 2000 et n'ayant reçu aucune maintenance, il commençait à poser problème pour l'évolution d'autres éléments de la pile réseau.<br>
Le protocole SCTP n'ayant eu aucun utilisateur connu depuis 15 ans, son élimination n'a pas fait l'objet de débat.</p>
<p>La prise en charge des adresses IPV4 sur les sockets IPv6 a été supprimée.<br>
Cela a grandement simplifié le code de gestion des protocoles IPv4 et IPv6 et éliminé de nombreux problèmes potentiels dus à la complexité de gestion de l'ancien système.<br>
OpenBSD avait déjà rejeté la gestion des adresses IPv4 sur sockets IPv6 il y a de nombreuses années, principalement pour des raisons de sécurité.<br>
Un <a href="https://tools.ietf.org/html/draft-itojun-v6ops-v4mapped-harmful-02">draft IETF du regretté Itojun</a> recommandait déjà de ne pas utiliser ce système depuis presque 12 ans.</p>
<p>Le <a href="https://fr.wikipedia.org/wiki/Maximum_Transmission_Unit">Maximum Transmission Unit (MTU)</a> est la taille maximale d'un paquet TCP qui peut circuler entre deux hôtes sans qu'il ne soit découpé en paquets plus petits. Pour des raisons de performance, il est souhaitable que les paquets transmis soient le plus proche de la taille maximale supportée par le réseau car fragmenter des paquets réduit les performances. Le <a href="https://fr.wikipedia.org/wiki/Path_MTU_discovery">Path MTU Discovery</a> permet de vérifier dynamiquement la taille du <em>MTU</em> et de l'ajuster selon les cas pour éviter la fragmentation des paquets TCP par les routeurs. Ce mécanisme est disponible depuis longtemps mais il est maintenant activé par défaut pour le protocole TCP.</p>
<h5 id="performances-et-parallélisme">Performances et parallélisme</h5>
<p>Le code de gestion du réseau dans le noyau a une architecture plutôt inhabituelle. Pour chaque connexion, un hash symétrique est calculé en utilisant l’adresse source et l’adresse de destination. Ce hash permet de décider à quel processeur cette connexion appartient, tous les paquets étant traités par ce processeur, ce qui évite l'utilisation de verrous. Pour l'instant, seuls les protocoles <em>UDP</em> et <em>TCP</em> sur <em>IPV4</em> utilisaient tous les cœurs.</p>
<p>Le code de gestion du protocole <em>ICMP</em> a été amélioré. En plus d'une amélioration de la vitesse de traitement brut de certains types datagrammes, de nombreuses fonctions sont maintenant capables de fonctionner de manière asynchrone et ne bloquent plus le thread principal de traitement des données réseau. Le code de gestion du protocole ICMP est maintenant capable de fonctionner en parallèle sur plusieurs processeurs.</p>
<p>Du travail a été commencé pour rendre le code de gestion des protocoles <em>IPv6</em> et <em>ALTQ</em> capable de fonctionner en parallèle sur plusieurs processeurs. Le calcul d'un hash pour <em>IPV6</em> est plus coûteux et n'était jusqu'à présent pas prioritaire. Toutes les connexions <em>IPV6</em> sont pour l'instant gérées par le premier cœur mais cet état de fait devrait changer sous peu. </p>
<p>En plus de ces améliorations, de nombreuses corrections de bugs ont également eu lieu dans la pile TCP/IP et dans le code de gestion du protocole <a href="https://fr.wikipedia.org/wiki/Network_File_System">NFS</a>.</p>
<h4 id="pilotes-réseau">Pilotes réseau</h4>
<p>Le pilote <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=alc&section=4">alc(4)</a> a été mis à jour depuis FreeBSD, apportant la gestion des cartes Atheros AR8161, AR8162, AR8171, AR8172 et Killer E2200</p>
<p>Le groupe de pilotes e1000 (<a href="http://leaf.dragonflybsd.org/cgi/web-man?command=em&section=4">em(4)</a>, <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=emx&section=4">emx</a> et ig_hal) a été synchronisé avec les sources du pilote Intel em-7.4.2, apportant la prise en charge des puces réseau I218V.</p>
<p>Le sous-système <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=wlan&section=4">wlan(4)</a>, ainsi que les pilotes <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=iwn&section=4">iwn(4)</a> et <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=ath&section=4">ath(4)</a> ont été mis à jour depuis FreeBSD, ce qui devrait améliorer la qualité des connexions wifi.</p>
<p>Le pilote <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=de&section=4">de(4)</a> a été mis à jour vers la version FreeBSD r271849, ce qui lui permet de fonctionner maintenant avec plus de 4Go de RAM. Bien que les cartes réseau DEC Tulip soient maintenant extrêmement rares, ce matériel est souvent émulé par des systèmes de gestion de machines virtuelles tels que Qemu.</p>
<h4 id="nouveau-pare-feu--ipfw3">Nouveau pare-feu : ipfw3</h4>
<p>Deux systèmes de parefeu réseau étaient jusqu'à présent disponibles. <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=ipfw&section=8">ipfw(8)</a>, mieux connu sous le nom de <em>ipfw2</em>, qui est le pare-feu traditionnel de <em>FreeBSD</em>. Il s'agit d'une réécriture d'un système plus vieux, <em>ipfw</em>, et disponible depuis <em>FreeBSD</em> 5. Plus tard, le pare-feu écrit pour <em>OpenBSD</em>, <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=pf">pf(4)</a> a été adapté sous <em>DragonFlyBSD</em>. Ces deux pare-feux sont toujours disponibles et l'utilisateur peut choisir l'un ou l'autre en fonction de ses préférences. </p>
<p>Un nouveau pare-feu dérivé de <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=ipfw&section=8">ipfw(8)</a> a été implémenté par Bill Yuan. Il a été décidé de le nommer ipfw3 pour éviter toute confusion avec ipfw2, la réécriture de ipfw(8) dans FreeBSD 5.0.</p>
<p>Les outils en espace utilisateur sont rétro-compatibles avec les versions précédentes mais le code noyau a été entièrement réécrit. Le but de cette réécriture est de rendre le code plus extensible et modulaire, ainsi que d'améliorer les performances sur les machines avec plusieurs processeurs. Comme la plupart des pare-feux modernes, <em>ipfw3</em> est un pare-feu <em>stateful</em> qui conserve l'état des connexions pour éviter d'avoir à ré-évaluer les règles pour tous les paquets d'une même connexion.</p>
<p>Le code est organisés en deux classes de modules : </p>
<ol>
<li>
<p>les modules de filtres : </p>
<ul>
<li>
<em>le module de base</em> fournit les fonctionnalités courantes d'un pare-feu. Il permet de sélectionner les paquets entrant ou sortant en fonction de leur interface, de leur provenance et de leur destination. Il supporte les tags de paquets, ainsi que des compteurs et la gestion des états de connexion.</li>
<li>
<em>le module layer2</em> permet de filtrer selon les adresses MAC source ou destination.</li>
<li>
<em>le module layer4</em> ajoute des fonctionnalités spécifiques aux protocoles de la couche application. Il permet de filtrer selon les drapeaux des paquets TCP, ou de l'identité (utilisateur et groupe) du processus possédant le socket de destination. L'utilisateur a aussi la possibilité d'écrire des filtres complexes en utilisant le langage <a href="https://fr.wikipedia.org/wiki/BSD_Packet_Filter">BPF</a>.</li>
</ul>
</li>
<li>
<p>les modules d'action :</p>
<ul>
<li>
<em>le module <a href="https://fr.wikipedia.org/wiki/Network_address_translation">NAT</a></em> ajoute le support de la translation d’adresse dans le noyau. </li>
<li>
<em>le module <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=dummynet&section=4">dummynet</a></em> permet de spécifier des politiques de <a href="https://fr.wikipedia.org/wiki/Qualit%C3%A9_de_service">qualité de service (QoS</a>), en limitant la bande passante, le nombre de connexions simultanées depuis une même adresse source, ou en utilisant des files à priorité.</li>
<li>
<em>le module table</em> apporte la possibilité de créer des ensembles d’adresses ou de ports et d'utiliser cet ensemble dans une règle de filtrage à la place d'une adresse unique.<br>
</li>
</ul>
</li>
</ol><h3 id="divers">Divers</h3>
<p><a href="http://leaf.dragonflybsd.org/cgi/web-man?command=utimensat&section=2">utimensat(2)</a> et <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=futimens&section=2">futimens(2)</a> ont <a href="http://lists.dragonflybsd.org/pipermail/commits/2015-May/418613.html">été</a> <a href="http://lists.dragonflybsd.org/pipermail/commits/2015-May/418631.html">ajoutés</a> par Dimitris Papastamos.</p>
<p>L'appel système <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=chflagsat&section=2">chflagsat(2)</a> a été ajouté par Joris Giovannangeli.</p>
<p>Tous les pilotes possèdent maintenant une sous-arborescence <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=sysctl&section=8">sysctl(8)</a> du type <code>dev.foo.X</code>. Lorsqu'elle existait, l'ancienne arborescence <code>hw.fooX.y</code> a été supprimée.<br>
Ce changement permet d'obtenir une compatibilité parfaite avec les nouvelles versions de FreeBSD qui utilisent une arborescence sysctl(8) du type <code>dev.foo.X</code>.</p>
<p>L'économie d'énergie a été améliorée sur les systèmes avec processeurs Haswell tournants au ralenti (idle).</p>
<p>Un système de chiffrement automatique du swap a été mis en place, activé par l'option "crypt" de fstab.<br>
Lorsque cette option est activée une clef de 256-bit est générée de manière aléatoire au boot et un périphérique chiffré mappé automatiquement au dessus de la partition de swap traditionnelle.</p>
<p>Le sous-système ACPICA a été mis à jour vers la version 20150515 d'Intel.</p>
<h2 id="espace-utilisateur">Espace utilisateur</h2>
<h3 id="outils-de-développement">Outils de développement</h3>
<p>Le compilateur principal a été mis à jour vers la branche de maintenance de GCC 5.1.1 datée du 25 mai 2015. Il bénéficie ainsi de 5 semaines de corrections de bugs depuis la sortie de GCC 5.1 le 22 avril 2015.</p>
<p>Le compilateur secondaire a logiquement été remplacé par l'ancien compilateur principal, GCC 4.7.4 et l'ancien compilateur GCC 4.4 a été supprimé.</p>
<p>Deux nouvelles options ont fait leur apparition dans <code>compilers.conf</code> pour gérer des compilateurs non installés par défaut: clang36 et gcc6-devel.</p>
<p>Binutils 2.25 a remplacé la version 2.24, qui est maintenant fournie en tant que linker secondaire et l'ancienne version 2.22 a été supprimée.</p>
<p>Le groupe d'utilitaires binutils comporte deux linkers: le traditionnel GNU ld, et une nouvelle implémentation, gold (fichier <code>ld.gold</code>). Gold est désactivé car étant écrit en C++, il est beaucoup plus lent à compiler que ld et n'apporte pas d'avantages significatifs en utilisation par rapport à ce dernier.</p>
<h3 id="introduction-de-sshlockout8">Introduction de sshlockout(8)</h3>
<p><a href="http://leaf.dragonflybsd.org/cgi/web-man?command=sshlockout&section=8">sshlockout(8)</a>, un utilitaire permettant de bloquer temporairement le trafic SSH venant sous forme de tentative bruteforce de login, a été <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-December/417444.html">ajouté</a>. En cas de tentative de login répétée, notamment avec un utilisateur inconnu du système, une règle est automatiquement ajoutée au firewall afin de bloquer l'IP responsable du trafic. L'utilitaire n'est toutefois pas encore jugé prêt à la production.</p>
<h3 id="dma-remplace-sendmail-en-tant-que-mta-par-défaut">DMA remplace Sendmail en tant que MTA par défaut</h3>
<p><a href="https://github.com/corecode/dma">DragonFly Mail Agent</a> (DMA) <a href="http://lists.dragonflybsd.org/pipermail/users/2015-March/207535.html">remplace</a> Sendmail comme MTA (<a href="https://fr.wikipedia.org/wiki/Mail%20Transfer%20Agent" title="Définition Wikipédia">Mail Transfer Agent</a>) par défaut. DMA est inclus dans base depuis la version… 1.12 de DragonFly (2008) mais pour des raisons inconnues, il n'avait jusqu'alors pas remplacé Sendmail en tant que MTA par défaut. Cela étant désormais fait, Sendmail est retiré du système de base. Une <a href="http://www.dragonflybsd.com/docs/docs/newhandbook/mta/">page de wiki à propos de MTA</a> a été écrite afin de guider les utilisateurs désirant malgré tout utiliser Sendmail ou encore ceux désirant un MTA bien plus complet que DMA (Postfix, OpenSMTPD, Sendmail). En effet, DMA est simple de conception et ne vise pas à remplir les fonctionnalités d'un MTA complet. Ainsi, il se contente d'accepter les courriels des MUA (<a href="http://fr.wikipedia.org/wiki/Client_de_messagerie">Mails User Agents</a>) locaux et de les délivrer, soit localement mais également à distance. TLS/SSL est pris en charge ainsi que l'authentification SMTP. Cependant, DMA n'écoute pas sur le port 25 pour des connexions entrantes, puisque tel n'est pas son but.</p>
<p>Il est à noter que DMA ne se limite pas à DragonFly BSD. Il est ainsi aussi disponible dans FreeBSD ou différentes distributions GNU/Linux telles Debian ou Mageia par exemple.</p>
<h3 id="bibliothèque-mathématique">Bibliothèque mathématique</h3>
<p>La biliothèque mathématique, <em>libm</em>, a été synchronisée avec FreeBSD et NetBSD afin d'ajouter des fonctions manquantes. Bien qu'il s'agissait d'obscures variantes de fonctions existantes, leur absence était gênante car elle empêchait GCC d'activer la prise en charge de la norme C99.</p>
<h3 id="symbol-versioning">Symbol versioning</h3>
<p>Le <em>symbol versioning</em> a été activé sur les bibliothèques z, ncurses, lzma, edit, archive, md et bz2.</p>
<p>Le <em>symbol versioning</em> permet de ne plus avoir à gérer des numéros de bibliothèques différents à chaque changement d'interface binaire.<br>
A chaque fois qu'un changement d'API incompatible a lieu, la trace de l'ancienne interface est gardée dans les sources de la bibliothèque et l'ancienne interface binaire continue à être créée dans les nouvelles versions du fichier libxxx.so.y.</p>
<p>En pratique cela signifie que les anciens programmes binaires vont continuer à fonctionner avec toutes les nouvelles versions de la bibliothèque. Il n'y a plus besoin de partir à la recherche d'une libc.so.4 pour faire tourner un vieux programme sur un système n'ayant qu'une libc.so.6 par exemple.</p>
<h3 id="unicode">Unicode</h3>
<p>La prise en charge d'unicode a été améliorée dans <em>libedit</em>.<br>
En janvier 2015, Baptiste Daroussin a synchronisé <em>libedit</em> de FreeBSD avec la dernière version de NetBSD. Après cela, il a ajouté des patches pour corriger la lecture de lignes dans un environnement unicode.<br>
Concrètement, cela a permis à <em>sh(1)</em> de fonctionner dans un environnement <em>UTF-8</em>. Merci à Baptiste d'avoir pris le temps d'identifier ces patches pour le bénéfice de DragonFly.</p>
<h3 id="divers-1">Divers</h3>
<p><a href="http://leaf.dragonflybsd.org/cgi/web-man?command=date&section=1">date(1)</a> bénéficie désormais de l'option <code>-R</code> afin d'afficher en format compatible avec la RFC2822 (qui est l'équivalent de <code>"%a, %d %b %Y %T %z"</code> avec <code>LC_TIME=C</code>).</p>
<p><a href="http://leaf.dragonflybsd.org/cgi/web-man?command=patch&section=1">patch(1)</a> reçoit l'alias <code>--dry-run</code>, équivalent à <code>-C</code> pour une compatibilité accrue avec GNU patch, svn patch et FreeBSD patch.</p>
<p>Le flag <code>-b</code> a été ajouté à <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=camcontrol&section=8">camcontrol(8)</a> <code>devlist</code> afin d'afficher les bus existants et leurs sims parents.</p>
<p><a href="http://leaf.dragonflybsd.org/cgi/web-man?command=tail&section=1">tail(1)</a> bénéficie désormais d'une option <code>-q</code> qui permet de supprimer les en-têtes des noms de fichiers.</p>
<p><a href="http://leaf.dragonflybsd.org/cgi/web-man?command=powerd&section=8">powerd(8)</a> a reçu de nombreuses corrections et améliorations telles qu'une nouvelle option pour désactiver le mode turbo ou pour contrôler le seuil limite de la charge processeur ou encore l'arrêt d'urgence en cas de charge batterie très faible.</p>
<p>Divers outils ont été mis à jour:</p>
<ul>
<li>OpenSSH 6.7p1</li>
<li>file 5.22</li>
<li>ftp 1.205 depuis NetBSD</li>
<li>sh a été synchronisé avec FreeBSD</li>
<li>mdocml 1.13.1</li>
<li>byacc 2014-10-06</li>
<li>less 471</li>
<li>bmake 2014-11-11</li>
<li>OpenSSL 1.0.1o</li>
</ul><h2 id="divers-2">Divers</h2>
<h3 id="chargeur-damorçage-en-couleur">Chargeur d'amorçage en couleur</h3>
<p>La représentation artistique de Fred, la libellule du menu de démarrage, a été améliorée. La ligne entre Fred et le menu a été supprimée et le dessin amélioré. Fred est maintenant affiché en couleur par défaut, avec un thème bleu.</p>
<p>Un système de détection de console série a été ajouté afin de laisser le bootloader en noir et blanc et de ne pas polluer la console avec des codes couleur <em>ansi</em> dans ce cas.</p>
<h3 id="usr-intégré-dans-la-racine">/usr intégré dans la racine</h3>
<p>L'installeur ne crée plus de système de fichier /usr séparé.</p>
<p>Utiliser un système de fichier <code>/usr</code> distinct de <code>/</code> n'a plus vraiment de sens à notre époque: les binaires de <code>/</code> et <code>/usr</code> sont tous dynamiquement liés et font tous partie du même système DragonFly de base.</p>
<p>C'est en plus dangereux: avec un système de fichier <code>/usr</code> séparé, les binaires statiques de secours de <code>/usr/share/initrd</code> ne peuvent pas être utilisés sans monter <code>/usr</code> en premier lieu.<br>
Et comme <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=mount&section=8">mount(8)</a> est un binaire dynamique, <code>/usr</code> ne pouvait plus être monté dans certaines situations…</p>
<h3 id="slider-un-outil-pour-naviguer-dans-lhistorique-de-hammer">Slider, un outil pour naviguer dans l'historique de HAMMER</h3>
<p>Slider est un logiciel développé par John Marino. Il dispose d’une interface curses et est écrit en Ada. Sa première version a été <a href="http://lists.dragonflybsd.org/pipermail/users/2014-December/207261.html">annoncée sur la liste de diffusion en décembre</a>.</p>
<p>Slider permet de :</p>
<ul>
<li>naviguer parmi toutes les versions disponibles d’un fichier stocké dans l’historique d’HAMMER ;</li>
<li>de visualiser les différences entre deux versions (si c’est un fichier texte) ;</li>
<li>de restaurer une ancienne version du fichier ;</li>
<li>de récupérer un fichier effacé.</li>
</ul><p>S’il est lancé sur un répertoire existant, tous les fichiers supprimés et sous-répertoires restaurables seront recherchés dans l'historique de ce répertoire et il sera possible de les restaurer.</p>
<p>Slider est disponible via <em>dports</em>, avec une <a href="https://www.dragonflybsd.org/docs/docs/howtos/howtoslide/">documentation</a>.</p>
<h3 id="suppression-des-page-info">Suppression des page info</h3>
<p>Les outils GNU texinfo ainsi que toutes les pages de documentation au format texinfo ont été supprimées. Ces pages n'étaient disponibles que pour les outils GNU et la majorité des informations est accessible via les pages de manuel.</p>
<h3 id="gestionnaire-de-service-svc">Gestionnaire de service svc</h3>
<p>Un gestionnaire de service, <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=svc&section=8">svc(8)</a> a été créé. Il permet de lancer et gérer des services de façon robuste, d'obtenir le statut, loguer les messages récents etc…</p>
<p>svc(8) permet de gérer des listes de groupes, des uid, de construire et faire tourner le programme voulu dans un environnement <em>chroot</em> ou <em>jail</em>. Il permet également de nettoyer les descripteurs de fichier, les sockets et les fichiers pid utilisés lorsque le processus fils prend fin.</p>
<p>svc(8) utilise pour cela le nouvel appel système procctl(), permettant de gérer les sous-processus lancés par un processus donné et de s'assurer qu'ils sont tous tués correctement. Le programme parent se comporte ainsi de la même façon qu'<a href="http://leaf.dragonflybsd.org/cgi/web-man?command=init&section=8">init(8)</a> mais pour un sous-ensemble limité de processus et non pas tous les programmes tournant sur la machine.</p>
<p><a href="http://leaf.dragonflybsd.org/cgi/web-man?command=procctl&section=2">procctl(2)</a> a été conçu pour être compatible avec l'appel système de même nom de FreeBSD, en discussion avec des développeurs FreeBSD. Il est prévu que FreeBSD implémente un gestionnaire de service compatible dans l'avenir.</p>
<h2 id="notes-de-mise-à-jour">Notes de mise à jour</h2>
<p>La mise à jour vers DragonFly BSD 4.2 se fait de la manière habituelle :</p>
<pre><code class="sh"><span class="nb">cd</span> /usr/src
git fetch origin
git branch DragonFly_RELEASE_4_2 origin/DragonFly_RELEASE_4_2
git checkout DragonFly_RELEASE_4_2
make buildworld <span class="o">&&</span> make buildkernel <span class="o">&&</span> make installkernel <span class="o">&&</span> make installworld</code></pre>
<p>À noter toutefois qu'avec la suppression de <code>sendmail</code> de <code>base</code>, une étape supplémentaire est nécessaire pour configurer le MTA avant de lancer <code>make upgrade</code>. Si aucun MTA avancé n'est nécessaire, ce qui devrait être le cas pour la plupart des utilisateurs, <code>DMA</code> est recommandé et cette commande suffit à la configuration de base:</p>
<p><code>cp /usr/src/libexec/dma/mailer-conf/mailer.conf.dma /etc/mail/mailer.conf</code></p>
<p>Suite à quoi, il convient encore de lancer:</p>
<p><code>make upgrade</code></p>
<p>et enfin:</p>
<p><code>reboot</code></p>
<p>Si le système a redémarré correctement, il est conseillé de faire une sauvegarde de l'initrd de secours via :</p>
<p><code>make rescue</code></p></div><div><a href="https://linuxfr.org/news/dragonfly-bsd-4-2.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/104764/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/dragonfly-bsd-4-2#comments">ouvrir dans le navigateur</a>
</p>
RolinhFrançois TigeotEnj0lrasBenoît SibaudStéphane AuleryZeroHeureBAudpalm123grim7reaperXavier TeyssierJoris Dedieuhttps://linuxfr.org/nodes/104764/comments.atomtag:linuxfr.org,2005:News/359572015-03-11T19:53:18+01:002015-03-11T19:53:18+01:00Bitrig, un récent fork d'OpenBSDLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Bitrig a annoncé <a href="https://www.bitrig.org/10.html">sa première version</a>. Bitrig est un fork d'OpenBSD initié par quelques anciens développeurs OpenBSD trouvant la base de code excellente, mais manquant un peu de modernité. Le but principal du projet est donc d'expérimenter de nouvelles fonctionnalités qui ne trouveraient pas forcément leur place dans OpenBSD.</p></div><ul><li>lien nᵒ 1 : <a title="https://www.bitrig.org/" hreflang="en" href="https://linuxfr.org/redirect/92541">Site officiel</a></li><li>lien nᵒ 2 : <a title="https://github.com/bitrig/bitrig/wiki/Faq" hreflang="en" href="https://linuxfr.org/redirect/92542">FAQ à propos de Bitrig</a></li><li>lien nᵒ 3 : <a title="https://www.bitrig.org/10.html" hreflang="en" href="https://linuxfr.org/redirect/92543">Annonce de la version 1.0</a></li><li>lien nᵒ 4 : <a title="https://github.com/bitrig" hreflang="en" href="https://linuxfr.org/redirect/92544">Bitrig sur GitHub</a></li><li>lien nᵒ 5 : <a title="https://github.com/bitrig/bitrig/wiki/Roadmap" hreflang="en" href="https://linuxfr.org/redirect/93371">Feuille de route</a></li></ul><div><h2 id="principales-différences-avec-openbsd">Principales différences avec OpenBSD</h2>
<p>Le <a href="https://github.com/bitrig/bitrig/wiki/Faq">but principal avoué</a> de Bitrig est de proposer un système d'exploitation libre sur lequel on puisse s'amuser. Parmi les points notables, nous pouvons citer :</p>
<ul>
<li>Bitrig se veut un bac à sable pour les étudiants souhaitant expérimenter des idées dans un système d'exploitation dans le cadre de projets ou de stages ;</li>
<li>Le projet Bitrig se concentre principalement sur les architectures qui sont activement développées, notamment AMD64 et ARMv7. Les autres architectures ne sont pas retirées pour autant ;</li>
<li>Clang 3.4 est le compilateur inclus dans <em>base</em> au lieu de GCC 4.2 ;</li>
<li>Bitrig utilise son propre arbre de ports, dérivé de celui d'OpenBSD. En clair, les changements dans les ports OpenBSD sont intégrés ponctuellement et adaptés si nécessaire. À noter que les ports qui concernent uniquement des architectures non prise en charge par Bitrig ne sont pas importés.</li>
</ul><h2 id="changements-présents-dans-la-version-10">Changements présents dans la version 1.0</h2>
<p>Il aura fallu pas loin de 30 mois de développement pour voir apparaître la première version stable de Bitrig. Voici en résumé ce qu'elle apporte :</p>
<ul>
<li>Clang 3.4 remplace GCC 4.2 et de même, libc++ et libc++abi remplacent libstdc++ ;</li>
<li>Le système de fichiers par défaut est FFS2. Il prend en charge la journalisation, ainsi que la possibilité d'être utilisé pour le démarrage ;</li>
<li>
<a href="https://fr.wikipedia.org/wiki/tmpfs" title="Définition Wikipédia">tmpfs</a> remplace mfs, en tant que système de fichier temporaire permettant d'être chargé en mémoire ;</li>
<li>Prise en charge de TLS (<a href="http://fr.wikipedia.org/wiki/Thread_Local_Storage">Thread-Local Storage</a> et non pas <a href="http://fr.wikipedia.org/wiki/Transport_Layer_Security">Transport Layer Security</a>) ;</li>
<li>Possibilité d'utiliser des espaces de stockage utilisant <a href="http://fr.wikipedia.org/wiki/GUID_Partition_Table">GPT</a> avec un outil similaire à <a href="http://fr.wikipedia.org/wiki/Fdisk">fdisk</a> ;</li>
<li>
<code>fdisk</code> reçoit d'ailleurs plusieurs améliorations ;</li>
<li>Apparition d'une image flashable sur USB pour l'architecture AMD64 ;</li>
<li>Améliorations de la prise en charge de ARMv7, notamment ARM EABI et hard float ;</li>
<li>Mutex noyau "équitables" (fair kernel mutexes) implémenté via les opérations atomiques de C11. Pour rappel, un mutex est dit "équitable" s'il traite les threads dans l'ordre de leur demande d'accès à une ressource. Cela permet d'éviter des situations de <a href="https://fr.wikipedia.org/wiki/Famine_%28informatique%29">famine</a>, mais peut aussi se révéler moins efficace que des mutex "inéquitables" ;</li>
<li>
<code>ps(1)</code> a vu une amélioration de sa compatibilité POSIX ainsi qu'un affichage hiérarchique ;</li>
<li>Le seul outil GNU encore présent dans base est <code>texinfo</code>.</li>
</ul><h2 id="changements-plus-récents">Changements plus récents</h2>
<p>Depuis la version 1.0, clang est passé en version 3.6.0 dans base et la prise en charge de <code>vnd(4)</code> est tombée en désuétude.</p>
<h2 id="controverse">Controverse</h2>
<p>Ce fork ne s'est pas fait sans créer une certaine controverse. Theo de Raadt a ainsi <a href="http://article.gmane.org/gmane.os.openbsd.misc/196762">réagi</a> avec assez de virulence à l'annonce du fork. Selon lui, un des développeurs (Marco Peereboom) aurait engagé quatre autres développeurs OpenBSD dans sa startup (<a href="https://www.conformal.com/">Conformal Systems</a>) et tenté d'en engager une dizaine d'autres de façon sournoise et détournée.<br>
Ariane van der Steldt s'est <a href="http://article.gmane.org/gmane.os.openbsd.misc/196852">expliquée</a> quant à sa décision de quitter le projet OpenBSD pour rejoindre Bitrig. Elle mentionne notamment le fait que des discussions sans haine entre elle et Theo sont devenues impossibles.</p>
<h2 id="et-ensuite">Et ensuite ?</h2>
<p>L'équipe de développement a publié une <a href="https://github.com/bitrig/bitrig/wiki/Roadmap">feuille de route</a> donnant plus de détails sur le futur proche de Bitrig.<br>
Dans ce document apparaissent des améliorations comme :</p>
<ul>
<li>La <a href="https://github.com/bitrig/bitrig/issues/11">suppression du verrou global</a> afin d'avoir une gestion plus fine de la concurrence, ce qui devrait permettre une amélioration globale de la performance du système ;</li>
<li>la <a href="https://github.com/bitrig/bitrig/issues/10">gestion du boot EFI</a>, car pour le moment seule la gestion des partitions GPT est implémentée ;</li>
<li>la modification du noyau et de l'espace utilisateur afin d'ajouter la <a href="https://github.com/bitrig/bitrig/issues/13">prise en charge de la virtualisation</a> ;</li>
<li>la <a href="https://github.com/bitrig/bitrig/issues/12">gestion multi-processeurs</a> pour ARM ;</li>
<li>le port d'<a href="http://en.wikipedia.org/wiki/AddressSanitizer">ASan</a> (AddressSanitizer).</li>
</ul><p>Il reste désormais à voir de quelle manière le fork va évoluer, et surtout, s'il saura éveiller de l'intérêt et attirer des utilisateurs.</p></div><div><a href="https://linuxfr.org/news/bitrig-un-recent-fork-d-openbsd.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/104185/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/bitrig-un-recent-fork-d-openbsd#comments">ouvrir dans le navigateur</a>
</p>
RolinhLucasBAudXavier Teyssiergrim7reaperM5oulDavid Carlierpalm123Albert_Stéphane AuleryNils Ratusznikhttps://linuxfr.org/nodes/104185/comments.atomtag:linuxfr.org,2005:News/356152014-11-26T16:07:41+01:002014-11-26T20:12:01+01:00DragonFly BSD 4.0Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Après 3 RC, DragonFly BSD 4.0 a été <a href="http://lists.dragonflybsd.org/pipermail/users/2014-November/187551.html">annoncée</a> par Justin Sherril. Elle est disponible au téléchargement en version finale depuis le 26 novembre 2014. Cette version comprend notamment la prise en charge des GPU de la famille Haswell ainsi que le support d'OpenGL et un nouveau générateur de nombres pseudo-aléatoires pour /dev/random. Plus d'informations se trouvent dans la suite de la dépêche.</p>
<p><img src="//img.linuxfr.org/img/687474703a2f2f7777772e647261676f6e666c796273642e6f72672f696d616765732f736d616c6c5f6c6f676f2e706e67/small_logo.png" alt="dragonflybsd" title="Source : http://www.dragonflybsd.org/images/small_logo.png"></p></div><ul><li>lien nᵒ 1 : <a title="http://www.dragonflybsd.org/" hreflang="en" href="https://linuxfr.org/redirect/91299">Site officiel</a></li><li>lien nᵒ 2 : <a title="http://www.dragonflybsd.org/release40/" hreflang="en" href="https://linuxfr.org/redirect/91300">Notes de version 4.0</a></li><li>lien nᵒ 3 : <a title="https://ia802605.us.archive.org/9/items/bsdtalk248/bsdtalk248.ogg" hreflang="en" href="https://linuxfr.org/redirect/92353">Interview audio de Matt Dillon sur DragonFly 4.0 (BSDTalk)</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<a href="#noyau">Noyau</a><ul>
<li><a href="#ajout-de-devupmap-et-devkpmap">Ajout de /dev/upmap et /dev/kpmap</a></li>
<li><a href="#ajout-de-reapctl2-procctl2">Ajout de <s>reapctl(2)</s> procctl(2)</a></li>
<li><a href="#augmentation-de-la-limite-du-nombre-de-cpu">Augmentation de la limite du nombre de CPU</a></li>
<li><a href="#pilotes-graphiques">Pilotes graphiques</a></li>
<li><a href="#r%C3%A9seau">Réseau</a></li>
<li><a href="#packet-filter-pf">Packet Filter (pf)</a></li>
<li><a href="#pilotes-raid">Pilotes RAID</a></li>
<li><a href="#crypto">Crypto</a></li>
</ul>
</li>
<li>
<a href="#espace-utilisateur">Espace utilisateur</a><ul>
<li><a href="#mises-%C3%A0-jour-diverses">Mises à jour diverses</a></li>
<li><a href="#ajout-de-rcreload">Ajout de rcreload</a></li>
<li><a href="#import-de-service8">Import de service(8)</a></li>
</ul>
</li>
<li>
<a href="#divers">Divers</a><ul>
<li><a href="#abandon-de-i386">Abandon de i386</a></li>
<li><a href="#gnome-3x-et-cinnamon-d%C3%A9barquent">GNOME 3.x et Cinnamon débarquent</a></li>
<li><a href="#rust-port%C3%A9-sous-dragonfly-bsd">Rust porté sous DragonFly BSD</a></li>
<li><a href="#freepascal-est-d%C3%A9sormais-disponible">FreePascal est désormais disponible</a></li>
<li><a href="#dragonfly-se-pr%C3%A9pare-a-clang">DragonFly se prépare a clang</a></li>
</ul>
</li>
<li><a href="#notes-de-mise-%C3%A0-jour">Notes de mise à jour</a></li>
</ul><p><img src="//img.linuxfr.org/img/687474703a2f2f7069782e746f696c652d6c696272652e6f72672f75706c6f61642f6f726967696e616c2f313431353938383037372e706e67/1415988077.png" alt="DragonFly BSD Xfce" title="DragonFly BSD sur un Thinkpad T420 | Source : http://pix.toile-libre.org/upload/original/1415988077.png"><br><em>DragonFly BSD 4.1 (version de développement) tournant sur un portable Thinkpad T420 avec environnement X et Xfce, via le pilote i915. Hammer est utilisé en tant que système de fichier principal.</em></p>
<h2 id="noyau">Noyau</h2>
<h3 id="ajout-de-devupmap-et-devkpmap">Ajout de /dev/upmap et /dev/kpmap</h3>
<p>Les fichiers spéciaux de périphériques <code>/dev/upmap</code> et <code>/dev/kpmap</code> <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-October/270857.html">ont</a> <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-October/270858.html">été</a> <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-October/270860.html">ajoutés</a>. Ces deux périphériques projetables en mémoire avec <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=mmap&section=2">mmap(2)</a> permettent d'accéder à un espace mémoire partagé par processus ou global au noyau. L'objectif ici est de permettre l'obtention d'information de manière plus efficace qu'en passant par un appel système plus coûteux. Le fonctionnement est différent de VDSO sous Linux mais le but identique : éviter des appels systèmes. Alors que <code>/dev/upmap</code> est accessible en écriture et permet un mappage par processus utilisateur, <code>/dev/kpmap</code> est en lecture seule et peut être utilisé pour le mappage par CPU au niveau du noyau.</p>
<p>Le but initial était de répondre au même besoin que la fonctionnalité INHERIT_ZERO introduite par OpenBSD pour régler les problèmes liés aux générateurs de nombres pseudo-aléatoires en espace utilisateur. En effet, la bibliothèque de génération de nombres aléatoires conserve une amorce d'entropie dans un tableau, qui est utilisée comme état du générateur. Mais quand le processus forke, il faut réinitialiser cet état en obtenant de l'entropie auprès du noyau pour éviter que les nombres générés par le processus fils soient les mêmes que ceux générés par le processus parent, sinon cela pourrait mener à des failles de sécurité dans les logiciels utilisant le genérateur.</p>
<p>L'idée naïve consiste à conserver le numéro de processus (PID) de la dernière réinitialisation, et d'utiliser <code>getpid()</code> pour détecter un fork. Toutefois, comme les PID peuvent être réutilisés, il existe une petite (mal)chance en cas de double fork pour que le générateur ne soit pas réinitialisé. INHERIT_ZERO permet d'indiquer au noyau que des pages mémoires doivent être remplacées par des zéros lors d'un appel de fork. Mais cette solution n'a pas été jugée satisfaisante car elle introduit de la complexité dans le sous-système de gestion de la mémoire virtuelle pour une utilisation très limitée. À la place, la page umap contient un compteur qui est incrémenté à chaque fois que le processus fork. Ainsi, en comparant la valeur du compteur conservée dans l'état du générateur avec la valeur courante, il est possible de décider s'il faut le réinitialiser.</p>
<p>Ce mécanisme est en outre plus général et les 4 Kio de la page umap sont utilisés pour d'autres données. <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=getpid&section=2">getpid(2)</a>, <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=setproctitle&section=3">setproctitle(3)</a> et <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=clock_gettime&section=2">clock_gettime(2)</a> ont été adaptés pour tirer profit de cette nouveauté. Dans les faits, lorsque plus de 10 appels sont effectués sur l'une de ces fonctions, la prise en charge de upmap/kpmap est activée et les informations demandées sont obtenues via une projection en mémoire plutôt que via des appels système. Cela contribue grandement à réduire l'overhead de ces appels. À noter toutefois que <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=gettimeofday&section=2">gettimeofday(2)</a> reste quant à lui un appel système, et devrait normalement le rester afin de pouvoir produire une valeur temporelle plus précise. Il est donc préférable, question performance, d'utiliser <code>clock_gettime()</code> plutôt que <code>gettimeofday()</code> lorsqu'un haut niveau de précision n'est pas nécessaire.</p>
<h3 id="ajout-de-reapctl2-procctl2">Ajout de <s>reapctl(2)</s> procctl(2)</h3>
<p>L'appel système reapctl(2) a <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-November/307394.html">été</a> <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-November/307395.html">ajouté</a> par Matt Dillon, puis finalement <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-November/343844.html">renommé</a> en <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=procctl&section=2">procctl(2)</a>, afin de permettre de gérer le processus de contrôle des sous-processus.</p>
<p>Pour comprendre la raison du renommage, un bref historique est nécessaire. Baptiste Daroussin, membre de la <em>core team</em> FreeBSD et peut-être plus connu sous le pseudonyme <a href="//linuxfr.org/users/grom">Bapt</a> (notamment sur LinuxFr.org), ne souhaitant pas réinventer la roue était venu demander sur le canal IRC du projet DragonFly si un équivalent des contrats Solaris existait déjà chez DragonFly. Matt Dillon ne connaissant pas les contrats Solaris, une discussion à la fois technique et sur la raison de la demande s'en est suivie, suite à quoi il proposa d'implémenter tout cela selon la discussion. <em>« Cela me prendra 4 bonnes heures à écrire »</em> avait-il dit, mais voilà que 2 heures plus tard, le code était poussé dans master. Pour la petite histoire, Markus Pfeiffer estimait la charge à environ 2 jours de travail pour lui, alors que Baptiste Daroussin pensait pouvoir implémenter cela en 1 mois ! Pour citer Justin Sherrill, qui s'occupe des versions de DragonFly, <em>« Dillon is a special case : he sneezes and accidentally writes a program »</em>, que l'on pourrait traduire par <em>« Dillon est un cas spécial : il éternue et écrit un programme accidentellement »</em>.</p>
<p>Le renommage est donc intervenu par la suite, afin d'harmoniser les API de FreeBSD et DragonFly, alors que Bapt s'occupait d'intégrer cela dans FreeBSD et qu'après discussions avec d'autres développeurs FreeBSD, il a été choisi d’intégrer cela a <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=procctl&section=2">procctl(2)</a>, apparu dans FreeBSD 10 et créé justement afin de fournir un appel système permettant de gérer les processus.</p>
<p>Afin d'expliquer cela, il faut savoir que sous Unix, chaque processus possède un processus père. Quand il se termine, c'est ce processus père qui va examiner son code de retour par une opération nommée <em>reap</em>. C'est le rôle des appels systèmes <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=wait&section=2">wait(2)</a>, <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=waitpid&section=2">waitpid(2)</a>, etc. Si le processus fils est toujours vivant quand le processus père termine, un nouveau père est désigné : il s'agit en général du pid 1, init. C'est ainsi que fonctionnent les démons, qui sont détachés et rattachés à init.</p>
<p>L'appel système <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=procctl&section=2">procctl(2)</a> permet de désigner le processus courant comme le processus auquel chaque descendant va être réattaché si son parent meurt avant lui. Il fonctionne récursivement, et peut être utilisé par un processus non privilégié. Il est à noter que linux possède déjà une fonctionnalité similaire en utilisant prctl depuis linux 3.4.</p>
<p>À terme, cette fonctionnalité pourra être utilisée pour implémenter un mécanisme similaire aux cgroups utilisés par systemd pour surveiller les démons. Le système d'init pourra lancer un processus de contrôle pour chaque démon (ce qui est très léger en ressources, d'autant plus que le code est partagé en mémoire) et designer ce processus comme le "pid 1" du sous-groupe des processus lancés par le démon. Ainsi, il est impossible que le démon échappe au contrôle d'init ; si le processus de contrôle est tué, tous les fils de celui-ci le seront aussi. De même, si le démon <em>crash</em>, le processus de contrôle sera en mesure de le détecter (avec l'appel système <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=wait&section=2">wait(2)</a>) et de relancer le service ou de notifier l'utilisateur. Le travail pour intégrer ces mécanismes avec rcNG est en cours.</p>
<p>L'ajout de <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=procctl&section=2">procctl(2)</a> permet <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-November/343845.html">un début d'implémentation</a> de <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=svc&section=8">svc(8)</a>, un gestionnaire de service. Celui-ci permettra donc, à terme, de créer, surveiller et gérer un environnement simple et d'exécuter une commande dans cet environnement.</p>
<h3 id="augmentation-de-la-limite-du-nombre-de-cpu">Augmentation de la limite du nombre de CPU</h3>
<p>DragonFly <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-July/270349.html">prend désormais</a> <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-July/270355.html">en charge</a> des systèmes possédant jusqu'à 256 CPU. La précédente limite était de 63 avec DragonFly 3.8. Des tests ont été effectués jusqu’à 255 CPU via QEMU.</p>
<h3 id="pilotes-graphiques">Pilotes graphiques</h3>
<p>François Tigeot a apporté de nombreuses améliorations à la pile DRM concernant le pilote i915. La plus notable est certainement l'ajout de <a href="http://gitweb.dragonflybsd.org/dragonfly.git/commit/62e5f8e83d1965557404f130b11aa59d4cae0868">la gestion</a> des GPU des processeurs de la série Haswell. On note également la prise en charge de kqueue dans /dev/drm suite à <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-November/343821.html">un patch de Imre Vadasz</a> qui permet notamment à OpenGL de fonctionner. Il est donc désormais possible de jouer a OpenArena ou encore Supertuxkart!</p>
<p>De nombreuses corrections de bugs ont été apportées au pilote drm/radeon et à son gestionnaire de mémoire ttm.</p>
<p>Le pilote drm/i915 est maintenant basé sur l'implémentation de Linux 3.8.13 et non plus celle de FreeBSD. De nombreuses interfaces de programmation et structures de données Linux ont été implémentées dans le noyau DragonFly afin de pouvoir réutiliser sans modification le plus de code possible du pilote i915 Linux.</p>
<p>Les pilotes drm suivants ont été supprimés : mach64, mga, r128, savage, sis et tdfx. Ils servaient à accélérer certaines opérations OpenGL sur d'anciens GPU datant des années 1990 à début 2000. La bibliothèque Mesa ayant abandonné leur prise en charge en 2011, ces pilotes n'avaient plus d'utilité.</p>
<h3 id="réseau">Réseau</h3>
<p>Sepherosa Ziehau <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-June/270159.html">a écrit</a> un outil permettant de tester le taux de requêtes/réponse UDP. Parmi les conséquences directes, <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-June/270160.html">les améliorations de performances</a> concernant UDP. À titre d'exemple, une augmentation de performance d'environ 19 % a été observée pour des requêtes et réponses UDP de 18 octets avec un <a href="http://ark.intel.com/products/65719">Intel Core i7-3770</a> et une carte 10 Gigabit/s Ethernet Intel 82599ES (1,34 millions de transactions par seconde, contre 1,12 millions sans le patch).</p>
<p>Par ailleurs, le pilote <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=urndis&section=4">urndis(4)</a> a été <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-July/270377.html">importé</a> depuis FreeBSD. Il permet de bénéficier de l'USB tethering ; cela signifie donc qu'un appareil disposant du partage de connexion via USB, tel un smartphone sous Android par exemple, peut être utilisé comme une carte réseau.</p>
<p>Le pilote <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=if_lagg&section=4">if_lagg(4)</a> a été porté depuis FreeBSD. Il permet notamment d’agréger plusieurs interfaces réseau sous la forme d'une seule interface en fournissant un mécanisme de répartition de charge entre les différents membres du groupe, ou d'avoir une interface maîtresse et des interfaces de secours qui seront utilisées automatiquement en cas de problème sur l'interface active. Il contient aussi une mise en œuvre du protocole <a href="http://fr.wikipedia.org/wiki/IEEE_802.3ad">IEEE 802.3ad</a> (LACP), qui permet d'utiliser les mécanismes précédemment décrits en coopération avec des interfaces distantes, comme par exemple un commutateur.</p>
<h3 id="packet-filter-pf">Packet Filter (pf)</h3>
<p>La majeure partie du pare-feu Packet Filter peut désormais opérer <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-June/270300.html">de manière parallèle</a>.</p>
<h3 id="pilotes-raid">Pilotes RAID</h3>
<p>Le pilote <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=mrsas&section=4">mrsas(4)</a> a <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-June/270246.html">été ajouté</a>. Il permet la prise en charge des cartes RAID LSI Thunderbolt et de modèles plus récents (Invader et Fury).</p>
<h3 id="crypto">Crypto</h3>
<p>Alex Hornung a <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-July/270429.html">ajouté l'algorithme ChaCha</a>, une variante améliorée du chiffrement de flux <a href="https://fr.wikipedia.org/wiki/Salsa20" title="Définition Wikipédia">Salsa20</a>, utilisé notamment pour BLAKE, l'un des cinq finalistes du concours du <a href="https://fr.wikipedia.org/wiki/NIST" title="Définition Wikipédia">NIST</a> pour élire l'algorithme <a href="https://fr.wikipedia.org/wiki/SHA-3" title="Définition Wikipédia">SHA-3</a>. ChaCha a été ajouté dans le but d'être utilisé pour <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-July/270430.html">le nouveau générateur de nombres pseudo-aléatoires (CSPRNG)</a> basé sur <a href="http://fr.wikipedia.org/wiki/Fortuna_(cryptographie)">Fortuna</a>.<br>
Un nouveau paramètre sysctl a d'ailleurs été ajouté afin de pouvoir choisir le générateur utilisé pour <code>/dev/random</code>. 3 modes sont ainsi possibles :</p>
<ol>
<li>csprng, afin d'utiliser Fortuna ;</li>
<li>ibaa, pour utiliser l'ancien générateur IBAA ;</li>
<li>mixed, valeur par défaut, où les sorties des deux générateurs sont agrégées (par un <a href="http://fr.wikipedia.org/wiki/Fonction_OU_exclusif">XOR</a>).</li>
</ol><h2 id="espace-utilisateur">Espace utilisateur</h2>
<h3 id="mises-à-jour-diverses">Mises à jour diverses</h3>
<p>Plusieurs outils ont été mis à jour dans le système de base :</p>
<ul>
<li>ACPICA a été <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-August/270685.html">mis à jour</a> en version 20140828 ;</li>
<li>GCC est passé de la version 4.7.3 <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-October/270832.html">à 4.7.4</a> ;</li>
<li>GNU grep <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-October/270835.html">en version 2.20</a> ;</li>
<li>Libedit est passé <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-October/270848.html">en version 2014-06-20</a> ;</li>
<li>OpenSSL <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-October/270870.html">passe en version 1.0.1j</a> afin de corriger plusieurs vulnérabilités (CVE-2014-3513, CVE-2014-3566, CVE-2014-3567 et CVE-2014-3568) ;</li>
<li>XZ a été <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-October/270833.html">mis à jour</a> en version 5.0.7 ;</li>
<li>wpa_supplicant est désormais fourni dans sa version 2.1.</li>
</ul><h3 id="ajout-de-rcreload">Ajout de rcreload</h3>
<p>Zachary Crownover a <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-July/270455.html">ajouté</a> rcreload à <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=rcrun&section=8">rcrun(8)</a>, ce qui permet de recharger la configuration d'un démon sans le redémarrer.</p>
<h3 id="import-de-service8">Import de service(8)</h3>
<p>Depuis la première version de DragonFly, <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=rcrun&section=8">rcrun(8)</a> est utilisé afin de gérer les scripts rc. Cependant, <a href="http://leaf.dragonflybsd.org/cgi/web-man?command=service&section=8">service(8)</a> a été <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-June/343003.html">importé</a> depuis FreeBSD, afin que les administrateurs système habitués à cet outil répandu le retrouvent également sur DragonFly.</p>
<h2 id="divers">Divers</h2>
<h3 id="abandon-de-i386">Abandon de i386</h3>
<p>Comme annoncé lors de la sortie de la <a href="/news/dragonfly-bsd-3-8">précédente version</a>, il n'existe désormais plus de version 32 bits de DragonFly BSD. Cela signifie qu'aucune image 32 bits n'est désormais générée et qu'aucun effort ne sera fait pour maintenir les anciennes fonctionnalités ou rendre compatibles les nouvelles fonctionnalités avec l'architecture i386. Pour rappel, plus aucun paquet binaire n'était créé pour l'architecture i386 depuis DragonFly BSD 3.8 et celle-ci ne bénéficiait déjà plus de certaines fonctionnalités présentes dans la version 64 bits, notamment en ce qui concerne la gestion de la mémoire pour les pilotes graphiques.</p>
<h3 id="gnome-3x-et-cinnamon-débarquent">GNOME 3.x et Cinnamon débarquent</h3>
<p>Les paquets pour les environnements de bureau GNOME 3.14 et Cinnamon 2.2 sont arrivés dans les dépôts. John Marino a en effet pu faire les ajustements nécessaires afin que ces environnements compilent. Pour rappel, Gnome 2 n'avait jamais compilé dans son intégralité sur DragonFly. En revanche, il reste certainement pas mal de boulot pour que ces environnements de bureaux soient pleinement utilisables. À noter que ces changements suivent ceux survenus dans les ports FreeBSD puisque les dports de DragonFly en dérivent.</p>
<p>Xfce et mate restent, et certainement pour un moment encore, les DE à privilégier pour une bonne expérience utilisateur.</p>
<h3 id="rust-porté-sous-dragonfly-bsd">Rust porté sous DragonFly BSD</h3>
<p>Le langage de programmation <a href="http://fr.wikipedia.org/wiki/Rust_(Mozilla)">Rust</a> a été porté sous DragonFly BSD par Michael Neumann. Il détaille dans <a href="http://www.ntecs.de/blog/2014/07/29/rust-ported-to-dragonflybsd/">un article de blog</a> le procédé qu'il a utilisé. Ce travail pourrait, selon lui, être intéressant afin de porter Rust vers d'autres BSD, notamment OpenBSD et NetBSD (Rust est déjà disponible pour FreeBSD). La difficulté du portage vient du fait que le compilateur Rust est écrit en… Rust et qu'il faut donc par conséquent passer par quelques étapes de cross-compilation depuis un système disposant déjà de Rust (Michael Neumann a utilisé Linux).</p>
<h3 id="freepascal-est-désormais-disponible">FreePascal est désormais disponible</h3>
<p>On aurait tendance à croire que le langage <a href="http://fr.wikipedia.org/wiki/Pascal_(langage)">Pascal</a>, apparu pour la première fois en 1970 et mis au point par <a href="http://fr.wikipedia.org/wiki/Niklaus_Wirth">Niklaus Wirth</a>, est devenu une relique du passé. Pourtant, un utilisateur de DragonFly semblait <a href="http://lists.dragonflybsd.org/pipermail/users/2014-November/167968.html">avoir désespérément besoin</a> d'un compilateur pour ce langage. John Marino a <a href="http://lists.dragonflybsd.org/pipermail/users/2014-November/187534.html">réussi à porter</a> le compilateur FreePascal sur DragonFly. Cela permet donc aux ports dépendants du compilateur fpc d'être finalement disponibles.</p>
<h3 id="dragonfly-se-prépare-a-clang">DragonFly se prépare a clang</h3>
<p>DragonFly intègre deux compilateurs dans base. Pour le moment, les deux compilateurs sont GCC 4.4 et 4.7. GCC 4.4 n'étant plus vraiment utile, il est prévu de le remplacer par clang, probablement en version 3.5, pour la prochaine version de DragonFly. John Marino et Matt Dillon ont donc <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-November/380379.html">commencé</a> <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-November/380351.html">un travail</a> dans ce sens, afin de s'assurer que <em>world</em> et <em>kernel</em> compilent sans histoires avec clang.</p>
<h2 id="notes-de-mise-à-jour">Notes de mise à jour</h2>
<p>La mise à jour vers DragonFly BSD 4.0 se fait de la manière habituelle :</p>
<pre><code class="sh"><span class="nb">cd</span> /usr/src
git fetch origin
git branch DragonFly_RELEASE_4_0 origin/DragonFly_RELEASE_4_0
git checkout DragonFly_RELEASE_4_0
make buildworld <span class="o">&&</span> make buildkernel <span class="o">&&</span> make installkernel <span class="o">&&</span> make installworld <span class="o">&&</span> make upgrade
reboot</code></pre>
<p>Si le système a redémarré correctement, il est conseillé de faire une sauvegarde de l'initrd de secours via :<br><code><br>
make rescue<br></code></p>
<p>Cette dernière étape était auparavant réalisée lors de <code>make installworld</code>, mais cela <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-August/270673.html">pouvant poser</a> <a href="http://lists.dragonflybsd.org/pipermail/users/2014-August/128822.html">des problèmes</a> avec le chargement du module noyau vn, cette étape a été dissociée et le module vn est désormais <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-August/270672.html">inclus dans le noyau</a>.</p></div><div><a href="https://linuxfr.org/news/dragonfly-bsd-4-0.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/103083/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/dragonfly-bsd-4-0#comments">ouvrir dans le navigateur</a>
</p>
RolinhZeroHeureNahaBAudEnj0lraspalm123François TigeotM5oulgrim7reaperBenoît SibaudNÿcoTsyMiroro MDGhttps://linuxfr.org/nodes/103083/comments.atomtag:linuxfr.org,2005:News/355632014-07-25T12:44:42+02:002014-07-25T12:44:42+02:00Crux 3.1: une distribution KISS à la saveur BSDLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Crux est disponible dans sa version 3.1 depuis le 16 juillet dernier. Cette distribution, qui a été la principale source d'inspiration à la création d'<a href="https://www.archlinux.org/">Arch Linux</a>, suit le principe KISS (keep it simple), dispose d'un système d'init à la BSD ainsi que d'un système de <a href="http://fr.wikipedia.org/wiki/FreeBSD#Les_.C2.AB_ports_.C2.BB">[ports]</a>. C'est une distribution légère ciblant l'architecture x86-64 et des utilisateurs Linux avancés.</p>
<p>Crux, dont la première version date de décembre 2002, n'est basée sur aucune autre distribution et possède ses propres outils pour, par exemple, la gestion des paquets et ports.</p>
<p>Plus d'informations se trouvent dans la suite de la dépêche.</p></div><ul><li>lien nᵒ 1 : <a title="http://crux.nu/" hreflang="en" href="https://linuxfr.org/redirect/91143">Homepage</a></li><li>lien nᵒ 2 : <a title="http://crux.nu/Main/Handbook3-1" hreflang="en" href="https://linuxfr.org/redirect/91144">Handbook de la version 3.1</a></li><li>lien nᵒ 3 : <a title="http://crux.nu/Main/ReleaseNotes3-1" hreflang="en" href="https://linuxfr.org/redirect/91145">Notes de version</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><a href="#scripts-dinitialisation">Scripts d'initialisation</a></li>
<li><a href="#ports-et-paquets">Ports et paquets</a></li>
<li><a href="#description-compression-utility-using-the-lzma-algorithm-successor-of-lzma-utils">Description: Compression utility using the lzma algorithm, successor of lzma-utils</a></li>
<li>
<a href="#url---------httptukaaniorgxz">URL: </a><a href="http://tukaani.org/xz/">http://tukaani.org/xz/</a>
</li>
<li><a href="#maintainer--crux-system-team-core-ports-at-crux-dot-nu">Maintainer: CRUX System Team, core-ports at crux dot nu</a></li>
<li><a href="#installation">Installation</a></li>
<li><a href="#changements-dans-la-version-31">Changements dans la version 3.1</a></li>
</ul><h2 id="scripts-dinitialisation">Scripts d'initialisation</h2>
<p>Les utilisateurs de systèmes *BSD ne devraient pas être trop dépaysés par Crux. En effet, point de systemd ici mais un système d'init à la BSD.</p>
<p>Le système comporte plusieurs runlevels, tels que définis dans <code>/etc/inittab</code>:</p>
<ul>
<li>0: halt</li>
<li>1: mode utilisateur unique</li>
<li>2: mode multi-utilisateur</li>
<li>3-5: non utilisés</li>
<li>6: reboot</li>
</ul><p>Le script de démarrage système est défini dans <code>/etc/rc</code> alors que celui pour l'extinction se trouve dans <code>/etc/rc.shutdown</code> et l'initialisation des modules passe par <code>/etc/rc.modules</code>. Le script pour le mode utilisateur unique dans <code>/etc/rc.single</code>, pour le mode multi-utilisateur dans <code>/etc/rc.multi</code>.</p>
<p>La configuration de base du système se fait via <code>/etc/rc.conf</code> et les scripts des services, par exemple sshd, se trouve dans <code>/etc/rc.d</code>.</p>
<h2 id="ports-et-paquets">Ports et paquets</h2>
<p>Le système de paquets utilise des simples tarballs tar.gz, sans métadonnées. Cependant, l'extension .pkg.tar.gz est utilisée afin de permettre de différencier un paquet d'un simple tarball. Les paquets peuvent également être compressés avec bzip2 ou encore xz et dans ce cas là, l'extension est changée en accord (.pkg.tar.bz2 et .pkg.tar.xz).</p>
<p>Les paquets s'installent et se mettent à jour via pkgadd(8), se désinstallent via pkgrm(8) et peuvent se créer via pkgmk(8) tandis que pkginfo(8) permet l'obtention d'informations sur les paquets.</p>
<p>Ce système de paquets simple ne supporte pas, par exemple, la résolution des dépendances. En revanche, un front-end, prt-get(8), est fourni avec le système et permet notamment la résolution des dépendances.</p>
<p>Crux comprend également un système de ports que l'on peut trouver dans <code>/usr/ports</code>. Un port comprend les fichiers <code>Pkgfile</code>, <code>.md5sum</code> et <code>.footprint</code>. Le <code>Pkgfile</code> est en réalité un script shell spécial qui permet la création d'un paquet, un peu à la manière d'un PKGBUILD chez Arch Linux. Un exemple valant mieux que mille mots:<br>
```</p>
<h2 id="description-compression-utility-using-the-lzma-algorithm-successor-of-lzma-utils">Description: Compression utility using the lzma algorithm, successor of lzma-utils</h2>
<h2 id="url---------httptukaaniorgxz">URL: <a href="http://tukaani.org/xz/">http://tukaani.org/xz/</a>
</h2>
<h2 id="maintainer--crux-system-team-core-ports-at-crux-dot-nu">Maintainer: CRUX System Team, core-ports at crux dot nu</h2>
<p>name=xz<br>
version=5.0.5<br>
release=1<br>
source=(<a href="http://tukaani.org/xz/%24name-%24version.tar.bz2">http://tukaani.org/xz/$name-$version.tar.bz2</a>)</p>
<p>build() {<br>
cd $name-$version<br>
./configure --prefix=/usr \<br>
--mandir=/usr/man \<br>
--disable-nls <br>
make<br>
make DESTDIR=$PKG install</p>
<pre><code>ln -s liblzma.so.$version $PKG/usr/lib/liblzma.so.0
rm -r $PKG/usr/share
</code></pre>
<p>}<br>
``<code>Le fichier</code>.md5sum<code>sert donc à stocker la somme md5 du (des) tarball(s) nécessaire(s) à la création du paquet tandis que le fichier</code>.footprint` contient la liste des fichiers et dossiers créés par le port. Évidemment, si des patches ou fichiers de configuration sont nécessaires, ils prendront également leur place dans le dossier du port en question.</p>
<p>Il faut noter que les paquets sont réduits au strict minimum. Ainsi, les fichiers de traduction ne sont pas installés, de même que les fichiers de documentation tels des README, fichiers *.info ou *.html, etc. Seules les pages de manuels sont conservées comme documentation.</p>
<p>L'arbre des ports se synchronise via l'utilitaire ports(8). Ainsi, une mise à jour de son système peut être réalisée simplement via un <code>ports -u && prt-get sysup</code>.</p>
<p>Le noyau Linux est une exception. En effet, il n'existe pas de port pour le noyau Linux. Les sources du noyau se trouvent par défaut dans <code>/usr/src</code>. Par exemple, la version 3.1 de Crux fournit les sources du noyau Linux 3.12 dans <code>/usr/src/linux-3.12.24</code>. L'installation du noyau passe donc par un procédé standard:<br><code><br>
$ cd /usr/src/linux-3.12.24<br>
$ make menuconfig<br>
$ make all<br>
$ make modules_install<br>
$ cp arch/x86/boot/bzImage /boot/vmlinuz<br>
$ cp System.map /boot<br></code><br>
Pour une mise à jour du noyau, il suffit donc de télécharger les sources depuis kernel.org, de copier le fichier de configuration du noyau et de lancer un <code>make oldconfig</code> suivi d'un <code>make all && make modules_install && make install</code>.</p>
<p>Étant donné que le noyau n'est pas géré par pkgadd(8), il est tout à fait possible de télécharger et installer le noyau de son choix sans rendre la base de données des paquets inconsistante. Par ailleurs, cela n'affecte pas non plus les headers kernel qui se trouvent dans <code>/usr/include/linux</code> et <code>/usr/include/asm</code> étant donné que ceux-ci ne sont pas des liens symboliques vers les sources du kernel mais contiennent une copie des headers.</p>
<h2 id="installation">Installation</h2>
<p>Concernant l'installation, point de GUI ou de superflu. Le média d'installation est une image ISO hybride pouvant autant être gravée sur un CD-ROM qu'utilisée pour créer une clé USB amorçable. Une fois démarré sur le média d'installation, l'utilisateur se trouve connecté en tant que root et peut donc procéder à l'installation du système.</p>
<p>Le partitionnement se fait généralement via fdisk(8) suivit d'un mkfs(8). Une fois cela fait, il faut monter la (ou les) partition(s) nouvellement créée(s), par exemple dans <code>/mnt</code> et lancer la commande <code>setup</code>. Cette dernière permet d'installer les paquets nécessaires au système, notamment les paquets de <code>core</code>. Une fois cela effectué, il faut créer un chroot pour finir la configuration de son système. Cela peut se faire de manière traditionnelle mais la commande <code>setup-chroot</code> permet d'automatiser le processus. Une fois dans le chroot, l'utilisateur doit donc définir un mot de passe pour le super-utilisateur, éditer <code>/etc/fstab</code> afin de configurer les systèmes de fichiers, éditer <code>/etc/rc.conf</code> pour configurer le système de base tel que la timezone, le layout du clavier ou encore le hostname et les services à lancer au démarrage. La configuration du réseau passe par l'édition des fichiers <code>/etc/rc.d/net</code>, <code>/etc/hosts</code> et <code>/etc/resolv.conf</code>.<br>
Une fois ceci fait, il est nécessaire de configurer et installer son kernel, tels que décrit dans la section précédente. À noter qu'un fichier <code>.config</code> générique est fourni de base pour simplifier le processus.<br>
Le gestionnaire de démarrage de base par défaut est lilo. Pour autant que l'utilisateur le choisisse, il doit passer par l'édition de <code>/etc/lilo.conf</code> afin de rendre son système démarrable.</p>
<h2 id="changements-dans-la-version-31">Changements dans la version 3.1</h2>
<p>La toolchain utilise glibc 2.19.0, gcc 4.8.3 et binutils 2.24.</p>
<p>Le kernel par défaut est le kernel à support à long terme 3.12.24. À noter que depuis la disponibilité de Crux 3.1, la version 3.12.25 est disponible et une mise-à-jour du noyau est donc conseillée.</p>
<p>À noter également que udev a disparu au profit de eudev.</p>
<p>Les détails peuvent se trouver dans <a href="http://crux.nu/Main/ReleaseNotes3-1">les notes de mise à jour</a> ainsi que dans le <a href="http://crux.nu/gitweb/?p=system/iso.git;a=blob;f=ChangeLog;h=b5be7a63a9df0eca16a8ec4ec4b827a687e23ea6;hb=5512609151d1b16354b64202b8e87cbbbb84bcee">changelog</a>.</p></div><div><a href="https://linuxfr.org/news/crux-3-1-une-distribution-kiss-a-la-saveur-bsd.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/102866/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/crux-3-1-une-distribution-kiss-a-la-saveur-bsd#comments">ouvrir dans le navigateur</a>
</p>
Rolinhpalm123Xavier Teyssierrootixhttps://linuxfr.org/nodes/102866/comments.atomtag:linuxfr.org,2005:News/348602014-06-05T12:07:53+02:002014-06-05T12:07:53+02:00DragonFly BSD 3.8Licence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<div><p>DragonflyBSD 3.8 est désormais disponible au téléchargement. Cette version apporte notamment une nouvelle pile USB, la prise en charge de PAM et NSS, des améliorations concernant i915 et KMS, ainsi que de nombreuses améliorations de performance des pilotes réseaux et la gestion des <em>C-state</em> pour les CPU Intel.</p>
<p><img src="//img.linuxfr.org/img/687474703a2f2f7777772e647261676f6e666c796273642e6f72672f696d616765732f736d616c6c5f6c6f676f2e706e67/small_logo.png" alt="" title="Source : http://www.dragonflybsd.org/images/small_logo.png"></p>
<p>Les détails concernant cette version se trouvent dans la suite de la dépêche.</p></div><ul><li>lien nᵒ 1 : <a title="http://www.dragonflybsd.org/release38/" hreflang="en" href="https://linuxfr.org/redirect/90700">Notes de version 3.8</a></li><li>lien nᵒ 2 : <a title="http://www.dragonflybsd.org/" hreflang="en" href="https://linuxfr.org/redirect/90701">Site officiel du projet</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<a href="#noyau">Noyau</a><ul>
<li><a href="#acpi">ACPI</a></li>
<li><a href="#gestion-des-c-states">Gestion des C-states</a></li>
<li><a href="#pilotes-graphiques">Pilotes graphiques</a></li>
<li><a href="#pilotes-r%C3%A9seau">Pilotes réseau</a></li>
<li><a href="#virtualisation">Virtualisation</a></li>
<li><a href="#nouvelle-pile-usb">Nouvelle pile USB</a></li>
<li><a href="#hammer2">Hammer2</a></li>
<li><a href="#am%C3%A9lioration-des-performances-r%C3%A9seau">Amélioration des performances réseau</a></li>
<li><a href="#suppression-de-protocoles-r%C3%A9seau-et-syst%C3%A8mes-de-fichier-obsol%C3%A8tes">Suppression de protocoles réseau et systèmes de fichier obsolètes</a></li>
</ul>
</li>
<li>
<a href="#espace-utilisateur">Espace utilisateur</a><ul>
<li><a href="#cr%C3%A9ation-de-lib">Création de /lib</a></li>
<li><a href="#s%C3%A9maphores-posix-1003-1b">Sémaphores Posix 1003 1b</a></li>
<li><a href="#s%C3%A9maphores-sys-v-en-espace-utilisateur">Sémaphores SYS V en espace utilisateur</a></li>
<li>
<a href="#mise-%C3%A0-jour-de-logiciels-tiers">Mise à jour de logiciels tiers</a><ul>
<li><a href="#mise-%C3%A0-jour-de-wpa_supplicant-et-hostapd">Mise à jour de wpa_supplicant et hostapd</a></li>
<li><a href="#mise-%C3%A0-jour-de-tcplay">Mise à jour de tcplay</a></li>
<li><a href="#mise-%C3%A0-jour-de-bmake">Mise à jour de bmake</a></li>
<li><a href="#mise-%C3%A0-jour-dopenssl">Mise à jour d'OpenSSL</a></li>
<li><a href="#mise-%C3%A0-jour-de-mdocml">Mise à jour de mdocml</a></li>
<li><a href="#mise-%C3%A0-jour-de-dma">Mise à jour de dma</a></li>
<li><a href="#mise-%C3%A0-jour-de-binutils">Mise à jour de binutils</a></li>
<li><a href="#mise-%C3%A0-jour-de-libpcap">Mise à jour de libpcap</a></li>
<li><a href="#mise-%C3%A0-jour-de-tzdata">Mise à jour de tzdata</a></li>
<li><a href="#mise-%C3%A0-jour-de-acpica">Mise à jour de ACPICA</a></li>
<li><a href="#mise-%C3%A0-jour-de-ee">Mise à jour de ee</a></li>
<li><a href="#mise-%C3%A0-jour-de-file">Mise à jour de file</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#performances">Performances</a></li>
<li><a href="#notes-de-mise-%C3%A0-jour">Notes de mise à jour</a></li>
</ul><h2 id="noyau">Noyau</h2>
<h3 id="acpi">ACPI</h3>
<p>Le module ACPI pour les Thinkpad a été <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-April/269859.html">synchronisé</a> avec celui de FreeBSD, ce qui devrait aider à une meilleure gestion de l'énergie sur ces machines.</p>
<p>Le code d'ACPI a quand a lui été mis à jour, et c'est la dernière version disponible <a href="https://www.acpica.org/">upstream</a> qui est présente dans le noyau.</p>
<h3 id="gestion-des-c-states">Gestion des C-states</h3>
<p>Sepherosa Ziehau a <a href="http://lists.dragonflybsd.org/pipermail/users/2014-January/090520.html">amélioré</a> la gestion des C-state pour les processeurs Intel. Le noyau peut désormais faire entrer le processeur dans les C-state les plus profonds, ce qui a un effet bénéfique sur la consommation d'énergie. <br>
L'ajustement des C-state peut se faire <a href="http://lists.dragonflybsd.org/pipermail/users/2014-February/090527.html">de manière automatique</a> en le configuration via un appel <code>sysctl</code>:</p>
<pre><code>sysctl machdep.mwait.cpu_idle_hlt=1
sysctl machdep.mwait.CX.idle=AUTODEEP
</code></pre>
<h3 id="pilotes-graphiques">Pilotes graphiques</h3>
<p>Le pilote drm/i915 avait été initialement porté depuis FreeBSD. Un travail de synchronisation avec la version présente dans la branche Linux 3.8 est maintenant en cours. Le but, à moyen terme, est de pouvoir utiliser les GPU inclus dans les processeurs Haswell et ValleyView/Bay trail. Les GPU pris en charge sont actuellement limités au HD4000 de la génération de processeurs Ivy Bridge.</p>
<p>Même si ce but n'est pas atteint, la synchronisation partielle avec l'implémentation drm/i915 de Linux 3.8 a déjà permis de résoudre de nombreux bugs et d'améliorer la stabilité du pilote.</p>
<p>Le gestionnaire de mémoire drm/ttm, utilisé par le pilote drm/radeon a été partiellement synchronisé avec la version présente dans Linux 3.9, améliorant également sa stabilité. De nombreux problèmes demeurent néanmoins et l'utilisation du pilote drm/radeon par Xorg n'est en conséquence pas activée par défaut.</p>
<h3 id="pilotes-réseau">Pilotes réseau</h3>
<p>Un pilote bwn pour les cartes wifi Broadcom BCM43xx a été importé</p>
<p>Le pilote iwn pour les cartes wifi Intel a <a href="http://lists.dragonflybsd.org/pipermail/commits/2013-November/198636.html">été</a> <a href="http://lists.dragonflybsd.org/pipermail/commits/2013-November/198638.html">synchronisé</a> avec FreeBSD, apportant ainsi la prise en charge de <a href="http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/08936797fdff2030588ca75e7ff84062dddf0133">plusieurs cartes Intel Centrino</a>.</p>
<p>Le pilote ix pour cartes Ethernet Intel 10Gb/s a été synchronisé avec le pilote Intel ixgbe-2.5.15. La gestion des interruptions MSI-X a été ajoutée et utilise maintenant plusieurs anneaux pour la transmission de données.</p>
<h3 id="virtualisation">Virtualisation</h3>
<p>Le pilote virtio-net a été <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-April/269968.html">mis à jour</a>. Ce changement concerne les installations de DragonFly dans VirtualBox ou QEMU par exemple.</p>
<h3 id="nouvelle-pile-usb">Nouvelle pile USB</h3>
<p>La version 3.6 avait vu l'import de USB4BSD depuis FreeBSD. En revanche, cette pile USB était désactivée en raison de manquements au niveau de la gestion de l'USB 3. Les problèmes ont été corrigés et USB4BSD est désormais la pile USB <a href="http://lists.dragonflybsd.org/pipermail/kernel/2014-March/094907.html">par défaut</a>.</p>
<h3 id="hammer2">Hammer2</h3>
<p>Matt Dillon a continué le travail sur Hammer2 cependant le système de fichier n'est pas encore prêt pour une utilisation en production.</p>
<h3 id="amélioration-des-performances-réseau">Amélioration des performances réseau</h3>
<ul>
<li>Le nombre d'interruptions inter-processeur (IPI) non nécessaires a été réduit</li>
<li>Plusieurs jetons sont maintenant utilisés pour le verrouillage des ports réseau, ce qui a amélioré la performance des ouvertures de sockets TCP par l'appel système connect(2).</li>
<li>L'ancien verrou multi-processeur global du noyau était encore utilisé pour certaines opérations, ce qui n'est plus le cas maintenant.</li>
</ul><h3 id="suppression-de-protocoles-réseau-et-systèmes-de-fichier-obsolètes">Suppression de protocoles réseau et systèmes de fichier obsolètes</h3>
<p>Les restes du protocole NS (Xerox Network System) ont été supprimés</p>
<p>Les protocoles ATM, IPX et NCP ont également étés supprimés. Le système de fichier Netware (NWFS), qui utilisait ces deux derniers, a subi le même sort.</p>
<h2 id="espace-utilisateur">Espace utilisateur</h2>
<h3 id="création-de-lib">Création de /lib</h3>
<p>Les programmes de /bin et /sbin sont <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-April/269931.html">désormais</a> des binaires liés dynamiquement, ce qui rend l'utilisation des technologies <a href="https://fr.wikipedia.org/wiki/Name_Service_Switch">NSS</a><sup id="fnref1"><a href="#fn1" rel="footnote">1</a></sup> et <a href="http://fr.wikipedia.org/wiki/Pluggable_Authentication_Modules">PAM</a><sup id="fnref2"><a href="#fn2" rel="footnote">2</a></sup><a href="http://lists.dragonflybsd.org/pipermail/users/2014-April/128386.html">possible</a>. Pour l'occasion, une image ramdisk a <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-April/269927.html">été créée</a>. Ce nouvel initrd permet de monter les systèmes de fichiers chiffrés ou encore de démarrer un mode de dépannage minimal.</p>
<h3 id="sémaphores-posix-1003-1b">Sémaphores Posix 1003 1b</h3>
<p>La gestion des sémaphores nommés (sem_open(3), sem_unlink(3)) a été ajoutée trop tard pour être présente dans la version 3.8, mais elle sera peut être présente dans la prochaine version mineure, si aucun bug n'apparaît et que le changement est jugé utile.</p>
<h3 id="sémaphores-sys-v-en-espace-utilisateur">Sémaphores SYS V en espace utilisateur</h3>
<p>Une implémentation des sémaphores system V en espace utilisateur est désormais disponible. Elle est issue d'un projet du GSOC. Au lieu d'utiliser des appels systèmes avec le noyau se chargeant de la sémantique des sémaphores, les processus communiquent avec un daemon dédié à travers un socket unix pour obtenir un descripteur de fichier vers une zone mémoire partagée. La sémantique des sémaphores est ensuite gérée par la libc en utilisant cette zone mémoire.</p>
<p>Toutefois, même si les performances sont comparables, l'implémentation en espace noyau est pour l'instant toujours utilisée par défaut.</p>
<h3 id="mise-à-jour-de-logiciels-tiers">Mise à jour de logiciels tiers</h3>
<h4 id="mise-à-jour-de-wpa_supplicant-et-hostapd">Mise à jour de wpa_supplicant et hostapd</h4>
<p><code>wpa_supplicant</code> et <code>hostapd</code> ont été <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-May/270116.html">mis à jour</a>. On passe ainsi de la version 0.6.10 à la version 2.1. Toutefois, au même titre que l'ajout de sémaphores Posix 1003 1b, il a été jugé que ce changement n'a pas encore été assez testé pour être dans cette version. Il est toutefois probable que cette mise à jour soit incluse dans une prochaine version mineure de DragonFly BSD.</p>
<h4 id="mise-à-jour-de-tcplay">Mise à jour de tcplay</h4>
<p><a href="https://github.com/bwalex/tc-play">tcplay</a> est une implémentation libre de <a href="http://fr.wikipedia.org/wiki/TrueCrypt" title="Définition Wikipédia">TrueCrypt</a> écrite pour DragonFly et disponible pour Linux. Il permet de chiffrer des volumes ou des disques physiques dans un format 100% compatible avec le format TrueCrypt, permettant ainsi une interopérabilité avec d'autres systèmes d'exploitation, du moins si une implémentation de TrueCrypt reste disponible pour ces systèmes. S'agissant d'un sujet d'actualité, tcplay est une bonne alternative au logiciel TrueCrypt, mais il faut toutefois noter que son interface est en ligne de commande (même si des GUI tierces sont disponibles).</p>
<p>Il a été mis à jour en version 2.0. </p>
<h4 id="mise-à-jour-de-bmake">Mise à jour de bmake</h4>
<p>L'utilitaire <code>bmake</code> a <a href="http://lists.dragonflybsd.org/pipermail/commits/2013-November/198621.html">été</a> <a href="http://lists.dragonflybsd.org/pipermail/commits/2013-November/198620.html">mis à jour</a> en <a href="http://lists.dragonflybsd.org/pipermail/commits/2013-November/198622.html">version 20131001</a>. Cette mise à jour a entraîné quelques <a href="http://lists.dragonflybsd.org/pipermail/commits/2013-November/198642.html">corrections</a> sur <code>sysctl</code>.</p>
<h4 id="mise-à-jour-dopenssl">Mise à jour d'OpenSSL</h4>
<p>OpenSSL a été mis à jour vers la version 1.0.1g qui comble la faille heartbleed. À noter que Dragonfly BSD 3.6.2, <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-April/269917.html">sortie le 9 avril dernier</a>, avait déjà pris soin de mettre à jour OpenSSL.</p>
<h4 id="mise-à-jour-de-mdocml">Mise à jour de mdocml</h4>
<p><code>mdocml</code>, l'outil permettant de générer les pages de manuels, a été mis à jour vers la version 1.12.3.</p>
<h4 id="mise-à-jour-de-dma">Mise à jour de dma</h4>
<p><code>dma</code>, le DragonFly Mail Agent, a été mis-à-jour vers la version 0.9. Pour rappel, dma est un Mail Transfer Agent (MTA) léger qui accepte la réception de mails localement et gère aussi l'envoi, à la fois localement et vers l'extérieur. Bien que très simple, il supporte SSL/TLS et l'authentification SMTP et est également disponibles pour d'autres systèmes tels que Linux ou Solaris.</p>
<h4 id="mise-à-jour-de-binutils">Mise à jour de binutils</h4>
<p><code>binutils</code> a été mis à jour vers la version 2.24.</p>
<h4 id="mise-à-jour-de-libpcap">Mise à jour de libpcap</h4>
<p><code>libpcap</code>, la bibliothèque de capture de traffic réseau, a été mise à jour en version 1.4.0.</p>
<h4 id="mise-à-jour-de-tzdata">Mise à jour de tzdata</h4>
<p><code>tzdata</code>, la base de données contenant des informations sur les fuseaux horaires, a été mise à jour vers la version tzdata2014c.</p>
<h4 id="mise-à-jour-de-acpica">Mise à jour de ACPICA</h4>
<p><code>ACPICA</code> a été <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-April/269998.html">mis à jour</a> en version 20140424, apportant son lot de corrections et améliorations.</p>
<h4 id="mise-à-jour-de-ee">Mise à jour de ee</h4>
<p><code>ee</code>, l'éditeur de texte en console, a été <a href="http://lists.dragonflybsd.org/pipermail/commits/2014-February/234303.html">mis à jour</a> vers la version 1.5.2.</p>
<h4 id="mise-à-jour-de-file">Mise à jour de file</h4>
<p><code>file</code> a été mis à jour en version 5.18.</p>
<h2 id="performances">Performances</h2>
<p>François Tigeot a eu accès à une machine à base de processeurs Xeon comprenant 20 cœurs pour 40 threads et 128Gb de RAM. Il en a donc profité pour <a href="http://lists.dragonflybsd.org/pipermail/users/2014-March/128216.html">refaire</a> sa série de benchmarks PostgreSQL avec la version 3.6.1 de DragonFly BSD. La <a href="//linuxfr.org/news/dragonfly-bsd-3-6">dépêche précédente</a> relatant la sortie de la version 3.6.0 de DragonFly BSD évoquait un gain de performances considérable pour les machines SMP. Cela se traduit dans ces nouveaux benchmarks, dont les résultats complets sont disponibles <a href="http://lists.dragonflybsd.org/pipermail/users/attachments/20140310/4250b961/attachment-0002.pdf">ici</a>.</p>
<p><img src="//img.linuxfr.org/img/687474703a2f2f7777772e647261676f6e666c796273642e6f72672f7e66746967656f742f62656e6368732f706762656e63685f39335f3336312e706e67/pgbench_93_361.png" alt="pgbench" title="Source : http://www.dragonflybsd.org/~ftigeot/benchs/pgbench_93_361.png"></p>
<p>L'axe des abscisses représente le nombre de clients tandis que l'axe des ordonnées représente le nombre de transactions par seconde.</p>
<p>Il est toujours bon de rappeler que ce benchmark n'est pas entièrement représentatif des performances effectives de PostgreSQL en conditions réelles. En effet, les processus clients et les processus serveurs sont en compétition pour l'accés aux ressources partagées sur la même machine, alors que dans des conditions réelles d'utilisation, les clients se connectent en général via le réseau à une machine serveur. C'est ce qui fait de <code>pgbench</code> un bon test pour les performances de l'ordonnanceur ainsi que celles de la gestion de la mémoire virtuelle sur une grosse machine. Il permet ainsi de mesurer les progrès réalisés pour le passage à l'échelle du noyau</p>
<h2 id="notes-de-mise-à-jour">Notes de mise à jour</h2>
<p>Cette version est la dernière proposant une version 32-bit de l'OS. Pour les gens suivant l'OS de près, ce n'est pas un secret que la version 32-bit commençait à accumuler des problèmes significatifs par rapport à la version 64-bit. Il est ainsi difficile d'exploiter un nombre important de cœurs processeur et certaines opérations mémoires nécessaires à la gestion des pilotes graphiques sont tout simplement impossibles. La question de la fin du support du 32-bit a été évoquée de nombreuses fois sur IRC ou encore sur la <a href="http://lists.dragonflybsd.org/pipermail/kernel/2013-April/031209.html">mailing list</a> et il semble que cette fois-ci une décision ait été prise. La version 32-bit est donc destinée aux anciens systèmes sur lesquels la version 64-bit ne peut pas être installée. À noter également que plus aucun paquet pré-compilé n'est disponible pour la version i386. Les utilisateurs devront donc passer par la case compilation via les dports afin d'installer des logiciels tiers.</p>
<p>La mise à jour vers DragonFly BSD 3.8 se fait de la manière habituelle:</p>
<pre><code>cd /usr/src
git fetch origin
git branch DragonFly_RELEASE_3_8 origin/DragonFly_RELEASE_3_8
git checkout DragonFly_RELEASE_3_8
make buildworld && make buildkernel && make installkernel && make installworld && make upgrade
reboot
</code></pre>
<p>À noter également que lors de la mise à jour, <code>/boot/kernel/initrd.img</code> sera supprimé et remplacé par <code>/boot/kernel/initrd.img.gz</code>.<br>
Pour les informations de mise-à-jour détaillées, prenez le temps de consulter <code>/usr/src/UPDATING</code>.</p>
<p>En ce qui concerne une nouvelle installation, l'instruction habituelle concernant les systèmes de fichiers est toujours d'actualité: utilisez UFS plutôt que Hammer pour les disques de moins de 50G.</p>
<div class="footnotes">
<hr>
<ol>
<li id="fn1">
<p>Le Name Service Switch permet de remplacer certains fichiers, comme <code>/etc/passwd</code>, par un programme, permettant, par exemple, d'avoir des utilisateurs stockés dans un annuaire LDAP. <a href="#fnref1" rev="footnote">↩</a></p>
</li>
<li id="fn2">
<p>Le Pluggable Authentication Modules permet de définir différents systèmes pour authentifier les utilisateurs, par exemple, en utilisant des informations biométriques <a href="#fnref2" rev="footnote">↩</a></p>
</li>
</ol>
</div></div><div><a href="https://linuxfr.org/news/dragonfly-bsd-3-8.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/100507/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/dragonfly-bsd-3-8#comments">ouvrir dans le navigateur</a>
</p>
RolinhFrançois TigeotBAudEnj0lrasNÿcoclaudexpalm123patrick_ghttps://linuxfr.org/nodes/100507/comments.atomtag:linuxfr.org,2005:News/330192012-05-31T14:31:50+02:002012-05-31T14:31:50+02:00dfc 3.0.0 : nouvelle version majeure pour cette alternative haute en couleurs à l'utilitaire df(1)Licence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<div><p>Pour ceux ayant raté ma <a href="http://linuxfr.org/news/dfc-1-une-alternative-a-df-1-apportant-couleur-et-graphe">dépêche présentant <em>dfc(1)</em></a> le 1er avril dernier, sachez qu'il s'agit d'un utilitaire en ligne de commande se voulant une alternative au vénérable <em>df(1)</em>, apportant notamment de nombreuses options supplémentaires ainsi qu'un affichage coloré comportant des barres de graphe.</p>
<p>Plusieurs lecteurs de LinuxFr.org avaient fait part de leurs suggestions d'améliorations et requêtes de nouvelles fonctionnalités en commentaire de la dépêche et elles ont pour la plupart pris place dans cette nouvelle version majeure de <em>dfc(1)</em>, aux côtés d'autres améliorations.</p></div><ul><li>lien nᵒ 1 : <a title="http://projects.gw-computing.net/projects/dfc" hreflang="en" href="https://linuxfr.org/redirect/82256">Site officiel du projet</a></li><li>lien nᵒ 2 : <a title="http://projects.gw-computing.net/news/12" hreflang="en" href="https://linuxfr.org/redirect/82257">Annonce de la version 3.0.0</a></li><li>lien nᵒ 3 : <a title="http://projects.gw-computing.net/projects/dfc/wiki" hreflang="en" href="https://linuxfr.org/redirect/82258">Wiki</a></li><li>lien nᵒ 4 : <a title="http://projects.gw-computing.net/projects/dfc/wiki/FAQ" hreflang="en" href="https://linuxfr.org/redirect/82259">FAQ</a></li></ul><div><p>Au rayon des améliorations d'ordre général, on peut citer le support de l'internationalisation comportant la traduction complète de <em>dfc(1)</em> vers le français, un fichier de configuration optionnel ainsi qu'une amélioration conséquente de la fonctionnalité d'auto-ajustement.</p>
<p><em>dfc(1)</em> 3.0.0 présente également un meilleur support multi-plateforme puisque les utilisateurs de Mac OS X bénéficient maintenant également de l'option <em>-o</em> permettant d'afficher les options de montage et que l'utilitaire a été porté sous DragonFly BSD, NetBSD ainsi qu'OpenBSD. De nouvelles options font également leur apparition :</p>
<ul><li><em>-d</em> permet d'afficher la taille utilisée (et oui, cela n'existait pas avant !)</li>
<li><em>-e</em> permet l'export vers les formats CSV, TeX et HTML. Voici un exemple d'<a href="http://www.rolinh.ch/msc/dfc-3.0.0-1.html">export HTML en couleur</a> et un exemple d'<a href="http://www.rolinh.ch/msc/dfc-3.0.0-2.html">export sans couleur</a>.</li>
<li><em>-l</em> permet d'afficher uniquement les systèmes de fichiers locaux (option similaire à celle existant dans <em>df(1)</em>)</li>
<li><em>-p</em> permet de filtrer le résultat en fonction du système de fichiers. Par exemple, <em>dfc -p /dev/sd</em> limitera le résultat aux système de fichiers <em>/dev/sd*</em>, etc.</li>
<li><em>-q</em> trie le résultat en fonction du nom du système de fichiers, du type de système de fichiers ou du point de montage.</li>
</ul><p>Le fonctionnement de ces nouvelles options est évidemment documenté dans la page de manuel.</p>
<p>Cette version de <em>dfc(1)</em> a également subit une refonte du code afin de s'adapter aux nouvelles contraintes et a connu diverses optimisations et corrections de bugs. Le bug le plus notable ayant été corrigé concernait les utilisateurs de FreeBSD pour lesquels les informations affichées pouvaient être incorrectes. Finalement, j'aimerais profiter de cette dépêche pour remercier les contributeurs ayant révisé le code, fournit des patches ou maintenant des paquets <em>dfc(1)</em>.</p>
<p>A ce propos d'ailleurs, <em>dfc(1)</em> est maintenant présent dans les dépôts de Debian testing et unstable et est par conséquent également disponible dans les dépôts de la future Ubuntu 12.10. Il est aussi toujours disponible dans les dépôts de Mageia 2, Frugalware current et les ports FreeBSD. Les utilisateurs d'Archlinux peuvent toujours installer <em>dfc(1)</em> via AUR et ceux de Gentoo via l'ebuild proposée par Laurent Bachelier.</p></div><div><a href="https://linuxfr.org/news/dfc-3-0-0-nouvelle-version-majeure-pour-cette-alternative-haute-en-couleurs-a-l-utilitaire-df-1.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/94322/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/dfc-3-0-0-nouvelle-version-majeure-pour-cette-alternative-haute-en-couleurs-a-l-utilitaire-df-1#comments">ouvrir dans le navigateur</a>
</p>
RolinhNÿcoclaudexFlorent Zarahttps://linuxfr.org/nodes/94322/comments.atomtag:linuxfr.org,2005:News/293532012-04-01T03:56:52+02:002012-04-01T03:56:52+02:00dfc(1): une alternative à df(1) apportant couleur et grapheLicence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<div><p>Il y a maintenant une quinzaine jours, j'ai entrepris l'écriture d'un petit utilitaire se voulant une alternative au fameux <em>df(1)</em>.</p>
<p>J'ai d'abord commencé le développement avec comme objectif mon propre plaisir à développer puis je me suis vite rendu compte qu'il se trouvait des personnes intéressées par ce projet.</p>
<p>Les versions se sont succédées à un rythme soutenu jusqu'à la version 2.3.0 sortie aujourd'hui. J'ai estimé que la maturité de ce programme était maintenant suffisante afin de mériter une dépêche et de le faire connaître aux personnes pouvant potentiellement être intéressées.</p>
<p>Qu'apporte <em>dfc(1)</em> que ne propose pas déjà <em>df(1)</em>? En voici la liste :</p>
<ul><li>Gestion des couleurs avec modes <em>automatique</em>, <em>toujours</em> et <em>jamais</em> (similaire à ce que l'on peut trouver dans les commandes <em>ls(1)</em> et <em>grep(1)</em>).</li>
<li>Affichage d'un graphe montrant le taux d'utilisation des disques.</li>
<li>Possibilité d'afficher les options de montage.</li>
<li>Ajustement automatique de l'affichage en fonction de la taille du terminal.</li>
</ul><p>En plus de ces options, <em>dfc(1)</em> gère également une fonction de filtrage par type de système de fichiers (inclusion et exclusion), le choix de l'unité de mesure pour l'affichage (human-readable, Kio, Ko, Gio, etc.), le décompte du nombre d'inodes, la somme des données (y compris les inodes si l'option est activée) et l'affichage du type de système de fichiers.</p>
<p>Pour l'instant, <em>dfc(1)</em> ne fonctionne que sur GNU/Linux mais un portage est en cours pour prendre en charge notamment FreeBSD et le portage vers d'autres plate-formes (autres *BSD et OSX) devrait se faire à plus ou moins moyen-terme.</p></div><ul><li>lien nᵒ 1 : <a title="http://projects.gw-computing.net/projects/dfc" hreflang="en" href="https://linuxfr.org/redirect/76091">Site du projet</a></li><li>lien nᵒ 2 : <a title="http://projects.gw-computing.net/news/8" hreflang="en" href="https://linuxfr.org/redirect/76092">Annonce de la version 2.3.0</a></li><li>lien nᵒ 3 : <a title="http://projects.gw-computing.net/projects/dfc/wiki" hreflang="en" href="https://linuxfr.org/redirect/76093">Wiki</a></li><li>lien nᵒ 4 : <a title="http://projects.gw-computing.net/attachments/31/dfc.1.txt" hreflang="en" href="https://linuxfr.org/redirect/76094">Manpage</a></li></ul><div></div><div><a href="https://linuxfr.org/news/dfc-1-une-alternative-a-df-1-apportant-couleur-et-graphe.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/90119/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/dfc-1-une-alternative-a-df-1-apportant-couleur-et-graphe#comments">ouvrir dans le navigateur</a>
</p>
Rolinhbaud123https://linuxfr.org/nodes/90119/comments.atom