Zestaw narzędzi SerpentOS dostępny do testów

Po dwóch latach pracy nad projektem twórcy dystrybucji SerpentOS ogłosili możliwość przetestowania głównych narzędzi, m.in.:

  • menedżer pakietów mchu;
  • system pojemników na mech;
  • system zarządzania zależnościami Moss-Deps;
  • system montażu głazów;
  • System ukrywania służb lawinowych;
  • kierownik repozytorium statków;
  • panel kontrolny szczytu;
  • baza danych moss-db;
  • system powtarzalnych rachunków bootstrapowych (bootstrap).

Dostępne publiczne API i receptury pakietów. Zestaw narzędzi został opracowany głównie przy użyciu języka programowania D, a kod jest rozpowszechniany na licencji Zlib. Pakiety są pisane w języku konfiguracyjnym YAML i kompilowane do natywnego formatu binarnego .stone, który obejmuje:

  • Metadane pakietu i ich zależności;
  • Informacja o lokalizacji paczki w systemie względem innych przesyłek;
  • Indeks danych buforowanych;
  • Zawartość plików pakietu wymaganych do działania.

Menedżer pakietów Moss zapożycza wiele nowoczesnych funkcji opracowanych w menedżerach pakietów, takich jak eopkg/pisi,rpm, swaupd i nix/guix, zachowując jednocześnie tradycyjny pogląd na manipulację pakietami. Wszystkie pakiety są domyślnie budowane bezstanowo i nie zawierają plików systemu operacyjnego, aby uniknąć sytuacji, w których wymagane jest rozwiązywanie konfliktów pakietów lub operacje łączenia.

Menedżer pakietów korzysta z atomowego modelu aktualizacji systemu, w którym stan rootfs jest naprawiany, a po aktualizacji stan jest przełączany na nowy. Dzięki temu, jeśli podczas aktualizacji pojawią się jakieś problemy, istnieje możliwość przywrócenia zmian do poprzedniego, działającego stanu.

Aby zaoszczędzić miejsce na dysku podczas przechowywania wielu wersji pakietów, stosowana jest deduplikacja w oparciu o twarde łącza i współdzieloną pamięć podręczną. Zawartość zainstalowanych pakietów znajduje się w katalogu /os/store/installation/N, gdzie N to numer wersji. Katalogi podstawowe są powiązane z zawartością tego katalogu za pomocą łączy (na przykład /sbin wskazuje na /os/store/installation/0/usr/bin, a /usr wskazuje na /os/installation/0/usr).

Proces instalacji pakietu składa się z następujących kroków:

  • Napisanie przepisu na instalację (stone.yml);
  • Budowanie pakietu z głazu;
  • Otrzymanie pakietu binarnego w formacie .stone z niezbędnymi metadanymi;
  • Wprowadzanie pakietów do bazy;
  • Instalacja za pomocą menedżera pakietów Moss.

Stary zespół programistów dystrybucji Solus zebrał się wokół projektu. Na przykład Ikey Doherty, twórca dystrybucji Solus, i Joshua Strobl, kluczowy twórca pulpitu Budgie, który wcześniej ogłosił swoją rezygnację z rady zarządzającej (Core Team) projektu Solus, biorą udział w tworzeniu dystrybucja SerpentOS uprawnienia lidera odpowiedzialnego za interakcję z programistami i rozwój interfejsu użytkownika (Experience Lead).

Twórcy SerpentOS zachęcają osoby znające język programowania D do przyłączenia się do opracowywania podstawowych narzędzi i/lub pisania receptur pakietów, a osoby nietechniczne proszone są o pomoc w tłumaczeniu dokumentacji na różne języki.

Źródło: opennet.ru

Dodaj komentarz