linglong/README.zh_CN.md

15 KiB
Raw Permalink Blame History

如意玲珑图标如意玲珑:更先进的 Linux 跨发行版软件包管理工具集

📦 介绍

English | 简体中文

Contributors Latest Release Powered by Linyaps Build Status DeepSource

GitHub Stars GitHub Forks Code Size GitHub Issues

Packaging status

如意玲珑Linyaps Is Not Yet Another Packaging System是由如意玲珑社区团队开发并开源共建的Linux 跨发行版软件包格式,项目以独立沙盒容器的形式实现应用包的开发、管理、分发,用于替代 deb、rpm 等传统包管理工具,让 Linux 软件运行更兼容、更安全、更高效。

亮点

  • 独创的非全量运行时Runtime设计:基于标准化沙箱 Runtime应用一次构建即可覆盖所有 Linux 发行版。Runtime 多版本共存且文件共享减少冗余,启动时通过动态库共享复用已加载资源,速度提升显著,避免依赖冲突
  • 非特权沙箱与双层隔离:默认无 root 权限运行,通过内核 Namespace 隔离(进程/文件系统/网络等)构建安全沙箱。通过 OSTree 仓库提供原子化增量更新与版本回滚,相比全量沙箱方案,资源占用更低

🎏 进展

  • 发行版支持deepin、UOS、openEuler、Ubuntu、Debian、openKylin、Anolis OS更多发行版适配中欢迎参与贡献。
  • CPU 架构支持X86、ARM64、LoongArch未来将提供对 RISC-V 等更多架构的支持。

⚙️ 安装

各个发行版安装方式如下:

deepin 23

安装:

echo "deb [trusted=yes] https://ci.deepin.com/repo/obs/linglong:/CI:/release/Deepin_23/ ./" | sudo tee /etc/apt/sources.list.d/linglong.list
sudo apt update
sudo apt install linglong-bin

Fedora 41

sudo dnf config-manager addrepo --from-repofile "https://ci.deepin.com/repo/obs/linglong:/CI:/release/Fedora_41/linglong%3ACI%3Arelease.repo"
sudo dnf update
sudo dnf install linglong-bin

Ubuntu 24.04

echo "deb [trusted=yes] https://ci.deepin.com/repo/obs/linglong:/CI:/release/xUbuntu_24.04/ ./" | sudo tee /etc/apt/sources.list.d/linglong.list
sudo apt update
sudo apt install linglong-bin

Debian 12

echo "deb [trusted=yes] https://ci.deepin.com/repo/obs/linglong:/CI:/release/Debian_12/ ./" | sudo tee /etc/apt/sources.list.d/linglong.list
sudo apt update
sudo apt install linglong-bin

openEuler 23.09

sudo dnf config-manager --add-repo "https://ci.deepin.com/repo/obs/linglong:/CI:/release/openEuler_23.09/linglong%3ACI%3Arelease.repo"
sudo sh -c "echo gpgcheck=0 >> /etc/yum.repos.d/linglong%3ACI%3Arelease.repo"
sudo dnf update
sudo dnf install linglong-bin

uos 1070

echo "deb [trusted=yes] https://ci.deepin.com/repo/obs/linglong:/CI:/release/uos_1070/ ./" | sudo tee /etc/apt/sources.list.d/linglong.list
sudo apt update
sudo apt install linglong-bin

AnolisOS 8

sudo dnf config-manager addrepo --from-repofile "https://ci.deepin.com/repo/obs/linglong:/CI:/release/AnolisOS_8/linglong%3ACI%3Arelease.repo"
sudo dnf update
sudo dnf install linglong-bin

openkylin 2.0

echo "deb [trusted=yes] https://ci.deepin.com/repo/obs/linglong:/CI:/release/openkylin_2.0/ ./" | sudo tee /etc/apt/sources.list.d/linglong.list
sudo apt update
sudo apt install linglong-bin

🚀 快速开始

ll-cli install cn.org.linyaps.demo
ll-cli run cn.org.linyaps.demo

🎯 动机

在已经有 Snap、Flatpak、AppImage 这些已有项目情况下,我们开发如意玲珑包管理系统有以下几个原因:

  • 2017 年,我们对 Flatpak 格式进行了研究,完成了 100+ 的软件包构建工作,后因其应用体积较大,磁盘占用过多、安全问题修复缓慢等各种原因没有继续适配。
  • Snap 在除 Ubuntu 系统环境外有诸多兼容性问题,生态也不开放,因此也无法使用。
  • AppImage 有着不错的可移植性,这些应用可以很轻松地在其他发行版上使用。但它没有集中的仓库存储和软件包管理功能,默认也不提供 Snap、Flatpak 同一级别的沙箱,安全性无法保障。

在经历过种种“折腾”后,基于对各类包管理器的了解,我们决定自己设计一套软件包管理系统。相比其他同类软件包格式,如意玲珑在启动速度、资源占用、安全性方面有诸多优势:

  • 使用非全量运行时Runtime整体体积较小由于复用同一运行时应用启动速度会更快
  • 支持 rootless非特权沙盒。

由于在运行时和沙箱上的优化,玲珑有着比较显著的启动时间优势:

测试次数 linyaps 间隔帧数 linyaps 启动耗时ms Flatpak 间隔帧数 Flatpak 启动耗时ms AppImage 间隔帧数 AppImage 启动耗时ms Snap 间隔帧数 Snap 启动耗时ms
1 9 149.4 14 232.4 16 265.6 42 697.2
2 9 149.4 13 215.8 17 282.2 41 680.6
3 8 132.8 9 149.4 15 249 40 664
4 9 149.4 13 215.8 15 249 41 680.6
5 8 132.8 14 232.4 16 265.6 42 697.2
6 8 132.8 13 215.8 15 249 39 664
7 9 149.4 12 199.2 15 249 39 647.4
8 8 132.8 14 232.4 16 265.6 40 680.6
平均 8.5 141.1 12.8 213.7 15.6 261.6 40.5 676.2

📨 获取帮助

任何使用问题都可以通过以下方式寻求帮助。

📝 文档导航

命令行工具

构建工具

包转换工具

deb 包转换

AppImage 包转换

Flatpak 包转换

调试

常见问题

📖 学习和参考

入门指南

构建和打包

参考文档

高级主题

系列教程

相关项目

更多课程可参考如意玲珑官网:https://linyaps.org.cn/learn

⚒️ 参与

我们鼓励您报告问题并贡献更改。查看 开发者指南 以获取从源代码构建 linyaps 的说明。

您可以在 Discussions 上发起话题讨论。

⚖️ 许可证

本项目使用 LGPL-3.0-or-later 许可发布。

👥 社区和贡献

感谢所有已经做出贡献的人!请参阅我们的社区页面

Contributors

若如意玲珑项目对你有所帮助,或者你觉得它有用,欢迎点击该项目的 StarFork 图标。