Gestionnaire de paquets GNU Guix 1.0 et distribution basée sur GuixSD disponibles

A eu lieu version du gestionnaire de paquets GNU Guix 1.0 et le kit de distribution GuixSD GNU/Linux (Guix System Distribution) construit sur cette base. Un changement significatif dans le numéro de version est dû à l'achèvement de la mise en œuvre de tous butsprêt à former une version historique. La version résume sept années de travail sur le projet et est considérée comme prête à être utilisée au quotidien. Pour le chargement formé images pour installation sur USB Flash (243 Mo) et utilisation dans les systèmes de virtualisation (474 ​​​​Mo). Le travail est pris en charge sur les architectures i686, x86_64, armv7 et aarch64.

Le kit de distribution permet une installation à la fois comme système d'exploitation autonome dans les systèmes de virtualisation, dans des conteneurs et sur des équipements conventionnels, et lancement dans les distributions GNU/Linux déjà installées, agissant comme une plate-forme de déploiement d'applications. L'utilisateur dispose de fonctions telles que la comptabilité des dépendances, les builds répétables, le travail sans root, le retour aux versions précédentes en cas de problèmes, la gestion de la configuration, le clonage de l'environnement (création d'une copie exacte de l'environnement logiciel sur d'autres ordinateurs), etc.

principal les innovations:

  • Ajouté nouveau installateur interactif, qui fonctionne en mode texte ;

    Gestionnaire de paquets GNU Guix 1.0 et distribution basée sur GuixSD disponibles

  • Préparé une nouvelle image pour les machines virtuelles, adaptée à la fois pour se familiariser avec le kit de distribution et pour créer des environnements de travail pour le développement ;
  • Ajout de nouveaux services système cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent et zabbix-server ;
  • Versions logicielles mises à jour dans 2104 1102 packages, ajout de 1.10.0 2.2.11 nouveaux packages. Y compris les versions mises à jour de clojure 26.2, cups 8.3.0, emacs 8.2.1, gcc 8.4.3, gdb XNUMX, ghc XNUMX,
    gimp 2.10.10, glibc 2.28, gnome 3.28.2, gnupg 2.2.15, allez 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, rouille 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 ;

  • Gestionnaire de services GNU Shepherd mis à jour vers la version 0.6, qui implémente le mode de service ponctuel, dans lequel le service est marqué comme arrêté immédiatement après un lancement réussi, ce qui peut être nécessaire pour démarrer un travail ponctuel avant d'autres services, par exemple pour effectuer un nettoyage ou une initialisation ;
  • Ajout des alias "install", "remove", "upgrade" et "search" typiques d'autres gestionnaires de paquets à la commande "guix package". Pour rechercher un paquet, vous pouvez utiliser la commande "guix search", pour installer "guix install", et pour mettre à jour "guix pull" et "guix update" ;
  • Ajout d'un indicateur de progression au gestionnaire de packages et mise en évidence des messages de diagnostic avec des couleurs. Par défaut, la plupart des commandes sont désormais exécutées sans verbosité, ce qui est activé par une option "-v" (--verbosity) distincte ;
  • Nouvelle commande "guix system delete-generations" et options "guix pack --save-provenance", "guix pull --news", "guix Environment --preserve", "guix gc --list-roots", "guix gc --delete-generations", "guix météo -couverture";
  • Nouvelles options ajoutées conversions de paquets "--with-git-url" et "--with-branch" ;
  • La distribution a ajouté des champs de configuration « keyboard-layout » pour définir la disposition du clavier, « xorg-configuration » pour configurer le serveur X, « label » pour étiqueter la section et « essential-services » pour définir les services de base ;
  • Ajout de la commande "guix pack -RR" pour créer des archives tar exécutables relocalisables qui peuvent être exécutées par rapport aux chemins d'espace de noms utilisateur et à PRoot ;
  • « guix pull » fournit un cache de paquets pour accélérer les recherches de noms et intègre le paquet « glibc-utf8-locales » ;
  • Répétabilité totale assurée (bit à bit) des images ISO générées par la commande "guix system" ;
  • GDM est utilisé comme gestionnaire de connexion au lieu de SLiM ;
  • La prise en charge de la construction de Guix à l'aide de Guile 2.0 a été abandonnée.

Rappelons que le gestionnaire de paquets GNU Guix est basé sur les développements du projet Nix et en plus des fonctions typiques de gestion de packages, il prend en charge des fonctionnalités telles que les mises à jour transactionnelles, la possibilité d'annuler les mises à jour, de travailler sans obtenir les privilèges de superutilisateur, la prise en charge des profils associés à des utilisateurs individuels, la possibilité d'installer simultanément plusieurs versions d'un programme, outils de récupération de place (identification et suppression des versions inutilisées des packages). Pour définir les scripts de construction d'applications et les règles d'empaquetage, il est proposé d'utiliser un langage spécialisé de haut niveau spécifique au domaine et des composants API Guile Scheme qui vous permettent d'effectuer toutes les opérations de gestion de packages dans le langage de programmation fonctionnel Scheme.

La possibilité d'utiliser des packages préparés pour le gestionnaire de packages Nix et placés dans le référentiel est prise en charge
Nixpkgs. Outre les opérations sur les packages, vous pouvez créer des scripts pour gérer la configuration des applications. Lorsqu'un package est généré, toutes les dépendances associées sont automatiquement téléchargées et créées. Il est possible à la fois de télécharger des packages binaires prêts à l'emploi à partir du référentiel et de les construire à partir des sources avec toutes les dépendances. Implémentation d'outils pour maintenir à jour les versions des programmes installés en organisant l'installation des mises à jour à partir d'un référentiel externe.

L'environnement de construction des packages est formé comme un conteneur contenant tous les composants nécessaires au fonctionnement des applications, ce qui vous permet de créer un ensemble de packages pouvant fonctionner indépendamment de la composition de l'environnement système de base de la distribution, dans lequel Guix est utilisé comme module complémentaire. Les dépendances peuvent être déterminées entre les packages Guix en analysant les identifiants de hachage dans le répertoire des packages installés pour trouver la présence de dépendances déjà installées. Les packages sont installés dans une arborescence de répertoires ou un sous-répertoire distinct dans le répertoire de l'utilisateur, ce qui lui permet de coexister avec d'autres gestionnaires de packages et de prendre en charge un large éventail de distributions existantes. Par exemple, un package est installé sous /nix/store/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0/ où "f42d58..." est l'identifiant unique du package utilisé pour contrôler les dépendances.

La distribution comprend uniquement des composants gratuits et est livrée avec un noyau GNU Linux-Libre dépourvu d'éléments de micrologiciel binaires non libres. GCC 8.3 est utilisé pour construire. Le gestionnaire de services est utilisé comme système d'initialisation Berger GNU (ex-DMD) développé comme alternative à SysV-init avec prise en charge des dépendances. Le démon de contrôle et les utilitaires Shepherd sont écrits dans le langage Guile (une des implémentations du langage Scheme), qui est également utilisé pour définir les paramètres de démarrage du service. L'image de base prend en charge le mode console, mais pour l'installer préparé 9714 packages préemballés, comprenant des composants de pile graphique basés sur X.Org, des gestionnaires de fenêtres DWM et Ratpoison, le bureau Xfce et une sélection d'applications graphiques.

Source: opennet.ru

Ajouter un commentaire