Gestionnaire de paquets GNU Guix 1.1 et distribution basée sur celui-ci disponible

A eu lieu version du gestionnaire de paquets GNU Guix 1.1 et la distribution GNU/Linux construite sur cette base. Pour le chargement formé images pour installation sur USB Flash (241 Mo) et utilisation dans les systèmes de virtualisation (479 ​​​​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:

  • Une nouvelle commande « guix déployer » a été ajoutée, conçue pour déployer le matériel de plusieurs ordinateurs à la fois, par exemple de nouveaux environnements dans un VPS ou des systèmes distants accessibles via SSH.
  • Les auteurs de référentiels de packages tiers (canaux) disposent d'outils pour rédiger des messages d'actualité que l'utilisateur peut lire lors de l'exécution de la commande "guix pull --news".
  • Ajout de la commande « guix system décrire », qui permet d'évaluer les changements entre deux instances différentes du système lors du déploiement.
  • Ajout du support pour générer des images pour Singularity et Docker à la commande "guix pack".
  • Ajout de la commande "guix time-machine", qui vous permet de revenir à n'importe quelle version d'un package enregistré dans l'archive Logiciel patrimonial.
  • Ajout de l'option « --target » au « système guix », fournissant un support partiel pour la compilation croisée ;
  • Assurer l'exécution de Guix en utilisant Ruse 3, ce qui a un effet positif sur la productivité.
  • Le graphe de dépendance du package est limité à un ensemble réduit de composants binaires de départ, ce qui constitue un grand pas en avant vers la mise en œuvre d'un bootstrap entièrement vérifiable.
  • Un cadre de test automatisé de l'installateur graphique a été implémenté. L'installateur est désormais construit dans un système d'intégration continue et testé dans différentes configurations (partition racine cryptée et régulière, installation avec des bureaux, etc.).
  • Ajout de systèmes de build pour Node.js, Julia et Qt, simplifiant l'écriture de packages pour les applications liées à ces projets.
  • Ajout de nouveaux services système auditd, fontconfig-file-system, getmail, gnome-keyring, kernel-module-loader,
    résolveur de nœuds, mumi, nfs, nftables, nix, pagekite, pam-mount, patchwork,
    polkit-wheel, provenance, pulseaudio, sain d'esprit, singularité, usb-modeswitch

  • Les versions de programmes dans 3368 packages ont été mises à jour, 3514 nouveaux packages ont été ajoutés. Y compris les versions mises à jour de xfce 4.14.0, gnome 3.32.2, mate 1.24.0, xorg-server 1.20.7, bash 5.0.7, binutils 2.32, cups 2.3.1, emacs 26.3, illumination 0.23.1,
    gcc 9.3.0, gimp 2.10.18, glibc 2.29,
    gnupg 2.2.20, allez 1.13.9, ruse 2.2.7,
    icecat 68.7.0-guix0-preview1, thé glacé 3.7.0,
    libreoffice 6.4.2.2, linux-libre 5.4.31, , openjdk 12.33, perl 5.30.0, python 3.7.4,
    rouille 1.39.0.

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 se présente sous la forme d'un conteneur contenant tous les composants nécessaires au fonctionnement de l'application, ce qui vous permet de créer un ensemble de packages pouvant fonctionner quelle que soit 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 hachages d'identifiant 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 en parallèle avec d'autres gestionnaires de packages et de prendre en charge un large éventail de distributions existantes. Par exemple, le package est installé sous /nix/store/f42a5878f3a0b426064a2b64a0c6f92-firefox-75.0.0/, où "f42a58..." est l'identifiant unique du package utilisé pour la surveillance des 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 9.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é 13162 packages prêts à l'emploi, comprenant des composants de la pile 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

Ajouter un commentaire