1.什么是ACE?
ACE(Amber CE,琥珀)兼容环境是一款基于bubblewrap的容器化应用打包和分发方案。是一个极轻量的系统容器。
2.ACE能做什么?
举例说明:比如你使用了AOSC OS,想玩最新版的韦诺之战(wesnoth),可是你却发现AOSC仓库含有的版本不是最新版本,也联系不到人来维护编译,正在这时,你发现debian的仓库里有最新版的韦诺之战,你正在想办法下载deb包时,却发现AOSC OS其实根本就不是debian的子发行版,依赖结构完全不同,就算你从debian的仓库里扒出了所有的依赖包并且安装到AOSC OS上,你又开始担心外来的依赖包会污染原本系统的依赖,造成整个系统故障。
这时候就轮到Amber CE出场了,ACE会在AOSC OS中创建一个容器,模拟一个debian12或者debian13,你就可以在这个容器中,直接从debian仓库中下载并安装最新的韦诺之战,容器会自动将所需的依赖包下载并安装到这个容器内,你就不用再担心自己的原本的系统依赖环境被污染了。
书面描述是:用极为轻量的容器方案让你可以在几乎任何的Linux发行版上运行一个操作系统容器。在应用无法启动或者打包的时候,使用ACE兼容环境来打包可以让你在使用最新的环境的同时在更多的发行版上运行,是一个很好的选择。
3.如何安装?
官方项目地址:https://gitee.com/amber-ce
官方安装指南和网盘下载地址:https://gitee.com/amber-ce/amber-ce-bookworm
不过个人建议这样的安装方式,以x86版AOSC为例:
从星火应用商店官网:https://gitee.com/spark-store-project/spark-store/releases/tag/4.8.0
下载并安装命令行版的星火应用商店:spark-store-console_4.8.0-console1_all.deb
然后在终端执行:
$$
sudo aptss update
sudo aptss install amber-ce-trixie
$$
***需要注意的是,这里的 'amber-ce-trixie' 指的是安装debian13的虚拟环境,你要是要debian12,那就该改成'amber-ce-bookworm',要是要模拟deepin V23的环境,那就该改成'amber-ce-deepin23'
***另外安装命令行版的星火应用商店,本质是向系统引入了一个新的软件源,只不过这个软件源没有注册到apt,而是用了专用的aptss(类似AOSC OS主要用oma而不是apt),所以出于避免系统被污染的目的,请尽量避免使用aptss ,尤其是upgrade。
安装完成后,请重启电脑或注销重新登录,ACE的图标就会出现在你的菜单栏中,你就可以快乐的使用了。
4.如何使用?
一种方法是直接点击菜单栏中的ACE-trixie图标。
一种方式是在命令行输入trixie-run。
上述方法对于别的容器同理,例如‘bookworm-run’,‘deepin23-run’
然后你就:
$$
sudo apt update
sudo apt upgrade
sudo apt install wesnote
$$
安装好wesnote
然后在菜单栏里找到韦诺之战的启动快捷方式,打开,开始愉快的玩耍吧。
5.就这些?
当然不止,能模拟debian,理论上就能模拟别的系统,这样一个linux系统就能解决跨发行版的依赖问题,本质上和flatpak等等一系列容器打包方案是一样的。
不过ACE的玩法还不止于此,比如龙芯平台,就可以通过和liblol结合,liblol负责翻译,ACE负责解决旧世界依赖,可以更好地让旧世界应用跑在新世界系统上,基于这个想法的ACE-loongnix已经上架了deepin平台的星火应用商店,并成功解决了多个因缺乏相关依赖而跑不起来的问题。liblol+ACE的结合,很像是ABI-compat的一种解耦的实现。
https://bbs.loongarch.org/d/396-deepin-23ace-loongnix
甚至于,靠着latx二进制翻译x86,理论上可以让一个x86平台的debian,跑在龙芯处理器上,这样就可以绕过wine环境,不用忍受wine缓慢的等待,直接跑一些x86上就有的linux原生应用,比如Steam linux版,战争雷霆Linux客户端。基于此想法的ACE-x86虽然搞了出来,却面临着各种奇怪的Bug,也许要等到latx逐步完善,这个路线才能跑通了。