如意玲珑支持发行版再添新成员,openEuler安装使用如意玲珑操作指南

news2024/12/26 11:48:49

 查看原文

如意玲珑(Linyaps)项目已与开放原子开源基金会完成捐赠协议签署,目前如意玲珑已成为基金会的正式孵化期项目。

如意玲珑是开源软件包格式,用于替代 deb、rpm等包管理工具,实现应用包管理、分发、容器、集成开发工具等功能。作为一种新型的独立包管理工具集,如意玲珑主要提供分层与隔离的运行环境,来解决传统包管理系统强依赖导致的兼容性问题,以及权限松散导致的安全问题。减少不同操作系统下分发时的打包次数,做到“一个架构,一次构建”,为Linux生态发展提供了坚实的基础。

如意玲珑发行版适配进展

  • 在openEuler系统上如意玲珑已集成到Eur仓库,添加该仓库后,用户手动安装使用;
  • 在UOS 1070系统上添加如意玲珑外网仓库到系统仓库后,用户手动安装使用;
  • 如意玲珑已集成到deepin V23系统,用户可直接使用;
  • 目前适配了openKylin、麒麟专业版、Ubuntu 24.04和Debian 12。对于即将发布的1.6版本,将提供各发行版的独立仓库,用户可以手动添加使用。

近日,如意玲珑官网使用手册新增openEuler添加如意玲珑仓库源介绍,诚邀您抢先体验。

openEuler安装如意玲珑

本文适用于1.5.6版本, 请使用 ll-cli --version 检查您的如意玲珑程序版本。 

1、如意玲珑组成

  • ll-builder 用来构建和调试如意玲珑应用,由 linglong-builder 提供; 

  • ll-box 沙箱容器,由 linglong-box 提供; 

  • ll-cli 管理和运行如意玲珑应用,由 linglong-bin 提供。 

2、openEuler添加如意玲珑仓库源并更新仓库信息

sudo curl -o /etc/yum.repos.d/linglong.repo -L https://eur.openEuler.openatom.cn/coprs/kamiyadm/linglong/repo/openEuler-24.03_LTS/kamiyadm-linglong-openEuler-24.03_LTS.repo

sudo dnf update

3、安装玲珑环境

sudo dnf install linglong-builder linglong-box linglong-bin

4、安装桌面环境(可选) 

如果想运行gui类型应用,需要安装桌面环境,仅运行终端类型应用不需要安装桌面环境。这里以安装DDE为例,也支持在其他桌面环境下使用,如KDE,GNOME。

sudo dnf install dde

sudo systemctl set-default graphical.target

5、重启系统 

sudo reboot

openEuler使用如意玲珑

1、使用构建工具ll-builder 

1.1创建项目 

创建如意玲珑项目命令:

ll-builder create

查看 ll-builder create 命令的帮助信息:

ll-builder create --help

ll-builder create 命令的帮助信息如下:

Usage: ll-builder [options] create <org.deepin.demo> 

Options: 

-v, --verbose  show detail log 

-h, --help     Displays help on commandline options. 

--help-all     Displays help including Qt specific options. 

Arguments: 

create         create build template project 

name           project name

ll-builder create命令根据输入的项目名称,在当前目录创建对应的文件夹,同时生成构建所需的 linglong.yaml模板文件。示例:

ll-builder create org.deepin.hello

命令输出如下:

org.deepin.hello/

└── linglong.yaml

1.2 编辑linglong.yaml

linglong.yaml 文件语法的版本:version: "1"

软件包元信息配置:

package:
id: org.deepin.hello
name: hello
version: 0.0.0.1
kind: app
description: /
simple  demo.

基础环境,最小的根文件系统:

base: org.deepin.foundation/23.0.0

如意玲珑应用的启动命令:

command: [echo, -e, hello world]

在容器内构建项目需要的命令:

build: /
echo 'hello' #some operation to build this project

完整的linglong.yaml配置内容如下:

version: "1"

package:
id: org.deepin.hello
name: your name #set your application name
version: 0.0.0.1 #set your version
kind: app
description: /
your description #set a brief text to introduce your application.

command: [echo, -e, hello world] #the commands that your application need to run.

base: org.deepin.foundation/23.0.0 #set the base environment, this can be changed.

#set the runtime environment if you need, a example of setting deepin runtime is as follows.
#runtime:
#org.deepin.Runtime/23.0.1

#set the source if you need, a simple example of git is as follows.
#sources:
#  - kind: git
#    url: https://github.com/linuxdeepin/linglong-builder-demo.git
#    version: master\n
#    commit: a3b89c3aa34c1aff8d7f823f0f4a87d5da8d4dc0

build: /
echo 'hello' #some operation to build this project

1.3 构建应用

ll-builder build命令用来构建如意玲珑应用。

查看ll-builder build命令的帮助信息:

ll-builder build --help

ll-builder build命令的帮助信息如下:

 --exec <command>      run exec than build script

  --offline             only use local files. This implies --skip-fetch-source

                        and --skip-pull-depend

  --skip-fetch-source   skip fetch sources

  --skip-pull-depend    skip pull dependency

  --skip-run-container  skip run container. This implies skip-commit-output

  --skip-commit-output  skip commit build output

  --arch <arch>         set the build arch



Arguments:

build                 build project

ll-builder build命令必须运行在工程的根目录,即 linglong.yaml文件所在位置。以如意玲珑项目 org.deepin.demo为例,构建如意玲珑应用主要步骤如下:

● 进入到 org.deepin.demo项目工程目录:

cd org.deepin.demo

● 执行 ll-builder build命令将开始构建如意玲珑应用:

ll-builder build

构建完成后,构建内容将自动提交到本地ostree缓存中。

1.4 验证应用

ll-builder run命令用来运行验证应用。

查看ll-builder run命令的帮助信息:

ll-builder run --help

ll-builder run命令的帮助信息如下:

Usage: ll-builder [options] run



Options:

  -v, --verbose  show detail log

  -h, --help     Displays this help.

  --exec <exec>  run exec than build script



Arguments:

run            run project

在linglong.yaml文件所在位置,执行ll-builder run即可运行该应用。

示例项目org.deepin.demo运行结果如下:

hello

也可从构建缓存中导出成离线文件,通过客户端工具ll-cli安装使用。

1.5导出离线文件

ll-builder提供了子命令export来导出离线文件(.uab/.layer)。

查看ll-builder export命令的帮助信息:

ll-builder export --help

ll-builder export命令的帮助信息如下:

Usage: ll-builder [options]



Options:

  -v, --verbose      show detail log (deprecated, use QT_LOGGING_RULES)

  -h, --help         Displays help on commandline options.

  --help-all         Displays help including Qt specific options.

  -f, --file <path>  file path of the linglong.yaml (default is ./linglong.yaml)

  -i, --icon <path>  uab icon (optional)

  -l, --layer        export layer file

在linglong.yaml文件所在位置,执行以下命令即可将构建缓存导出离线文件:

ll-builder export --layer

执行成功后,将在当前目录下,生成两个以.layer结尾的文件:

org.deepin.demo_0.0.0.1_x86_64_develop.layer 

org.deepin.demo_0.0.0.1_x86_64_binary.layer

包含binary(此前这部分名为runtime)的部分为应用的主要运行内容,develop 在 binary 的基础上保留调试环境(如调试符号)。

2、使用客户端ll-cli

2.1 安装玲珑应用

2.1.1使用ll-cli install安装

首先查看ll-cli install命令的帮助信息:

ll-cli install --help

ll-cli install命令的帮助信息如下:

linglong CLI
A CLI program to run application and manage linglong pagoda and tiers.

Usage:
ll-cli [--json] --version
ll-cli [--json] run APP [--no-dbus-proxy] [--dbus-proxy-cfg=PATH] ( [--file=FILE] | [--url=URL] ) [--] [COMMAND...]
ll-cli [--json] ps
ll-cli [--json] exec PAGODA [--working-directory=PATH] [--] COMMAND...
ll-cli [--json] enter PAGODA [--working-directory=PATH] [--] [COMMAND...]
ll-cli [--json] kill PAGODA
ll-cli [--json] [--no-dbus] install TIER
ll-cli [--json] uninstall TIER [--all] [--prune]
ll-cli [--json] upgrade TIER
ll-cli [--json] search [--type=TYPE] [--dev] TEXT
ll-cli [--json] [--no-dbus] list [--type=TYPE]
ll-cli [--json] repo modify [--name=REPO] URL
ll-cli [--json] repo show
ll-cli [--json] info TIER
ll-cli [--json] content APP

Arguments:
APP     Specify the application.
PAGODA  Specify the pagodas (container).
TIER    Specify the tier (container layer).
URL     Specify the new repo URL.
TEXT    The text used to search tiers.

Options:
-h --help                 Show help information of ll-cli.
--version                 Show version.
--json                    Use json to output command result, you can get the description of the output refer to linglong api documentation(/usr/share/linglong/api/api.json).
--no-dbus                 Use peer to peer DBus, this is used only in case that DBus daemon is not available.
--no-dbus-proxy           Do not enable linglong-dbus-proxy.
--dbus-proxy-cfg=PATH     Path of config of linglong-dbus-proxy.
--file=FILE               you can refer to https://linglong.dev/guide/ll-cli/run.html to use this parameter.
--url=URL                 you can refer to https://linglong.dev/guide/ll-cli/run.html to use this parameter.
--working-directory=PATH  Specify working directory.
--type=TYPE               Filter result with tiers type. One of "runtime", "app" or "all". [default: app]
--state=STATE             Filter result with the tiers install state. Should be "local" or "remote". [default: local]
--prune                   Remove application data if the tier is an application and all version of that application has been removed.
--dev                     include develop tiers in result.

Subcommands:
run        Run an application.
ps         List all pagodas.
exec       Execute command in a pagoda.
enter      Enter a pagoda.
kill       Stop applications and remove the pagoda.
install    Install tier(s).
uninstall  Uninstall tier(s).
upgrade    Upgrade tier(s).
search     Search for tiers.
list       List known tiers.
repo       Display or modify information of the repository currently using.
info       Display the information of layer
content    Display the exported files of application

从玲珑仓库安装玲珑应用,以百度网盘为例:

ll-cli install com.baidu.baidunetdisk

ll-cli install命令需要输入应用完整的id,若仓库有多个版本则会默认安装最高版本。安装指定版本需在 appid后附加对应版本号:

ll-cli install com.baidu.baidunetdisk/4.17.7.0

应用安装完成后,客户端会显示安装结果。

2.1.2从本地通过离线文件安装应用

以构建示例org.deepin.demo为例:

安装.layer 文件:

ll-cli install ./org.deepin.demo_0.0.0.1_x86_64_binary.layer

查看安装是否成功命令:

ll-cli list | grep org.deepin.demo

2.2 运行玲珑应用

如果有桌面环境的情况下,可以通过双击启动器下的图标运行应用,或通过终端命令行运行,使用run命令运行应用:

ll-cli run org.deepin.demo

 如意玲珑生态共建

已有数十家企业、数十位个人开发者参与如意玲珑应用生态贡献,目前已成功适配超过2000款玲珑应用,这些应用将逐步上架至如意玲珑网页版商店、deepin以及统信应用商店,为广大用户提供更丰富的选择和更便捷的体验。诚挚邀请广大伙伴及用户加入如意玲珑生态共建,携手推动Linux生态的进步和发展。

附录:

(1)deepin 历史版本镜像(含 deepin V15)

(2)如意玲珑社区官网

(3)如意玲珑代码仓库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1983108.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据产品价值评估体系搭建

00前言 随着数据在企业的重要性越来越高&#xff0c;数据赋予的价值和意义在企业内部也深入人心&#xff0c;不仅纳入到了企业战略中去&#xff0c;在日常的工作中&#xff0c;各个业务部门也会不断的提出五花八门的数据需求&#xff08;数据分析、数据治理、数据应用等等&…

qt-01安装

qt5.15安装 版本链接5.15Qt5.15.2镜像QTCreater Launching Debugger 错误 版本链接5.15 https://download.qt.io/archive/online_installers/4.5/ Qt5.15.2镜像 https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt5_5152/ https://m…

插入数据优化 ---大批量数据插入建议使用load

一.insert优化 1.批量插入 2.手动提交事务 3.主键顺序插入 二.大批量插入数据 如果一次性需要插入大批量数据,使用insert语句插入性能较低,此时可以使用MySQL数据库提供的load指令进行插入。操作如下 1.客户端连接服务端时,加入参数 --local-infine mysql --local-infine…

AllReduce通信库;Reduce+LayerNorm+Broadcast 算子;LayerNorm(层归一化)和Broadcast(广播)操作;

目录 AllReduce通信库 一、定义与作用 二、常见AllReduce通信库 三、AllReduce通信算法 四、总结 Reduce+LayerNorm+Broadcast 算子 1. Reduce 算子 2. LayerNorm 算子 3. Broadcast 算子 组合作用 LayerNorm(层归一化)和Broadcast(广播)操作 提出的创新方案解析 优点与潜在…

私有化部署 Dify+Ollama并使用qwen2快速搭建 AI 应用

私有化部署 DifyOllama并使用qwen2快速搭建 AI 应用 Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务&#xff08;Backend as Service&#xff09;和 LLMOps 的理念&#xff0c;使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员&#xff…

5.8软件工程基础知识-项目管理

项目管理 范围管理产品范围和项目范围管理过程WBS练习题 进度管理基本原则过程活动资源估算 软件规模估算方法进度安排关键路径法练习题 成本管理过程成本的类型练习题 软件配置管理配置项配置基线配置数据库练习题 质量管理过程质量模型软件评审软件容错技术练习题 风险管理宏…

java基础概念10-数组

一、什么是数组 二、数组的定义和初始化 2-1、数组的定义 2-2、数组的初始化 初始化&#xff1a;就是在内存中&#xff0c;为数组容器开辟空间&#xff0c;并将数据存入容器中的过程。 1、静态初始化 【注意】&#xff1a; 数字一旦初始化后&#xff0c;数组的长度不可改变&a…

Python 如何进行Web抓取(BeautifulSoup, Scrapy)

Web抓取&#xff08;Web Scraping&#xff09;是一种从网站提取数据的技术。Python有许多用于Web抓取的库&#xff0c;其中最常用的是BeautifulSoup和Scrapy。 BeautifulSoup BeautifulSoup是一个用于解析HTML和XML文档的Python库&#xff0c;适合处理简单的Web抓取任务。它将…

Occlusion in Augmented Reality

1.Occlusion in Augmented Reality 笔记来源&#xff1a; 1.Occlusion handling in Augmented Reality context 2.Occlusion in Augmented Reality 3.Real-Time Occlusion Handling in Augmented Reality Based on an Object Tracking Approach 4.Occlusion Matting: Realisti…

SQLTools插件下载与使用说明

SQLTools是一个专注于SQL优化与管理的plsql developer插件&#xff0c;目的是把一些常用的SQL收集在一起&#xff0c;方便快速解决问题&#xff0c;提高工作效率。 当在SQL或PACKAGE窗口,或者选中表时&#xff0c;会有两个右键菜单&#xff1a; SQLTools聚焦在SQL方面&#xf…

unity 程序做一个折叠菜单

第一次遇到这种需求&#xff0c;本来以为很难&#xff0c;没想到试了一下以后没啥难度&#xff0c;所以记录一下 首先新建一个scroll view&#xff0c;然后在content里面添加vertical layout group和content size fitter这两个组件。&#xff08;vertical layout group 的 spac…

前端常用的性能优化方案

目录 性能分析工具lighthouseWebpack Bundle分析 开发阶段按需引入路由懒加载 打包阶段打包配置减少包体积配置压缩分包 资源预加载/预请求 部署阶段开启http2静态资源缓存gzip压缩 性能优化主要在三个阶段进行&#xff1a;开发阶段、开发结束后的打包阶段、项目部署上线阶段 首…

动态规划例题

目录 A.小红组比赛 B.小红升装备 A.小红组比赛 思路 &#xff1a;经典的多重背包问题&#xff0c;这里将dp[ i ][ j ]定义为前 i 场比赛的难度 j 是否可能&#xff0c;所以dp只需用0 1 表示&#xff0c;然后遍历dp[ n ][ j ]即可。 代码&#xff1a; void solve() { cin&g…

TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE(Transformer 在图像中的应用)翻译

摘要 虽然Transformer架构已成为自然语言处理任务的实际标准&#xff0c;但其在计算机视觉领域的应用仍然有限。在计算机视觉中&#xff0c;注意力机制要么与卷积网络结合使用&#xff0c;要么用于替换卷积网络的某些组件&#xff0c;同时保持其整体结构不变。我们证明了这种对…

抖音网红老阳:temu选品师好做吗?

抖音网红老阳近期分享了关于成为TEMU选品师的话题&#xff0c;引发了不少人的关注和讨论。那么&#xff0c;成为TEMU选品师究竟是一种怎样的体验?这项工作适合大多数人吗? 首先&#xff0c;TEMU选品师的工作内容主要集中在拼多多跨境电商平台上&#xff0c;这是一种新兴的电商…

VS Code 扩展之——私有扩展管理(Private Extension Manager)

为什么需要私有扩展的管理器&#xff1f; 和 Eclipse IDE的插件开发类似&#xff0c;VS Code&#xff08;Visual Studio Code&#xff09;也可以很容易的对VS Code编辑器进行创建和扩展新功能&#xff0c;这些扩展可以涵盖代码片段、主题、语言支持、调试器等多个方面。 VS Co…

昂科烧录器支持TI德州仪器的32位微控制器TMS320F28032

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表&#xff0c;其中TI德州仪器的32位微控制器TMS320F28032已经被昂科的通用烧录平台AP8000所支持。 C2000™ 32位微控制器针对处理、感应和驱动进行了优化&#xff0c;可提高实时控制应用&#x…

IDEA全局搜索Jar包中内容

IDEA全局搜索Jar包中内容 【一】下载源码【二】搜索内容【1】按文件名搜索【2】全局关键字搜索【3】方法引用 【一】下载源码 想要搜索Jar中关键字&#xff0c;必须先把jar包源码下载下来&#xff0c;否则搜不到。 Preferences --> Maven --> Importing&#xff0c;根据…

类与对象的介绍

目录 一、类与实例的关系 二、快速入门-面向对象的方式解决养猫问题 三、类和对象的区别和联系 四、对象在内存中的存在形式 五、属性/成员变量 1、基本介绍 2、注意事项和细节说明 六、类的定义和使用 1、如何定义类 2、如何创建对象 3、如何访问属性 七、对象的传…

深⼊理解指针(4)

1. 回调函数是什么&#xff1f; 2. qsort使⽤举例 3. qsort函数的模拟实现 1. 回调函数是什么&#xff1f; 1. 回调函数是什么&#xff1f; 回调函数就是⼀个通过函数指针调⽤的函数。 如果你把函数的指针&#xff08;地址&#xff09;作为参数传递给另⼀个函数&#xff…