[Exchange and share] 深入探索玲珑 01——玲珑方案的创造!
Tofloor
poster avatar
white777
deepin
OM
2022-08-18 05:29
Author

各位小伙伴们,此前我们已经对玲珑包格式的诞生、特性进行了完整的介绍。

在接下来的一系列文章中,我们将带大家深入挖掘玲珑包格式的更多内容,着重向大家介绍传统包管理的问题,以及我们是如何借鉴了主流通用独立包格式的优秀思路,创造了 “玲珑方案”like

玲珑1.jpg

01 传统包管理问题

第一,不同发行版维护成本高 由于deb与rpm这两种包格式完全分割,开发者需要针对不同发行版单独构建和维护包。

第二,兼容性问题难以解决。deb与rpm允许各个包之间有复杂的交叉依赖(或循环依赖)关系。这使得维护包管理系统需要极强的专业知识,稍有不慎, 就会导致系统彻底故障,很难修复。系统升级有概率导致应用依赖关系被破坏,从而引发兼容性问题。

第三,安全性难以把控。传统Linux系统下的包管理更面向系统管理员而非应用开发者和使用者,给予了包更多的对系统的修改权限 ,应用开发者容易在不熟悉系统的情况下埋下较多安全隐患。


02 选择解决方案

面对以上传统包管理的问题,业界已经有了一些通用独立包格式的解决方案。它致力于帮助开发者在所有Linux发行版运行同一个版本的应用。

为了实现这个目的,它们会将系统与应用进行隔离,于是封装了一个独立于系统的运行环境,应用不再依赖于操作系统本身提供的运行环境。另外,通用独立包格式也在努力增强安全性,通常它们会使用 “沙箱” 来将应用与宿主机进行隔离,防止恶意程序携带的病毒感染整个系统。

然而,这些方案也存在一些问题 :通用软件包格式为了让应用独立于操作系统,从而封装了依赖到单独的运行环境,势必会造成应用体积变大;且为了保证通用性,需要一个庞大的运行时环境,对磁盘空间占用则会更多。对于应用来说同样存在这个问题,应用需要将部分独有的依赖加入到应用自身,使得软件大小会比传统包格式更大,对于性能也有所损耗。

另外,安全性上也有待加强。比如部分独立包格式的解决方案以root权限启动沙箱,会留下各种提权攻击的隐患,从而可能引发安全问题。


03 玲珑方案

玲珑,为兼容与安全而生。它致力于治理Linux系统下传统软件包格式依赖关系复杂导致的各种兼容性问题,以及过于松散的权限管控导致的安全风险。 在技术方案的选择上, 我们吸取了主流通用独立包格式的优秀思路,将应用/运行时/系统环境进行分层管理,将应用的运行依赖独立出来构建出一个较为通用的runtime,且提供了完善的机制,支持发行版针对runtime进行深度优化,兼顾通用与轻量化,避免过多占用磁盘空间和影响性能。

同时,采用“沙箱”的容器化机制运行应用,将应用与系统进行隔离,减少应用对系统造成破坏的可能性。另外,默认限制“沙箱”的root权限,防止应用运行时可获取过高权限,减少用户数据被损害的风险。 在软件分发方面, 玲珑支持增量在线分发,同时也可支持bundle格式进行离线分发。离线分发时,无需安装应用即可双击直接运行,无需卸载应用,直接删除包文件即可,使用非常方便。

那么以上是玲珑方案创造历程的介绍,欢迎各位小伙伴们与我们进行使用体验交流!

在后续的揭秘中,我们将会进一步对玲珑组件、权限管理机制进行解读,敬请期待!yeah

Reply Favorite View the author
All Replies
1 / 3
To page
辉夜
deepin
2022-08-18 05:39
#1

希望对插件友好点,像win的Excel就有很多插件,还有ps等专业工具

Reply View the author
辉夜
deepin
2022-08-18 05:40
#2

原子更新的文档也尽快编写出来吧proud

再整个小更新,测试下回滚好不好用proud

Reply View the author
Comments
blue_whale
2022-08-19 18:27
个人诉求建议单独开帖
jelly
2022-08-18 05:46
建议删除这个2楼的帖子,合并到 你的 1楼的帖子里,不要占楼层
jelly
deepin
2022-08-18 05:44
#3

V23 接下来的 beta,RC,GA 版本 有时间规划么?

后面系统 还会更新什么内容呢?

Reply View the author
jjcui8595
Moderator
2022-08-18 05:47
#4

学习了

Reply View the author
一醉陶然
deepin
2022-08-18 07:00
#5

bundle格式 和 appimage 格式 有什么区别?

Reply View the author
Comments
NSFW
2022-10-27 23:27
我也想知道有什么区别
momen
deepin
2022-08-18 07:15
#6

kissing_heart

Reply View the author
风吹过的绿洲
deepin
2022-08-18 07:34
#7

有没有参考一点nixpkg的思维来管理包呢?

最近体验了一下,nixos,这是一种非常独特的玩法,挺有意思的。

Reply View the author
晚秋(lateautumn)
Moderator
2022-08-18 16:35
#8

试用V23一个晚上,感觉还不错。

Reply View the author
wtz
deepin
2022-08-18 16:39
#9

支持,希望讨论一下之前推广flatpak时积累的经验,以及对玲珑的启示。

Reply View the author
Comments
berners
2022-08-18 20:04
是的
贺东明
deepin
2022-08-18 17:26
#10

麻烦在B站出个玲珑包构建及使用教程合集

Reply View the author
158******82
deepin
2022-08-18 19:04
#11

应用商店哪去了?

Reply View the author
deepinuser17
deepin
2022-08-18 19:17
#12

学习了.

哪些是系统部分? 系统部分也用玲珑来安装吗?

Reply View the author
squallliu
deepin
2022-08-18 19:39
#13

和 flatpak 有啥区别

Reply View the author
squallliu
deepin
2022-08-18 19:39
#14
It has been deleted!
SamLukeYes
deepin
2022-08-18 19:46
#15
squallliu

和 flatpak 有啥区别

官方介绍里有对比

Reply View the author
wcs4221
deepin beta test group
2022-08-18 21:32
#16

好好学习一下。

Reply View the author
左心房的痛
deepin
2022-08-18 21:37
#17

赶快把玲珑搞到v20上来呀

Reply View the author
aidi
deepin
2022-08-18 21:39
#18

星星之火可以燎原

Reply View the author
火彩
deepin
2022-08-18 22:12
#19

appimage格式的软件届时能由用户自己操作,无损转换成玲珑格式吗?

Reply View the author
138******79
deepin
2022-08-19 04:36
#20

没有找到微信的安装

Reply View the author
1 / 3
To page