Der Paketmanager GNU Guix 1.4 und darauf basierende Distribution sind jetzt verfügbar.

Die Veröffentlichung des Paketmanagers GNU Guix 1.4 und der darauf basierenden GNU/Linux-Distribution steht bevor. Für den Download wurden Images für die Installation auf USB-Sticks (814 MB) und zur Nutzung in Virtualisierungssystemen (1,1 GB) erstellt. Die Unterstützung für die Architekturen i686, x86_64, Power9, armv7 und aarch64 ist gegeben.

Die Distribution erlaubt die Installation sowohl als eigenständiges Betriebssystem in Virtualisierungssystemen, in Containern und auf herkömmlicher Hardware als auch die Ausführung in bereits installierten GNU/Linux-Distributionen, wobei sie als Plattform für die Bereitstellung von Anwendungen fungiert. Dem Benutzer stehen Funktionen wie Abhängigkeitsmanagement, reproduzierbare Builds, root-freie Nutzung, Rückroll auf frühere Versionen bei Problemen, Konfigurationsmanagement und das Klonen von Umgebungen (Erstellung einer genauen Kopie der Softwareumgebung auf anderen Computern) zur Verfügung.

Hauptneuheiten:

  • Verbesserte Verwaltung von Softwareumgebungen. Das Team „guix environment“ wurde durch das neue Team „guix shell“ ersetzt, das nicht nur das Erstellen von Build-Umgebungen für Entwickler ermöglicht, sondern auch Umgebungen zur Nutzung von Programmen bietet, ohne dass dies im Profil reflektiert wird und ohne die Ausführung von „guix install“. Zum Beispiel kann man zum Herunterladen und Starten des Spiels supertuxkart den Befehl „guix shell supertuxkart — supertuxkart“ verwenden. Nach dem Herunterladen wird das Paket im Cache gespeichert, sodass der nächste Start keine erneute Extraktion erfordert.

    Um die Erstellung von Umgebungen für Entwickler zu vereinfachen, bietet „guix shell“ Unterstützung für die Dateien guix.scm und manifest.scm, die die Zusammensetzung der Umgebung beschreiben (für die Generierung von Dateien kann die Option „—export-manifest“ verwendet werden). Für die Erstellung von Containern, die die klassische Hierarchie der Systemverzeichnisse emulieren, bietet „guix shell“ die Optionen „—container —emulate-fhs“ an.

  • Das Kommando „guix home“ wurde hinzugefügt, um die persönliche Umgebung zu verwalten. Guix ermöglicht es, alle Komponenten der persönlichen Umgebung, einschließlich Paketen, Diensten und Punktdateien, zu definieren. Mit dem Befehl „guix home“ können Instanzen der beschriebenen persönlichen Umgebung im Verzeichnis $HOME oder in einem Container reproduziert werden, zum Beispiel für den Transfer der eigenen Umgebung auf einen neuen Computer.
  • Im Befehl „guix pack“ wurde die Option „-f deb“ hinzugefügt, um separate deb-Pakete zu erstellen, die in Debian installiert werden können.
  • Eine universelle Kommandozeile „guix system image“ wurde vorgeschlagen, um verschiedene Arten von Systemabbildern (raw, QCOW2, ISO9660 CD/DVD, Docker und WSL2) zu erstellen, die es ermöglichen, den Speichertyp, die Partitionen und das Betriebssystem für das zu erstellende Abbild zu definieren.
  • Dem Befehl zum Paketbau wurde die Option „—tune“ hinzugefügt, die es ermöglicht, die Mikroarchitektur des Prozessors anzugeben, für die spezifische Optimierungen aktiviert werden (zum Beispiel könnten auf neuen AMD- und Intel-CPUs SIMD-Instruktionen wie AVX-512 verwendet werden).
  • Im Installer wurde ein Mechanismus implementiert, um wichtige Debugging-Informationen automatisch bei einem unerwarteten Abbruch des Installationsvorgangs zu speichern.
  • Die Startzeiten von Anwendungen wurden verkürzt, da der Cache bei der dynamischen Verknüpfung verwendet wird, was den Zugriff auf die Systemaufrufe stat und open bei der Bibliothekssuche reduziert.
  • Die neue Version des Initialisierungssystems GNU Shepherd 0.9 implementiert das Konzept temporärer Dienste (transient) und ermöglicht die Erstellung von Diensten, die bei Netzwerkaktivitäten aktiviert werden (ähnlich der Socket-Aktivierung von systemd).
  • Eine neue Schnittstelle zur Festlegung der Größe des Swap-Speichers in der Betriebssystemkonfiguration wurde hinzugefügt.
  • Die Schnittstelle zur Festlegung der statischen Netzwerkkonfiguration wurde überarbeitet, nun wird eine deklarative Alternative zu den Einstellungen in der ip-Befehlszeile angeboten.
  • Es wurden 15 neue Systemdienste hinzugefügt, darunter Jami, Samba, fail2ban und Gitile.
  • Die Website packages.guix.gnu.org wurde gestartet, um die Navigation durch die Pakete zu erleichtern.
  • Die Versionen von 6573 Paketen wurden aktualisiert, und es wurden 5311 neue Pakete hinzugefügt. Unter anderem wurden die Versionen von GNOME 42, Qt 6, GCC 12.2.0, Glibc 2.33, Xfce 4.16, Linux-libre 6.0.10 und LibreOffice 7.4.3.2 aktualisiert. Über 500 Pakete, die Python 2 verwenden, wurden entfernt.

Der Paketmanager GNU Guix 1.4 und darauf basierende Distribution sind jetzt verfügbar.

Wir erinnern daran, dass der Paketmanager GNU Guix auf den Konzepten des Nix-Projekts basiert und neben den typischen Paketverwaltungsfunktionen auch Möglichkeiten wie transaktionale Updates, die Möglichkeit, Updates rückgängig zu machen, den Betrieb ohne Superuser-Rechte, die Unterstützung benutzerspezifischer Profile sowie die gleichzeitige Installation mehrerer Versionen eines Programms bietet. Darüber hinaus enthält er Werkzeuge zur Bereinigung von nicht mehr verwendeten Paketversionen. Zur Definition von Anwendungsbau-Szenarien und Paketbildungsregeln wird empfohlen, eine spezialisierte, hochgradig abstrahierte, domänenspezifische Sprache und Komponenten der Guile Scheme API zu verwenden, die alle Paketverwaltungsoperationen in der funktionalen Programmiersprache Scheme ermöglichen.

Es besteht die Möglichkeit, Pakete zu verwenden, die für den Nix-Paketmanager erstellt und im Nixpkgs-Repository bereitgestellt wurden. Neben Paketoperationen ist auch die Erstellung von Skripten zur Verwaltung der Anwendungs-Konfiguration möglich. Bei der Paketkompilierung werden automatisch alle zugehörigen Abhängigkeiten heruntergeladen und kompiliert. Sowohl die Bereitstellung fertiger Binärpakete aus dem Repository als auch die Kompilierung aus Quelltexten mit allen Abhängigkeiten sind möglich. Es stehen zudem Werkzeuge zur Verfügung, um die Versionen der installierten Programme durch die Organisation der Aktualisierungsinstallation aus einem externen Repository aktuell zu halten.

Die Build-Umgebung für Pakete wird in Form eines Containers erstellt, der alle erforderlichen Komponenten für den Betrieb von Anwendungen enthält. Dies ermöglicht die Bildung eines Paketsets, das unabhängig von der Zusammensetzung der zugrunde liegenden Systemumgebung des Distributors funktioniert, in dem Guix als Overlay verwendet wird. Zwischen den Guix-Paketen können Abhängigkeiten definiert werden, wobei zur Überprüfung bereits installierter Abhängigkeiten Hash-Identifikatoren in dem Verzeichnis der installierten Pakete gescannt werden. Pakete werden in einem separaten Verzeichnisbaum oder Unterverzeichnis im Benutzerverzeichnis installiert, was die parallele Koexistenz mit anderen Paketmanagern sicherstellt und die Unterstützung einer breiten Palette bestehender Distributionen ermöglicht. Zum Beispiel wird ein Paket unter \/nix\/store\/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1\/ installiert, wobei „452a59…“ die einzigartige Paketkennung ist, die zur Kontrolle der Abhängigkeiten verwendet wird.

Die Distribution enthält ausschließlich freie Komponenten und wird mit dem GNU Linux-Libre-Kernel geliefert, der von nicht-freien Elementen der Binärfirmware bereinigt ist. Für den Build kommt GCC 12.2 zum Einsatz. Als Initialisierungssystem wird der GNU Shepherd-Service-Manager (ehemals dmd) verwendet, der als Alternative zu SysV-init mit Unterstützung für Abhängigkeiten entwickelt wird. Der Manager-Daemon und die Shepherd-Dienste sind in Guile geschrieben (eine der Implementierungen der Sprache Scheme), die auch zur Definition der Startparameter für die Dienste verwendet wird. Das Basis-Image unterstützt den Betrieb im Konsolenmodus, aber es sind 20.526 fertige Pakete für die Installation vorbereitet, einschließlich Komponenten des Grafikstacks auf Basis von X.Org, der Fenster-Manager dwm und ratpoison, die Desktop-Umgebungen GNOME und Xfce sowie eine Sammlung von grafischen Anwendungen.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster