[Application sharing] openEuler 安装使用如意玲珑操作指南
Tofloor
poster avatar
流浪的加菲
deepin
2024-08-06 14:22
Author

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

企业微信截图_17229245853777.png

内容有点长,给大家列个目录吧:

  • openEuler 如何安装如意玲珑环境;

  • openEuler 上如何使用如意玲珑包;

    使用构建工具 ll-builder安装和管理玲珑应用

    使用客户端 ll-cli安装和管理玲珑应用

如意玲珑发行版适配进展

  • 在 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  

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       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          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   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   file path of the linglong.yaml (default is ./linglong.yaml)

  -i, --icon   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

如意玲珑社区官网

如意玲珑代码仓库

Reply Favorite View the author
All Replies
neko
deepin
Ecological co-builder
2024-08-06 14:29
#1

妙哉

Reply View the author
ggbond
deepin
2024-08-06 17:31
#2

妙哉+1

Reply View the author