snap打包初步了解

news2025/1/11 12:55:21

前言

和snap比较类似的有三种打包方式:

Snap Flatpak appimage

Appimage是将所有的资源打包在一起,以一个类似与独立exe的方式执行,虽然简单使用,但是解压资源和本地缓存数据都比较麻烦。

Flatpak和snap十分类似,但是他却需要桌面GUI才能使用,不能在云服务上执行。

Snap目前来看最为全面,除了开源性让人诟病,支持的权限管理和物联网方面的都还可以。

 

Snap打包的基础入门步骤 

安装snap管理器:

sudo apt install snapd

重启linux:

之后查看环境:

sudo systemctl status snapd

可以看到:

 这样就运行起来snap

到这里和做包是没有关系的,但是想要安装snap包到你的电脑,就必须安装该管理器。

做包工具

snapcraft:

安装:

sudo snap install snapcraft --classic

这里基础使用,不打算进行上传到snap的唯一官方商店,就不尝试进行注册账号了。

新建一个文件夹,然后:

snapcraft init

可以看到该文件夹下出现了一个snap文件,里面是一个yaml文件,将yanl文件修改为:

name: hello-world-cli
version: "0.1"
summary: Hello World
description: |
  This demo is intended to show how to build your first snap
  This code is part of the Snapcraft example tour at
  https://developer.ubuntu.com/snapcraft-getting-started

grade: stable
confinement: strict
base: core20

parts:
  hello:
    plugin: dump
    source: ./bin/
  
apps:
  hello-world-cli:
    command: hello

这里除了parts上面的是包的基础信息之外,还包含parts来指定hello的二级制文件的位置,apps部分是来exprots出命令来提供给安装的用户使用。

当前的目录如下:

 执行make.sh:

snapcraft  --use-lxd

等待编译出:

hello-world-cli_0.1_amd64.snap

注意:这里可能会有各式各样的问题,推荐虚拟机安装ubuntu20.04进行打包尝试来避免一些问题。

安装测试:

snap install --dangerous ./hello-world-cli_0.1_amd64.snap

然后调用:

hello-world-cli就可以看到自己的打印。

吐槽:这个官网连个完整的例子都没有,文档也是坑人的很,使用起来资料匮乏,哎好难!

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

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

相关文章

XXE无回显攻击详解

今天继续给大家介绍渗透测试相关知识,本文主要内容是XXE无回显攻击详解。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授权设…

怎么把element的tootip设置为点击后出现提示框,且在提示框里面放其他元素,vue2动态给对象添加属性并实现响应式应答,样式穿透

怎么把element的tootip设置为点击后出现提示框 我目前有一个需求,就是要点击文字才会出现提示框,而不是hover上去就以后,找资料看文档,看了半天让我终于实现了,其实也不难,可能是最开始我没有理解value&am…

Akka 进阶(一)Dispatcher调度器

目录一 Dispatcher 任务分发1.1 理解什么是Dispatcher1.2 Executor的分类1.3 基本使用1.4 其他类型的调度器在Akka中,Actor的消息通信和任务执行建立在一个完全透明的调度机制之上,它屏蔽了底层线程(池)的实现细节,几乎…

Java: static,final,代码块 的详解

Java: static,final,代码块 的详解 每博一文案 山本文绪说过这样一句话:哪些决定放弃了的事,就请放弃得干干净净。哪些决定再也不见面的人,就真 的不要再见面了,不要再做背叛自己的事,如果想要…

CentOS7迷你版安装Redis并配置基础信息

1. 安装gcc、wget依赖 yum install gcc yum install wget 2. 使用命令:wget http://download.redis.io/releases/redis-6.2.5.tar.gz 下载安装包,注意要先cd到要下载到的目标位置) 3. tar -zxvf redis-6.2.5.tar.gz 解压压缩包 4. cd redis-…

学习周报-20221223

文章目录一 Linux的ACL访问控制列表一 基础概念1.1 起因1.2 系统支持1.3 相关定义二 查看ACL权限2.1 简单查看2.2 详细查看2.3 具体配置三 更改ACL权限3.1 添加或修改ACL3.2 输出和输入3.3 设置ACL掩码3.4 递归修改ACL3.5 删除ACL3.6 控制默认ACL权限二 Linux磁盘分区中物理卷&…

zabbix6.0安装教程(七):从web界面安装

zabbix6.0安装教程(七):从web界面安装 目录一、欢迎主界面二、先决条件检查三、配置数据库连通性四、配置本章节提供有关Zabbx Web界面的部署步骤说明。Zabbix 前端是由PHP语言编写,所以其网页服务的运行需要支持PHP语言的网站服务…

Allegro如何任意角度走线操作指导

Allegro如何任意角度走线操作指导 Allegro支持在PCB上进行任意角度走线,尤其是在高速设计的时候,尤为常见,如下图 具体操作如下 选择add connect命令Find选择Cline segs

谷歌要给移动VR定规矩

代号牛轧糖的最新安卓7.0手机操作系统发布两天后,谷歌公司开发的虚拟现实(VR)平台Daydream(下称“白日梦”)也将在未来几周推出。与平台一同推出的,还有来自Hulu和YouTube等视频网站“网红”们的全新视频内…

【软件工程】实验3:软件详细设计

CAM系统的类图 CAM系统的顺序图 CAM系统模拟实现(CAM工具库封装) 1、代码运行界面 (1)根据提示输入要加工的图形类型 (2)J-Soft软件会根据输入的数字提示用户输入不同的图形参数,图形参数输入…

函数栈帧(栈区)

函数栈帧(栈区)一.前言二.main函数空间的开辟(函数调用是如何做到的)三.main函数内部的变量初始化(局部变量是如何创建的以及为什么是随机值)四.main函数内部的函数创建1.函数是如何传参的2.传参的顺序以及…

物联网通信技术原理第2章 无线通信技术(期末重点)

目录 2.1 无线通信基本知识 2.1.2 无线通信的特点 2.2 无线信道 2.2.1 恒参无线信道举例 2.2.2 恒参无线信道特性及其对信号传输的影响 1. 幅度—频率畸变 2. 相位—频率畸变​编辑 2.2.3 随参无线信道距离 1、短波电离层反射 2、对流层散射信道 2.2.4 随参信道特性及…

漏洞深度分析|Apache Karaf 4.2.16 存在JNDI 注入漏洞

项目地址 GitHub - apache/karaf: Mirror of Apache Karaf 项目介绍 Apache Karaf是一个模块化运行时,支持多种框架和编程模型(REST/API、web、spring boot 等)。它提供了统包功能,您可以毫不费力地直接利用这些功能&#xff0…

戴维南定理

定理内容:任意二端口直流网络都可以被一个等效电路替换,这个等效电路只包含一个电压源和一个串联电阻,如图1所示。 图1 戴维南定理的作用 1、分析含有非串联或非并联电源的网络 2、用最少数量的元件实现复杂网络的端口特性(端口前…

【深入浅出Spring原理及实战】「开发实战系列」SpringSecurity原理以及实战认证分析开发指南

前提介绍 承接上一篇文章,相信大家应该已经对SpringSecurity的原理有了一定的认识,而本篇文章给大家带来的则是在实际业务开发中的技术指南,希望对你有所帮助。所谓知彼知己方能百战百胜,用Spring Security来满足我们的需求最好了…

我们国家都有哪些信息安全标准

写在前面 早年刚参加信息安全工作更多的学点皮毛技术,到处找安全工具,跟踪poc,拿到一个就全网扫一遍,从来没有想过,系统化的安全工作应该怎样搞?我做的工作在安全体系中处于哪个阶段? 后来有机会做企业安全建设&…

503.下一个更大元素II,42. 接雨水

503. 下一个更大元素 II 给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数…

C++:vector操作笔记

本文记录了对C中的vector容器的简单操作,包括给vector添加元素、按指定列排序、取值。 文章目录一、vector 和普通数组之间的转化二、根据vector数组的某一列数据排序三、删除二维 vector 数组最后一列数据一、vector 和普通数组之间的转化 1,数组转vec…

Mysql日志体系

3、Mysql日志体系 bing log :在server记录mysql所有的DDL和DML语句,主要用来做主从复制和数据恢复。内容追加,没有固定大小限制。redo log :undo log : 3.1、bin log 3.1.1、binlog日志作用 binlog记录所有的DDL和…

Unity CEO:玩家不在乎AR还是VR,他们只想要优质内容

近期,Unity CEO John Riccitiello在接受英国金融时报采访时,透露了自己对于游戏的前生今世,以及AR/VR和未来的看法。他认为,打造一个新平台需要大量优质内容,创意对于新平台很重要,不管AR和VR技术有什么区别…