Snappy Ubuntu Core是什么?

在大家急于将此标记为重复之前,我确实阅读了其他帖子这里这里,谷歌了一下,并访问了snappy主页这里以消除我的困惑,但是我没有成功。我在这里提问是因为我仍然感到困惑。我知道它是一种最小化的Ubuntu系统,而这个问题的关键不在于它包含了什么,而是它是什么以及它是如何工作的。
  1. 什么是Snappy应用的简便方法?主页上描述了一些优点,但作为用户,我如何获取这些应用程序呢?我还需要使用sudo apt-get install XXXX吗?还是有其他方法?
  2. 如果我安装Snappy(与我正常使用apt-get或通过下载deb包在普通Ubuntu安装上工作的相同东西),常规的Ubuntu应用程序是否可用?还是需要有人采取特殊措施才能使应用程序在Snappy中工作?
  3. 例如,Snappy Core适用于树莓派,它是一个不同的(移动)处理器,如果我在树莓派上安装Snappy,常规的桌面应用程序是否仍然可以在树莓派上工作?这就是Snappy的目的吗?
  4. 如果标准方法无效,我该如何获取应用程序?我在哪里搜索Snappy可用的应用程序,并如何安装它们?
谢谢。我的问题尽我所能理解Ubuntu应用程序如何工作和安装的方式来进行了阐述,如果你明白我想要问什么,请编辑它们使其更合理。

5我觉得Canonical正在创建一系列全新的Linux发行版,因为它既不使用Redhat基础设施,也不使用Debian基础设施,并且使用Ubuntu这个名字应该有助于开发者的接受。 - Thorbjørn Ravn Andersen
1最近在http://snapcraft.io/上列出了一个关于Snap是什么、它如何工作以及在哪里使用的优秀描述,并在https://docs.ubuntu.com/core/en/中提到。 - luart
2个回答

apt-get和其他用于处理传统.deb软件包的工具无法在Snappy Ubuntu Core系统上安装和升级应用程序。相反,您需要使用snappy实用程序。有关详细信息,请参阅Snappy Tour

总结一下Snappy Tour中的几个示例,要安装Docker应用程序,您需要运行:

sudo snappy install docker

而要安装更新,您运行sudo snappy update-versions(对应于普通Ubuntu系统上的sudo apt-get update),snappy versions以查看新可用内容,并使用sudo snappy update ...指定要更新的软件包(将其名称放在...的位置)。
因为Snappy Ubuntu Core不使用.deb软件包,所以为常规Ubuntu系统创建的Ubuntu软件包将无法使用 - 在涉及软件包文件时,常规Ubuntu系统和Snappy Ubuntu Core之间的关系实际上与使用完全不同的软件包管理器的任何两个发行版之间的关系相同(例如:Ubuntu和Fedora)。
就像在任何操作系统中一样,只要您拥有或可以获取它们所需的所有库(和其他依赖项),您就可以在Snappy Ubuntu Core上手动安装程序。然而,就像在常规Ubuntu系统上安装大多数软件的最佳方式是使用.deb软件包一样,在Snappy Ubuntu Core上安装软件的最佳方式是使用专门构建的snappy软件包。目前只有少数这样的软件包存在。
在Snappy Ubuntu Core系统中搜索Snappy Ubuntu Core应用程序,请使用以下命令:
snappy search search-term

这将找到名称中包含search-term的Snappy软件包。(当然,您会用您要查找的内容替换它。)
就树莓派而言,它们搭载的是ARM处理器,你说得没错,这和我们通常在传统个人电脑上使用的32位和64位英特尔和AMD处理器是不一样的。然而,树莓派的支持似乎并不是Snappy Ubuntu Core的主要重点。相反,正如你可能已经知道的那样,Snappy的总体目标是提供更好的速度、稳定性和安全性,适用于只需要一个最简Ubuntu Core系统的情况。
Snappy面向云计算(“Snappy Ubuntu Core是大规模云容器部署的完美系统…”),并明确支持许多x86(即非ARM)平台--请查看Snappy首页上“尝试全新的、灵活的Ubuntu”下的选项列表。
尽管如此,根据您的需求,Snappy Ubuntu Core可能是在Raspberry Pi上获得一个可用的Ubuntu Core系统的合理方式。请注意,根据您拥有的Raspberry Pi板型,它可能支持更完整、更传统的Ubuntu安装,也可能不支持。然而,还有其他选项可能更符合大多数传统Ubuntu系统用户所关心的Ubuntu特性。
  • Debian与Ubuntu非常相似,并在许多方面提供了与大多数Ubuntu安装更相似的体验。特别是,就像普通的Ubuntu系统一样,Debian也使用apt-get。实际上,apt-get起源于Debian。(Ubuntu是Debian的一个衍生版本。)
  • Raspbian是专为树莓派制作的Debian衍生版本。与Debian和普通(非Snappy)的Ubuntu系统一样,使用基于APT的软件包管理(即使用apt-get)。甚至在Debian项目关于树莓派上的Debian的页面上写道:“一般来说,你最好使用Raspbian。”

还可以参考这个树莓派操作系统列表


3哇,这个解释太棒了!非常感谢。 - ste_kwr
2这正是我一直在寻找的东西。现在是时候对它有更深入的了解了,既然我已经有了基本的理解!非常感谢你! - Crutchcorn
1那么,@Eliah Kagan,Snappy相对于常规的Ubuntu或Debian有什么优势呢? - thatmaheshrs
2@thatmaheshrs: 你看过这个教程吗?“Snappy应用和Ubuntu Core本身可以进行原子升级,并在需要时回滚。” - Nick Westgate
1现在是 sudo snap install <something>snap find <search term> - dholbach

Snappy Ubuntu Core就像是一个乐高系统,每个snap(应用程序)都是一个不受其他snap影响的模块。因此,安全性更简单、更高,依赖关系不再是问题,而且snap的生命周期也更容易管理。只需一个命令,您就可以交换版本,删除和升级任何snapp甚至核心(操作系统)。
这在16.04上是默认设置,但马克说你也会使用.apt和.deb。

3这没有任何意义。听起来不错,但显然是由一个没有技术理解的人写的。“Snap”不是一个技术术语。在.deb包中的依赖关系也已经得到了处理 - 包括版本。只需键入“apt-cache depends <package>”。而且,单个命令?谁在乎...只需删除破折号:“apt-cache”“apt-get”..变成“apt cache”和“apt get”... - Evan Carroll