Das Paketmanagement-System GNU Guix 1.0 und die darauf basierende Distribution GuixSD sind verfĂŒgbar

Hat stattgefunden Release des Paketmanagers GNU Guix 1.0 und die darauf basierende Distribution GuixSD GNU/Linux (Guix System Distribution). Die signifikante Versionsnummer Änderung ist auf die Vollendung aller Ziele, die fĂŒr die Erstellung des bedeutenden Releases festgelegt wurden, zurĂŒckzufĂŒhren. Der Release zieht eine Bilanz von sieben Jahren Arbeit am Projekt und wird fĂŒr den tĂ€gliche Gebrauch als bereit angesehen. Zum Download wurden sind Images fĂŒr die Installation auf USB Flash (243 MB) und zur Nutzung in Virtualisierungssystemen (474 MB) verfĂŒgbar. Der Betrieb wird auf den Architekturen i686, x86_64, armv7 und aarch64 unterstĂŒtzt.

Die Distribution erlaubt die Installation sowohl als eigenstĂ€ndiges Betriebssystem in Virtualisierungssystemen, in Containern und auf gewöhnlicher Hardware, als auch starten in bereits installierten GNU/Linux-Distributionen, die als Plattform fĂŒr die Bereitstellung von Anwendungen dienen. Den Benutzern werden Funktionen wie AbhĂ€ngigkeitsverwaltung, reproduzierbare Builds, Arbeit ohne Root-Rechte, RĂŒcksetzung auf frĂŒhere Versionen bei Problemen, Konfigurationsmanagement, Klonen von Umgebungen (Erstellung einer genauen Kopie der Softwareumgebung auf anderen Computern) usw. angeboten.

Haupt- Neuheiten:

  • Ein neuer interaktiver Installer, der im Textmodus arbeitet;

    Das Paketmanagement-System GNU Guix 1.0 und die darauf basierende Distribution GuixSD sind verfĂŒgbar
  • Vorbereitet ein neues Image fĂŒr virtuelle Maschinen, geeignet sowohl zur Erkundung der Distribution als auch zur Erstellung von Arbeitsumgebungen fĂŒr die Entwicklung;
  • Neue Systemdienste wie cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent und zabbix-server wurden hinzugefĂŒgt;
  • Die Versionen der Programme in 2104 Paketen wurden aktualisiert, 1102 neue Pakete wurden hinzugefĂŒgt. Darunter wurden die Versionen 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 und xorg-server 1.20.4;
  • Der Dienstmanager GNU Shepherd wurde auf die Version 0.6aktualisiert, in der der Modus fĂŒr One-Shot-Dienste implementiert wurde, bei dem der Dienst sofort nach erfolgreichem Start als gestoppt gekennzeichnet wird. Dies kann erforderlich sein, um einmalige Arbeiten vor anderen Diensten auszufĂŒhren, zum Beispiel zur DurchfĂŒhrung von Reinigungs- oder Initialisierungsmaßnahmen;
  • FĂŒr den Befehl „guix package“ wurden typische Aliase anderer Paketmanager wie „install“, „remove“, „upgrade“ und „search“ hinzugefĂŒgt. Um ein Paket zu suchen, kann der Befehl „guix search“ verwendet werden, zur Installation „guix install“ und fĂŒr ein Upgrade „guix pull“ sowie „guix upgrade“;
  • Dem Paketmanager wurde ein Fortschrittsindikator fĂŒr die DurchfĂŒhrung von Operationen hinzugefĂŒgt, sowie eine farbliche Hervorhebung von Diagnosemitteilungen. StandardmĂ€ĂŸig werden die meisten Befehle nun ohne detaillierte Ausgabe auf dem Bildschirm ausgefĂŒhrt, die mit einer separaten Option „-v“ (—verbosity) aktiviert werden kann;
  • Dem Paketmanager guix wurde der neue Befehl „guix system delete-generations“ sowie die Optionen „guix pack —save-provenance“, „guix pull —news“, „guix environment —preserve“, „guix gc —list-roots“, „guix gc —delete-generations“ und „guix weather —coverage“ hinzugefĂŒgt;
  • Neue Optionen hinzugefĂŒgt zur Paketkonvertierung „—with-git-url“ und „—with-branch“;
  • Im Distribution wurden Konfigurationsfelder „keyboard-layout“ zur Festlegung des Tastaturlayouts, „xorg-configuration“ zur Konfiguration des X-Servers, „label“ zur Kennzeichnung von Partitionen und „essential-services“ zur Bestimmung grundlegender Dienste hinzugefĂŒgt;
  • Ein Befehl „guix pack -RR“ wurde hinzugefĂŒgt, um tar-Archive mit umsetzbaren Executables zu erstellen, die sowohl relativ zu den Namen im Benutzer-Namespace als auch relativ zu PRoot ausgefĂŒhrt werden können;
  • In „guix pull“ wurde die Erstellung eines Paket-Caches zur Beschleunigung der Namenssuche integriert und das Paket „glibc-utf8-locales“ eingebaut;
  • Es wird vollstĂ€ndige Reproduzierbarkeit (bitgenau) der durch den Befehl „guix system“ erzeugten ISO-Images gewĂ€hrleistet;
  • GDM wurde anstelle von SLiM als Anmeldemanager aktiviert;
  • Die UnterstĂŒtzung fĂŒr den Aufbau von Guix mit Guile 2.0 wurde eingestellt.

Wir erinnern daran, dass der Paketmanager GNU Guix auf den Ergebnissen des Projekts basiert Nix Neben den typischen Funktionen der Paketverwaltung unterstĂŒtzt es Möglichkeiten wie die DurchfĂŒhrung von Transaktionsaktualisierungen, die Möglichkeit des Rollbacks von Aktualisierungen, den Betrieb ohne Superuser-Rechte, die UnterstĂŒtzung von benutzerspezifischen Profilen, die gleichzeitige Installation mehrerer Versionen eines Programms sowie Werkzeuge zur Bereinigung (Erkennung und Entfernung nicht verwendeter Paketversionen). Es wird empfohlen, eine spezialisierte, hochgradig objektorientierte Sprache und die Komponenten des Guile Scheme API zu verwenden, um Anwendungsbuildszenarien und Paketbildungsregeln zu definieren, die alle Paketverwaltungsoperationen in der funktionalen Programmiersprache Scheme ausfĂŒhren können.

Die Nutzung von Paketen, die fĂŒr den Paketmanager Nix vorbereitet und im Repository bereitgestellt wurden, wird unterstĂŒtzt.
Nixpkgs. Neben den Paketoperationen ist es möglich, Skripte zur Verwaltung der Anwendungslogik zu erstellen. Beim Erstellen eines Pakets werden automatisch alle damit verbundenen AbhÀngigkeiten heruntergeladen und gebaut. Sowohl das Herunterladen fertiger BinÀrpakete aus dem Repository als auch der Build aus Quelltexten mit allen AbhÀngigkeiten sind möglich. Es wurden Werkzeuge implementiert, um die Versionen installierter Programme aktuell zu halten, indem Updates aus einem externen Repository organisiert werden.

Die Build-Umgebung fĂŒr Pakete wird als Container erstellt, der alle benötigten Komponenten fĂŒr die AusfĂŒhrung von Anwendungen enthĂ€lt, wodurch ein Satz von Paketen gebildet werden kann, der unabhĂ€ngig von der Konfiguration der zugrunde liegenden Systemumgebung des Distributionssystems funktioniert, in dem Guix als Overlay verwendet wird. Zwischen den Guix-Paketen sind AbhĂ€ngigkeiten definierbar, wobei zur ÜberprĂŒfung bereits installierter AbhĂ€ngigkeiten die Hash-IDs im Verzeichnis der installierten Pakete gescannt werden. Pakete werden in einem separaten Verzeichnisbaum oder Unterverzeichnis im Benutzerverzeichnis installiert, was ein paralleles Nebeneinander mit anderen Paketmanagern ermöglicht und die UnterstĂŒtzung einer breiten Palette bestehender Distributionen gewĂ€hrleistet. Zum Beispiel wird das Paket als /nix/store/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0/ installiert, wobei „f42d58
“ die eindeutige Paket-ID ist, die zur Kontrolle der AbhĂ€ngigkeiten verwendet wird.

Die Distribution umfasst nur freie Komponenten und wird mit dem GNU Linux-Libre-Kernel geliefert, der von nicht-freien Elementen von BinĂ€rfirmware bereinigt ist. Zum Bauen wird GCC 8.3 verwendet. Als Init-System kommt ein Service-Manager zum Einsatz. GNU Shepherd (ehemaliger dmd), entwickelt als Alternative zu SysV-init mit UnterstĂŒtzung fĂŒr AbhĂ€ngigkeiten. Der Steuerdaemon und die Tools von Shepherd sind in Guile (einer Implementierung der Sprache Scheme) geschrieben, die auch zur Definition der Startparameter von Diensten verwendet wird. Das Basis-Image unterstĂŒtzt den Betrieb im Konsolenmodus, aber zur Installation von den Entwicklern von Endless, und das verantwortliche Projektunternehmen Endless Mobile ist Teil des sind 9714 fertige Pakete verfĂŒgbar, darunter Komponenten des Grafikstacks basierend auf X.Org, die Fenster-Manager dwm und ratpoison, die Desktop-Umgebung Xfce sowie eine Auswahl an Grafik-Anwendungen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4