可用于测试的 SerpentOS 工具包

经过两年的项目工作,SerpentOS 发行版的开发人员宣布了测试主要工具的可能性,包括:

  • 苔藓包管理器;
  • 苔藓容器容器系统;
  • moss-deps 依赖管理系统;
  • 巨石组装系统;
  • Avalanche服务隐藏系统;
  • 船舶储存库经理;
  • 山顶控制面板;
  • 苔藓数据库;
  • 可重复的引导(bootstrap)法案系统。

提供公共 API 和包配方。 该工具包主要使用D编程语言开发,代码在Zlib许可下分发。 包使用 YAML 配置语言编写,并编译为本机 .stone 二进制格式,其中包括:

  • 包元数据及其依赖项;
  • 有关该包在系统中相对于其他包的位置的信息;
  • 缓存数据索引;
  • 运行所需的包文件内容。

moss 包管理器借用了包管理器中开发的许多现代功能,例如 eopkg/pisi、rpm、swupd 和 nix/guix,同时保留了包操作的传统视图。 默认情况下,所有包都是无状态构建的,并且不包含非操作系统文件,以避免需要包冲突解决或合并操作的情况。

包管理器使用原子系统更新模型,其中rootfs的状态是固定的,更新后状态切换到新的状态。 因此,如果更新过程中出现任何问题,可以将更改回滚到之前的工作状态。

为了在存储多个版本的包时节省磁盘空间,基于硬链接和共享缓存使用重复数据删除。 安装的软件包的内容位于 /os/store/installation/N 目录中,其中 N 是版本号。 基目录使用链接链接到该目录的内容(例如,/sbin 指向 /os/store/installation/0/usr/bin,/usr 指向 /os/installation/0/usr)。

软件包安装过程包括以下步骤:

  • 编写安装配方(stone.yml);
  • 使用巨石建造一个包裹;
  • 接收 .stone 格式的二进制包以及必要的元数据;
  • 将包输入数据库;
  • 使用 moss 包管理器安装。

Solus 发行版的旧开发团队已经聚集在该项目周围。 例如,Solus 发行版的创建者 Ikey Doherty 和 Budgie 桌面的关键开发人员 Joshua Strobl(此前宣布辞去 Solus 项目理事会(核心团队)职务)正在参与开发SerpentOS 发行版。负责与开发人员交互和用户界面开发的领导者的权力(体验领导者)。

SerpentOS 开发人员鼓励具有 D 编程语言知识的人员加入开发核心工具和/或编写包配方,并要求非技术人员帮助将文档翻译成各种语言。

来源: opennet.ru

添加评论