写在前面
此篇稿件来自 https://mp.weixin.qq.com/s/PDSMp-FbyPPI8Dc8d2KZRA openKylin推文,因KARE的定位和ACE几乎一模一样,实现的功能也很相似,便整活替换关键词写了这段
openKylin--->Spark
KARE--->AmberCE
KARE和AmberCE无任何关联
基本来说,就是直接替换了关键词
正片开始
兼容性问题一直是应用处于不同操作系统、平台和设备之间的一个难题,Spark 社区积极探索Linux桌面系统的兼容解决方案,由此引入了AmberCE。AmberCE(安柏兼容环境)是一种兼容环境,通过模拟目标软件的操作系统环境,确保软件在当前系统上正常运行。

当前,Spark 应用商店已上架AmberCE生态兼容方案,通过AmberCE,可让用户在deepin/openKylin/UOS/银河麒麟系统上运行适用于其他Linux桌面系统的应用程序,实现Debian 12原生软件在各个发行版本上的直接安装运行,“安装+启动”综合成功率达到94%!
Spark AmberCE技术原理
AmberCE当前主要通过容器技术来运行跨系统版本应用。容器技术通过利用操作系统的虚拟化功能(如Linux上的namespace和cgroups)来实现资源的隔离和限制。具体来说,容器技术将操作系统资源划分为独立的命名空间,使得每个容器都具有自己独立的命名空间,从而实现了应用程序之间的隔离。
在容器技术中,容器镜像包含了应用程序及其依赖库的所有文件和配置信息,通常通过类似debootstrap的工具创建。在运行容器时,容器引擎(如bubblewrap)会将容器镜像加载到隔离的环境中,并启动容器内的应用程序,其核心原理在于利用操作系统提供的虚拟化功能来实现资源的隔离和限制。
AmberCE通过实现资源目录的挂载(并做好数据共享和隔离工作)、用户映射和设置容器内环境变量等内容来创建应用兼容运行环境。
AmberCE特性介绍
01 高度兼容性
Spark AmberCE实现了多发行版支持,能够模拟多种主流Linux发行版的操作环境,如Debian 12、Debian SID、deepin 23、GXDE OS、Loongnix等,使得应用程序在不同发行版的操作系统上无缝运行。用户可以选择自己喜欢或者熟悉的操作系统环境,并且无需担心应用程序的稳定性和可靠性。
02 资源隔离
Spark AmberCE通过容器技术实现应用程序之间的资源隔离,容器技术通过多种隔离机制和资源控制手段,提供了一个独立、隔离、稳定的运行环境,这样使应用能够相互独立,互不干扰,并且可以更有效地利用主机资源。
03 灵活配置
用户可以根据需求自由配置模拟环境,这种自由度赋予了用户更多的控制权和定制能力,用户可以根据不同的场景和需求调整容器的配置,包括环境变量、资源限制等等,从而实现个性化的部署和运行环境,满足特定应用的运行要求,提高了应用的可移植性和可维护性。
04 稳定运行
通过模拟目标环境,确保软件在当前系统上稳定运行,避免因兼容性问题导致的崩溃和数据丢失,有效减少软件部署后可能出现的意外情况,提高系统的可靠性和稳定性。
05 数据交互
用户可以跨系统版本使用剪切板进行文字的读写操作,同时,主目录和/media、/mnt等目录的共享挂载也可让数据无缝交换。这种数据交互方式不仅提升了跨系统版本间的无缝互通性,也促进了系统与容器之间的数据交换和协作。
AmberCE产品能力
01 跨平台兼容性
AmberCE通过构建模拟机制,使得用户能够在当前Linux系统上轻松运行原本为其他Linux桌面系统定制的应用程序。这一创新技术彻底打破了传统Linux发行版之间的壁垒,解决了长期以来困扰用户的跨平台兼容性问题,为用户带来了前所未有的便利。
02 提高软件可用性
AmberCE的跨平台兼容性不仅让用户在选择软件时拥有更多自由,更重要的是,它使得原本不兼容的软件能够在不同的Linux系统上顺畅运行。这一功能极大地提升了软件的可用性,使用户不再受限于特定的Linux发行版,享受到了更加丰富的软件资源。
03 增强系统可靠性
AmberCE通过精确模拟目标运行环境,确保软件在当前系统上稳定运行。这种技术有效避免了因不兼容而导致的应用崩溃和数据丢失问题,极大地提升了系统的稳定性和可靠性。用户可以放心地运行各类应用程序,无需担心潜在的风险。
04 简化软件迁移
在Spark AmberCE的帮助下,用户可以轻松地将应用程序从一个桌面系统迁移到另一个。由于AmberCE已经解决了兼容性问题,用户无需再担心迁移过程中可能遇到的障碍。这一功能大大简化了软件迁移过程,提高了工作效率。
Spark AmberCE使用场景及方法
场景一:构建并安装应用所需的基础环境
Spark AmberCE在安装应用前,需要先安装基础环境,基础环境为安装应用所适配系统,比如当前想要在deepin 20上安装deepin 23的应用,使用sudo aptss install amber-ce-deepin23
安装基础环境即可。

当前支持构建环境版本以及参数如下:
|系统版本 |参数|
|Debian 12| amber-ce-bookworm|
|Debian SID| amber-ce-bookworm(仅限龙芯平台)|
|Loongnix | amber-ce-loongnix(仅限龙芯平台)|
|deepin 23| amber-ce-deepin23|
基础环境构建后,当前可通过sudo deepin23-run apt install xxx.deb命令安装,当AmberCE安装应用需要其他依赖时,如果此依赖在源内则会自动下载。

场景二:跨版本系统升级
用户通过“跨版本升级”,在升级Linux桌面系统时,AmberCE可将旧系统中的应用程序迁移到新版本系统中。此过程无需用户手动处理复杂的兼容性问题,AmberCE会自动处理这些工作,确保应用程序在新系统中稳定运行。升级后的应用在运行时除了通过双击桌面图标、单击开始菜单图标、单击任务栏图标实现应用的启动之外,还可以通过右键选项选择以兼容模式打开,如下图所示:
(TODO:ACE升级助手)
当用户点击以兼容模式打开后,会出现相关选择界面让用户根据实际场景选择对应的运行环境(若系统仅经过一次跨版本升级或换机,则有且仅有一个环境仅供选择),同时支持保留相应配置功能,当用户选择了记住此模式后,双击应用就会以兼容模式和上次勾选的兼容环境启动应用。
场景三:适配非Debian系操作系统
在Arch,Fedora等发行版中,用户无法使用dpkg或apt来进行软件包的安装操作,用户可以通过双击.deb包或使用软件商店来安装应用程序。双击.deb包会直接调用Spark 安装器进行安装,如下图所示

Spark 应用商店则会在安装软件包时自动构建所需环境,点击软件包的安装按钮即可

用户在整个安装过程中是无感知的,和在正常deepin 23系统上安装软件包没有差异,AmberCE会自动处理这些操作,确保应用程序与当前系统的兼容性
Spark AmberCE后续规划
当前AmberCE团队致力于安柏兼容运行环境的规划、维护和升级工作。后续,AmberCE团队将陆续对以下能力进行升级:
提供AmberCE基础环境图形化管理工具;
优化AmberCE应用的安装、启动速度,减少磁盘空间占用;
实现AmberCE基础环境的导入导出机制。