URL: https://linuxfr.org/news/gnu-guix-1-2-0-est-publie Title: GNU Guix 1.2.0 est publié Authors: roptat zimoun, palm123, bobble bubble et Xavier Teyssier Date: 2020-11-24T23:59:52+01:00 License: CC By-SA Tags: Score: 4 [GNU Guix](https://guix.gnu.org/) est le gestionnaire de paquets transactionnel et une distribution perfectionnée du système GNU qui respecte la [liberté](https://www.gnu.org/distros/free-system-distribution-guidelines.fr.html) de ses utilisateurs. Guix peut s'utiliser en tant que gestionnaire de paquets sur n'importe quel système utilisant le noyau Linux ou Hurd, et peut s'utiliser comme distribution à part entière sur les machines i686, x86_64, ARMv7 et AArch64. En plus des fonctionnalités habituelles des [gestionnaires de paquets](https://guix.gnu.org/manual/fr/guix.fr.html#Gestion-de-paquets), Guix permet des mises à jour et des retours en arrière transactionnels, de gérer ses paquets sans privilège, d'utiliser plusieurs profils par utilisateur, et [d'empaqueter](https://guix.gnu.org/manual/fr/guix.fr.html#Invoquer-guix-pack) une collection de paquets via une archive tarball repositionnable ou une image Docker. Et tout ceci pour n'importe quel point dans le temps via [`guix time-machine`](https://guix.gnu.org/manual/fr/guix.fr.html#Invoquer-guix-time_002dmachine). Lorsque Guix est utilisé comme distribution GNU/Linux à part entière, il permet aussi de gérer son système d'exploitation avec une approche déclarative et sans état. Guix est extrêmement personnalisable et bidouillable grâce à ses interfaces [Guile](https://www.gnu.org/software/guile) (un dialecte du langage [Scheme](http://schemers.org/)). La publication fournit des [images d’installation ISO 9660](https://guix.gnu.org/manual/fr/html_node/Installation-du-systeme.html#Installation-du-syst_00e8me), une [image pour machine virtuelle](https://guix.gnu.org/manual/fr/html_node/Installer-Guix-dans-une-VM.html) et [un script d'installation](https://guix.gnu.org/manual/fr/html_node/Installation-binaire.html#Installation-binaire) pour installer le gestionnaire de paquets sur votre distribution GNU/Linux sans intéférer avec celle-ci. Les utilisateurs de Guix peuvent mettre à jour comme d'habitude en lançant [`guix pull`](https://guix.gnu.org/manual/fr/guix.fr.html#Invoquer-guix-pull). La suite de la dépêche est une traduction de l’annonce officielle. Le « nous » utilisé dans la dépêche renvoie à l’équipe Guix, pas aux traducteurs. ![Illustration pour commémorer la nouvelle version](https://guix.gnu.org/static/blog/img/flight-of-the-guix.jpg) ---- [Annonce officielle](https://guix.gnu.org/en/blog/2020/gnu-guix-1.2.0-released/) [Manuel en français](https://guix.gnu.org/manual/fr) [La chanson, “ode to one two oh” (ogg)](https://guix.gnu.org/audio/ode-to-one-two-oh.ogg) ---- Nous sommes heureux d'annoncer la sortie de GNU Guix en version 1.2.0, juste à temps pour célébrer [le huitième anniversaire de Guix](https://lists.gnu.org/archive/html/gnu-system-discuss/2012-11/msg00000.html) ! La publication fournit des [images d’installation ISO 9660](https://guix.gnu.org/manual/fr/html_node/Installation-du-systeme.html#Installation-du-syst_00e8me), une [image pour machine virtuelle](https://guix.gnu.org/manual/fr/html_node/Installer-Guix-dans-une-VM.html) et des archives pour pour installer le gestionnaire de paquets sur votre distribution GNU/Linux, soit [à partir des sources](https://guix.gnu.org/manual/fr/html_node/Prerequis.html#Pr_00e9requis), soit [à partir des binaires](https://guix.gnu.org/manual/fr/html_node/Installation-binaire.html#Installation-binaire). Les utilisateurs de Guix peuvent mettre à jour comme d'habitude en lançant `guix pull`. Cela fait presque sept mois depuis la dernière version, pendant lesquels 200 personnes ont contribué au code et aux paquets, et de nombreuses autres personnes ont contribué à d'autres taches importantes : la revue de code, l'administration système, les traductions, la mise à jour du site web, le mentorat à travers Outreachy, et bien d'autres ! Il y a eu plus de 10 200 commits durant cette période et c'est toujours un défi de résumer toute cette activité dans les notes de version. # Bonus musical Avant d'aller plus loin, asseyez-vous confortablement et lancez la lecture de cette [chanson de publication très spéciale, _Ode to One Two Oh_](https://guix.gnu.org/audio/ode-to-one-two-oh.ogg) ([paroles](https://guix.gnu.org/audio/ode-to-one-two-oh.txt)) proposée par la sympathique équipe de Guix — voir les crédits plus bas ! # Sécurité Une avancée majeure dans cette version est la possibilité *d'authentifier les [canaux](https://guix.gnu.org/manual/fr/guix.fr.html#Canaux)*, ce qui fait sans doute de Guix l'une des manières les plus sécurisées pour fournir un système d'exploitation aujourd'hui. C'était le lien manquant dans notre « chaîne logistique logicielle » et nous sommes ravis qu'il soit désormais corrigé. Le résultat, c'est que `guix pull` et les commandes associées authentifient maintenant le code des canaux qu'elles récupèrent de manière cryptographique. Vous ne pouvez plus par exemple récupérer des commits non autorisés dans le dépôt officiel de Guix. Nous avons [détaillé la conception et le code](https://guix.gnu.org/en/blog/2020/securing-updates/) de cette fonctionnalité en juillet. Le manuel explique [ce que vous devez savoir en tant qu'utilisateur](https://guix.gnu.org/manual/fr/html_node/Authentification-des-canaux.html#Authentification-des-canaux) et [en tant que qu'auteur d'un canal](https://guix.gnu.org/manual/fr/html_node/Specifier-les-autorisations-des-canaux.html#Sp_00e9cifier-les-autorisations-des-canaux). Il y a aussi une nouvelle commande [`guix git authenticate`](https://guix.gnu.org/manual/fr/html_node/Invoquer-guix-git-authenticate.html#Invoquer-guix-git-authenticate) pour pouvoir utiliser ce mécanisme dans des dépôts Git arbitraires ! ![Example commit graph.](https://guix.gnu.org/static/blog/img/commit-graph.svg) En plus de cela, `guix pull` et `guix system reconfigure` détectent maintenant de *potentiels retours en arrière du système ou de Guix* et renvoie une erreur. Cela permet de s'assurer qu'on ne puisse pas vous tromper et faire revenir les logiciels de votre système à des versions antérieures, ce qui pourrait éventuellement réintroduire des vulnérabilités exploitables dans les logiciels que vous utilisez. Avec ces nouvelles sécurités, nous avons ajouté un [*service de mise à jour non surveillées*](https://guix.gnu.org/manual/fr/html_node/Mises-a-jour-non-surveillees-_0028Unattended-Upgrades_0029.html#Mises-_00e0-jour-non-surveill_00e9es-_0028Unattended-Upgrades_0029) qui, en substance, lance `guix pull && guix system reconfigure` régulièrement. Des mises à jour non surveillées en toute quiétude. Un autre changement important en terme de sécurité dont nous sommes très fiers est [*la réduction de l'ensemble d'amorçage à 60 Mio*](https://guix.gnu.org/en/blog/2020/guix-further-reduces-bootstrap-seed-to-25/) sur les systèmes x86_64 et x686, grâce à un travail acharné sur [GNU Mes](https://www.gnu.org/software/mes), [Gash](https://savannah.nongnu.org/projects/gash) et d'autres logiciels associés. Toujours sur le thème de la sécurité, le démon de construction et [l'interface de programmation `origin`](https://guix.gnu.org/manual/fr/html_node/reference-des-origines.html#r_00e9f_00e9rence-des-origines) acceptent maintenant de *nouvelles fonctions de hash cryptographiques* (en particulier SHA-3 et BLAKE2s) pour les [« dérivations à sortie fixe »](https://guix.gnu.org/manual/fr/html_node/Derivations.html#D_00e9rivations). Jusqu'ici nous utilisions toujours des hash SHA256 pour le code source. # Expérience utilisateur Nous souhaitons que Guix soit accessible et utile pour une large audience et ça a de nouveau été l'une des lignes directrices dans cette version. [L'installateur graphique du système](https://guix.gnu.org/en/videos/system-graphical-installer/) et le [script pour installer Guix sur une autre distribution](https://guix.gnu.org/manual/fr/html_node/Installation-binaire.html#Installation-binaire) ont tous deux reçu des corrections de bogues et des améliorations en terme d'utilisabilité. Les nouveaux utilisateurs apprécieront le fait que `guix help` fournisse maintenant un aperçu clair des commandes disponibles, que les commandes `guix` soient moins verbeuses par défaut (elles n'affichent plus les longues listes de ce qu'elles vont télécharger), et que `guix pull` affiche une barre de progression lorsqu'il met à jour son dépôt Git. `guix search`, `guix system search` et les commandes similaires invoquent maintenant automatiquement un outil de mise en forme (`less` par défaut), ce qui règle un désagrément souvent perçu. La nouvelle version propose *des améliorations de performance à plusieurs endroits*. L'utilisation du nouveau [« compilateur de référence » qui est arrivé avec Guile 3.0.4](https://wingolog.org/archives/2020/06/03/a-baseline-compiler-for-guile) permet de réduire les temps de construction de Guix lui-même, ce qui signifie aussi que `guix pull` est moins gourmand en ressources. Les performances se sont améliorées à [plusieurs](https://issues.guix.gnu.org/44053#9) [autres](https://issues.guix.gnu.org/41702#2) [endroits](https://issues.guix.gnu.org/43340) et il y a encore du travail à venir. Nous proposons encore plus de flexibilité à la ligne de commande, avec l'ajout de trois [*options de transformation de paquets*](https://guix.gnu.org/manual/fr/html_node/Options-de-transformation-de-paquets.html#Options-de-transformation-de-paquets) `--with-debug-info` ([pour toujours déboguer dans de bonnes conditions](https://guix.gnu.org/manual/fr/html_node/Reconstruire-les-informations-de-debogage.html#Reconstruire-les-informations-de-d_00e9bogage) !), `--with-c-toolchain` et `--without-tests`. Les transformations sont maintenant sauvegardées dans le profil et rejouées avec `guix upgrade`. En plus, ces options opèrent maintenant sur tout le graphe de dépendance, ce qui inclue des entrées « implicites », ce qui permet d'effectuer des transformations précédemment impossible, comme : ``` guix install --with-input=python=python2 python-itsdangerous ``` Enfin, le nouveau module `(guix transformations)` founit [une interface pour les options de transformation disponibles sur la ligne de commande](https://guix.gnu.org/manual/fr/html_node/Definition-de-variantes-de-paquets.html#D_00e9finition-de-variantes-de-paquets), ce qui est pratique si vous voulez utiliser une telle transformation dans un manifeste. Le *manuel de référence* a été étendu : il y a une nouvelle section [« Pour démarrer »](https://guix.gnu.org/manual/fr/html_node/Pour-demarrer.html#Pour-d_00e9marrer), la [section « Interface de programmation »](https://guix.gnu.org/manual/fr/html_node/Interface-de-programmation.html#Interface-de-programmation) contient plus d'informations pour celles et ceux qui écrivent des paquets. Nous avons ajouté des exemples de code à de nombreux endroits. Sur la copie en ligne du manuel, les identifiants dans ces bouts de code sont cliquables et renvoient au bon endroit dans le manuel de Guix ou de Guile. Finalement, *le manuel est entièrement traduit* en [français](https://guix.gnu.org/manual/fr/html_node/), en [allemand](https://guix.gnu.org/manual/de/html_node/) et en [espagnol](https://guix.gnu.org/manual/es/html_node/), avec des traductions partielles en [russe](https://guix.gnu.org/manual/ru/html_node/) et en [chinois](https://guix.gnu.org/manual/zh-cn/html_node/). Guix lui-même est entièrement traduit dans ces trois langues et partiellement traduit en onze autres langues. # Lots, GNU/Hurd, images disques, services, … Attendez, il y en a encore plus ! Si ce qui vous intéresse, c'est d'apporter des applications de Guix à des machines qui n'ont pas Guix, [`guix pack -RR`](https://guix.gnu.org/manual/fr/html_node/Invoquer-guix-pack.html#Invoquer-guix-pack) prend maintenant en charge *un nouveau moteur d'exécution « fakechroot »* pour les lots repositionnables, avec la possibilité de choisir entre différents moteurs à l'exécution avec la variable `GUIX_EXECUTION_ENGINE`. Le moteur `fakechroot` [améliore les performances par rapport au moteur `proot`](https://hpc.guix.info/blog/2020/05/faster-relocatable-packs-with-fakechroot/), pour les hôtes qui ne prennent pas en charge les espaces de noms utilisateurs non privilégiés. La prise en charge de la *compilation croisée d'un système entier* — comme dans `guix system build --target=arm-linux-gnueabihf config.scm` — a été améliorée. Avec tout un travail de portage à la fois pour les paquets et la machinerie de Guix System, cela permet d'apporter [le service `hurd-vm`](https://guix.gnu.org/manual/fr/html_node/Services-de-virtualisation.html#Executer-le-Hurd-dans-une-machine-virtuelle) — un système Guix sur GNU/Hurd compilé de manière croisée [lancé dans une machine virtuelle sous GNU/Linux](https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/). À son tour, ce service nous a permis de travailler sur la prise en charge native de GNU/Hurd. En parlant de cela, le nouveau module `(gnu image)` implémente une interface flexible aux images de systèmes d'exploitation. Depuis la ligne de commande, elle est accessible via [`guix system disk-image --image-type=TYPE`](https://guix.gnu.org/manual/fr/html_node/Invoquer-guix-system.html#Invoquer-guix-system). Plusieurs _types d'images_ sont pris en charge : le format ISO-9660 compressé, le format qcow2 contenant des partitions ext4, ext2 avec les options de Hurd, etc. Cela est actuellement implémenté avec [`genimage`](https://github.com/pengutronix/genimage). En plus des services systèmes déjà mentionnés, une douzaine de nouveaux services sont disponibles, dont un service pour [Ganeti](https://guix.gnu.org/en/blog/2020/running-a-ganeti-cluster-on-guix/), un service pour [LXQt](https://guix.gnu.org/manual/fr/html_node/Services-de-bureaux.html#index-lxqt_002ddesktop_002dservice_002dtype), un service [R Shiny](https://guix.gnu.org/manual/fr/html_node/Services-divers.html#Service-R_002dShiny), un service [Gemini](https://guix.gnu.org/manual/fr/html_node/Services-web.html#gmnisrv), et un service pour le [Guix Build Coordinator](https://guix.gnu.org/manual/fr/html_node/Services-Guix.html). 2 000 paquets ont été ajoutés, pour un total de [plus de 15K paquets](https://guix.gnu.org/packages) ; 3 652 ont été mis à jour. La distribution embarque GNU libc 2.31, GCC 10.2, GNOME 3.34, Xfce 4.14.2, Linux-libre 5.9.3 et LibreOffice 6.4.6.2 pour n'en citer que quelques uns. Il y a aussi un nouveau [système de construction de paquets pour Maven](https://guix.gnu.org/manual/fr/html_node/Systemes-de-construction.html#index-maven_002dbuild_002dsystem) (l'amorçage de Maven dans Guix a été le sujet d'une [présentation lors des Guix Days la semaine dernière](https://guix.gnu.org/en/blog/2020/online-guix-day-announce-2/)) Le [fichier `NEWS`](https://git.savannah.gnu.org/cgit/guix.git/tree/NEWS?h=version-1.2.0&id=a099685659b4bfa6b3218f84953cbb7ff9e88063) liste des changements supplémentaires importants et des corrections de bogues qui pourraient vous intéresser. # Essayer, c'est l'adopter ! Vous pouvez [télécharger cette nouvelle version](https://guix.gnu.org/download/) et [nous contacter](https://guix.gnu.org/contact/). D'ailleurs, notre ambassadeur chez Debian [nous signale](https://lists.gnu.org/archive/html/guix-devel/2020-11/msg00254.html) que [vous pourrez bientôt lancer `apt install guix`](https://packages.debian.org/guix) si vous utilisez Debian ou une distribution dérivée ! Amusez-vous bien ! # Crédits Ricardo Wurmus (*grand stick*, synthétiseur, percussions, voix, paroles) — Luis Felipe (illustration) — Vagrant Cascadian (paquet Debian, paroles) — Festival (voix de fond)