Snap-store是一种使用专有snap软件包的应用商店。

Ubuntu在16.04版本的软件中心不提供付费软件。

Snap Store会成为在Ubuntu上分发专有付费软件的方式吗?


Downvote:问题中的错误事实。 - Javier Rivera
这与16.04有关。软件中心甚至无法安装第三方deb包,虽然我认为这是一个错误。http://askubuntu.com/questions/761210/16-04-cannot-install-anything-from-ubuntu-software-center - Janghou
1在16.04版本中仍然不是真实的情况:https://dl.dropboxusercontent.com/u/803682/Ubuntu%20Software_002.png。软件中心有两个非免费、闭源的程序。 - Javier Rivera
你说得对,已经更新了问题。 - Janghou
2可能是是否停止付费和专有应用程序?的重复问题。 - muru
我猜Snap Store最好的对应词应该是Google Play(商店)。GPlay提供免费和付费应用,但不支持开源软件。对于这一点,我们已经有了Gnome Software。 - ipse lute
3个回答

Snap软件包非常适合具有复杂依赖关系或开发周期较长且不易与发行版同步的项目。这通常与专有软件的需求相交,但并不适用于所有情况。目前我看到的唯一的snap软件包都是针对非常开源的项目,但我怀疑一旦他们的团队掌握了它,专有软件也会很快出现。在具有大量存储空间的现代系统上,使用非共享库并不那么糟糕,尤其是如果它能简化安装过程。
16.04版本的Ubuntu仓库中有两个与此处提到的与Ubuntu Snap无关的软件包。
snap - SNAP是一个通用的基因预测程序
snappy - snappy是一个媒体播放器
如果您想使用Ubuntu Snaps,请安装以下软件包:
snapcraft - 用于制作Snaps的工具
snapd - 用于使用Snaps的工具
在撰写本文时,您需要在安装snapd之前清除snap软件包,否则它们会发生冲突。这个问题可能会得到修复,但目前它会阻止snapd软件包的安装。
Snaps非常容易使用,但目前可用的数量还不是很多。
snap login your@ubuntu.one.email       # login to the snap system
snap list                              # list available snap packages
snap install <package>                 # install a snap package

snap find没有搜索词时不会“列出可用的 snap 软件包”,它会列出推荐的软件包。 - Chipaca
在撰写本文时,它们是类似的,因为快照很少。请问新的命令是什么,@Chipaca? - Amias
啊,这是一个列表,稍后会更新。 - Amias

是的。Snap格式的软件包不是标准存档的一部分,而是来自于Ubuntu应用商店(click和snap软件包都托管在同一个商店中)。这个商店不是由社区进行策划,任何人都可以将他们的软件打包成snap格式并通过商店进行分发。
商店中已经有几个专有软件包了。

你能给一个商店的链接吗? - Janghou
没有网店,所以不行。有开发者门户可以上传应用程序,但这不会帮助您找到其他应用程序。您可以在16.04中使用snappy list列出可安装的软件包。 - dobey
snappy list 崩溃 Clutter-CRITICAL **: The Clutter backend is not a X11 backend** - Janghou

我认为创建自定义应用程序是完全可能的。更重要的是,我认为可以创建一个利用自定义存储库和在Ubuntu服务器之外存储的快照的商店。
如果我没记错的话,dpkg只能处理.deb文件,无法管理存储库、PPA等。这就是apt的作用。假设有人创建了类似于snap命令的apt工具,会怎么样呢?
开放式商店
snap命令允许您安装任何.snap文件 - 不仅限于从官方商店下载的文件。让我们想象一个开放的应用商店,它以以下方式处理软件包:
- 程序配置保存着一系列提供snap软件包及其元数据的网站列表。我们将其称为Snap PPA,因为它们会起到完全相同的作用。 - 该程序允许使用add-repository URL等命令来添加/删除存储库。 - 在安装命令中,程序会检查所请求的snap是否可在任何PPA中找到,然后将其下载到缓存并调用 'sudo snap install the-package.snap'。 - 该程序会自动检查更新,下载并更新snap软件包。
目前唯一可能无法执行的事情是增量更新(我从未尝试过如何处理官方工具中的增量更新),但如果需要的话,这个问题将来可能会得到解决。

商业商店

如果公司不想将他们的快照交给Canonical并依赖他们的基础设施,他们可以以同样的方式创建自己的软件源。我想象Steam有朝一日会采用这种方法-只需在Linux Steam客户端中内置专有的快照程序下载器。当您购买并在设备上安装游戏时,Steam客户端会下载快照并调用“sudo snap install”来挂载它。

snapd不像没有apt的dpkg,它是一个具有特定架构的单一实体。你可以将snapd指向不同的商店(通常是真实商店的代理,或者是公司特定代理,公司可以设置额外策略),但你不能为snapd编写"apt"。 - Zygmunt Krynicki