mirror of https://github.com/linuxdeepin/linglong
6.9 KiB
6.9 KiB
Overview
linyaps, an open source package format developed by UnionTech Software, is designed to manage, distribute, create sandboxes for packages, and integrate development tools, instead of using package management tools such as deb or rpm.
Current Issues with Package Managers
- Both
debandrpmare strongly-dependent package management systems that allow complex cross dependencies (or circular dependencies) between components, which makes maintenance a matter of great expertise. A little carelessness will lead to a complete system failure that cannot be repaired. - Installation dependencies and running dependencies are coupled so that multiple versions can hardly coexist. Although
debandrpmhave provided several solutions to solve the multi-version coexistence problem, these solutions require changes in source code and are infeasible. - The
Hooksystem is complex and has no restrictions, through which many operations can damage the system. - They have insufficient reliability, no redundant recovery design, and a lack of verification mechanisms. Once the package management system fails, the system can hardly be repaired.
- The permissions of
debandrpmare loosely controlled with significant security risks. - The current package updates do not support incremental updates, which is a great waste of resources.
Advantages of Linyaps
- Improve usability and solve the dependency conflict problem of
debandrpm. - Implement the application permission management mechanism to strengthen security.
- Support incremental updates of applications.
Comparison
| Feature | Linyaps | Flatpak | Snap | AppImage |
|---|---|---|---|---|
| Desktop Application Packaging | ✔ | ✔ | ✔ | ✔ |
| Terminal Application Packaging | ✔ | ✔ | ✔ | ✔ |
| Server Application Handling | ✔ | ✘ | ✔ | ✘ |
| System Service Packaging (root privileges) | ✘ | ✘ | ✔ | ✘ |
| Theme Functionality Normal | ✔ | ✔ | ✔ | ✔ |
| Library Hosting Service Provided | ✔ | ✘ | ✘ | ✘ |
| Library/Dependency Source | Package carries its own | |||
| Host System | Package carries its own | |||
| SDK | Package carries its own | |||
| Snap Base | ||||
| Commercial Support | ✔ | ✘ | ✔ | ✘ |
| Number of App Stores | Estimated 4700+ | 1400+ | 6600+ | 1300+ |
| Development Tool Support | linglong-builder | GNOME Builder | electron-builder | |
| Container Support | ✔ | ✔ | ✔ | ◐ (Not officially provided, technically feasible) |
| Rootless Container | ✔ | ✘ | ✘ | ✘ |
| Run Without Installation | ✔ (Provides Bundle Mode) | ✘ | ✘ | ✔ |
| Run Without Extraction | ✔ (Provides Bundle Mode) | ✘ | ✔ | ✔ |
| Self-distribution/Green Format Distribution | ✔ | ✘ | ✘ | ✔ |
| Wine Application Support | ✔ | ◐ (Theoretically feasible | ◐ (Theoretically feasible) | ◐ (Uses LD to modify open calls, poor compatibility) |
| Offline Environment Support | ✔ | ✔ | ✔ | ✔ |
| Permission Management | ✔ | ✔ | ✔ | ✘ |
| Central Repository | mirror-repo-linglong.deepin.com | FlatHub | Snap Store | AppImageHub |
| Multi-version Coexistence | ✔ | ✔ | ✔ | ✔ |
| Peer-to-peer Distribution | ✔ | ✔ | ✔ | ✔ |
| Application Upgrade | Repository upgrade | Repository upgrade | Repository upgrade | Official tool upgrade |