关于 Snappy,之前的文章中提了一次 Snappy 与 Deb 共存,只是我不知道大家有没有听过Snappy Ubuntu。反正我听到Snappy时,不是很理解。如果我们查查字典,它的意思是爽快的,敏捷的,精力充沛的。听起来非常不错哦!对了Snappy就 是Canonical公司在未来发展的方向。未来Ubuntu所有的系统都将使用Snappy。这就是我们所说的Convergence(融合)。我们开发的应用可以在多个不同平台尺寸的设备及云上运行。我们可以不必为某个设备而单独开发。更多的信息可以在 https://developer.ubuntu.com/en/snappy/找到。在未来,Snappy Ubuntu将在IoT(Internet of Things物联网中)扮演重要的角色,比如如下的无人机等。
1.Snappy Ubuntu 到底是什么呢?
简言之,Snappy Ubuntu是一个崭新的,具有事务性更新的为云及设备而建立的操作系统。它分为:
◆Snappy Ubuntu Core:为云(cloud)及IoT (Internet of Things,物联网)。
◆Snappy Ubuntu Personal:为手机,平板及电脑。
我们看一下Snappy Ubuntu 的特点:
◆最小的Ubuntu服务器image:由于有较小的内核,所有可以适用于更多的应用场景。应用通过简单的方式,snap包来提供。snap包不同于先前的debian及手机上的click包。未来的应用及framwork都将以.snap包来发布。
◆事务性更新 (transitional updates):通过商城的channel自动更新。事务性 更新提供一个更加可靠的系统。在Snappy Ubuntu中含有两个root filesystem分区:A区及B区(各含有一个系统image)。当A区启动后,它可以用来更新B区。只有B区更新完整后才可以切换过来到B区,否则 永远处于A区。反之依然,我们可以用同样的办法来更新A区。当然,我们在任何时候,也可以rollback,也即回到以前的启动区。这样的做法可以保证我 们的系统在任何的时候Ubuntu Core及应用的更新都是完整的。这对很多需要稳定工作的环境的系统来说非常重要,比如更新一个远在路口的webcam等。
◆更强的应用安全:Snappy Ubuntu具有业界领先的安全性。Ubuntu系统image只是可读的。任何应用不可以更改它。这样的好处是不至于由于某个应用的安装或升级从而导致 系统image得到修改,进而导致有些已经安装的应用不能正常运行。每个应用都有自己的可以读写的空间,并且它们之间是不可以互相访问的。每个应用都运行 于受限的沙箱之中。API的访问是由Apparmor及Seccomp来强制受限的。它提供严格的基于MAC(Mandatory-Access- Control)的隔离。传统的Linux应用可以访问任何一个目录,并读写它们之中的文件。这和Snappy系统是不同的。如果一个应用需要特别的库, 可以使用 snapcraft来安装相应的库到自己应用的私有目录中。
2.Snappy Ubuntu Core 架构
在Snappy Ubuntu系统中,有4层:
◆Application 层:这个之间由应用开发商提供。所有的应用都是隔离的,并受制于系统的安全机制。
◆Framework 层:这层是由Cannonical及开发商共同提供。它可以拓展Ubuntu Core的最基本的系统。这是一个可选的层。它不可以依附于其它的framework。
◆Ubuntu Core 层:这层是由Canonical公司提供。最少的rootfs来为特定的需求而定制。
◆Enablement 层:这个硬件层是由设备提供商或Canonical提供。Canonical提供4种支持。
- 32/64 位
- ARM/Intel
#p#
一个典型的远程桌面协议应用架构:
3.Snappy 支持的Target
截止目前为止,Snappy支持的target为:
从上面可以看出,Snappy已经在一些ARM的开发板及云(cloud)上都已经可以部署了。对有些开发者来说,买一个便宜的开发板加上一些附件,就可以hack我们的Snappy系统了。
4.Snappy运用实例
目前,Snappy在不同的领域越来越多地被运用,下面举例一些已经在运用Snappy Ubuntu做产品的实例。我们可以点击下面图片进入产品的网站。
5.Snappy store
就像其它的平台一样,Snappy也可以有自己的Store。为了看见所有在系统上的Snaps,我们可以打开我们的Browser(比如 chromium,firefox等)。我们可以看到在如下的localhost:4200地址启动webdm (Web Device Manager),可以看到在设备中的已经安装的应用。
Canonical也可以向包括OEM提供专有的带有品牌的Store。
在接下来的文章中,我们将逐一介绍Snappy Ubuntu系统的技术细节。