与楼主有同样的疑惑
高度白
准确地说,如果A和B应用都是玲珑应用,那么你甚至不需要下载依赖9,因为它已经内置在安装包或者Runtime里
如意玲珑基于标准化沙箱 Runtime,通过文件共享技术允许多个 Runtime 版本共存,已加载的资源可通过动态库共享复用,应用启动的速度特别的快,避免冲突,应用及其依赖在沙箱内是隔离的,这在一定程度上保护了依赖不被其他应用或系统的变动所影响。
标准化沙箱 Runtime已经包含了常用的基础依赖和桌面常用的库,封包格式为.layer 容量相对比deb 要略大,但是安装速度(如果之前A应用的Runtime 已经安装了,再安装B应用 所需要的相同前提下Runtime 就不用安装,直接安装应用本身-相当于解包释放相应目录) 、卸载应用速度更快(基本上不超过1-2秒)。
玲珑最大的优点就是应用一次构建即可覆盖所有 Linux 发行版。不用担心各版本缺少依赖,或者应用之间安装依赖冲突问题。
目前已经支持如下图,后续会继续适配主流发行版。
楼主提出的改进建议,就是现在 deb 的现状,缺依赖装依赖就行。 看着简单,但是问题很多:
- 依赖不是 A 依赖 B C D, 而是 A 依赖 B C D E F G……, B 可能又依赖 BA BB BC BD… 一个复杂的依赖树,这也是为什么现在的包管理容易出现依赖缺失或者冲突的地方
- 再给每个依赖加上版本的维度……
- 不同发行版使用包管理工具不一致的问题
- 不同发行版可能报名不一样的维度
- ……
玲珑要改进的是 Runtime 包含哪些包能尽量减少上层应用重复下载的问题,以至于拆分不同的 Runtime 扩展包,比如 Runtime.qt Runtime.gtk 之类的。
楼主提出的改进建议,就是现在 deb 的现状,缺依赖装依赖就行。 看着简单,但是问题很多:
- 依赖不是 A 依赖 B C D, 而是 A 依赖 B C D E F G……, B 可能又依赖 BA BB BC BD… 一个复杂的依赖树,这也是为什么现在的包管理容易出现依赖缺失或者冲突的地方
- 再给每个依赖加上版本的维度……
- 不同发行版使用包管理工具不一致的问题
- 不同发行版可能报名不一样的维度
- ……
玲珑要改进的是 Runtime 包含哪些包能尽量减少上层应用重复下载的问题,以至于拆分不同的 Runtime 扩展包,比如 Runtime.qt Runtime.gtk 之类的。
解析的正确到位!
关于容量的倍增的问题 一个是 基础包压缩比 ,deb安装完毕后所占用的磁盘空间未必会小,只是可以直接拉取系统库里面的依赖,如果依赖比较多,安装过程可能会久一点。玲珑包是 runtime 自身库+依赖 +应用包元数据加应用依赖 然后再压缩格式成玲珑包,安装释放容量肯定也会变大。
目前针对容量问题,貌似已经有非常大的优化。
估计下一阶段玲珑包的会比现阶段小的多。
相比于硬盘空间,你觉得用户宁愿占用点空间节省下载依赖的麻烦,还是说自己手动下载依赖还不一定成功呢?
而且储存成本都已经逐渐降低了。
相比于带宽和用户时间来说,硬盘成本算是最低了的。
有人说把常用的依赖都装在系统里面就好,你知道华为的openeuler系统包吗,24GB。
玲珑确实不错,继续努力
不是打包GTK+AppImage类似把跨平台图形框架内嵌的应用,不会遇到体积骤增的情况
大部分依赖已经集成在Runtime里,应用不需要再进行集成,应用需要内置的是需要特定版本依赖的
关于容量的倍增的问题 一个是 基础包压缩比 ,deb安装完毕后所占用的磁盘空间未必会小,只是可以直接拉取系统库里面的依赖,如果依赖比较多,安装过程可能会久一点。玲珑包是 runtime 自身库+依赖 +应用包元数据加应用依赖 然后再压缩格式成玲珑包,安装释放容量肯定也会变大。
目前针对容量问题,貌似已经有非常大的优化。
估计下一阶段玲珑包的会比现阶段小的多。
这个不是对比对象,只是玲珑导出layer的时候默认没7z压缩,经过7z压缩跟deb包差不多,除了GIMP一类需要自带GTK运行库的
玲珑确实不错,继续努力
你用time命令对比一下同一款软件的启动速度就晓得了
你用time命令对比一下同一款软件的启动速度就晓得了
不过毕竟使用了沙盒,deb直接启动,理论上玲珑的速度应该比不上deb包,不过这两者侧重点不同,也不能直接比较
不过毕竟使用了沙盒,deb直接启动,理论上玲珑的速度应该比不上deb包,不过这两者侧重点不同,也不能直接比较
不一定,因为本质上都是加载一些库,以我又测试的QQNT为例:
直接命令启动:
启动玲珑版:
因为玲珑的base极限精简过,几乎就没慢多少
Popular Events
More