GNU Guix 1.1 Paketmanager und darauf basierende Distribution verfügbar

fand statt Paketmanager-Version GNU Guix 1.1 und die darauf basierende GNU/Linux-Distribution. Zum Laden gebildet Bilder zur Installation auf USB-Flash (241 MB) und zur Verwendung in Virtualisierungssystemen (479 ​​​​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:

  • Es wurde ein neuer „Guix Deploy“-Befehl hinzugefügt, mit dem die Hardware mehrerer Computer gleichzeitig bereitgestellt werden kann, beispielsweise neue Umgebungen in einem VPS oder Remote-Systeme, auf die über SSH zugegriffen werden kann.
  • Autoren von Paket-Repositories (Kanälen) von Drittanbietern werden Tools zum Schreiben von Nachrichtenmeldungen zur Verfügung gestellt, die der Benutzer lesen kann, wenn er den Befehl „guix pull --news“ ausführt.
  • Der Befehl „guix system beschreiben“ wurde hinzugefügt, der es ermöglicht, Änderungen zwischen zwei verschiedenen Instanzen des Systems während der Bereitstellung auszuwerten.
  • Unterstützung für die Generierung von Bildern für Singularity und Docker zum Befehl „guix pack“ hinzugefügt.
  • Der Befehl „guix time-machine“ wurde hinzugefügt, mit dem Sie zu jeder Version eines im Archiv gespeicherten Pakets zurückkehren können Heritage-Software.
  • „--target“-Option zu „guix system“ hinzugefügt, um teilweise Unterstützung für Cross-Compilation zu bieten;
  • Sicherstellung der Ausführung von Guix mit List 3, was sich positiv auf die Produktivität auswirkt.
  • Der Paketabhängigkeitsgraph ist auf einen reduzierten Satz binärer Seed-Komponenten beschränkt, was einen großen Schritt hin zur Implementierung eines vollständig überprüfbaren Bootstrap darstellt.
  • Ein Framework zum automatisierten Testen des grafischen Installers wurde implementiert. Das Installationsprogramm ist jetzt in einem kontinuierlichen Integrationssystem integriert und wird in verschiedenen Konfigurationen getestet (verschlüsselte und reguläre Root-Partition, Installation mit Desktops usw.).
  • Build-Systeme für Node.js, Julia und Qt hinzugefügt, um das Schreiben von Paketen für Anwendungen im Zusammenhang mit diesen Projekten zu vereinfachen.
  • Neue Systemdienste Auditd, Fontconfig-File-System, Getmail, Gnome-Keyring, Kernel-Module-Loader hinzugefügt.
    knotenlöser, mumi, nfs, nftables, nix, pagekite, pam-mount, patchwork,
    Polkit-Wheel, Provenance, Pulseaudio, Sane, Singularity, USB-Modeswitch

  • Programmversionen in 3368 Paketen wurden aktualisiert, 3514 neue Pakete wurden hinzugefügt. Einschließlich aktualisierter Versionen von 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, enlightenment 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,
    Rost 1.39.0.

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/f42a5878f3a0b426064a2b64a0c6f92-firefox-75.0.0/ installiert, wobei „f42a58…“ 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 9.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 13162 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