---
author: Marius Nestor
category: 新闻
comments_data:
- date: '2016-06-27 09:51:04'
  message: 支持！如果真的能统一各个linux发行版的包就好了。
  postip: 113.119.206.180
  username: 来自广东广州的 Chrome 51.0|Windows 7 用户
- date: '2016-06-27 15:05:57'
  message: no direct reply to &quot;Why open source?&quot;
  postip: 58.61.147.113
  username: 来自广东深圳的 Opera 38.0|GNU/Linux 用户
- date: '2016-06-27 15:57:07'
  message: 没有直接回应为啥不是开源软件？打了自己的小算盘？
  postip: 58.61.147.113
  username: 来自广东深圳的 Opera 38.0|GNU/Linux 用户
- date: '2016-06-27 15:57:08'
  message: 没有直接回应为啥不是开源软件？打了自己的小算盘？
  postip: 58.61.147.113
  username: 来自广东深圳的 Opera 38.0|GNU/Linux 用户
- date: '2016-06-27 16:26:28'
  message: Flatpak肯定是自由软件的！！！！！！
  postip: 111.20.112.126
  username: 来自陕西西安的 Chrome 51.0|GNU/Linux 用户
- date: '2016-06-27 16:27:42'
  message: Canonical , 你走开！
  postip: 115.197.187.105
  username: fxbszj [Firefox 47.0|Windows 7]
- date: '2016-06-28 11:15:09'
  message: 他也是蛮拼的了。
  postip: 124.250.3.18
  username: z75315 [Chrome 51.0|Windows 10]
count:
  commentnum: 7
  favtimes: 0
  likes: 0
  sharetimes: 1
  viewnum: 3514
date: '2016-06-27 08:50:00'
editorchoice: false
excerpt: Snappy 和 Flatpak 之间的争吵仍在继续中，现在 Canonical 在刚刚发布的 Fedora 24 上演示了创建一个厂商无关的 Snap
  商店是多么的简单。
fromurl: http://news.softpedia.com/news/canonical-demonstrates-how-easy-is-to-create-a-vendor-independent-snap-store-505664.shtml
id: 7510
islctt: true
largepic: /images/p/201606/27/085013exig00r7em82ip8p.jpg
permalink: /article-7510-1.html
pic: /images/p/201606/27/085013exig00r7em82ip8p.jpg.thumb.jpg
related: []
reviewer: ''
selector: ''
summary: Snappy 和 Flatpak 之间的争吵仍在继续中，现在 Canonical 在刚刚发布的 Fedora 24 上演示了创建一个厂商无关的 Snap
  商店是多么的简单。
tags:
- snap
- flatpak
- snappy
thumb: false
title: Canonical 演示为任意发行版创建一个 Snap 商店是如何的简单
titlepic: true
translator: wxy
updated: '2016-06-27 08:50:00'
---

![](/images/p/201606/27/085013exig00r7em82ip8p.jpg)


Snappy 和 Flatpak 之间的[争吵](/article-7484-1.html)仍在继续中，现在 Canonical 在刚刚发布的 Fedora 24 上演示了创建一个厂商无关的 Snap 商店是多么的简单。


Snap 宣传它是[面向各个主要 Linux 发行版的通用二进制软件包格式](/article-7464-1.html)，人们对此非常关注，也有很多[议论](/article-7484-1.html)。就在几天前， Canonical 和 Ubuntu 的创始人 Mark Shuttleworth 对这些人们重点关注的问题[做了一番答复](/article-7506-1.html)，表示 Canonical 并不指望别的操作系统使用 Ubuntu 的 snap 商店，你们完全可以自己搞嘛，就是个 HTTPS 而已。


针对指责 Snap 商店没有开源的意见，Canonical 的 Ubuntu 产品与战略总监 Dustin Kirkland 说，“事实上，你可以在任何支持 Snap 的操作系统上运行你的 Snap 商店，真的。”


### 一个可以提供 Snap 软件包服务的最简单的示例商店


Dustin 给我们介绍了一个由开发者 Bret Barker 发布在 GitHub 上的一个[概念性的独立 Snap 商店](https://github.com/noise/snapstore)，这个软件以 Apache 许可证开源，你可以[在 GitHub 上 fork 它](https://github.com/noise/snapstore)，并安装到任何 GNU/Linux 发行版上去。


#### 服务器端（Snap 商店）


“首先，我启动一个 AWS 实例，当然，我可以启动一个 Ubuntu 16.04 LTS 实例，但实际上我启动的是一个 Fedora 24 实例。”


如果你的机器上已经有了 snap 环境，你可以直接用：



```
snap install snapstore-example
```

来安装这个示例商店。


如果没有，你可以手动来安装。首先安装 python 虚拟环境：



```
sudo dnf install python-virtualenv
```

克隆这个示例商店的代码：



```
git clone https://github.com/noise/snapstore.git
cd snapstore

```

设置虚拟环境并安装依赖包：



```
virtualenv env
. env/bin/activate
pip install -r requirements.txt

```

运行：



```
python store.py
```

这样 snap 商店就安装好了，它会监听在默认的 5000 端口上。


![Snap 商店监听在 5000 端口上](/images/p/201606/27/085028qf16evklgp9k66ae.jpg)


#### 客户端


在 Fedora 24 上运行 



```
sudo dnf install snapd 
```

来安装 Snappy，它同时也会安装必要的依赖包，如： squashfs-tools、kernel-modules。


你可以通过安装一个测试包来看看 snap 是否正常工作：



```
sudo snap install hello
```

如果正常的话，然后修改 `/etc/environment`，加入你的商店 URL，强制 snapd （Snappy 守护进程）与刚刚创建的 Snap 商店连接：



```
SNAPPY_FORCE_CPI_URL=http://localhost:5000/api/v1/

```

重启 snapd：



```
sudo service snapd restart
```

这个示例商店支持如下命令来查找和安装 snap 软件包：



```
snap find foobar25
sudo snap install foobar25
```

![使用 snap 去查找软件包](/images/p/201606/27/085029t63lb02wm0qh3lwm.jpg)


更多可以看 Dustin 的[原文](http://blog.dustinkirkland.com/2016/06/howto-host-your-own-snap-store.html)或这个[示例商店的说明](https://github.com/noise/snapstore)。