[Topic discussion] 玲珑格式应用,对普通用户意味着什么?(开放讨论)
Tofloor
poster avatar
应用商店-小鱿鱼
Moderator
2024-08-07 11:28
Author

大家好又是可爱的小鱿鱼话题时间。

近日,我方收到了个宝宝的后台私信问到:“我特地在网上查了什么叫玲珑,说了一大堆,但对用户而言,有什么用处?”

confused

有没有知情的小伙伴,可以给我们对玲珑不了解的新朋友,说道说道?

⬇️ 【本期话题】⬇️

玲珑格式应用,对普通用户意味着什么?

开放话题,欢迎讨论!!!

另外,最优答案,送个小礼品~😁(8月11日截止)


关于如意玲珑:

如意玲珑(Linyaps)是一种新型的独立包管理工具集,专注于解决Linux系统下由传统软件包格式的复杂性和交叉依赖关系引起的兼容性问题。项目通过先进的隔离技术,将应用与系统完全解耦,从根本上解决因环境变化引发的应用兼容性问题,实现“一个架构,一次构建”,致力于简化软件开发流程、降低维护成本、加强数据安全,促进技术与平台间的协同合作,构建一个更加繁荣、安全和高效的Linux软件生态环境。

相关链接:
🏅【社区官网】https://www.linglong.space/
🏅【项目地址】https://github.com/OpenAtomFoundation/linglong
🏅【技术文档】https://www.linglong.space/guide/start/whatis.html
🏅【下载应用】deepin V23用户可在系统应用商店安装下载,其他发行版可以在玲珑网页版商店下载玲珑应用(https://store.linglong.dev/

Reply Favorite View the author
All Replies
1 / 2
To page
f@deepin
deepin
2024-08-07 11:34
#1

意味着不会因为依赖冲突导致安装软件失败了

意味着不会因为不小心破坏系统依赖而导致重装系统了

可以放心大胆的安装软件了

处理依赖问题,对于我们小白来说,太难了

Reply View the author
affoto
deepin
2024-08-07 11:56
#2

普通用户只关心我能不能简单使用,置于别的一概不管。

Reply View the author
huaqi
deepin
2024-08-07 12:03
#3

意味着要买大容量硬盘了,硬件要整体升级换代了

Reply View the author
Indedeve
deepin
Backbone of ecological co-construction group
2024-08-07 12:17
#4
affoto

普通用户只关心我能不能简单使用,置于别的一概不管。

玲珑就是方便了用户简单使用,免得安装个软件前还要自己去安装一大堆依赖包

Reply View the author
196******67
deepin
2024-08-07 12:24
#5
huaqi

意味着要买大容量硬盘了,硬件要整体升级换代了

这个什么意思?玲珑安装包占用空间更大了?

Reply View the author
youme
deepin
2024-08-07 12:56
#6
196******67

这个什么意思?玲珑安装包占用空间更大了?

没错

Reply View the author
root
deepin
2024-08-07 12:57
#7
196******67

这个什么意思?玲珑安装包占用空间更大了?

原本有些依赖是可以共享的,现在每个玲珑包都放1份

tail

Reply View the author
听风吟
deepin
2024-08-07 14:25
#8

意味着不用担心装个软件就会崩 applaud

Reply View the author
璀璨星空
deepin
2024-08-07 15:21
#9

不怕新系统与旧版本软件不兼容或者缺少依赖,也可以避免有后门的软件获得root权限来攻击与篡改系统joy 毕竟它自己的软件都无法在root环境下使用

Reply View the author
马小松
deepin
2024-08-07 16:01
#10

意味着软件更不容易被我的一通瞎操作搞崩溃。

Reply View the author
兆兆嘟嘟嘟
deepin
2024-08-07 16:05
#11

正面:隔离、安全、无需处理复杂依赖问题

负面:无法以管理员权限运行、一些目录无法访问导致这些目录下的文件无法用玲珑应用打开、依赖重复多次导致体积增大

Reply View the author
mozixun
deepin
2024-08-07 18:37
#12

其实Deepin社区对于玲珑有过相对比较完整的解释:https://www.deepin.org/zh/deepin-linglong/

我觉得这个答案是最优的,所以提前预订礼品(bushi

玲珑短期对于普通用户在Linux上的感知不会很大(除非遇到依赖问题的),甚至可能运行某些应用会稍微慢0.3-0.5秒,但是对于开发者而言,这是相当利好的消息,从长远角度来看,玲珑也会为用户带来更好的Linux发行版体验。

Linux的应用生态之所以做不起来,就是因为软件包与依赖的绑定关系过强(Linux的软件包如何演化到今天的我从deepin官方摘抄下来介绍:


Linux 操作系统一直以其开源性质和灵活性而闻名,而要使 Linux 系统能够顺利安装并运行所需的软件,最关键的部分就是软件包管理器。

顾名思义,Linux 软件包管理器是一种在 Linux 操作系统上用于安装、更新和卸载软件包的工具。它的历史可以追溯到上世纪 90 年代,此时 Linux 正处于起步阶段,软件的安装必须手动下载源代码并编译,这对非技术用户来说是一项繁琐且困难的任务。

这种情况下,先后催生了 dpkg 和 rpm,然而由于不能自动解决依赖关系,其使用起来依旧不便。

直到 Debian 的 apt、Red Hat 的 up2date 的发布,包管理器可用性有了很大的提升。它们采用了一种被称为“依赖关系解决器”的算法,能够自动解决软件包之间的依赖关系,从而简化软件的安装和升级过程。但这在另一方面大大增加了复杂度,维护者们需要非常谨慎小心地处理,稍有不慎就会陷入“依赖地狱”,导致软件包系统发生故障。

此外,还有许多其他的软件包管理器,如 yum、portage 和 pacman 等。包管理器的多样性给用户带来了更多选择,但缺点也十分显著:它们的软件包无法互通,这意味着一款软件要在其他发行版上使用,可能需要被重复打包。


依赖地狱什么意思,举个还算好的例子,WPS依赖一个名称叫作shenmo、版本号为114513的软件包,没这个对应版本的软件包它不能跑,(注:此时shenmo软件就是WPS的依赖之一);

然后shenmo软件的开发者懵仙兔兔有一天推了版本号为114514的shenmo到了系统仓库,于是系统通知用户更新,于是用户一更新,shenmo软件的版本变成114514,而不是114513,所以WPS就没法跑了,接着开发者直接破防。开发者开发应用要管这个依赖多新那个依赖多新,浪费大量无意义的时间,自然不会投入于Linux开发,这也就是Linux生态疲软的根本原因

于是为了解决这个问题,在Linux内核支持容器化之后,Ubuntu推了Snap,Linux社区推了Flatpak这两个二级包管理器,它们通过一级包管理器(比如dpkg/rpm这些直接与操作系统打交道的包管理器)安装上去,并且以容器化的思想,可以让打包者把应用需要的依赖和对应版本直接加进去,应用运行时直接调用自带依赖就能启动而解决了依赖关系问题;然而,这两者带来了磁盘、内存占用较高,启动时间被不断延长的更严重问题(比如Flatpak安装一些常用的工具时,需要从X的图形驱动开始安装,下载容量动辄几百甚至上千Mb,很多应用随意采用自己做的运行时,导致小软件的体积膨胀能到100多倍,CSDN还有一篇文章专门批Flatpak:https://blog.csdn.net/leopardsaga/article/details/121504580)

在这个背景下,玲珑诞生了,它的工作原理如下(摘抄自Deepin官方文档):


  • 应用沙箱 (ll-box) :按照 OCI 标准设计的应用沙箱运行环境,利用内核 Cgroup、Namespace 特性将应用与宿主机环境隔离,限制系统资源的使用。
  • 应用管理服务 (ll-service/ll-cli) :提供应用沙箱环境创建,系统兼容性问题处理等功能。完成对应用的安装状态/运行状态管理。
  • 权限管理代理服务 (ll-dbus-proxy/ll-fuse-proxy) :提供权限管理功能,包括 DBus 接口以及文件接口。
  • 应用构建工具(ll-builder):提供容器化的应用构建环境,方便开发者在不同的环境上构建出一致性的应用。
  • 单独打包格式(uab/AppBundle):Uniontech Application Bundle,应用包封装格式,提供可直接运行的二进制包格式。
  • 仓库系统(ll-repo-server):提供包上传、下载、信息统计、查询等功能,底层存储使用 OSTree。

玲珑解决了应用容器化的问题不应该吹捧过头,这个问题Flatpak和Snap几年前就解决了,而玲珑真正做到的是同时兼顾了兼容性和应用体积,最简单的例子可以看这位坛友的帖子:https://bbs.deepin.org/post/275545

为什么会那么小?因为玲珑对Runtime严格要求(Runtime就是给应用提供一个基础运行环境),只提供官方给的Runtime(20是deepin v20基础环境,23是deepin v23基础环境),而不是像Flatpak一样从0开始打包,因此不会导致应用胡乱打包自己的Runtime而致使体积疯狂膨胀;而且玲珑的Runtime经过深度优化减小体积,对系统内组件有适当的复用,因此玲珑应用只需要保留应用本体和少部分依赖即可,同时打开速度相比Flatpak和Snap会快很多,占用也会低很多。所以玲珑如果未来着力于运行速度优化,那么我认为玲珑会是Linux二级包管理器的未来,因为相比Windows运行某些软件还会报错缺少VCRuntime/.NET xx版本,玲珑应用速度快的同时依赖全部打包到位,安装完=能正常运行

综上所述,玲珑对于没出现包管理器依赖问题的用户感知不大,但从长远来看,极大方便了开发者开发,同时又不会影响用户对于应用的体验,并且让应用开发更加规范,操作系统更加安全,最终使开发者愿意在Linux平台进行开发,用户愿意使用Linux发行版,Linux生态因此快速发展,而受益于Linux繁荣生态,甩开Windows负优化包袱的还是用户与开发者

Reply View the author
燕子大王来也!
deepin
2024-08-07 19:58
#13

意味着不会因为不小心破坏系统依赖而导致重装系统了

Reply View the author
方老四
deepin
2024-08-07 20:46
#14

windows系统开始时的应用软件,也是必须要安装才能运行,安装时会向系统目录system下安装很多文件,后来出现绿色应用,把exe文件拷贝过去就可以了。对于linux系统,玲珑软件就是这样的绿色软件,同时还可以支持多种linux发行版,这就是对普通用户的意义。

Reply View the author
mozixun
deepin
2024-08-07 22:26
#15
方老四

windows系统开始时的应用软件,也是必须要安装才能运行,安装时会向系统目录system下安装很多文件,后来出现绿色应用,把exe文件拷贝过去就可以了。对于linux系统,玲珑软件就是这样的绿色软件,同时还可以支持多种linux发行版,这就是对普通用户的意义。

绿色软件更像appimage,而不是玲珑,AppImage双击就能运行,而且没有玲珑那么严格的沙箱环境

Reply View the author
Indedeve
deepin
Backbone of ecological co-construction group
2024-08-08 03:30
#16
root

原本有些依赖是可以共享的,现在每个玲珑包都放1份

tail

玲珑环境假如包含了的某个库话就不需要再包含进去了。

Reply View the author
应用商店-小鱿鱼
Moderator
2024-08-08 11:35
#17
mozixun

其实Deepin社区对于玲珑有过相对比较完整的解释:https://www.deepin.org/zh/deepin-linglong/

我觉得这个答案是最优的,所以提前预订礼品(bushi

玲珑短期对于普通用户在Linux上的感知不会很大(除非遇到依赖问题的),甚至可能运行某些应用会稍微慢0.3-0.5秒,但是对于开发者而言,这是相当利好的消息,从长远角度来看,玲珑也会为用户带来更好的Linux发行版体验。

Linux的应用生态之所以做不起来,就是因为软件包与依赖的绑定关系过强(Linux的软件包如何演化到今天的我从deepin官方摘抄下来介绍:


Linux 操作系统一直以其开源性质和灵活性而闻名,而要使 Linux 系统能够顺利安装并运行所需的软件,最关键的部分就是软件包管理器。

顾名思义,Linux 软件包管理器是一种在 Linux 操作系统上用于安装、更新和卸载软件包的工具。它的历史可以追溯到上世纪 90 年代,此时 Linux 正处于起步阶段,软件的安装必须手动下载源代码并编译,这对非技术用户来说是一项繁琐且困难的任务。

这种情况下,先后催生了 dpkg 和 rpm,然而由于不能自动解决依赖关系,其使用起来依旧不便。

直到 Debian 的 apt、Red Hat 的 up2date 的发布,包管理器可用性有了很大的提升。它们采用了一种被称为“依赖关系解决器”的算法,能够自动解决软件包之间的依赖关系,从而简化软件的安装和升级过程。但这在另一方面大大增加了复杂度,维护者们需要非常谨慎小心地处理,稍有不慎就会陷入“依赖地狱”,导致软件包系统发生故障。

此外,还有许多其他的软件包管理器,如 yum、portage 和 pacman 等。包管理器的多样性给用户带来了更多选择,但缺点也十分显著:它们的软件包无法互通,这意味着一款软件要在其他发行版上使用,可能需要被重复打包。


依赖地狱什么意思,举个还算好的例子,WPS依赖一个名称叫作shenmo、版本号为114513的软件包,没这个对应版本的软件包它不能跑,(注:此时shenmo软件就是WPS的依赖之一);

然后shenmo软件的开发者懵仙兔兔有一天推了版本号为114514的shenmo到了系统仓库,于是系统通知用户更新,于是用户一更新,shenmo软件的版本变成114514,而不是114513,所以WPS就没法跑了,接着开发者直接破防。开发者开发应用要管这个依赖多新那个依赖多新,浪费大量无意义的时间,自然不会投入于Linux开发,这也就是Linux生态疲软的根本原因

于是为了解决这个问题,在Linux内核支持容器化之后,Ubuntu推了Snap,Linux社区推了Flatpak这两个二级包管理器,它们通过一级包管理器(比如dpkg/rpm这些直接与操作系统打交道的包管理器)安装上去,并且以容器化的思想,可以让打包者把应用需要的依赖和对应版本直接加进去,应用运行时直接调用自带依赖就能启动而解决了依赖关系问题;然而,这两者带来了磁盘、内存占用较高,启动时间被不断延长的更严重问题(比如Flatpak安装一些常用的工具时,需要从X的图形驱动开始安装,下载容量动辄几百甚至上千Mb,很多应用随意采用自己做的运行时,导致小软件的体积膨胀能到100多倍,CSDN还有一篇文章专门批Flatpak:https://blog.csdn.net/leopardsaga/article/details/121504580)

在这个背景下,玲珑诞生了,它的工作原理如下(摘抄自Deepin官方文档):


  • 应用沙箱 (ll-box) :按照 OCI 标准设计的应用沙箱运行环境,利用内核 Cgroup、Namespace 特性将应用与宿主机环境隔离,限制系统资源的使用。
  • 应用管理服务 (ll-service/ll-cli) :提供应用沙箱环境创建,系统兼容性问题处理等功能。完成对应用的安装状态/运行状态管理。
  • 权限管理代理服务 (ll-dbus-proxy/ll-fuse-proxy) :提供权限管理功能,包括 DBus 接口以及文件接口。
  • 应用构建工具(ll-builder):提供容器化的应用构建环境,方便开发者在不同的环境上构建出一致性的应用。
  • 单独打包格式(uab/AppBundle):Uniontech Application Bundle,应用包封装格式,提供可直接运行的二进制包格式。
  • 仓库系统(ll-repo-server):提供包上传、下载、信息统计、查询等功能,底层存储使用 OSTree。

玲珑解决了应用容器化的问题不应该吹捧过头,这个问题Flatpak和Snap几年前就解决了,而玲珑真正做到的是同时兼顾了兼容性和应用体积,最简单的例子可以看这位坛友的帖子:https://bbs.deepin.org/post/275545

为什么会那么小?因为玲珑对Runtime严格要求(Runtime就是给应用提供一个基础运行环境),只提供官方给的Runtime(20是deepin v20基础环境,23是deepin v23基础环境),而不是像Flatpak一样从0开始打包,因此不会导致应用胡乱打包自己的Runtime而致使体积疯狂膨胀;而且玲珑的Runtime经过深度优化减小体积,对系统内组件有适当的复用,因此玲珑应用只需要保留应用本体和少部分依赖即可,同时打开速度相比Flatpak和Snap会快很多,占用也会低很多。所以玲珑如果未来着力于运行速度优化,那么我认为玲珑会是Linux二级包管理器的未来,因为相比Windows运行某些软件还会报错缺少VCRuntime/.NET xx版本,玲珑应用速度快的同时依赖全部打包到位,安装完=能正常运行

综上所述,玲珑对于没出现包管理器依赖问题的用户感知不大,但从长远来看,极大方便了开发者开发,同时又不会影响用户对于应用的体验,并且让应用开发更加规范,操作系统更加安全,最终使开发者愿意在Linux平台进行开发,用户愿意使用Linux发行版,Linux生态因此快速发展,而受益于Linux繁荣生态,甩开Windows负优化包袱的还是用户与开发者

你这个深度剖析的程度,我觉得我需要联系你当个好兄弟

Reply View the author
Amber
deepin
2024-08-08 12:05
#18

不会缺依赖,系统升级不会炸,更安全,卸载软件也不用担心其他软件的依赖一同被搞掉,更稳定

Reply View the author
Amber
deepin
2024-08-08 12:09
#19
mozixun

其实Deepin社区对于玲珑有过相对比较完整的解释:https://www.deepin.org/zh/deepin-linglong/

我觉得这个答案是最优的,所以提前预订礼品(bushi

玲珑短期对于普通用户在Linux上的感知不会很大(除非遇到依赖问题的),甚至可能运行某些应用会稍微慢0.3-0.5秒,但是对于开发者而言,这是相当利好的消息,从长远角度来看,玲珑也会为用户带来更好的Linux发行版体验。

Linux的应用生态之所以做不起来,就是因为软件包与依赖的绑定关系过强(Linux的软件包如何演化到今天的我从deepin官方摘抄下来介绍:


Linux 操作系统一直以其开源性质和灵活性而闻名,而要使 Linux 系统能够顺利安装并运行所需的软件,最关键的部分就是软件包管理器。

顾名思义,Linux 软件包管理器是一种在 Linux 操作系统上用于安装、更新和卸载软件包的工具。它的历史可以追溯到上世纪 90 年代,此时 Linux 正处于起步阶段,软件的安装必须手动下载源代码并编译,这对非技术用户来说是一项繁琐且困难的任务。

这种情况下,先后催生了 dpkg 和 rpm,然而由于不能自动解决依赖关系,其使用起来依旧不便。

直到 Debian 的 apt、Red Hat 的 up2date 的发布,包管理器可用性有了很大的提升。它们采用了一种被称为“依赖关系解决器”的算法,能够自动解决软件包之间的依赖关系,从而简化软件的安装和升级过程。但这在另一方面大大增加了复杂度,维护者们需要非常谨慎小心地处理,稍有不慎就会陷入“依赖地狱”,导致软件包系统发生故障。

此外,还有许多其他的软件包管理器,如 yum、portage 和 pacman 等。包管理器的多样性给用户带来了更多选择,但缺点也十分显著:它们的软件包无法互通,这意味着一款软件要在其他发行版上使用,可能需要被重复打包。


依赖地狱什么意思,举个还算好的例子,WPS依赖一个名称叫作shenmo、版本号为114513的软件包,没这个对应版本的软件包它不能跑,(注:此时shenmo软件就是WPS的依赖之一);

然后shenmo软件的开发者懵仙兔兔有一天推了版本号为114514的shenmo到了系统仓库,于是系统通知用户更新,于是用户一更新,shenmo软件的版本变成114514,而不是114513,所以WPS就没法跑了,接着开发者直接破防。开发者开发应用要管这个依赖多新那个依赖多新,浪费大量无意义的时间,自然不会投入于Linux开发,这也就是Linux生态疲软的根本原因

于是为了解决这个问题,在Linux内核支持容器化之后,Ubuntu推了Snap,Linux社区推了Flatpak这两个二级包管理器,它们通过一级包管理器(比如dpkg/rpm这些直接与操作系统打交道的包管理器)安装上去,并且以容器化的思想,可以让打包者把应用需要的依赖和对应版本直接加进去,应用运行时直接调用自带依赖就能启动而解决了依赖关系问题;然而,这两者带来了磁盘、内存占用较高,启动时间被不断延长的更严重问题(比如Flatpak安装一些常用的工具时,需要从X的图形驱动开始安装,下载容量动辄几百甚至上千Mb,很多应用随意采用自己做的运行时,导致小软件的体积膨胀能到100多倍,CSDN还有一篇文章专门批Flatpak:https://blog.csdn.net/leopardsaga/article/details/121504580)

在这个背景下,玲珑诞生了,它的工作原理如下(摘抄自Deepin官方文档):


  • 应用沙箱 (ll-box) :按照 OCI 标准设计的应用沙箱运行环境,利用内核 Cgroup、Namespace 特性将应用与宿主机环境隔离,限制系统资源的使用。
  • 应用管理服务 (ll-service/ll-cli) :提供应用沙箱环境创建,系统兼容性问题处理等功能。完成对应用的安装状态/运行状态管理。
  • 权限管理代理服务 (ll-dbus-proxy/ll-fuse-proxy) :提供权限管理功能,包括 DBus 接口以及文件接口。
  • 应用构建工具(ll-builder):提供容器化的应用构建环境,方便开发者在不同的环境上构建出一致性的应用。
  • 单独打包格式(uab/AppBundle):Uniontech Application Bundle,应用包封装格式,提供可直接运行的二进制包格式。
  • 仓库系统(ll-repo-server):提供包上传、下载、信息统计、查询等功能,底层存储使用 OSTree。

玲珑解决了应用容器化的问题不应该吹捧过头,这个问题Flatpak和Snap几年前就解决了,而玲珑真正做到的是同时兼顾了兼容性和应用体积,最简单的例子可以看这位坛友的帖子:https://bbs.deepin.org/post/275545

为什么会那么小?因为玲珑对Runtime严格要求(Runtime就是给应用提供一个基础运行环境),只提供官方给的Runtime(20是deepin v20基础环境,23是deepin v23基础环境),而不是像Flatpak一样从0开始打包,因此不会导致应用胡乱打包自己的Runtime而致使体积疯狂膨胀;而且玲珑的Runtime经过深度优化减小体积,对系统内组件有适当的复用,因此玲珑应用只需要保留应用本体和少部分依赖即可,同时打开速度相比Flatpak和Snap会快很多,占用也会低很多。所以玲珑如果未来着力于运行速度优化,那么我认为玲珑会是Linux二级包管理器的未来,因为相比Windows运行某些软件还会报错缺少VCRuntime/.NET xx版本,玲珑应用速度快的同时依赖全部打包到位,安装完=能正常运行

综上所述,玲珑对于没出现包管理器依赖问题的用户感知不大,但从长远来看,极大方便了开发者开发,同时又不会影响用户对于应用的体验,并且让应用开发更加规范,操作系统更加安全,最终使开发者愿意在Linux平台进行开发,用户愿意使用Linux发行版,Linux生态因此快速发展,而受益于Linux繁荣生态,甩开Windows负优化包袱的还是用户与开发者

你这个举例暗藏玄机pride

Reply View the author
mozixun
deepin
2024-08-08 12:48
#20
Amber

你这个举例暗藏玄机pride

被你发现了joy

Reply View the author
1 / 2
To page