当前位置: 首页>>技术教程>>正文


为什么Ubuntu会转向Snappy包?

, , , ,

问题描述

为什么Ubuntu转储.deb包并转移到.snappy包? (至少目前他们正在保留正常发行版的.deb包)。 .deb已经是最流行的包装了。

This提供了Snappy包格式的概念。但是现有的deb包会发生什么?搬到Snappy有什么明显的优势吗?值得痛苦吗?

最佳解决方案

Snappy尝试解决Linux作为桌面操作系统的一个基本问题,问题是软件包可用性和软件包分发。然而,Snappy并不完全打算取代debs。 Snaps和Debs一起工作。

我是Linux爱好者和Linux应用程序的项目经理。虽然我喜欢整个Linux系统,但我鄙视当前的软件包分发状态。 Snappy旨在解决这个根本问题。

在Linux中,软件包在大多数情况下是特定于发行版的(可以在一些不同的基于Debian的系统中运行一个DEB但在某些方面限制了你),但不仅仅是这些软件包是特定于发行版的。

如果我为Ubuntu 16.04创建一个deb包,那么该包将无法在任何版本的Ubuntu上运行。我还需要制作14.04,15.04,15.10等等。这些只是Ubuntu debs。我还需要为Debian制作一个。然后你需要为Fedora 21,22,23等制作RPM,这些RPM甚至不包括openSUSE。

这意味着如果我想发布一个新版本的应用程序而不是等待发行版维护者将它包含在一个存储库中(这通常需要花费大量的时间),那么我必须提供20多个软件包来覆盖大多数Linux发行版而这仍然不会涵盖一切。

Ubuntu的Snaps提供了一种创建一个Snap的方法,该Snap可以在支持Snaps的每个Ubuntu版本上运行。不再是发行版版本。

快照可以集成到其他发行版中。可能不再具体发布。

快照由一个仓库控制,该仓库旨在由软件包开发人员维护,因此当我们想要发布新版本时,我们不必等待任何人。

基本上,我讨厌Linux软件包分发的一切都将由Snappy解决。虽然重要的是要注意这些问题也可以通过Flatpaks解决。

长话短说

Linux软件包分发对开发人员和用户来说都很糟糕。 Snappy(和flatpaks)旨在解决基于Linux的系统的这一基本问题。


这个问题实际上是关于移动的原因,但是如果有人有兴趣了解Snaps是什么以及它们是如何工作的。我创建了这个video来解释结构in-depth。

次佳解决方案

这很简单。 Snappy包中包含所有必需的文件,其中.deb包对其他包具有依赖性。消极的一面是snappy更大,因为它包含所有文件。但最大的好处是你不会遇到其他软件包,如果你删除了这个软件包,其他任何软件包都不会受到缺少依赖项的影响。

第三种解决方案

Snappy Personal,他们的包管理/更新方法,旨在更快,更可靠,更具交易性,并具有更强的安全性。

Snappy至少有一个桌面旋转 – 计划是将Ubuntu的Desktop-Next从.deb切换到Snappy Personal。

.deb仍然存在,普通用户仍然可以在将.deb转换为snappy时定期使用它。

Snappy将用于统一ioT中的包管理概念,它现在使用snappy作为其核心Os。 snappy提供更好的更新方式,并在更新/升级时摆脱问题,因为它使用整个图像的概念,这意味着更新将只是一个部分因此无法失败

阅读这些文章了解更多信息:

http://www.webupd8.org/2015/04/ubuntu-desktop-to-eventually-switch-to.html

http://www.itworld.com/article/2914850/linux/is-ubuntu-moving-away-from-deb-packages-here-is-the-complete-story.html

还有来自ubuntu的QA视频回答了很多问题https://youtu.be/lHO8j8uo5Z4

第四种方案

如果您正在考虑创建供他人使用的东西,换句话说,就是产品,那么今天就考虑转向活泼的Ubuntu Core。

该软件以快照方式提供,根据其特点,我们可以确信安装和升级将像原始创建者所希望的那样在每个系统上运行。其他特性是安全性,例如隔离执行和与系统通信以及配置已安装快照的干净接口。

要实现这样的功能,快照与debian软件包的区别很大:

  • 快照生活在一个孤立的系统确定位置,而debian包可以在整个地方传播文件。

  • 没有用于快照的维护者脚本。

回到原来使用或不使用的问题,如果你打算用Ubuntu Core替换你的桌面,我建议你坚持使用普通的Ubuntu桌面。 Ubuntu Core,我个人喜欢打电话,没有任何发行版,因为单独它没什么,但提供了一个非常好的构建块来提供一些东西,这就是它在物联网中流行的原因。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2248.html,未经允许,请勿转载。