È disponibile il gestore di pacchetti GNU Guix 1.0 e la distribuzione GuixSD basata su di esso

Si è svolto rilascio del gestore di pacchetti GNU Guix 1.0 e della distribuzione basata su di esso GuixSD GNU/Linux (Guix System Distribution). Il significativo cambiamento del numero di versione è dovuto al completamento di tutti gli obiettivi, stabiliti per formare una versione significativa. Il rilascio conclude sette anni di lavoro sul progetto ed è considerato pronto per l'uso quotidiano. Per il download sono stati creati le immagini per l'installazione su USB Flash (243 MB) e per l'uso nei sistemi di virtualizzazione (474 MB). È supportato il funzionamento su architetture i686, x86_64, armv7 e aarch64.

La distribuzione permette l'installazione sia come sistema operativo autonomo in sistemi di virtualizzazione, in contenitori e su hardware comune, sia il lancio in distribuzioni GNU/Linux già installate, fungendo da piattaforma per il deployment delle applicazioni. All'utente vengono fornite funzionalità come gestione delle dipendenze, build ripetibili, operatività senza root, rollback a versioni precedenti in caso di problemi, gestione della configurazione, clonazione degli ambienti (creazione di una copia esatta dell'ambiente software su altri computer) e altro ancora.

Principali novità:

  • È stato aggiunto un nuovo installer interattivo, che funziona in modalità testo;

    È disponibile il gestore di pacchetti GNU Guix 1.0 e la distribuzione GuixSD basata su di esso
  • Preparato una nuova immagine per macchine virtuali, adatta sia per la familiarizzazione con il sistema operativo sia per la creazione di ambienti di lavoro per lo sviluppo;
  • Aggiunti nuovi servizi di sistema cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent e zabbix-server;
  • Aggiornate le versioni dei programmi in 2104 pacchetti, aggiunti 1102 nuovi pacchetti. Tra questi, sono state aggiornate le versioni 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, mate 1.22.0, ocaml 4.07.1,
    octave 5.1.0, openjdk 11.28, python 3.7.0, rust 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;
  • Il gestore dei servizi GNU Shepherd è stato aggiornato alla versione 0.6, che implementa la modalità di funzionamento one-shot, in cui il servizio, subito dopo un avvio riuscito, è contrassegnato come fermo, il che può essere necessario per l'esecuzione di lavori temporanei prima di altri servizi, ad esempio per la pulizia o l'inizializzazione;
  • Per il comando «guix package» sono stati aggiunti alias tipici di altri gestori di pacchetti «install», «remove», «upgrade» e «search». Per cercare un pacchetto si può usare il comando «guix search», per installarlo «guix install», e per aggiornare «guix pull» e «guix upgrade»;
  • Il gestore pacchetti ha aggiunto un indicatore di avanzamento delle operazioni e un evidenziatore colorato per i messaggi diagnostici. Per impostazione predefinita, la maggior parte dei comandi ora viene eseguita senza output dettagliato a schermo, che può essere attivato con l'opzione separata «-v» (—verbosity);
  • È stato aggiunto al gestore pacchetti guix 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 gc —delete-generations», «guix weather —coverage»;
  • Aggiunte nuove opzioni per la trasformazione dei pacchetti «—with-git-url» e «—with-branch»;
  • Nella distribuzione sono stati aggiunti i campi di configurazione «keyboard-layout» per definire il layout della tastiera, «xorg-configuration» per la configurazione del server X, «label» per l'etichetta della partizione e «essential-services» per definire i servizi essenziali;
  • Aggiunto il comando «guix pack -RR» per creare archivi tar con file eseguibili spostabili, che possono essere eseguiti sia relativamente ai percorsi nello spazio dei nomi utente sia relativamente a PRoot;
  • Nel «guix pull» è stata garantita la creazione della cache dei pacchetti per accelerare le operazioni di ricerca per nome ed è stato integrato il pacchetto «glibc-utf8-locales»;
  • È garantita la piena ripetibilità (bit a bit) delle immagini ISO generate dal comando «guix system»;
  • Come gestore di accesso è stato utilizzato GDM invece di SLiM;
  • È stata interrotta la supporto per la compilazione di Guix utilizzando Guile 2.0.

Ricordiamo che il gestore pacchetti GNU Guix si basa sui risultati del progetto Nix e oltre alle tipiche funzioni di gestione dei pacchetti supporta funzionalità come aggiornamenti transazionali, possibilità di rollback degli aggiornamenti, funzionamento senza privilegi di superutente, supporto per profili legati a utenti specifici, possibilità di installare più versioni dello stesso programma contemporaneamente, strumenti per la pulizia (identificazione e rimozione delle versioni inutilizzate dei pacchetti). Per definire gli scenari di compilazione delle applicazioni e le regole per la creazione dei pacchetti, si propone di utilizzare un linguaggio di alto livello specifico e i componenti dell'API Guile Scheme, che consentono di gestire tutte le operazioni di gestione dei pacchetti in un linguaggio di programmazione funzionale come Scheme.

È possibile utilizzare pacchetti preparati per il gestore di pacchetti Nix e ospitati nel repository.
NixpkgsOltre alle operazioni sui pacchetti, è possibile creare script per gestire la configurazione delle applicazioni. Durante la compilazione del pacchetto, tutte le dipendenze correlate vengono automaticamente scaricate e costruite. È possibile sia scaricare pacchetti binari già pronti dal repository, sia compilare a partire dai codici sorgente con tutte le relative dipendenze. Sono stati implementati strumenti per mantenere le versioni dei programmi installati aggiornate tramite l'organizzazione dell'installazione degli aggiornamenti da un repository esterno.

L'ambiente di assemblaggio per i pacchetti è costituito da un contenitore che contiene tutti i componenti necessari al funzionamento delle applicazioni, permettendo così di creare un insieme di pacchetti in grado di operare indipendentemente dalla composizione dell'ambiente di sistema di base del distributore in cui Guix è utilizzato come sovrastruttura. È possibile definire dipendenze tra i pacchetti Guix e, per cercare la presenza di dipendenze già installate, si utilizza la scansione degli hash-identificatori nella directory dei pacchetti installati. I pacchetti vengono installati in un albero di directory separato o in una sottodirectory nella cartella dell'utente, permettendo così una coesistenza parallela con altri gestori di pacchetti e supportando un ampio spettro di distributori esistenti. Ad esempio, un pacchetto viene installato come /nix/store/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0/, dove "f42d58..." è un identificatore unico del pacchetto, utilizzato per il controllo delle dipendenze.

Il sistema include solo componenti liberi ed è fornito con il kernel GNU Linux-Libre, privo di elementi binari non liberi. Per la compilazione viene utilizzato GCC 8.3. Come sistema di inizializzazione, viene utilizzato il gestore di servizi GNU Shepherd (ex dmd), sviluppato come alternativa a SysV-init con supporto per le dipendenze. Il demone di controllo e gli strumenti di Shepherd sono scritti in Guile (una delle implementazioni del linguaggio Scheme), che viene utilizzato anche per definire i parametri di avvio dei servizi. L'immagine di base supporta l'operatività in modalità console, ma per l'installazione preparati 9714 pacchetti pronti, tra cui componenti del stack grafico basato su X.Org, gestori di finestre dwm e ratpoison, desktop Xfce, oltre a una selezione di applicazioni grafiche.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster