經過兩年的專案工作,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