首页 文章 精选 留言 我的

精选列表

搜索[快速入门],共10000篇文章
优秀的个人博客,低调大师

探索开明软件包:应用开发指南轻松掌握,快速上手!

开明软件包格式,是openKylin社区Kaiming SIG为应对传统包格式存在的系统与应用无明确界限、发行版碎片化、兼容性等问题而开发的一款全新软件包格式,满足ISV(Independent Software Vendors)应用发布和应用独立发布需求,并支持沙箱隔离,允许共享部分基础库,为主要Linux桌面提供原生集成。 一、开明软件包框架结构 开明软件包主要包括部署文件(deploy)、应用数据(files)、元数据文件(matedata),导出文件(exports)四部分: 部署文件:存放开明包安装来源、安装大小、版本、安装时间等信息 应用数据:应用本身二进制、动态库、配置文件等 元数据文件:包含运行时依赖、扩展依赖、权限信息、二进制命令、环境变量等内容 导出文件:针对应用,主要包含desktop、icon、dbus.service等对外暴露的文件 开明软件包运行过程,首先解析元数据文件,获取到应用运行所需的上下文内容,然后通过mount namespace和bind mount构建应用运行的rootfs,通过xdg-dbus-proxy进行dbus转发,最后chroot进入rootfs环境执行二进制命令启动应用。接下来请跟随文章教程完成您的第一个开明包构建和安装运行。 二、开明命令介绍 以下是部分开明软件包使用命令介绍,更多命令详情可参考文末链接:开明命令使用手册。 kaiming install :安装开明应用 kaiming export :离线导出开明应用 kaiming list:列出所有已安装的应用 kaiming run:运行一个已安装的开明应用 kaiming enter :进入运行沙箱内部环境 kaiming uninstall:卸载开明应用 ...... 三、编译程序 1.安装开明命令包和开明编译包 $ sudo apt install kaiming kaiming-builder 其中,kaiming ( >= 0.15.9 )是包管理器客户端,提供了相关开明命令,用于管理开明包格式应用的安装、卸载、运行、更新、信息查看等操作。kaiming-builder提供了开明包对应的编译命令,可以将您的源码编译成开明软件包格式。 2.安装runtime和配套的SDK 开明包要求每个应用程序指定一个依赖的runtime。runtime由SDK和Platform组成,SDK在应用编译和调试时使用,Platform在应用执行时使用。在编译应用程序时,需要先将runtime下载到本地: $ sudo kaiming install top.openkylin.Sdk top.openkylin.Platform # 默认编译所需最小的runtime 3.创建应用程序 进入您的项目根目录,这里我们采用一个简单的脚本案例来说明。 #!/bin/shecho "Hello world, start your first kaiming app!" 现在将其粘贴到一个空文件中并将其另存为hello.sh。 4.配置源码所需清单 这里以top.openkylin.Hello.yaml清单文件为例,文件内容: id: top.openkylin.Hello # 应用程序名branch: stable # 应用分支runtime: top.openkylin.Platform # 所需runtimeruntime-version: '2.0' # runtime版本sdk: top.openkylin.Sdk # 配套的SDKcommand: hello.sh # runtime执行的命令modules: # 编译模块 - name: hello # 模块名称 buildsystem: simple # 使用的构建系统。如autotools、cmake、meson、simple、qmake等 build-commands: # 在构建期间运行的一组命令 - install -D hello.sh /app/bin/hello.sh # 执行 install 命令将hello.sh 安装到可执行目录 sources: # 包含一个指向源码指针,它们可以有多种类型,通过type属性来区分。 - type: file # 本地源码类型 path: hello.sh # 和type格式对齐,表示将复制到源目录的本地文件的路径 举例程序较为简单,在更复杂的应用程序中,清单将列出多个模块。由于yaml清单涉及内容较多,关于yaml清单的详细描述请参考官方文档说明(链接附在文末)。 5.构建应用程序 使用命令kaiming-builder来进行软件包编译: kaiming-builder build top.openkylin.Hello.yaml 如果您想共享该应用程序,可以将其放入存储库中。通过将--repo参数传递给来kaiming-builder来完成: $ rm -rf build/ repo/ .kaiming-builder/ #第二次编译时需要,删除当前的编译目录、缓存和存储库repo$ kaiming-builder build --repo=repo top.openkylin.Hello.yaml 此命令将构建清单中列出的每个模块并将其安装到本地存储库repo中。其中,生成的build目录是构建后的程序结构。如下图: 我们可以看到,hello.sh是在 files/bin/hello.sh下,这种情况就是正确编译结果,之后会通过kaiming install安装到系统的指定位置/opt/kaiming中。到这里,恭喜您已完成一个应用程序制作! 四、测试运行 1.安装应用程序 现在我们准备添加刚刚创建的存储库并安装应用程序。通过kaiming install命令完成,要验证构建后的包是否可以成功安装,请运行以下命令: $ sudo kaiming install --repo=repo top.openkylin.Hello # top.openkylin.Hello 为 top.openkylin.Hello.yaml 清单文件中的应用程序名 2.运行应用程序 接下来,通过以下命令来尝试运行该应用程序: $ kaiming run top.openkylin.Hello 运行成功,终端输出: Hello world, start your first kaiming app! 以上是编译开明软件包格式的简单流程,各位小伙伴你学会了吗?更多内容,敬请期待。 开明命令使用手册:https://gitee.com/openkylin/community/blob/master/sig/KaiMing/%E5%BC%80%E6%98%8E%E7%94%A8%E6%88%B7%E6%93%8D%E4%BD%9C%E6%89%8B%E5%86%8C/%E5%BC%80%E6%98%8E%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C/README.md#/openkylin/community/blob/master/sig/KaiMing/%E5%BC%80%E6%98%8E%E7%94%A8%E6%88%B7%E6%93%8D%E4%BD%9C%E6%89%8B%E5%86%8C/%E5%BC%80%E6%98%8E%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C/installation.md yaml清单说明: https://gitee.com/openkylin/community/blob/master/sig/KaiMing/%E5%BC%80%E6%98%8E%E7%94%A8%E6%88%B7%E6%93%8D%E4%BD%9C%E6%89%8B%E5%86%8C/%E5%BC%80%E6%98%8E%E7%BC%96%E5%8C%85%E6%89%8B%E5%86%8C/manifest.md​​​​​​​

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册