Gestore pacchetti GNU Guix 1.1 e distribuzione basata su di esso disponibile

ha avuto luogo rilascio del gestore pacchetti GNU Guix 1.1 e la distribuzione GNU/Linux costruita su questa base. Per caricare formato immagini per installazione su USB Flash (241 MB) e utilizzo in sistemi di virtualizzazione (479 ​​MB). Supporta il funzionamento su architetture i686, x86_64, armv7 e aarch64.

La distribuzione consente l'installazione come sistema operativo autonomo nei sistemi di virtualizzazione, nei contenitori e su apparecchiature convenzionali, e запуск nelle distribuzioni GNU/Linux già installate, fungendo da piattaforma per la distribuzione delle applicazioni. All'utente vengono fornite funzioni come la presa in considerazione delle dipendenze, build ripetibili, funzionamento senza root, ripristino delle versioni precedenti in caso di problemi, gestione della configurazione, clonazione di ambienti (creazione di una copia esatta dell'ambiente software su altri computer), ecc. .

Il principale innovazioni:

  • È stato aggiunto un nuovo comando "guix deploy", progettato per distribuire l'hardware di più computer contemporaneamente, ad esempio nuovi ambienti in un VPS o sistemi remoti accessibili tramite SSH.
  • Agli autori di repository (canali) di pacchetti di terze parti vengono forniti strumenti per scrivere messaggi di notizie che l'utente può leggere quando esegue il comando "guix pull --news".
  • Aggiunto il comando “guix system description”, che consente di valutare le modifiche tra due diverse istanze del sistema durante la distribuzione.
  • Aggiunto il supporto per la generazione di immagini per Singularity e Docker al comando "guix pack".
  • Aggiunto il comando "guix time-machine", che permette di ripristinare qualsiasi release di un pacchetto salvato nell'archivio Patrimonio software.
  • Aggiunta l'opzione "--target" al "sistema guix", fornendo supporto parziale per la compilazione incrociata;
  • Esecuzione garantita di Guix utilizzando Astuzia 3, che ha un effetto positivo sulla produttività.
  • Il grafico delle dipendenze dei pacchetti è limitato a un insieme ridotto di componenti seed binari, il che rappresenta un grande passo avanti verso l'implementazione di un bootstrap completamente verificabile.
  • È stato implementato un framework per il test automatizzato del programma di installazione grafico. Il programma di installazione è ora integrato in un sistema di integrazione continua e testato in diverse configurazioni (partizione root crittografata e regolare, installazione con desktop, ecc.).
  • Aggiunti sistemi di build per Node.js, Julia e Qt, semplificando la scrittura di pacchetti per applicazioni relative a questi progetti.
  • Aggiunti nuovi servizi di sistema auditd, fontconfig-file-system, getmail, gnome-keyring, kernel-module-loader,
    risolutore di nodi, mumi, nfs, nftables, nix, pagekite, pam-mount, patchwork,
    polkit-wheel, provenienza, PulseAudio, Sane, Singolarità, USB-ModeSwitch

  • Sono state aggiornate le versioni dei programmi in 3368 pacchetti, sono stati aggiunti 3514 nuovi pacchetti. Comprese le versioni aggiornate di 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, illuminazione 0.23.1,
    gcc 9.3.0, gimp 2.10.18, glibc 2.29,
    gnupg 2.2.20, go 1.13.9, guile 2.2.7,
    icecat 68.7.0-guix0-preview1, icedtea 3.7.0,
    libreoffice 6.4.2.2, linux-libre 5.4.31, , openjdk 12.33, perl 5.30.0, python 3.7.4,
    ruggine 1.39.0.

Ricordiamo che il gestore di pacchetti GNU Guix è basato sugli sviluppi del progetto Nix e oltre alle tipiche funzioni di gestione dei pacchetti, supporta funzionalità come l'esecuzione di aggiornamenti transazionali, la possibilità di ripristinare gli aggiornamenti, lavorare senza ottenere privilegi di superutente, supporto per profili legati a singoli utenti, la possibilità di installare contemporaneamente più versioni di un programma, strumenti di garbage collection (identificazione e rimozione delle versioni inutilizzate dei pacchetti). Per definire gli scenari di creazione dell'applicazione e le regole di formazione dei pacchetti, si propone di utilizzare un linguaggio specializzato di alto livello specifico del dominio e componenti API Guile Scheme, che consentono di eseguire tutte le operazioni di gestione dei pacchetti nel linguaggio di programmazione funzionale Scheme.

Supporta la possibilità di utilizzare pacchetti preparati per il gestore pacchetti Nix e inseriti nel repository
Nixpkgs. Oltre alle operazioni con i pacchetti, è possibile creare script per gestire le configurazioni dell'applicazione. Quando un pacchetto viene creato, tutte le dipendenze ad esso associate vengono automaticamente scaricate e create. È possibile scaricare pacchetti binari già pronti dal repository o creare da testi sorgente con tutte le dipendenze. Sono stati implementati strumenti per mantenere aggiornate le versioni dei programmi installati organizzando l'installazione degli aggiornamenti da un repository esterno.

L'ambiente di compilazione dei pacchetti è formato sotto forma di un contenitore contenente tutti i componenti necessari per il funzionamento dell'applicazione, che consente di creare un insieme di pacchetti che possono funzionare indipendentemente dalla composizione dell'ambiente di sistema di base della distribuzione, in cui Guix viene utilizzato come componente aggiuntivo. Le dipendenze possono essere determinate tra i pacchetti Guix eseguendo la scansione degli hash dell'identificatore nella directory dei pacchetti installati per trovare la presenza di dipendenze già installate. I pacchetti vengono installati in un albero di directory o sottodirectory separato nella directory dell'utente, consentendogli di coesistere in parallelo con altri gestori di pacchetti e fornire supporto per un'ampia gamma di distribuzioni esistenti. Ad esempio, il pacchetto viene installato come /nix/store/f42a5878f3a0b426064a2b64a0c6f92-firefox-75.0.0/, dove "f42a58..." è l'identificatore univoco del pacchetto utilizzato per il monitoraggio delle dipendenze.

La distribuzione include solo componenti gratuiti e viene fornita con il kernel GNU Linux-Libre, ripulito dagli elementi non liberi del firmware binario. Per l'assemblaggio viene utilizzato GCC 9.3. Il gestore del servizio viene utilizzato come sistema di inizializzazione Pastore GNU (ex dm), sviluppato come alternativa a SysV-init con supporto per le dipendenze. Il demone di controllo Shepherd e le utilità sono scritti in Guile (una delle implementazioni del linguaggio Scheme), che viene utilizzato anche per definire i parametri per l'avvio dei servizi. L'immagine di base supporta la modalità console, ma per l'installazione preparato 13162 pacchetti già pronti, inclusi componenti dello stack grafico basato su X.Org, i gestori di finestre dwm e ratpoison, il desktop Xfce e una selezione di applicazioni grafiche.

Fonte: opennet.ru

Aggiungi un commento