有人曾问小编道:如意玲珑主要是希望解决什么问题?
小编答曰:为了促进Linux生态发展呀!
那个人抬杠:Linux虽然发展得一般,但是生态一直很繁荣啊(笑而不语)
确实繁荣,不信你看,光软件包格式就有:deb、rpm、Flatpak、Snap、AppImage……
国际惯例,打不过就加入!于是有了我们的:如意玲珑 !
咱们全新加入了 1)layer格式(联网安装包)以及 2)uab格式(离线运行包)
当然加入不是为了让Linux生态更“繁荣”,而是为了给Linux生态带来一个真正高效的解决方案。
众所周知,传统Linux软件包管理器存在这些问题:
1)deb、rpm都属于强依赖型的包管理系统,同时允许各个组件之间有复杂的交叉依赖(或循环依赖)关系。这使得维护包管理系统需要极强的专业知识,稍有不慎,就会导致系统彻底故障,无法修复。
2)安装依赖和运行依赖耦合,多版本共存困难。rpm和 deb虽然提供了方案来解决多版本共存的问题,但是这些方案要求源码级别的改动,不具备实施的可行性。
3)Hook系统设计复杂,没有限制,可以通过 Hook系统做很多破坏系统的操作。
4)可靠性不足,没有冗余的恢复设计,缺乏校验机制。一旦包管理系统故障,系统基本没有修复的可能性。
5)deb、rpm权限管控松散,可能允许恶意软件或未经授权的用户访问敏感数据,有较大的安全风险。
6)当前包更新不支持增量更新,对资源有较大浪费。
那说到这里,你们又会说:
Flatpak、Snap和AppImage也能解决部分以上所提到的问题,那如意玲珑的优势到底是什么呢?
总结就是:人无我有,人有我优!细节请看:
特性 | 如意玲珑 | Flatpak | Snap | AppImage |
---|---|---|---|---|
打包桌面应用 | ✔ | ✔ | ✔ | ✔ |
打包终端应用 | ✔ | ✔ | ✔ | ✔ |
处理服务器应用 | ✔ | ✘ | ✔ | ✘ |
打包系统服务(root 权限) | ✘ | ✘ | ✔ | ✘ |
主题功能正常 | ✔ | ✔ | ✔ | ✔ |
提供库托管服务 | ✔ | ✘ | ✘ | ✘ |
商业支持 | ✔ | ✘ | ✔ | ✘ |
容器支持 | ✔ | ✔ | ✔ | ◐ (官方不提供) |
rootless 容器 | ✔ | ✔ | ✘ | ✘ |
不安装运行 | ✔ | ✘ | ✘ | ✔ |
不解压运行 | ✔ | ✘ | ✔ | ✔ |
自分发/绿色格式分发 | ◐ | ✘ | ✘ | ✔ |
支持 Wine 应用运行 | ◐ (适配中) | ◐ (理论可行 | ◐ (理论可行) | ◐ (兼容性差) |
离线环境支持 | ✔ | ✔ | ✔ | ✔ |
权限管理 | ✔ | ✔ | ✔ | ✘ |
多版本共存 | ✔ | ✔ | ✔ | ✔ |
点对点分发 | ✔ | ✔ | ✔ | ✔ |
应用升级 | 仓库升级 | 仓库升级 | 仓库升级 | 官方工具升级 |
如意玲珑主要针对Linux软件包管理体系常见的问题,针对性的改进升级了以下这些内容:
- 提升易用性,解决 deb、rpm依赖冲突问题
- 加强安全防护,实现了应用权限管理机制
- 包自身携带库/依赖来源、宿主系统及SDK
- 提供 Bundle 模式,支持不安装、不解压运行
- 支持应用增量更新
- 支持处理服务器应用
- 提供库托管服务
并在持续迭代中……
如意玲珑,更为高效,更能适应不同的开发场景
如意玲珑通过统一发布和调用系统已有的运行时(Runtime),在解决应用体积膨胀、启动速度慢以及权限管理问题方面进行了特别的优化。与 Flatpak 和 Snap 相比,如意玲珑对磁盘空间的需求大幅减少,同时启动速度也更快。
与传统的包管理体系(例如 Debian 和 Red Hat 的包管理体系)相比,如意玲珑应用需要在独立的沙盒环境中运行。通过限制应用与系统的交互、优化权限管理,大幅地提高了应用安全性。
此外,如意玲珑独有的离线包格式 uab 提供了 Bundle 模式,支持不安装、不解压即可运行软件。
在开发效率层面,如意玲珑还办了件与众不同的大事:
独有的应用转制工具:ll-pica,支持将其他格式包快速“玲珑化”
在如意玲珑最新发布的 1.6.3版本中,ll-pica上线了两个全新的转制工具:
1)ll-appimage-convert
2)ll-pica-flatpak
截止目前,ll-pica 现已支持deb、appimage和flatpak格式应用快速转制
● 工具由linglong-pica提供,支持生成构建玲珑应用需要的linglong.yaml文件,并依赖 ll-builder 来将 appimage 或 flatpak 包构建及导出为玲珑格式(layer 或 uab)。
● 转换工具只是辅助工具,并不能保证被转换的应用一定能运行,可能软件本身依赖库的安装路径或其他配置路径与玲珑内部路径不统一,导致无法运行,需要使用 ll-builder run –exec bash 命令进入容器调试
● 具体的应用转换教程可以访问 如意玲珑社区官网 www.linglong.space / 文档中心查看
● ll-pica主要依赖玲珑和golang,目前仅在deepin 23上兼容适配,其他发行版理论上可用,欢迎自行探索
新版本1.6.3 更新说明
● 当前如意玲珑新版本1.6.3仅限deepin 23内测用户可获取,需要更新系统至最新版本(该版本其他发行版暂未正式推送)。
● 加入deepin内测:系统控制中心-更新-更新设置-加入内测通道。
● 或通过deepin应用商店安装“玲珑转制工具”即可使用最新版本ll-pica。参考如下:
新版本1.6.3更新日志
新功能:
1)玲珑应用支持读取U盘目录和文件;
2)新增ll-pica-flatpak工具,支持flatpak格式转制为玲珑格式;
Bug修复:
1)修复升级玲珑包时脚本执行失败的问题;
2)修复安装玲珑应用时执行其它命令被阻塞的问题;
3)修复应用名字过长时查看应用列表的显示问题;
发表回复