[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
2 / 3
To page
xuqi
deepin testing team
2022-08-19 06:11
#21

kissing_heart

Reply View the author
vivian_me
deepin testing team
2022-08-19 21:48
#22

yeah

Reply View the author
wcss2020
deepin
2022-08-19 22:38
#23

期待呀,希望尽快完善,我会慢慢等他完善

Reply View the author
Frain
deepin
2022-08-20 05:05
#24
一醉陶然

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

本质上应该是差不多

Reply View the author
Barry-okx
Junior Packager
2022-08-20 06:40
#25

原来我们有n种格式,现在我们有n+1种了。

每种都有自己的长处,也都有自己的短处,在Linux世界里,我看你不爽,我fork你非常正常且合理,根本不要预期看到一个压倒性的完美方案。

我已经厌倦了。

Reply View the author
古仔
deepin
2022-08-20 21:29
#26

玲珑在线商店真的好吗?系统都没有自带引导,商店目前的应用也少,且软件名称都是英文。需要安装的软件都不知从哪里安装。😁

Reply View the author
wcs4221
deepin beta test group
2022-08-20 22:12
#27

期待玲珑完善好用!

Reply View the author
风轻云淡
deepin
2022-08-21 02:49
#28

v23运行很流畅,比v20.6更流畅  

没有应用商店,不习惯.玲珑方案是什么,不懂

装了两台电脑,网页播放均没有声音输出,但是单独播放硬盘上文件正常    

Reply View the author
Comments
zuoshoug2021
2022-09-17 07:55
我也是一样的,要最简单画为主
xxkkk
deepin
2022-08-21 07:25
#29

请在玲珑商店加入WPS和微信。真的很需要

Reply View the author
andy-ian
deepin
2022-08-21 07:51
#30

docker不就是只要Linux Kernel 支持就可以了吗,当然也是要安装docker环境,发布也是增量式的发布

怎么感觉与docker那么像?

还是说可以将玲珑理解成针对客户端进行了优化的docker?

Reply View the author
Comments
方老四
2022-08-26 17:03
完全正确
pgxppp
deepin
2022-08-21 17:11
#31
xxkkk

请在玲珑商店加入WPS和微信。真的很需要

有WPS

Reply View the author
joker2770
deepin
2022-08-21 18:50
#32

PPT讲得很好

Reply View the author
wxlzxc001
deepin
2022-08-21 20:35
#33
158******82

应用商店哪去了?

最恶心的是找不到商店,安装不上软件

Reply View the author
xxkkk
deepin
2022-08-21 21:14
#34
pgxppp

有WPS

没有吧, 我找 了几天了

Reply View the author
Comments
方老四
2022-08-26 17:05
通过命令安装:ll-cli install cn.wps.wps-office
138******60
deepin
2022-08-22 10:28
#35

docker的思想,挺好,但是软件启动没有自动挂载用户目录,体验太糟糕了。容器可以自动挂载目录啊

Reply View the author
pgxppp
deepin
2022-08-22 22:21
#36
xxkkk

没有吧, 我找 了几天了

https://bbs.deepin.org/post/241881

Reply View the author
尚学郎
deepin
2022-08-23 03:16
#37

安装完V23,系统浏览器始终无法打开玲珑应用https://store.linglong.dev/,不知道是什么原因。

Reply View the author
xxkkk
deepin
2022-08-23 20:36
#38
pgxppp

https://bbs.deepin.org/post/241881

谢谢。真的装上了

Reply View the author
一醉陶然
deepin
2022-08-23 22:14
#39

能否多列举一些案例?

Reply View the author
peter
deepin
2022-09-01 16:56
#40

像我们这些小白,有个应用市场就好了

Reply View the author
2 / 3
To page