lancement du gestionnaire de paquets et de la distribution basĂ©e sur celui-ci, GuixSD GNU/Linux (Distribution du SystĂšme Guix). Un changement significatif de numĂ©ro de version est dĂ» Ă la rĂ©alisation de tous , fixĂ©s pour Ă©tablir une version significative. La sortie marque la conclusion de sept ans de travail sur le projet et est considĂ©rĂ©e comme prĂȘte pour une utilisation quotidienne. Pour le tĂ©lĂ©chargement des images pour l'installation sur USB Flash (243 Mo) et pour utilisation dans des systĂšmes de virtualisation (474 Mo). La prise en charge fonctionne sur les architectures i686, x86_64, armv7 et aarch64.
La distribution permet une installation soit en tant que dans des systÚmes de virtualisation, dans des conteneurs et sur du matériel standard, soit dans des distributions GNU/Linux déjà installées, agissant comme une plateforme pour le déploiement d'applications. L'utilisateur se voit offrir des fonctions telles que la gestion des dépendances, des compilations répétables, fonctionnement sans droits root, retour à des versions précédentes en cas de problÚmes, gestion de la configuration, clonage d'environnements (création d'une copie exacte de l'environnement logiciel sur d'autres ordinateurs), etc.
Principales :
- Ajout d'un nouveau , fonctionnant en mode texte ;
- une nouvelle image pour les machines virtuelles, adaptée à la fois pour découvrir la distribution et pour créer des environnements de travail pour le développement ;
- De nouveaux services systÚme cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent et zabbix-server ont été ajoutés ;
- Les versions des programmes dans 2104 paquets ont été mises à jour, avec l'ajout de 1102 nouveaux paquets. Cela inclut les mises à jour des versions de clojure 1.10.0, cups 2.2.11, emacs 26.2, gcc 8.3.0, gdb 8.2.1, ghc 8.4.3,
gimp 2.10.10, glibc 2.28, gnome 3.28.2, gnupg 2.2.15, go 1.12.1,
guile 2.2.4, icecat 60.6.1-guix1, icedtea 3.7.0, inkscape 0.92.4,
libreoffice 6.1.5.2, linux-libre 5.0.10, mate 1.22.0, ocaml 4.07.1,
octave 5.1.0, openjdk 11.28, python 3.7.0, rust 1.34.0, r 3.6.0,
sbcl 1.5.1, shepherd 0.6.0, xfce 4.12.1 et xorg-server 1.20.4 ; - Le gestionnaire de services GNU Shepherd a Ă©tĂ© mis Ă jour vers la version , qui a introduit un mode de fonctionnement des services one-shot, oĂč le service est marquĂ© comme arrĂȘtĂ© immĂ©diatement aprĂšs un dĂ©marrage rĂ©ussi, ce qui peut ĂȘtre nĂ©cessaire pour exĂ©cuter des tĂąches ponctuelles avant d'autres services, par exemple, pour effectuer un nettoyage ou une initialisation ;
- Pour la commande « guix package », des alias typiques d'autres gestionnaires de paquets « install », « remove », « upgrade » et « search » ont été ajoutés. Pour rechercher un paquet, on peut utiliser la commande « guix search », pour installer « guix install », et pour mettre à jour « guix pull » et « guix upgrade » ;
- Un indicateur de progression et une mise en surbrillance des messages de diagnostic par couleurs ont Ă©tĂ© ajoutĂ©s au gestionnaire de paquets. Par dĂ©faut, la plupart des commandes s'exĂ©cutent maintenant sans sortie dĂ©taillĂ©e Ă l'Ă©cran, activĂ©e par une option distincte « -v » (âverbosity) ;
- Une nouvelle commande « guix system delete-generations » et les options « guix pack âsave-provenance », « guix pull ânews », « guix environment âpreserve », « guix gc âlist-roots », « guix gc âdelete-generations », « guix weather âcoverage » ont Ă©tĂ© ajoutĂ©es au gestionnaire de paquets guix ;
- Nouvelles options ajoutĂ©es « âwith-git-url » et « âwith-branch » ;
- Des champs de configuration ont été ajoutés au distributeur « keyboard-layout » pour définir la disposition du clavier, « xorg-configuration » pour configurer le serveur X, « label » pour l'étiquette de la partition et « essential-services » pour définir les services essentiels ;
- Une commande « guix pack -RR » a Ă©tĂ© ajoutĂ©e pour crĂ©er des archives tar avec des exĂ©cutables portables, pouvant ĂȘtre exĂ©cutĂ©s tant par rapport aux chemins dans l'espace de noms utilisateur que par rapport Ă PRoot ;
- Dans « guix pull », la génération d'un cache de paquets a été assurée pour accélérer les opérations de recherche par nom et le paquet « glibc-utf8-locales » a été intégré ;
- Une parfaite répétabilité (bit à bit) des images ISO générées par la commande « guix system » a été garantée ;
- GDM a été utilisé comme gestionnaire de connexion au lieu de SLiM ;
- La prise en charge de la construction de Guix avec Guile 2.0 a Ă©tĂ© arrĂȘtĂ©e.
Rappelons que le gestionnaire de paquets GNU Guix est basĂ© sur les travaux du projet et en plus des fonctions classiques de gestion de paquets, il supporte des fonctionnalitĂ©s telles que l'exĂ©cution de mises Ă jour transactionnelles, la possibilitĂ© de revenir sur des mises Ă jour, un fonctionnement sans privilĂšges de superutilisateur, le support de profils attachĂ©s Ă des utilisateurs distincts, la possibilitĂ© d'installer plusieurs versions d'un mĂȘme programme simultanĂ©ment, ainsi que des outils de nettoyage (identification et suppression des versions de paquets inutilisĂ©es). Pour dĂ©finir les scĂ©narios d'assemblage des applications et les rĂšgles de crĂ©ation des paquets, il est proposĂ© d'utiliser un langage orientĂ© objet spĂ©cialisĂ© et des composants de l'API Guile Scheme, permettant d'effectuer toutes les opĂ©rations de gestion des paquets dans le langage fonctionnel Scheme.
Il est possible d'utiliser des paquets préparés pour le gestionnaire de paquets Nix et hébergés dans le dépÎt.
. En plus des opĂ©rations sur les paquets, il est possible de crĂ©er des scripts pour gĂ©rer la configuration des applications. Lors de la construction d'un paquet, toutes les dĂ©pendances associĂ©es sont automatiquement tĂ©lĂ©chargĂ©es et compilĂ©es. Il est possible de charger des paquets binaires prĂȘts Ă l'emploi depuis le rĂ©fĂ©rentiel, ainsi que de compiler Ă partir des sources avec toutes les dĂ©pendances. Des outils ont Ă©tĂ© mis en place pour maintenir les versions des programmes installĂ©s Ă jour grĂące Ă l'organisation de l'installation des mises Ă jour depuis un rĂ©fĂ©rentiel externe.
L'environnement de construction pour les paquets est constituĂ© d'un conteneur contenant tous les composants nĂ©cessaires au fonctionnement des applications, ce qui permet de former un ensemble de paquets capable de fonctionner sans se soucier de la composition de l'environnement systĂšme de base de la distribution dans laquelle Guix est utilisĂ© en tant que superstructure. Des dĂ©pendances peuvent ĂȘtre dĂ©finies entre les paquets Guix, tandis que pour vĂ©rifier la prĂ©sence de dĂ©pendances dĂ©jĂ installĂ©es, un scan des identifiants de hachage dans le rĂ©pertoire des paquets installĂ©s est utilisĂ©. Les paquets sont installĂ©s dans un arbre de rĂ©pertoires sĂ©parĂ© ou un sous-rĂ©pertoire dans le rĂ©pertoire de l'utilisateur, ce qui permet leur coexistence parallĂšle avec d'autres gestionnaires de paquets et assure le support d'une large gamme de distributions existantes. Par exemple, un paquet est installĂ© comme /nix/store/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0/, oĂč « f42d58⊠» est l'identifiant unique du paquet utilisĂ© pour contrĂŽler les dĂ©pendances.
La distribution ne comprend que des composants libres et est fournie avec le noyau GNU Linux-Libre, purgĂ© des Ă©lĂ©ments non libres des firmwares binaires. GCC 8.3 est utilisĂ© pour la compilation. Un gestionnaire de services est utilisĂ© comme systĂšme d'initialisation. (), dĂ©veloppĂ© comme une alternative Ă SysV-init avec prise en charge des dĂ©pendances. Le dĂ©mon de gestion et les utilitaires de Shepherd sont Ă©crits en Guile (une des implĂ©mentations du langage Scheme), qui est Ă©galement utilisĂ© pour dĂ©finir les paramĂštres de dĂ©marrage des services. L'image de base supporte le fonctionnement en mode console, mais pour l'installation 9714 paquets prĂȘts Ă l'emploi, parmi lesquels des composants de la stack graphique basĂ©e sur X.Org, les gestionnaires de fenĂȘtres dwm et ratpoison, le bureau Xfce, ainsi qu'une sĂ©lection d'applications graphiques.
Source : opennet.ru
