Sono disponibili il gestore di pacchetti GNU Guix 1.0 e la distribuzione basata su GuixSD

ha avuto luogo rilascio del gestore pacchetti GNU Guix 1.0 e la distribuzione GuixSD GNU/Linux costruita su questa base (Guix System Distribution). Un cambiamento significativo nel numero di versione è dovuto al completamento di tutte le implementazioni obiettivi, consegnato per formare una versione storica. La versione riassume sette anni di lavoro sul progetto ed è stata dichiarata pronta per l'uso quotidiano. Per il caricamento formato immagini per installazione su USB Flash (243 MB) e utilizzo in sistemi di virtualizzazione (474 ​​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:

  • Aggiunto nuovo programma di installazione interattivo, lavorando in modalità testo;

    Sono disponibili il gestore di pacchetti GNU Guix 1.0 e la distribuzione basata su GuixSD

  • Preparato una nuova immagine per le macchine virtuali, adatta sia per familiarizzare con la distribuzione che per creare ambienti di lavoro per lo sviluppo;
  • Aggiunti nuovi servizi di sistema cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent e zabbix-server;
  • Sono state aggiornate le versioni del programma in 2104 pacchetti, sono stati aggiunti 1102 nuovi pacchetti. Comprese le versioni aggiornate di 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, compagno 1.22.0, ocaml 4.07.1,
    ottava 5.1.0, openjdk 11.28, python 3.7.0, ruggine 1.34.0, r 3.6.0,
    sbcl 1.5.1, Shepherd 0.6.0, xfce 4.12.1 e xorg-server 1.20.4;

  • GNU Shepherd Service Manager aggiornato alla versione 0.6, che implementa la modalità operativa del servizio one-shot, in cui il servizio viene contrassegnato come interrotto immediatamente dopo un avvio riuscito, che potrebbe essere necessario per avviare lavori una tantum prima di altri servizi, ad esempio per eseguire la pulizia o l'inizializzazione;
  • Per il comando "guix package" sono stati aggiunti gli alias "install", "remove", "upgrade" e "search" tipici di altri gestori di pacchetti. Per cercare un pacchetto si può usare il comando “guix search”, per installare “guix install”, e per aggiornare “guix pull” e “guix upgrade”;
  • Al gestore pacchetti sono stati aggiunti un indicatore di avanzamento dell'operazione e un'evidenziazione colorata dei messaggi diagnostici. Per impostazione predefinita, la maggior parte dei comandi ora viene eseguita senza output su schermo dettagliato, che è abilitato con un'opzione "-v" (--verbosity) separata;
  • Sono stati aggiunti un nuovo comando "guix system delete- generations" e le opzioni "guix pack —save-provenance", "guix pull —news", "guix environment —preserve", "guix gc —list-roots", "guix" al gestore pacchetti guix gc -delete- Generations", "guix Weather -coverage";
  • Nuove opzioni aggiunte conversioni di pacchetti "--with-git-url" e "--with-branch";
  • Sono stati aggiunti alla distribuzione i campi di configurazione “keyboard-layout” per definire il layout della tastiera, “xorg-configuration” per configurare il server X, “label” per l'etichetta della sezione ed “essential-services” per definire i servizi principali;
  • Aggiunto il comando "guix pack -RR" per creare archivi tar di eseguibili rilocabili che possono essere eseguiti rispetto ai percorsi nello spazio dei nomi dell'utente o rispetto a PRoot;
  • “guix pull” prevede la formazione di una cache dei pacchetti per velocizzare le operazioni di ricerca per nome e prevede l'incorporamento del pacchetto “glibc-utf8-locales”;
  • È assicurata la completa ripetibilità (bit per bit) delle immagini ISO generate dal comando “guix system”;
  • GDM viene utilizzato come gestore degli accessi al posto di SLiM;
  • Il supporto per la creazione di Guix utilizzando Guile 2.0 è stato interrotto.

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/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0/, dove "f42d58..." è 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 8.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 9714 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