兼容性问题一直是应用处于不同操作系统、平台和设备之间的一个难题,openKylin积极探索Linux桌面系统的兼容解决方案,由此引入了KARE。KARE是一种兼容环境,通过模拟目标软件的操作系统环境,确保软件在当前系统上正常运行。
当前,openKylin 2.0版本已预装KARE生态兼容方案,通过KARE,可让用户在openKylin系统上运行适用于其他Linux桌面系统的应用程序,实现1.0系列原生软件在2.0版本上的直接安装运行,“安装+启动”综合成功率达到94%!
在openKylin系统中,KARE当前主要通过容器技术来运行跨系统版本应用。容器技术通过利用操作系统的虚拟化功能(如Linux上的namespace和cgroups)来实现资源的隔离和限制。具体来说,容器技术将操作系统资源划分为独立的命名空间,使得每个容器都具有自己独立的命名空间,从而实现了应用程序之间的隔离。
在容器技术中,容器镜像包含了应用程序及其依赖库的所有文件和配置信息,通常通过类似Docker的工具创建。在运行容器时,容器引擎(如Docker)会将容器镜像加载到隔离的环境中,并启动容器内的应用程序,其核心原理在于利用操作系统提供的虚拟化功能来实现资源的隔离和限制。
场景一:构建并安装应用所需的基础环境
当前支持构建环境版本以及参数如下:
系统版本 | 参数 |
---|---|
openKylin 1.0 | openkylin1.0 |
银河麒麟 V10 | v10 |
银河麒麟 V10 SP1 | v10sp1 |
Ubuntu 16.04 | ubuntu16.04 |
Ubuntu 18.04 | ubuntu18.04 |
Ubuntu 20.04 | ubuntu20.04 |
Ubuntu 22.04 | ubuntu22.04 |
在openKylin 2.0中执行图示如下:
基础环境构建后,当前可通过sudo kare -e baseOS -i xxx.deb命令安装,当KARE安装应用需要其他依赖时,如果此依赖在源内则会自动下载。以在openKylin 2.0系统中安装openkylin 1.0软件包为例:
场景二:跨版本系统升级
用户通过“跨版本升级”,在升级Linux桌面系统时,KARE将旧系统中的应用程序迁移到新版本系统中。此过程无需用户手动处理复杂的兼容性问题,KARE会自动处理这些工作,确保应用程序在新系统中稳定运行。升级后的应用在运行时除了通过双击桌面图标、单击开始菜单图标、单击任务栏图标实现应用的启动之外,还可以通过右键选项选择以兼容模式打开,如下图所示:
当用户点击以兼容模式打开后,会出现相关选择界面让用户根据实际场景选择对应的运行环境(若系统仅经过一次跨版本升级或换机,则有且仅有一个环境仅供选择),同时支持保留相应配置功能,当用户选择了记住此模式后,双击应用就会以兼容模式和上次勾选的兼容环境启动应用。
场景三:适配openKylin 2.0中的不可变系统
在openKylin 2.0不可变系统中,用户禁止使用dpkg或apt来进行软件包的安装操作,用户可以通过双击.deb包或使用软件商店来安装应用程序。双击.deb包会直接调用麒麟安装器进行安装,如下图所示:
软件商店则会在安装软件包时自动构建所需环境,点击软件包的安装按钮即可,如下图:
用户在整个安装过程中是无感知的,和在正常openKylin系统上安装软件包没有差异,KARE会自动处理这些操作,确保应用程序与当前系统的兼容性。
当前KARE小组致力于openKylin兼容运行环境的规划、维护和升级工作。后续,KARE团队将陆续对以下能力进行升级:
投稿作者 | 作者网站 |
---|---|
微信捐赠 | 支付宝捐赠 |
---|---|
评论功能已经关闭!