SerpentOS-Toolkit zum Testen verfügbar

Nach zwei Jahren Arbeit an dem Projekt kündigten die Entwickler der SerpentOS-Distribution die Möglichkeit an, die wichtigsten Tools zu testen, darunter:

  • Moss-Paketmanager;
  • Moos-Container-Containersystem;
  • Moss-Deps-Abhängigkeitsmanagementsystem;
  • Felsbrocken-Montagesystem;
  • Verstecksystem für den Lawinendienst;
  • Schiffslagermanager;
  • Gipfelkontrolltafel;
  • Moss-DB-Datenbank;
  • System der reproduzierbaren Bootstrapping-(Bootstrap-)Rechnung.

Öffentliche API und Paketrezepte verfügbar. Das Toolkit wird hauptsächlich mit der Programmiersprache D entwickelt und der Code wird unter der Zlib-Lizenz vertrieben. Pakete werden in der Konfigurationssprache YAML geschrieben und in ein natives .stone-Binärformat kompiliert, das Folgendes umfasst:

  • Paketmetadaten und ihre Abhängigkeiten;
  • Informationen über den Speicherort des Pakets im System relativ zu anderen Paketen;
  • Zwischengespeicherter Datenindex;
  • Inhalt der für den Betrieb erforderlichen Paketdateien.

Der Moss-Paketmanager übernimmt viele der modernen Funktionen, die in Paketmanagern wie eopkg/pisi, rpm, swupd und nix/guix entwickelt wurden, behält aber gleichzeitig die traditionelle Sichtweise der Paketmanipulation bei. Alle Pakete werden standardmäßig zustandslos erstellt und enthalten keine Nicht-Betriebssystemdateien, um Situationen zu vermeiden, in denen eine Lösung von Paketkonflikten oder Zusammenführungsvorgänge erforderlich sind.

Der Paketmanager verwendet ein atomares Systemaktualisierungsmodell, bei dem der Status des Rootfs festgelegt ist und nach der Aktualisierung auf den neuen Status umgeschaltet wird. Sollten während des Updates Probleme auftreten, ist es daher möglich, die Änderungen auf den vorherigen Arbeitszustand zurückzusetzen.

Um beim Speichern mehrerer Paketversionen Speicherplatz zu sparen, wird Deduplizierung basierend auf Hardlinks und einem gemeinsam genutzten Cache verwendet. Der Inhalt der installierten Pakete befindet sich im Verzeichnis /os/store/installation/N, wobei N die Versionsnummer ist. Basisverzeichnisse werden über Links mit dem Inhalt dieses Verzeichnisses verknüpft (z. B. verweist /sbin auf /os/store/installation/0/usr/bin und /usr auf /os/installation/0/usr).

Der Paketinstallationsprozess besteht aus den folgenden Schritten:

  • Schreiben eines Rezepts für die Installation (stone.yml);
  • Erstellen eines Pakets mit Boulder;
  • Empfangen eines Binärpakets im .stone-Format mit den erforderlichen Metadaten;
  • Eingeben von Paketen in die Datenbank;
  • Installation mit dem Moss-Paketmanager.

Das alte Entwicklungsteam der Solus-Distribution hat sich um das Projekt versammelt. An der Entwicklung sind beispielsweise Ikey Doherty, der Schöpfer der Solus-Distribution, und Joshua Strobl, ein wichtiger Entwickler des Budgie-Desktops, der zuvor seinen Rücktritt aus dem Verwaltungsrat (Kernteam) des Solus-Projekts angekündigt hatte, beteiligt die SerpentOS-Distribution. Befugnisse des Leiters, der für die Interaktion mit Entwicklern und die Entwicklung der Benutzeroberfläche verantwortlich ist (Experience Lead).

Die SerpentOS-Entwickler ermutigen Menschen mit Kenntnissen der Programmiersprache D, sich an der Entwicklung von Kerntools und/oder dem Schreiben von Paketrezepten zu beteiligen, und technisch nicht versierte Personen werden gebeten, bei der Übersetzung der Dokumentation in verschiedene Sprachen zu helfen.

Source: opennet.ru

Kommentar hinzufügen