Despois de dous anos de traballo no proxecto, os desenvolvedores da distribución SerpentOS anunciaron a posibilidade de probar as principais ferramentas, entre elas:
- xestor de paquetes moss;
- sistema de contedores de musgo;
- sistema de xestión de dependencias moss-deps;
- sistema de montaxe de boulder;
- Sistema de ocultación do servizo de avalanchas;
- xestor de depósitos de buques;
- panel de control do cume;
- base de datos moss-db;
- sistema de factura de arranque reproducible (bootstrap).
API públicas e receitas de paquete dispoñibles. O conxunto de ferramentas desenvólvese principalmente mediante a linguaxe de programación D e o código distribúese baixo a licenza Zlib. Os paquetes están escritos en linguaxe de configuración YAML e compilados nun formato binario nativo .stone que inclúe:
- Metadatos do paquete e as súas dependencias;
- Información sobre a localización do paquete no sistema en relación con outros paquetes;
- Índice de datos en caché;
- Contido dos ficheiros do paquete necesarios para o funcionamento.
O xestor de paquetes moss toma prestadas moitas das características modernas desenvolvidas nos xestores de paquetes como eopkg/pisi, rpm, swupd e nix/guix, mantendo a visión tradicional da manipulación de paquetes. Todos os paquetes están construídos sen estado de forma predeterminada e non inclúen ficheiros que non sexan do sistema operativo para evitar situacións nas que se requira resolución de conflitos de paquetes ou operacións de fusión.
O xestor de paquetes usa un modelo de actualización do sistema atómico, no que se corrixe o estado do rootfs, e despois da actualización o estado cambia ao novo. Como resultado, se xurde algún problema durante a actualización, é posible retrotraer os cambios ao estado de traballo anterior.
Para aforrar espazo no disco ao almacenar varias versións de paquetes, úsase a deduplicación baseada en ligazóns duras e nunha caché compartida. O contido dos paquetes instalados atópase no directorio /os/store/installation/N, onde N é o número de versión. Os directorios base están ligados ao contido deste directorio mediante ligazóns (por exemplo, /sbin apunta a /os/store/installation/0/usr/bin e /usr apunta a /os/installation/0/usr).
O proceso de instalación do paquete consta dos seguintes pasos:
- Escribir unha receita para a instalación (stone.yml);
- Construír un paquete usando boulder;
- Recibir un paquete binario en formato .stone cos metadatos necesarios;
- Introducir paquetes na base de datos;
- Instalación mediante o xestor de paquetes moss.
O vello equipo de desenvolvemento da distribución Solus uniuse arredor do proxecto. Por exemplo, Ikey Doherty, o creador da distribución Solus, e Joshua Strobl, un desenvolvedor clave do escritorio Budgie, que previamente anunciou a súa renuncia ao consello de goberno (Core Team) do proxecto Solus, están a participar no desenvolvemento de a distribución SerpentOS.poderes do líder responsable da interacción cos desenvolvedores e desenvolvemento da interface de usuario (Experience Lead).
Os desenvolvedores de SerpentOS están animando ás persoas con coñecementos da linguaxe de programación D a que se unan ao desenvolvemento de ferramentas básicas e/ou á escritura de receitas de paquetes, e pídeselles a persoas non técnicas que axuden a traducir documentación a varios idiomas.
Fonte: opennet.ru