了解更多银河麒麟操作系统全新产品,请点击访问
麒麟软件产品专区:https://product.kylinos.cn
开发者专区:https://developer.kylinos.cn
文档中心:https://documentkylinos.cn
当前桌面操作系统中可通过配置定义的应用有限,IOS的定制能力比较局限,无法快速满足广大开发者、技术型用户的个性化需求。而应用的定制配置与核心功能未分离,应用各自实现配置管理结构,这种配置管理混乱的情况,要求桌面操作系统必须具备更强的全局管理支撑能力。由此,银河麒麟桌面操作系统V10 sp1 2403最新版本推出了统一配置系统,打造了统一配置方案。该方案是一个体系化、结构化的设计,对应用进行模块化与配置化拆解,将应用设计成为“核心功能不变,扩展功能可配”的模式,为系统性的模块化/配置化提供基础支撑能力。统一配置系统针对开发人员、镜像制作人员、最终用户等不同受众提供了API、CLI工具和GUI工具。
特点
配置统一管理
统一制定配置文件编写规范以及命名规范
配置文件采用yaml格式,并在yaml格式的基础上定义了一些其他规则。
统一配置文件存放位置
在/etc/kylin-config目录下创建多个子目录统一存放配置文件,避免配置文件位置参差不齐难以管理的问题。且每个子目录,都是系统制作的过程中的某一阶段,例如kcm子目录,用于存放系统运行中域控下发的配置文件,basic目录存放通用系统的应用配置文件。
图1:配置文件存放目录示意图
多级配置合并
规定配置优先级
对于上图中的子目录,根据定制系统的制作流程规定了这些目录的生效优先级,高优先级目录中的配置文件会覆盖低优先级的配置文件。生效优先级自上而下,即kcm > project > production > vendor > industry > basic。
生成统一视图
统一配置系统会读取所有目录中的配置文件,按优先级合并、覆盖后生成定制后的配置统一视图。这样既能融合产线的特性需求又可以满足项目定制化内容。
图2:统一视图架构图
核心功能不变,扩展功能可配
推动应用进行功能模块化改革,核心功能不可配置,扩展功能可通过配置进行定制。收敛定制化项目,降低维护成本。通过配置文件即可完成系统定制。
图3:系统定制示意图
配套工具完善
对于开发人员,提供了功能完善的API接口;对于维护人员、项目负责人和最终用户等使用者提供了CLI工具和GUI工具;对于已有自己配置结构想要改为使用统一配置系统的应用,提供了多种配置文件转换工具,可以快速将原格式的配置文件转换为统一配置系统格式的配置文件。
功能
应用程序编程接口(Application Programming Interface,简称API)
统一配置系统为开发者提供了简单易用的API,通过这些API,开发人员可以很简单的访问和修改配置,监听设置的变化,灵活选择配置版本,恢复默认值等。
命令行工具(Command-Line Interface,简称CLI)
统一配置系统提供命令行工具,名为kconf2,允许用户通过终端访问和修改配置,这对开发和调试非常有用。CLI工具具有列举所有项目、列举所有键、查看取值范围、获取键的描述、读/写/复位键值、检测键值是否可写、监听键值变化等功能,提供了“帮助页面”来帮助用户快速掌握命令用法。
图4:命令行工具演示图
图形用户接口工具(Graphical User Interface,简称GUI)
统一配置系统提供了用户友好的界面以方便用户查看配置数据, GUI工具名为kconf2-editor,终端执行kconf2-editor唤起UI界面。可视化工具具有查看当前系统中所有的配置、以配置文件的形式导出配置、分级查看配置视图的功能
图5:GUI工具界面图
银河麒麟统一配置系统
结语:通过统一配置系统,开发者、技术型用户可以减少对一系列分散工具的依赖,降低学习成本,更高效的管理配置,从而专注于核心功能的开发;产线、版本及项目工作人员,可以脱离代码完成定制系统的版本制作,而不需要开发人员修改代码提供新的软件包。为银河麒麟桌面操作系统的用户提供了更加一致和高效的用户体验,能够吸引更多的软件开发者,促进生态繁荣。