掌桥专利:专业的专利平台
掌桥专利
首页

一种桌面操作系统集成方法

文献发布时间:2023-06-19 11:45:49


一种桌面操作系统集成方法

技术领域

本发明涉及电子数字数据处理领域,尤其涉及一种桌面操作系统集成方法。

背景技术

国内主流桌面操作系统生产商主要采用在主流发行版基础之上,进行部分组件的二次开发,在内核层面及应用层面增加部分定制内容的方法进行操作系统集成。这种操作系统集成方式服从上游发行版的内核编译配置、包管理方式、版本更新机制及大部分的软件升级机制。

目前大部分主流国产桌面操作系统发行版基于Debian/Ubuntu进行二次开发与构建,在Debian/Ubuntu内核与基础组件之上进行桌面组件定制/重构,在原发行版基础之上加入原生支持/可移植/可WINE化的国内常见桌面应用,组成新的应用提供方式。这种集成方式主要维护桌面、新加入应用及少部分修改定制内容,其余部分服从上游发行版的工作。

上述主流的桌面操作系统集成方式由于对上游发行版的高度依赖性与服从性,在自主定制方面产生限制。例如Debian_LTS内核的支持周期为5年,采用Debian_LTS内核构建的系统,在5年之内的所有定制内容,将随着5年后新内核的发布产生全局性动荡,如库的循环性依赖问题、API变化后的兼容性问题等;这意味着在5年的周期后,定制部分将面临为解决兼容性而产生的不确定性问题。由于此问题的存在,集成者不得不采用紧缩型策略就对上游的依赖问题,例如在系统主要组件与应用中间加入逻辑层来重构应用环境(如桌面环境),中间层的存在最小化地依赖系统组件,以便于快速在不同上游版本间移植。这种方案大大削弱了定制的自由度,使得系统的集成与扩展龟缩在限定主题之内。

发明内容

本发明的目的在于提供一种桌面操作系统集成方法,旨在解决依赖于上游高度定制发行版而产生的可控程度低、依赖严重的问题。

为实现上述目的,本发明提供了一种桌面操作系统集成方法,包括获取各个核心组件的二进制包;将二进制包集成系统核心,并进行配置和标记;获取非核心组件;获取特选包;将非核心组件与特选包进行聚合,形成发行版包管理器;将系统核心与发行版包管理器整合构成最终的发行版集成。

其中,所述在获取非核心组件之后,获取特选包之前,所述方法还包括将非核心组件与系统核心进行兼容性配置与对接。

其中,所述核心组件包括Kmod、Libcap、Linux Kernel、E2fsprogs、GRUB、Libelf、Systemd、Bash、Ncurses、Readline、kbd、Iana-etc、Inetutils、IProute2、Openssl、Shadow、Libpipline、Procps-NG、Psmisc、D-Bus、Util-linux、Acl、Attr、Coreutils、File、Findutils、GDBM、Check、Diffutils、Flex、Gawk、Gettext、Grep、Groff、Intltool、Less、M4、Patch、Sed、Vim、Glibc、Libffi、Perl和Python3。

其中,所述获取各个核心组件的二进制包的具体步骤是:获取当前组件;判断是否支持二进制滚动式升级模式,若支持二进制滚动式升级模式则取得二进制包;若不支持二进制滚动式升级模式则判断是否具有活跃的源代码开发环境,若支持活跃的源代码开发环境则取得二进制包,否则就放弃当前组件。

其中,所述非核心组件支持二进制滚动式升级模式,包括Linux/GNU应用程序及非特选桌面应用程序。

其中,所述获取非核心组件的具体步骤是:获取元发行版软件仓库所提供的程序包;判断程序包是否支持二进制滚动式升级模式,若支持则加入本发行版的通用应用管理列表,否则就放弃。

其中,所述特选包具有本发行版特征性标识。

其中,所述获取特选包的具体步骤是:选择桌面系统及特别维护应用;进行横纵向兼容性处理;将桌面系统及应用二次打包,判断是否与其他系统共享,若共享则选择系统外发布,若不共享则加入通用应用管理。

本发明的一种桌面操作系统集成方法,包括获取各个核心组件的二进制包;将二进制包集成系统核心,并进行配置和标记;获取非核心组件;获取特选包;将非核心组件与特选包进行聚合,形成发行版包管理器;将系统核心与发行版包管理器整合构成最终的发行版集成。将桌面系统集成分为系统基础核心组件集成、非核心组件包管理、桌面/特选应用定制三个并行起点。将核心组件与非核心组件分离处理,核心组件如kernel等构成系统最基础部分是本集成的重要特点,核心部分的自主生成及维护过程,解决了上游发行版的周期性依赖性问题,并拓展了系统整体的自由构建程度。将非核心组件与特选应用分包处理,以解决系统集成效率与集成成本间的矛盾,一般组件可服从特定滚动式上游发行版的软件仓库,并集中力量维护上游不支持的特选应用仓库。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的一种桌面操作系统集成方法的流程图;

图2是本发明的获取各个核心组件的二进制包的流程图;

图3是本发明的获取非核心组件的流程图;

图4是本发明的获取特选包的流程图;

图5是本发明的一种桌面操作系统集成方法的整体流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

请参阅图1~图5,本发明提供一种桌面操作系统集成方法,包括:

S101获取各个核心组件的二进制包;

首先划分核心组件,依据系统集成的核心功能及依赖,确定组件范围为:Kmod、Libcap、Linux Kernel、E2fsprogs、GRUB、Libelf、Systemd、Bash、Ncurses、Readline、kbd、Iana-etc、Inetutils、IProute2、Openssl、Shadow、Libpipline、Procps-NG、Psmisc、D-Bus、Util-linux、Acl、Attr、Coreutils、File、Findutils、GDBM、Check、Diffutils、Flex、Gawk、Gettext、Grep、Groff、Intltool、Less、M4、Patch、Sed、Vim、Glibc、Libffi、Perl、Python 3、Binutils、Bison、Gcc、Meson、Autoconf、Automake、Make、Ninja、Pkg-config、Bzip2、Gzip、Tar、XZ Utils、Zlib、Zstd等。

具体步骤是:

S201获取当前组件;

获取上述核心组件,采用两种方法:第一,从源码直接获取,并编译成二进制文件;第二种,从上游发行版获取,但需要测试上游发行版为元发行版,即具备滚动升级特征及无跨版本障碍的问题的发行版。

S202判断是否支持二进制滚动式升级模式,若支持二进制滚动式升级模式则取得二进制包;若不支持二进制滚动式升级模式则判断是否具有活跃的源代码开发环境,若支持活跃的源码开发则取得二进制包,否则就放弃当前组件。

例如,OpenRC这一组件在GENTOO这个上游元发行版中具有活跃的源码开发环境及开发文档,但不具备二进制滚动式升级模式包支持,因此OpenRC可被纳入核心组件,但需要由核心小组负责及维护及升级工作。

S102将二进制包集成系统核心,并进行配置和标记;

对系统核心进行配置,形成发行版的核心部分,并对核心部分进行独立分组维护,对核心部分设置标记,与其它组件相区分。

S103获取非核心组件;

所述非核心组件支持二进制滚动式升级模式,包括应用程序和桌面管理系统,为除步骤S101所采纳之外的应用组件,如其它应用程序、桌面管理系统等内容。非核心组件采用上游发行版的包管理机制,需要测试上游发行版为元发行版,即具备滚动升级特征及无跨版本障碍的问题的发行版。

具体步骤是:

S301获取元发行版软件仓库所提供的程序包;

S302判断程序包是否支持二进制滚动式升级模式,若支持则加入通用应用管理,否则就放弃。

S104将非核心组件与系统核心进行兼容性配置与对接;

将非核心系统与对核心组件进行兼容性配置与对接,使系统能够容纳上游发行版所提供的软件包,并能保证顺利运行。

S105获取特选包;

选择系统中具有发行版本区分特征的组件,进行独立维护,组件范围为:桌面管理系统(包括桌面系统中的各组件)、国内常见可移植应用(如Wine-QQ、Wine-webchat、网易云音乐等),这类组件包具有本地化需求特点,并可采用通用兼容性包管理方式进行打包管理。所述特选包具有本发行版特征性标识,例如,在特选包‘桌面管理器’包中,加入本发行版的版本标识,并由本发行版特选包小组进行维护,该标识用以区分上游元发行版中的相同/相似软件包”。

具体步骤是:

S401选择桌面系统及特别维护应用;

S402进行横纵向兼容性处理;

横向兼容性处理目的为确保此类应用与核心组件、上游元发行版具有依赖关系的组件之间兼容;纵向兼容性处理的目的为确保此类应用在其它主流发行版中能够兼容运行。

S403将桌面系统及应用二次打包,判断是否与其他系统共享,若共享则选择系统外发布,若不共享则加入通用应用管理。

S106将非核心组件与特选包进行聚合,形成发行版包管理器;

S107将系统核心与发行版包管理器整合构成最终的发行版集成。

本发明的一种桌面操作系统集成方法具有以下优点:

(1)将桌面系统集成分为系统基础核心组件集成、非核心组件包管理、桌面/特选应用定制三个并行起点。将核心组件与非核心组件分离处理,核心组件如kernel等构成系统最基础部分是本集成的重要特点,核心部分的自主生成及维护过程解决了上游发行版的周期性依赖性问题,并拓展了系统整体的自由构建程度。将非核心组件与特选应用分包处理,以解决系统集成效率与集成成本间的矛盾,一般组件可服从特定滚动式上游发行版的软件仓库,并集中力量维护上游不支持的特选应用仓库。

(2)在系统核心组件范围内,评估组件来源与生产效率间的关系,限定在源码编译与滚动式元发行版间选择最优方案,获取并组织完成核心组件。在此基础上生成的核心部分以最佳可控性与效率间的平衡作为评价点。

(3)无论从上游元发行版或是源码生成的核心组件,具备可随时进行重编译或重修改定制的特征;核心组件的升级紧随源头作者的更新,并兼顾稳定性。

(4)非核心一般组件包的管理所依从的发行版,为具备滚动升级特征的软件仓库,根据滚动式发行版软件仓库的特点,由于核心部分与源头作者同步,可基本保证非核心一般组件包的可用性。

(5)桌面及特选应用主要满足国内用户使用习惯需求,定制符合用户习惯的桌面环境、常用软件等内容。这部分组件虽非核心部分,但由于缺乏上游发行版的支持,需要独立完成定制。

(6)桌面及特选应用的定制采用通用兼容性包管理方式进行打包管理,并增强横向、纵向兼容性。

(7)整合非核心一般组件与桌面/特选应用的包管理方式,保持用户视角应用管理上的一致性。

(8)将系统核心组件、桌面及特选应用、包整合后的包管理模式进行聚合,完成操作系统的最终集成。

(9)系统的核心组件、桌面及特选应用是系统维护的主要内容,由此产生的更新,是此集成系统升级推送的主要依据。

(10)非核心组件软件仓库的支持工作内容为对上游更新说明的响应,及时根据上游仓库的特殊说明,反馈至核心组件采取应对。

以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

相关技术
  • 一种桌面操作系统集成方法
  • 一种基于桌面操作系统的全自动测试方法及系统
技术分类

06120113047933