[packaging] 星火APM琥珀包: 启发于玲珑杀手的容器包管理(demo)
Tofloor
poster avatar
神末shenmo
deepin
Spark-App
Q&A Team
2025-10-19 13:58
Author

碎碎念

好久没搓轮子了

先前看到 @System233 写的 ll-killer ,使用层叠拼接overlayfs的方式进行应用制作,只需要安装应用即可自动记录变化并生成玲珑包,我大受启发,解决了打包软件的难题,就可以all in 玲珑了

但随着玲珑的更新,ll-killer 无法使用了,而玲珑服务端迟迟不开源,且不支持多线程下载的分发方式,这让星火难以切换到玲珑为主的分发格式

于是,我决定自己搓一个散装玲珑来满足需求,那就是

APM: 琥珀软件包管理器

APM 是一套基于 ACE 兼容环境的,与主机隔离的容器软件包管理系统,可以提供类似玲珑应用使用体验,且完美兼容现有的 deb 软件分发基础设施,兼容传统镜像站,支持多线加速下载和自由灵活的定制

APM - Amber Package Manager 0.1

Usage:
  apm [COMMAND] [OPTIONS] [PACKAGES...]

Commands:
  install      安装软件包
  remove       卸载软件包
  autoremove   自动移除不需要的包
  full-upgrade 完全升级软件包
  run  运行指定软件包的可执行文件
  debug        显示调试系统信息
  -h, --help   显示此帮助信息
  --amber      彩蛋功能

APM 基于三部分构建:

  • 容器启动:基于 ACE 的 bwrap 极轻量级容器
  • 容器融合:基于 fuse-overlayfs 进行拼接
  • 容器分发和依赖管理:基于 apt/dpkg 进行管理

apm虽使用了apt进行软件包管理,但因容器环境隔离,所以并不需要主机使用dpkg,可在其他发行版安装

原理非常简单,首先准备一个依赖比较完整的ACE环境作为基础运行环境(base),然后拼接一个包含了需要安装的软件的内容的应用(core)包,apm通过fuse-overlayfs进行融合挂载后即可拼成一个完整的ACE环境,从而启动应用

录屏_gxde-terminal_20251019135643.gif

这让制作APM应用变得非常简单。新建文件夹,指定为core包目录,和对应的ACE融合挂载即可完成准备工作。随后直接在融合挂载后的目录启动ACE,完成软件安装——在外面怎么装里面就怎么装,即可获得可以分发的core包

使用截图:

打包方式: https://gitee.com/amber-ce/amber-pm/blob/master/README.md
体验地址(目前仅amd64,可通过 sudo apm install org.eom.apm -y 来直接安装软件,首次安装APM需要重启来在启动界面展示):https://gitee.com/amber-ce/amber-pm/releases

Reply Favorite View the author
All Replies
久违
deepin
2025-10-19 15:18
#1

如果按照版主的说法星火能切换到玲珑为主的分发格式,那绝对能快速发展。现在玲珑可以说基本都是再uos和deepin内部系统使用,了解的人还是太少。但是星火商店基本国内使用linux很多都知道

请问玲珑服务端不开源什么意思,如意玲珑不是开源的吗,大佬能解释一下吗

like

Reply View the author
神末shenmo
deepin
Spark-App
Q&A Team
2025-10-19 15:47
#2
久违

如果按照版主的说法星火能切换到玲珑为主的分发格式,那绝对能快速发展。现在玲珑可以说基本都是再uos和deepin内部系统使用,了解的人还是太少。但是星火商店基本国内使用linux很多都知道

请问玲珑服务端不开源什么意思,如意玲珑不是开源的吗,大佬能解释一下吗

like

玲珑客户端是开源的,但是服务端,也就是用来提供包的端没有

目前 @mozixun 用的端是一个docker镜像,是闭源的,也不支持多线路下载

APM并非由玲珑修改而来,而是基于ll-killer的思路构建的一种散装玲珑

Reply View the author
神末shenmo
deepin
Spark-App
Q&A Team
2025-10-19 15:49
#3

@Amber 安柏系列新作

Reply View the author
安洛
deepin
2025-10-19 23:31
#4

基于bwrap做容器化应用分发好流行啊。flatpak也是基于bwrap的,aur上有人搞了个 portable也是基于bwrap的(这东西占领了aur上几乎所有-bwrap国产软件)。

Reply View the author
waittingsummer
deepin
2025-10-20 11:39
#5

不明觉厉,加油!!!

Reply View the author
玄圭SwenGway
deepin
2025-10-22 15:18
#6

我可以把这个理解为一个第三方的玲珑软件的包管理器吗?

Reply View the author
神末shenmo
deepin
Spark-App
Q&A Team
2025-10-22 15:28
#7
玄圭SwenGway

我可以把这个理解为一个第三方的玲珑软件的包管理器吗?

不,是利用ACE实现了一个类似玲珑的容器包管理器

Reply View the author
玄圭SwenGway
deepin
2025-10-22 17:12
#8
神末shenmo

不,是利用ACE实现了一个类似玲珑的容器包管理器

就是说它已经不是玲珑了,而是一种模仿玲珑的全新格式

Reply View the author
神末shenmo
deepin
Spark-App
Q&A Team
2025-10-22 18:40
#9
玄圭SwenGway

就是说它已经不是玲珑了,而是一种模仿玲珑的全新格式

它不是模仿的玲珑,而是依照 ll-killer 的打包方式设计的新的格式,和原生玲珑没什么关系

它更像apt,而不是玲珑

Reply View the author