python snap7 简书_将应用打包为 Snaps

在 Linux 上分发应用不总是那么简单。你有不同的打包格式,基础系统,可用的库,和发行版本节奏,它们都让人头疼。但是现在我们有了更简单的东西:Snaps。

Snaps 是开发者打包他们的应用的一种新的方式,相对于更多传统的打包格式,比如 .deb,.rpm 和其它的那些,它具有许多优势。Snaps 是安全的,相互隔离的,主机系统使用 AppArmor 这样的技术,它们是跨平台的,且它们是自包含的,这允许开发者打包它们的应用需要的软件。这种沙盒隔离也会提升安全性并允许应用,及整个基于 snap 的系统在出现问题时回滚。Snaps 真的是 Linux 应用打包的未来。

创建一个 snap 一点也不难。首先你需要基于 snap 的运行时环境,它能够在桌面环境中理解并执行 snaps;这个工具被称为 snapd,且在所有 Ubuntu 16.04 系统中是默认安装的。接下来你需要工具来创建 snaps,Snapcraft,它可以通过如下命令简单的安装:

$ sudo apt-get install snapcraft

一旦这个环境可用,你就可以 snapping 了。

Snaps 使用一个特殊的 YAML 格式化的命名文件 snapcraft.yaml,它定义了如何打包应用,以及它需要的任何依赖。看一个简单的应用来说明这一点,下面的 YAML 文件是一个真实的如何 snap moon-buggy 游戏的例子,在 Ubuntu archive 中可以找到它。

name: moon-buggy

version: 1.0.51.11

summary: Drive a car across the moon

description: |

A simple command-line game where you drive a buggy on the moon

apps:

play:

command: usr/games/moon-buggy

parts:

moon-buggy:

plugin: nil

stage-packages: [moon-buggy]

snap:

– usr/games/moon-buggy

上面的代码演示了一些新的概念。第一个部分是所有让你的应用在应用商店中可以被找到的东西;设置打包元数据名称,版本,概要,和描述。apps 部分实现了 play 命令,它指出了 moon-buggy 可执行文件的位置。parts 部分告诉 Snapcraft,关于在将应用与它所有依赖的东西一起构建时所需要的插件。在这个简单的例子中,所有我们需要的东西就是来自于 Ubuntu archive 的 moon-buggy 应用本身,Snapcraft 将关心其余的东西。

在放有 snapcraft.yaml 文件的目录下运行 snapcraft 命令,将创建 moon-buggy_1.0.51.11_amd64.snap,它可以通过运行如下命令来安装:

$ snap install moon-buggy_1.0.51.11_amd64.snap

要查看复杂一点的 snapping 一些东西的例子的话,比如基于 Electron 的 Simplenote 应用,请看这里,线上的用户指南在这里,其对应的代码位于 GitHub。更多例子可以在 Ubuntu 开发者网站 找到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值