Ubuntu 更稳定的未来
于 2015年5月8日
Canonical 宣布计划将所有 Ubuntu 版本切换到其新的 Snappy 软件包管理器。这个新工具承诺为系统和应用程序带来更高的稳定性和安全性。
Snappy 已经用于 Ubuntu Core,这是一个最小化的 Ubuntu 版本,旨在用于云、移动设备和嵌入式系统。
下一步是将 Snappy 推广到 “Ubuntu Desktop Next”。Next 是 Ubuntu 的一个特殊版本,作为新技术的试验平台,然后再将其包含在桌面版本中。测试人员使用 Next 来试用新功能,例如 Mir 和 Unity 8。
目前,Ubuntu 使用高级软件包工具(APT)和更底层的 dpkg 工具来管理软件包。它们继承自 Debian,并在各种发行版中使用。
Snappy 采用了一种完全不同的软件包管理方法。这意味着开发人员需要用 Snappy 软件包替换所有现有的 Debian 软件包。当然,这将是一项重大的 undertaking。有成千上万的软件包需要切换,因此我们可以预期在 Snappy 进入主线版本之前,还需要漫长的等待。
鉴于这一变化,有些人担心 Ubuntu 将切断与 Debian 的联系。Next 团队负责人澄清说,Canonical 打算维持 Ubuntu 与 Debian 的关系。计划是创建基于 Debian 等效软件包的 Snappy 软件包。
Snappy 是一种新型的软件包管理器,它在安全性、软件包内容和更新方面采用了不同的方法。它最初是为提高移动设备的性能而设计的,但它为所有用户带来了一系列好处。以下是一些使 Snappy 与众不同的功能
- 分离应用程序代码和用户数据:Snappy 将用户文件(如配置设置和数据)与应用程序代码分离。应用程序代码是只读的,以确保稳定性。这可以防止篡改并确保可预测的更新过程。
- 保护用户数据:当软件包更新或回滚时,用户文件会自动备份。这消除了用户的风险。
- 原子软件包:Snappy 软件包是自包含的。应用程序的所有依赖项都捆绑到一个软件包中,并一起交付。使用 APT,安装一个软件包通常需要同时安装多个依赖软件包。Snappy 结束了这种情况。原子软件包使应用程序更自包含和稳定,但这是有代价的。它不可避免地会导致软件包之间的一些重复,从而需要更多的磁盘空间。
- 更小的更新:Snappy 使用基于增量镜像的更新系统。这意味着当软件包发生更改时,Snappy 只下载已更改的部分。因此,更新要小得多。这是带宽有限和数据限制严格的移动设备上的一个关键功能,但更小的更新对每个人来说都是好消息。
- 稳定性:破坏工作应用程序的主要原因是更改代码。有时是应用程序自身代码的更改。通常,更改发生在应用程序依赖的其他代码中,例如库。有时,当发布新版本的库时,应用程序会停止工作。Snappy 将应用程序与这两种更改来源隔离开来。由于所有依赖项都与应用程序代码捆绑在一起,因此它始终使用正确的版本。由于每个软件包都通过一系列增量镜像进行更新,因此不会删除任何内容。所有版本都可以在用户的机器上使用。因此,如果应用程序的新更新无法正常工作,用户可以轻松地“回滚”到可以工作的版本。
- 改进的安全性:Snappy 通过两个新功能(AppArmor 和数字签名)提高了安全性。数字签名确保您正在安装的软件包来自正确的开发人员,并且自捆绑以来没有被更改过。这可以防范恶意软件,因为如果受感染的文件被添加到软件包中,它将使签名无效。AppArmor 对应用程序可以在您的系统上执行的操作强制执行限制。它限制了每个应用程序可以访问和更改的资源。目的是防止应用程序造成损害或读取安全信息。
更小的更新、更高的安全性和稳定性的承诺绝对是吸引人的。到 Snappy 到来时,它已经在 Desktop Next 上进行了彻底的测试,因此希望它将是一个平稳的过渡。