openSUSE 專案的開發人員發布了開發新安裝程式 Agama(以前稱為 D-Installer)的計劃,該安裝程式正在開發中以取代經典的 SUSE 和 openSUSE 安裝介面,並且以將使用者介面與介面分開而聞名。 YaST 內部結構。 Agama 提供了使用各種前端的能力,例如透過 Web 介面管理安裝的前端。為了測試新的安裝程序,正在為 x86_64 和 ARM64 架構創建即時構建,支援安裝持續更新的 openSUSE Tumbleweed 構建以及基於獨立容器構建的 SUSE ALP、openSUSE MicroOS 和 openSUSE MicroOS Desktop 版本。
今年 Agama 計劃有兩個重大更新。第一個計劃於四月中旬推出,第二個計劃於七月中旬推出。 7 月的更新將專注於提高與無人值守安裝相關的靈活性和功能。開發的目標是使 Agama 能夠用作 AutoYaST 工具包的替代品。
4 月的更新值得注意的是,Cockpit 專案開發的現成模組已停止使用,轉而採用更獨立的框架和現代化的使用者介面。擺脫與 Cockpit 的束縛將消除額外的外部依賴,並擺脫阻礙某些想法實現的限制。例如,Cockpit 包含 Python 和 C 語言元件作為依賴項,而 Agama 使用 Ruby 和 Rust 語言。刪除 Cockpit 還將讓開發人員擺脫在嘗試實現自動安裝模式時遇到的限制,並重新設計儲存配置介面,以實現初學者的簡單性和高級用戶的功能性之間的最佳平衡。
在目前的開發階段,新的安裝程式已經提供了解決諸如選擇初始應用程式集、設定網路連線、語言、鍵盤、時區和本地化設定、準備儲存裝置和分割區等任務所需的功能,將使用者新增到系統中。 Agama 開發的主要目標包括消除圖形介面的現有限制、擴展在其他應用程式中使用 YaST 功能的能力、擺脫與一種程式語言的綁定(D-Bus API 將允許您創建添加- 不同語言的版本)並鼓勵社區成員創造替代環境。

為了安裝軟體包、檢查裝置、分割磁碟和其他安裝所需的功能,Agama 繼續使用 YaST 函式庫,在該函式庫之上實現層服務,透過統一的 D-Bus 介面抽象化對函式庫的存取。安裝程式使用多進程架構,因此在完成其他工作時使用者介面不會被阻塞。
用於管理安裝的基本介面是使用 Web 技術建構的,包括一個透過 HTTP 提供對 D-Bus 呼叫的存取的處理程序以及 Web 介面本身。 Web 介面是使用 React 框架和 PatternFly 元件用 JavaScript 編寫的。將介面連結到 D-Bus 的服務以及內建的 http 伺服器都是用 Ruby 編寫的。
來源: opennet.ru
