Go to file
dengbo 9dc77de0b8
build / ubuntu_24.04 (push) Has been cancelled Details
build / ubuntu_22.04 (push) Has been cancelled Details
coverage / codecov (push) Has been cancelled Details
i18n: add policy file for translation (#1512)
Merging translation can be done using deepin-policy-ts-convert utility.

Log:

Co-authored-by: Wang Zichong <wangzichong@deepin.org>
2025-11-20 11:08:21 +08:00
.github/workflows refactor: improve code organization in layer packager 2025-08-14 09:43:33 +08:00
.obs feat: update obs workflows 2024-12-19 16:31:45 +08:00
.tx i18n: add policy file for translation (#1512) 2025-11-20 11:08:21 +08:00
LICENSES fix: remove vendor qdbusxml2cpp 2025-07-22 14:21:12 +08:00
api feat: enable git submodule fetching with environment variable control 2025-09-19 15:57:13 +08:00
apps fix: Refactors logging system initialization to use explicit backend 2025-11-14 14:56:49 +08:00
cmake fix: remove vendor qdbusxml2cpp 2025-07-22 14:21:12 +08:00
cmake.external chore: remove docopt 2024-11-01 10:56:18 +08:00
cmake.fix build: backport to UOS v20 2024-04-17 20:55:14 +08:00
docs docs: Update installation instructions 2025-08-21 11:39:31 +08:00
external feat: add new fmt based logging system 2025-08-05 16:28:53 +08:00
libs fix: Refactors logging system initialization to use explicit backend 2025-11-14 14:56:49 +08:00
misc i18n: add policy file for translation (#1512) 2025-11-20 11:08:21 +08:00
po chore: update translation files 2025-09-11 21:11:38 +08:00
tools feat: enable git submodule fetching with environment variable control 2025-09-19 15:57:13 +08:00
.clang-format chore: update .clang-format 2025-05-14 11:35:50 +08:00
.cmake-format.py build: refact build process 2023-10-11 13:35:51 +08:00
.deepsource.toml chore: update deepsource config 2025-08-04 10:57:01 +08:00
.editorconfig feat: support module split files 2024-10-15 14:18:40 +08:00
.gitignore feat: use ll-box in ll-builder-utils when export UAB 2025-04-28 15:13:11 +08:00
.gitmodules fix: correct gitsubmodule 2024-03-05 20:48:05 +08:00
BUILD.md docs: add build dependencies to build.md 2025-03-11 21:22:32 +08:00
BUILD.zh_CN.md docs: add build dependencies to build.md 2025-03-11 21:22:32 +08:00
CMakeLists.txt fix: add DBusPrivate to Qt6 find_package 2025-10-30 20:16:36 +08:00
CMakePresets.json fix: Remove hardcoded color diagnostics 2025-09-09 21:19:59 +08:00
LICENSE docs: update license 2022-12-06 15:43:14 +08:00
README.md docs: Update linyaps and linyaps-pica installation documentation 2025-08-20 09:46:07 +08:00
README.zh_CN.md style: format code with ClangFormat and Prettier 2025-08-21 09:50:58 +08:00
REUSE.toml i18n: add policy file for translation (#1512) 2025-11-20 11:08:21 +08:00
configure.h.in fix: the context menu of the file manager displays abnormally 2025-07-02 09:47:35 +08:00
linglong.yaml style: format code with ClangFormat and Prettier 2025-09-05 10:24:25 +08:00
release.bash chore: add missing SPDX comment 2025-03-24 14:21:02 +08:00

README.md

Linyaps: Next-Gen Universal Package Manager for Linux

📦 Introduction

English | 简体中文

Contributors Latest Release Powered by Linyaps Build Status DeepSource

GitHub Stars GitHub Forks Code Size GitHub Issues

Packaging status

Linyaps (Linyaps Is Not Yet Another Packaging System) is a cross-distribution Linux package format developed and open-sourced by the Linyaps community. It implements application packaging, management, and distribution through independent sandbox containers, aiming to replace traditional package managers like deb and rpm. Linyaps ensures Linux software runs with better compatibility, security, and efficiency.

Highlights

  • Innovative Partial Runtime Design: Based on a standardized sandbox Runtime, applications can be built once and run across all Linux distributions. Multiple Runtime versions coexist with shared files to reduce redundancy. Shared resources are reused during startup via dynamic libraries, significantly improving speed and avoiding dependency conflicts.
  • Non-Privileged Sandbox with Dual-Layer Isolation: Runs without root privileges by default. Utilizes kernel Namespace isolation (process/filesystem/network) to create a secure sandbox. Atomic incremental updates and version rollbacks are provided via OSTree repositories, resulting in lower resource consumption compared to full sandbox solutions.

🎏 Progress

  • Supported Distributions: deepin, UOS, openEuler, Ubuntu, Debian, openKylin, Anolis OS. More distributions are under adaptation. Contributions are welcome.
  • CPU Architectures: X86, ARM64, LoongArch. Future support for RISC-V and others.

⚙️ Installation

Installation instructions for supported distributions:

deepin 23

Install:

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

🚀 Quick Start

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

🎯 Motivation

Why develop Linyaps when Snap, Flatpak, and AppImage already exist?

  • In 2017, we evaluated Flatpak and built 100+ packages, but discontinued due to large application size, excessive disk usage, and slow security fixes.
  • Snap has compatibility issues outside Ubuntu and lacks an open ecosystem.
  • AppImage offers portability but lacks centralized repository management and robust sandboxing, compromising security.

After extensive experimentation, we designed Linyaps to address these shortcomings. Key advantages over alternatives include:

  • Partial Runtime: Smaller footprint and faster startup via shared resources.
  • Rootless Sandbox: Enhanced security without requiring root privileges.

Benchmark results demonstrate Linyaps' performance superiority:

Test # Linyaps Frames Linyaps Time (ms) Flatpak Frames Flatpak Time (ms) AppImage Frames AppImage Time (ms) Snap Frames Snap Time (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
Avg 8.5 141.1 12.8 213.7 15.6 261.6 40.5 676.2

📨 Getting Help

For assistance, use the following channels:

📝 Documentation

Command-line Tools

Build Tools

Package Conversion Tools

deb Conversion

AppImage Conversion

Flatpak Conversion

Debugging

FAQs

📖 Learning Resources

Tutorial Series

Explore more tutorials at Linyaps Official Website.

⚒️ Contribution

We welcome issue reports and contributions. See the Build Guide for instructions on building Linyaps from source.

Start discussions on GitHub Discussions.

⚖️ License

Licensed under LGPL-3.0-or-later.

👥 Community

Acknowledgment to all contributors! Visit our Community Page.

Contributors

If Linyaps helps you, consider giving it a Star or Fork.