Canonical 演示为任意发行版创建一个 Snap 商店是如何的简单
创始人
2024-03-01 17:22:30
0

Snappy 和 Flatpak 之间的争吵仍在继续中,现在 Canonical 在刚刚发布的 Fedora 24 上演示了创建一个厂商无关的 Snap 商店是多么的简单。

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

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

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

Dustin 给我们介绍了一个由开发者 Bret Barker 发布在 GitHub 上的一个概念性的独立 Snap 商店,这个软件以 Apache 许可证开源,你可以在 GitHub 上 fork 它,并安装到任何 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 端口上。

客户端

在 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

更多可以看 Dustin 的原文或这个示例商店的说明

相关内容

YouTube博主起诉Sn...
IT之家 1 月 27 日消息,据外媒 techcrunch 报道...
2026-01-27 08:17:55
颠覆传统的Besgnuli...
在现代科技迅速发展的背景下,越来越多的用户开始关注如何给老旧电脑注...
2026-01-19 19:26:08
Debian与Ubuntu...
在众多Linux发行版中,Debian和Ubuntu无疑是最受欢迎...
2025-12-05 10:46:28
多家Linux厂商拥抱Ub...
在最近举办的Ubuntu峰会上,多家Linux相关厂商展示了他们的...
2025-11-08 06:16:18
Win10用户纷纷转向Li...
快科技10月19日消息,微软在10月14日正式结束了对Window...
2025-10-20 20:45:25
XR周报:Meta发布三款...
本周(9.15-9.21)热点:Meta Connect 2025...
2025-09-22 06:14:30

热门资讯

PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...