# Ll-Cli-Tool-GUI **Repository Path**: ChaoYouAi/ll-cli-tool-gui ## Basic Information - **Project Name**: Ll-Cli-Tool-GUI - **Description**: 一款基于 Rust 开发的 Linux 离线包管理工具,专为 Deepin/UOS 设计的离线包安装工具,支持玲珑/Linglong、Flatpak 和 Snap 格式的离线安装,提供安全沙盒和跨架构支持。 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-06 - **Last Updated**: 2025-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 玲珑离线包安装工具 [![Rust](https://img.shields.io/badge/Rust-1.65+-blue.svg)](https://www.rust-lang.org) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Rust](https://img.shields.io/badge/Rust-1.70%2B-orange)](https://www.rust-lang.org/) ![Supports](https://img.shields.io/badge/Supports-.uab%2C%20Flatpak%2C%20Snap-green) 一款基于 Rust 开发的 Linux 离线包管理工具,专为 Deepin/UOS 设计的离线包安装工具,支持玲珑/Linglong、Flatpak 和 Snap 格式的离线安装,提供安全沙盒和跨架构支持。 ## 功能特性 - 🚀 **多格式支持**:玲珑包 (`.uab/.lling`)、Flatpak Bundle (.flatpak)、Snap 包 (.snap) - 🔒 **沙盒安全**:基于 PolicyKit 的细粒度权限控制 - 📦 **依赖检测**:自动验证运行时环境完整性 - 🌐 **多语言支持**:中文/英文界面自动适配 - 📊 **进度可视化**:实时显示安装进度和日志输出 --- #### **核心功能** | 功能 | 描述 | |------|------| | **离线安装** | 无需网络,直接安装 `.uab`/`.flatpak`/`.snap` 包 | | **增量更新** | 通过 `.uabdelta` 格式减少 70% 更新体积 | | **跨架构支持** | 支持 `x86_64 ↔ aarch64` 架构互转 | | **沙盒隔离** | 基于 Linux 命名空间和 cgroups 的进程隔离 | | **权限管理** | Polkit 细粒度权限控制,支持运行时权限调整 | | **多语言界面** | 中文/英文界面自动适配 | --- ## 🛠 系统要求 ### 硬件要求 - **处理器**: x86_64 或 aarch64 架构 - **内存**: 最低 512MB - **存储**: 1GB 可用空间 ### 软件依赖 | 组件 | Debian/Ubuntu | Fedora | Arch Linux | |---------------|------------------------------------|------------------------------------|------------------------------------| | **核心依赖** | `policykit-1 curl` | `polkit curl` | `polkit curl` | | **玲珑支持** | [安装指南](https://linglong.dev) | [安装指南](https://linglong.dev) | [安装指南](https://linglong.dev) | | **Flatpak** | `flatpak` | `flatpak` | `flatpak` | | **Snap** | `snapd` | `snapd` | `snapd` (需 AUR) | --- ## 📦 安装指南 ### 从源码编译 ```bash # 安装构建依赖 sudo apt install build-essential bsdiff patchelf qemu-user-static # 克隆仓库 git clone https://github.com/your-repo/linglong-rs.git cd linglong-rs # 编译并安装 cargo build --release sudo cp target/release/linglong-{gui,cli} /usr/local/bin/ # 安装策略文件 sudo cp data/org.deepin.linglong.install.policy /usr/share/polkit-1/actions/ ``` ## 使用方法 ## 🖥 使用说明 ### 图形界面 ```bash linglong-gui # 启动图形界面 ``` ![GUI 截图](docs/screenshot.png) ### 命令行模式 ```bash # 安装离线包 linglong-cli install /path/to/package.uab # 增量更新 linglong-cli update --base old.uab --delta delta.uabdelta # 跨架构转换 linglong-cli convert-arch --input x86_64.uab --output arm64.uab --target aarch64 # 卸载应用 linglong-cli uninstall com.example.app ``` ## 常见问题解决 ### 1. 依赖缺失错误 ```bash # 玲珑运行时检测 ll-cli list | grep "runtime" # Flatpak 运行时安装 flatpak install flathub org.gnome.Platform//45 ### 2. 权限验证失败 ```bash # 重置 PolicyKit 认证 pkexec --user root "echo 'PolicyKit reset done'" # 验证策略文件位置 ls /usr/share/polkit-1/actions | grep linglong ``` ### 3. Snap 安装警告 ```bash # 信任本地签名 sudo snap ack /path/to/assertion.file # 经典模式安装 sudo snap install --classic --dangerous package.snap ``` --- ## 📜 注意事项 - ⚠️ **危险模式警告** Snap 的 `--dangerous` 和 `--classic` 模式需谨慎使用,建议仅安装可信来源的包 - 🔄 **沙盒策略更新** 定期运行 `ll-cli update` 更新沙盒安全策略 - 💾 **存储空间监控** 安装前自动检测剩余空间,需至少保留 2 倍包大小的空闲容量 `