Narzędzia SerpentOS są dostępne do testowania

Po dwóch latach pracy nad projektem deweloperzy dystrybucji SerpentOS ogłosili możliwość testowania głównych narzędzi, które obejmują:

  • menedżer pakietów moss;
  • system kontenerów moss-container;
  • system zarządzania zależnościami moss-deps;
  • system budowy boulder;
  • system ukrywania usług avalanche;
  • menedżer repozytoriów vessel;
  • panelu administracyjnego summit;
  • baza danych moss-db;
  • system reprodukowalnego bootstrappingu (bootstrap) bill.

Dostępne są publiczne API i przepisy pakietów. Do rozwoju narzędzi głównie używany jest język programowania D, a kod jest dystrybuowany na licencji Zlib. Pakiety pisane są w języku konfiguracji YAML i kompilowane do własnego formatu binarnego .stone, który obejmuje:

  • Metadane pakietu i jego zależności;
  • Informację o lokalizacji pakietu w systemie w odniesieniu do innych pakietów;
  • Indeks danych w pamięci podręcznej;
  • Zawartość plików pakietu, niezbędnych do działania.

Menedżer pakietów moss czerpie z wielu nowoczesnych możliwości rozwijanych w takich menedżerach pakietów jak eopkg/pisi, rpm, swupd i nix/guix, jednocześnie zachowując tradycyjne podejście do manipulacji pakietami. Wszystkie pakiety domyślnie kompilowane są w trybie stateless i nie zawierają plików niezwiązanych z systemem operacyjnym, aby uniknąć sytuacji wymagających rozwiązania konfliktów między pakietami lub łączenia operacji.

Menedżer pakietów stosuje atomowy model aktualizacji systemu, w którym rejestrowany jest stan rootfs, a po aktualizacji stan przełączany jest na nowy. W rezultacie, jeśli podczas aktualizacji wystąpią jakieś problemy, istnieje możliwość powrotu do poprzedniego stanu roboczego.

Aby zaoszczędzić miejsce na dysku podczas przechowywania wielu wersji pakietów, stosowane jest deduplikacja oparta na twardych linkach i wspólnym cache. Zawartość zainstalowanych pakietów umieszczana jest w katalogu /os/store/installation/N, gdzie N to numer wersji. Do zawartości tego katalogu za pomocą linków przylegają podstawowe katalogi (np. /sbin wskazuje na /os/store/installation/0/usr/bin, a /usr na /os/installation/0/usr).

Proces instalacji pakietów składa się z następujących etapów:

  • Napisanie recepty instalacji (stone.yml);
  • Kompilacja pakietu za pomocą boulder;
  • Pobranie binarnego pakietu w formacie .stone z niezbędnymi metadanymi;
  • Zapisanie pakietów w bazie danych;
  • Instalacja za pomocą menedżera pakietów moss.

Wokół projektu zjednoczyła się stara ekipa deweloperów dystrybucji Solus. Na przykład, w rozwój dystrybucji SerpentOS zaangażowani są Ikey Doherty, twórca dystrybucji Solus, oraz Joshua Strobl, kluczowy deweloper środowiska graficznego Budgie, który wcześniej ogłosił odejście z zarządu (Core Team) projektu Solus i zrezygnował z funkcji lidera odpowiedzialnego za współpracę z deweloperami oraz rozwój interfejsu użytkownika (Experience Lead).

Deweloperzy SerpentOS zachęcają specjalistów znających język programowania D do przyłączenia się do prac nad głównym narzędziem i/lub pisaniem przepisów na pakiety, a osoby nietechniczne proszą o pomoc w tłumaczeniu dokumentacji na różne języki.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster