GNU Guix 1.0-Paketmanager und GuixSD-basierte Distribution verfügbar

fand statt Paketmanager-Version GNU Guix 1.0 und die darauf basierende GuixSD GNU/Linux-Distribution (Guix System Distribution). Eine wesentliche Änderung der Versionsnummer ist auf den Abschluss aller Implementierungen zurückzuführen Ziele, geliefert, um eine bahnbrechende Veröffentlichung zu bilden. Die Veröffentlichung fasste sieben Jahre Arbeit an dem Projekt zusammen und wurde für den täglichen Gebrauch erklärt. Zum Laden gebildet Bilder zur Installation auf USB-Flash (243 MB) und zur Verwendung in Virtualisierungssystemen (474 ​​​​MB). Unterstützt den Betrieb auf i686-, x86_64-, armv7- und aarch64-Architekturen.

Die Distribution ermöglicht die Installation als eigenständiges Betriebssystem in Virtualisierungssystemen, in Containern und auf konventionellen Geräten und verlassen in bereits installierten GNU/Linux-Distributionen und fungiert als Plattform für die Anwendungsbereitstellung. Dem Benutzer stehen Funktionen wie die Berücksichtigung von Abhängigkeiten, wiederholbare Builds, Arbeiten ohne Root, Rollback auf frühere Versionen bei Problemen, Konfigurationsverwaltung, Klonen von Umgebungen (Erstellen einer exakten Kopie der Softwareumgebung auf anderen Computern) usw. zur Verfügung .

Haupt- Innovationen:

  • Neu hinzugefügt interaktives Installationsprogramm, im Textmodus arbeiten;

    GNU Guix 1.0-Paketmanager und GuixSD-basierte Distribution verfügbar

  • Vorbereitet ein neues Image für virtuelle Maschinen, das sich sowohl zum Kennenlernen der Distribution als auch zum Erstellen von Arbeitsumgebungen für die Entwicklung eignet;
  • Neue Systemdienste cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent und zabbix-server hinzugefügt;
  • Programmversionen in 2104 Paketen wurden aktualisiert, 1102 neue Pakete wurden hinzugefügt. Einschließlich aktualisierter Versionen von 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,
    Oktave 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;

  • GNU Shepherd Service Manager auf Version aktualisiert 0.6, das den One-Shot-Dienstbetriebsmodus implementiert, in dem der Dienst sofort nach einem erfolgreichen Start als gestoppt markiert wird. Dies kann erforderlich sein, um einmalige Jobs vor anderen Diensten zu starten, beispielsweise um eine Reinigung oder Initialisierung durchzuführen.
  • Für den Befehl „guix package“ wurden die für andere Paketmanager typischen Aliase „install“, „remove“, „upgrade“ und „search“ hinzugefügt. Um nach einem Paket zu suchen, können Sie den Befehl „guix search“ verwenden, „guix install“ installieren und „guix pull“ und „guix upgrade“ aktualisieren;
  • Dem Paketmanager wurden eine Betriebsfortschrittsanzeige und eine farbliche Hervorhebung von Diagnosemeldungen hinzugefügt. Standardmäßig werden die meisten Befehle jetzt ohne detaillierte Bildschirmausgabe ausgeführt, was mit einer separaten Option „-v“ (--verbosity) aktiviert wird.
  • Ein neuer Befehl „guix system delete-generations“ und Optionen „guix pack –save-provenance“, „guix pull –news“, „guix ambient –preserve“, „guix gc –list-roots“, „guix“ wurden hinzugefügt zum Guix-Paketmanager gc -delete-generations", "guix Weather -coverage";
  • Neue Optionen hinzugefügt Paketkonvertierungen „--with-git-url“ und „-with-branch“;
  • Der Distribution wurden Konfigurationsfelder „keyboard-layout“ zur Definition des Tastaturlayouts, „xorg-configuration“ zur Konfiguration des X-Servers, „label“ für die Abschnittsbezeichnung und „essential-services“ zur Definition der Hauptdienste hinzugefügt;
  • Befehl „guix pack -RR“ hinzugefügt, um TAR-Archive verschiebbarer ausführbarer Dateien zu erstellen, die relativ zu Pfaden im Namespace des Benutzers oder relativ zu PRoot ausgeführt werden können;
  • „guix pull“ ermöglicht die Bildung eines Paketcaches, um Suchvorgänge nach Namen zu beschleunigen, und ermöglicht die Einbettung des Pakets „glibc-utf8-locales“;
  • Die vollständige Wiederholbarkeit (Bit für Bit) der mit dem Befehl „guix system“ generierten ISO-Images ist gewährleistet;
  • Als Login-Manager wird GDM anstelle von SLiM verwendet;
  • Die Unterstützung für die Erstellung von Guix mit Guile 2.0 wurde eingestellt.

Wir möchten Sie daran erinnern, dass der GNU Guix-Paketmanager auf den Entwicklungen des Projekts basiert Nixe Zusätzlich zu den typischen Paketverwaltungsfunktionen unterstützt es Funktionen wie die Durchführung von Transaktionsaktualisierungen, die Möglichkeit, Aktualisierungen rückgängig zu machen, das Arbeiten ohne den Erwerb von Superuser-Rechten, die Unterstützung von Profilen, die an einzelne Benutzer gebunden sind, die Möglichkeit, mehrere Versionen eines Programms gleichzeitig zu installieren. Garbage-Collection-Tools (Identifizieren und Entfernen nicht verwendeter Versionen von Paketen). Um Anwendungserstellungsszenarien und Paketbildungsregeln zu definieren, wird vorgeschlagen, eine spezielle domänenspezifische Hochsprache und Guile Scheme-API-Komponenten zu verwenden, mit denen Sie alle Paketverwaltungsvorgänge in der funktionalen Programmiersprache Scheme ausführen können.

Unterstützt die Möglichkeit, Pakete zu verwenden, die für den Nix-Paketmanager vorbereitet und im Repository abgelegt wurden
Nixpkgs. Zusätzlich zu Vorgängen mit Paketen ist es möglich, Skripte zur Verwaltung von Anwendungskonfigurationen zu erstellen. Wenn ein Paket erstellt wird, werden alle damit verbundenen Abhängigkeiten automatisch heruntergeladen und erstellt. Es ist möglich, entweder fertige Binärpakete aus dem Repository herunterzuladen oder aus Quelltexten mit allen Abhängigkeiten zu erstellen. Es wurden Tools implementiert, um Versionen installierter Programme auf dem neuesten Stand zu halten, indem die Installation von Updates aus einem externen Repository organisiert wird.

Die Build-Umgebung für Pakete besteht aus einem Container, der alle für den Betrieb der Anwendung erforderlichen Komponenten enthält. Dadurch können Sie eine Reihe von Paketen erstellen, die unabhängig von der Zusammensetzung der Basissystemumgebung der Distribution funktionieren. in dem Guix als Add-on verwendet wird. Abhängigkeiten zwischen Guix-Paketen können ermittelt werden, indem Kennungs-Hashes im Verzeichnis der installierten Pakete gescannt werden, um das Vorhandensein bereits installierter Abhängigkeiten festzustellen. Pakete werden in einem separaten Verzeichnisbaum oder Unterverzeichnis im Verzeichnis des Benutzers installiert, sodass sie parallel mit anderen Paketmanagern koexistieren und eine Vielzahl vorhandener Distributionen unterstützen können. Das Paket wird beispielsweise als /nix/store/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0/ installiert, wobei „f42d58…“ die eindeutige Paketkennung ist, die für die Abhängigkeitsüberwachung verwendet wird.

Die Distribution enthält nur kostenlose Komponenten und wird mit dem GNU Linux-Libre-Kernel geliefert, der von unfreien Elementen der binären Firmware befreit ist. Für die Montage wird GCC 8.3 verwendet. Als Initialisierungssystem dient der Service Manager GNU Shepherd (ehemaliger dmd), entwickelt als Alternative zu SysV-init mit Abhängigkeitsunterstützung. Der Shepherd-Steuerungsdämon und die Dienstprogramme sind in Guile (einer der Implementierungen der Scheme-Sprache) geschrieben, die auch zum Definieren von Parametern zum Starten von Diensten verwendet wird. Das Basisimage unterstützt den Konsolenmodus, jedoch für die Installation vorbereitet 9714 vorgefertigte Pakete, darunter Komponenten des auf X.Org basierenden Grafikstacks, der Fenstermanager dwm und ratpoison, des Xfce-Desktops sowie einer Auswahl grafischer Anwendungen.

Source: opennet.ru

Kommentar hinzufügen