Das SerpentOS-Toolset steht für Tests zur Verfügung.

Nach zwei Jahren Entwicklungsarbeit am SerpentOS-Projekt haben die Entwickler die Verfügbarkeit des Haupttoolsets zur Testung angekündigt, das Folgendes umfasst:

  • den Paketmanager moss;
  • das Container-System moss-container;
  • das Abhängigkeitsmanagement-System moss-deps;
  • das Build-System boulder;
  • das Service-Hiding-System avalanche;
  • den Repository-Manager vessel;
  • Verwaltungspanel summit;
  • die Datenbank moss-db;
  • das System für reproduzierbares Bootstrapping (bootstrap) bill.

Es stehen eine öffentliche API und Paketrezepte zur Verfügung. Für die Entwicklung des Toolsets wird hauptsächlich die Programmiersprache D verwendet, und der Code wird unter der Zlib-Lizenz bereitgestellt. Pakete werden in YAML-Configurationssprache geschrieben und in ein eigenes Binärformat .stone kompiliert, das Folgendes beinhaltet:

  • Paketmetadaten und seine Abhängigkeiten;
  • Informationen über die Position des Pakets im System im Vergleich zu anderen Paketen;
  • Index der zwischengespeicherten Daten;
  • Inhalte von Paketdateien, die für den Betrieb erforderlich sind.

Der Paketmanager moss integriert viele moderne Funktionen, die in Paketmanagern wie eopkg/pisi, rpm, swupd und nix/guix entwickelt wurden, während er gleichzeitig einen traditionellen Ansatz für die Paketverwaltung beibehält. Alle Pakete werden standardmäßig im Stateless-Modus erstellt und enthalten keine mit dem Betriebssystem nicht verbundenen Dateien, um Konfliktlösungen zwischen Paketen oder Zusammenführungsoperationen zu vermeiden.

Der Paketmanager verwendet ein atomares Modell zur Aktualisierung des Systems, bei dem der Zustand von rootfs festgelegt wird und nach der Aktualisierung auf den neuen Zustand umgeschaltet wird. Dies bedeutet, dass, wenn während der Aktualisierung Probleme auftreten, die Möglichkeit besteht, die Änderungen auf den vorherigen funktionierenden Zustand zurückzusetzen.

Um Speicherplatz zu sparen, wenn mehrere Versionen von Paketen gespeichert werden, wird eine Deduplizierung auf Basis von harten Links und gemeinsam genutztem Cache verwendet. Der Inhalt der installierten Pakete wird im Verzeichnis /os/store/installation/N abgelegt, wobei N die Versionsnummer darstellt. Auf den Inhalt dieses Verzeichnisses wird über Links zugegriffen, wobei die Basisverzeichnisse (z.B. /sbin verweist auf /os/store/installation/0/usr/bin, und /usr auf /os/installation/0/usr) angebunden werden.

Der Installationsprozess der Pakete umfasst die folgenden Schritte:

  • Schreiben des Installationsrezepts (stone.yml);
  • Erstellen des Pakets mit boulder;
  • Erhalten des Binärpakets im .stone-Format mit den erforderlichen Metadaten;
  • Eintrag in die Paketdatenbank;
  • Installation mit dem Paketmanager moss.

Das Projekt hat ein erfahrenes Team von Entwicklern des Solus-Distributionsversuchs um sich geschart. Unter anderem sind Ikey Doherty, der Schöpfer von Solus, und Joshua Strobl, der Hauptentwickler des Budgie-Desktops, an der Entwicklung von SerpentOS beteiligt. Strobl hatte zuvor seinen Rücktritt aus dem Kernteam von Solus und seine Verantwortung als Ansprechpartner für Entwickler sowie als UX-Leiter angekündigt.

Die Entwickler von SerpentOS laden Fachleute ein, die die Programmiersprache D beherrschen, sich an der Entwicklung der Hauptwerkzeuge und/oder an der Erstellung von Paketrezepten zu beteiligen. Nicht-technische Fachkräfte werden gebeten, bei der Übersetzung der Dokumentation in verschiedene Sprachen zu helfen.

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