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

Le gestionnaire de paquets GNU Guix 1.4 et la distribution GNU/Linux construite sur cette base ont été publiés. Pour le téléchargement, des images ont été générées pour une installation sur clé USB (814 Mo) et une utilisation dans des systèmes de virtualisation (1.1 Go). Prend en charge le fonctionnement sur les architectures i686, x86_64, Power9, armv7 et aarch64.

La distribution permet une installation à la fois comme système d'exploitation autonome dans des systèmes de virtualisation, dans des conteneurs et sur des équipements conventionnels, et peut être lancée dans des 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 prise en compte des dépendances, les builds répétables, le travail sans root, le retour aux versions précédentes en cas de problème, la gestion de la configuration, le clonage d'environnements (création d'une copie exacte de l'environnement logiciel sur d'autres ordinateurs), etc. .

Principales nouveautés :

  • Gestion améliorée des environnements logiciels. La commande «guix environnement» a été remplacée par la nouvelle commande «guix shell», qui permet non seulement de créer des environnements de build pour les développeurs, mais aussi d'utiliser des environnements pour se familiariser avec les programmes sans être reflété dans le profil et sans effectuer " installation guix ». Par exemple, pour télécharger et lancer le jeu supertuxkart, vous pouvez exécuter « guix shell supertuxkart - supertuxkart ». Après le téléchargement, le package sera enregistré dans le cache et le prochain lancement ne nécessitera pas de le réextraire.

    Pour simplifier la création d'environnements pour les développeurs, le « guix shell » prend en charge les fichiers guix.scm et manifest.scm décrivant la composition de l'environnement (l'option « --export-manifest » peut être utilisée pour générer des fichiers). Pour créer des conteneurs dans lesquels la hiérarchie classique des répertoires système est émulée, le « shell guix » propose les options « —container —emulate-fhs ».

  • Ajout de la commande "guix home" pour contrôler l'environnement domestique. Guix vous permet de définir tous les composants de votre environnement domestique, y compris les packages, services et fichiers commençant par un point. Grâce à la commande "guix home", les instances de l'environnement home décrit peuvent être recréées dans le répertoire $HOME ou dans un conteneur, par exemple, pour transférer votre environnement vers un nouvel ordinateur.
  • Ajout de l'option "-f deb" à la commande "guix pack" pour créer des packages deb séparés pouvant être installés sur Debian.
  • Pour créer différents types d'images système (raw, QCOW2, CD/DVD ISO8660, Docker et WSL2), une commande universelle « guix system image » est proposée, qui permet de déterminer le type de stockage, les partitions et le système d'exploitation de l'image créée. .
  • L'option « -tune » a été ajoutée aux commandes de création de packages, ce qui vous permet de spécifier la microarchitecture du processeur pour laquelle des optimisations spécifiques seront activées (par exemple, les instructions AVX-512 SIMD peuvent être utilisées sur les nouveaux processeurs AMD et Intel). .
  • Le programme d'installation implémente un mécanisme pour enregistrer automatiquement les informations de débogage importantes en cas d'échec de l'installation.
  • Le temps de démarrage de l'application a été réduit grâce à l'utilisation d'un cache lors de la liaison dynamique, ce qui réduit les appels aux appels stat et système ouvert lors de la recherche de bibliothèques.
  • Une nouvelle version du système d'initialisation GNU Shepherd 0.9 a été utilisée, qui implémente le concept de services temporaires (transitoires) et la possibilité de créer des services activés par l'activité réseau (à la manière de l'activation de socket systemd).
  • Ajout d'une nouvelle interface pour définir la taille de la partition d'échange dans la configuration du système d'exploitation.
  • L'interface de définition d'une configuration réseau statique a été repensée, qui propose désormais un analogue déclaratif des paramètres dans le style de la commande ip.
  • Ajout de 15 nouveaux services système, dont Jami, Samba, fail2ban et Gitile.
  • Lancement de packages.guix.gnu.org pour la navigation dans les packages.
  • Les versions de programmes dans 6573 5311 packages ont été mises à jour et 42 6 nouveaux packages ont été ajoutés. Entre autres choses, versions mises à jour de GNOME 12.2.0, Qt 2.33, GCC 4.16, Glibc 6.0.10, Xfce 7.4.3.2, Linux-libre 28.2, LibreOffice 500, Emacs 2. Suppression de plus de XNUMX packages à l'aide de Python XNUMX.

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

Rappelons que le gestionnaire de packages GNU Guix est basé sur les développements du projet Nix et, en plus des fonctions typiques de gestion de packages, prend en charge des fonctionnalités telles que l'exécution de mises à jour transactionnelles, la possibilité d'annuler les mises à jour, le travail sans obtenir les privilèges de superutilisateur, la prise en charge profils liés à des utilisateurs individuels, possibilité d'installer simultanément plusieurs versions d'un même programme, outils de garbage collection (identification et suppression des versions inutilisées des packages). Pour définir des scénarios de construction d'applications et des règles de formation de packages, 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 Nixpkgs est prise en charge. En plus des opérations avec les packages, il est possible de créer des scripts pour gérer les configurations des applications. Lorsqu'un package est généré, toutes les dépendances qui lui sont associées sont automatiquement téléchargées et créées. Il est possible soit de télécharger des packages binaires prêts à l'emploi à partir du référentiel, soit de créer à partir de textes sources avec toutes les dépendances. Des outils ont été mis en place pour maintenir à jour les versions des programmes installés en organisant l'installation des mises à jour depuis 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/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/, où « 452a59... » est l'identifiant unique du package utilisé pour la surveillance des dépendances.

La distribution ne comprend que des composants gratuits et est livrée avec le noyau GNU Linux-Libre, nettoyé des éléments non libres du firmware binaire. GCC 12.2 est utilisé pour l'assemblage. Le gestionnaire de services GNU Shepherd (anciennement dmd) est utilisé comme système d'initialisation, développé comme alternative à SysV-init avec prise en charge des dépendances. Le démon de contrôle Shepherd et les utilitaires sont écrits en Guile (une des implémentations du langage Scheme), qui est également utilisé pour définir les paramètres de lancement des services. L'image de base prend en charge le travail en mode console, mais 20526 XNUMX packages prêts à l'emploi sont préparés pour l'installation, y compris des composants de la pile graphique basée sur X.Org, des gestionnaires de fenêtres DWM et Ratpoison, des bureaux GNOME et Xfce, ainsi qu'une sélection de logiciels graphiques. applications.

Source: opennet.ru

Ajouter un commentaire