[置顶] 到底snappy ubuntu core是什么?

我不知到大家有没有听过snappy ubuntu core.反正我第一次听到Snappy时,不是很理解.如果我们查查字典,它的意思是爽快的敏捷的,精力充沛的.听起来非常不错哦!对了Snappy就是Canonical公司在未来发展的方向.所有未来Ubuntu所有的系统都将使用Snappy.这就是我们所说的Convergence(融合).我们开发的应用可以在多个不同平台尺寸的设备及云上运行.我们可以不必为某个设备而单独开发.更多的信息可以在 https://developer.ubuntu.com/en/snappy/找到.在未来,Snappy Ubuntu将在IoT(Internet of Things物联网中)扮演重要的角色,比如下面的无人机等.


[置顶] 到底snappy ubuntu core是什么?_第1张图片    [置顶] 到底snappy ubuntu core是什么?_第2张图片


Snappy Ubuntu 到底是什么呢?


简言之,Snappy Ubuntu是一个崭新的,具有事务性更新的为云及设备而建立的操作系统.它分为:

Snappy Ubuntu Core: 为云(cloud)及IoT (Internet of Things,物联网)

Snappy Ubuntu Personal: 为手机,平板及电脑

我们先来看一下Snappy Ubuntu 的特点:


[置顶] 到底snappy ubuntu core是什么?_第3张图片  


[置顶] 到底snappy ubuntu core是什么?_第4张图片


最小的Ubuntu服务器image:由于有较小的内核,所有可以适用于更多的应用场景.应用通过简单的.snap包来提供.snap包不同于先前的debian及手机上的click包.未来的应用及framwork都将以.snap包来发布.参阅文章"利用snapcraft为我们的Snappy Ubuntu应用打包"以了解更多.

事务性更新 (transactional updates):通过商城的channel自动更新.事务性更新提供一个更加可靠的系统.在Snappy Ubuntu中含有两个root filesystem分区:A区及B区(各含有一个系统image).当A区启动后,它可以用来更新B区.只有B区更新完整后并且没有错误后才可以切换过来到B区,否则永远处于A区.反之依然,我们可以用同样的办法来更新A区.当然,我们在任何时候,也可以rollback,也即回到以前的启动区.这样的做法可以保证我们的系统在任何的时候Ubuntu Core及应用的更新都是完整的.这对很多需要稳定工作的环境的系统来说非常重要,比如更新一个远在路口的webcam等.另外,更新应用或系统时只需要更新变化的部分(delta),这样传输的数据更少.

更强的应用安全:Snappy Ubuntu具有业界领先的安全性.Ubuntu系统image只是可读的.任何应用不可以更改它.这样的好处是不至于由于某个应用的安装或升级从而导致系统image得到修改,进而导致有些已经安装的应用不能正常运行.每个应用都有自己的可以读写的空间,并且它们之间是不可以互相访问的.每个应用都运行于受限的沙箱之中.API的访问是由Apparmor及Seccomp来强制受限的.它提供严格的基于MAC(Mandatory-Access-Control)的隔离.传统的Linux应用可以访问任何一个目录,并读写它们之中的文件.这和Snappy系统是不同的.如果一个应用需要特别的库,可以使用snapcraft来安装相应的库到自己的应用的私有目录中.


Snappy Ubuntu 架构


   [置顶] 到底snappy ubuntu core是什么?_第5张图片 [置顶] 到底snappy ubuntu core是什么?_第6张图片

在Snappy Ubuntu系统中,有4层:

-  Application 层:这层是由应用开发商提供.所有的应用都是隔离的,并受制于系统的安全机制
-  Framework 层:这层是由Cannonical及开发商共同提供.它可以拓展Ubuntu Core的最基本的系统.这是一个 可选的层.它不可以依附于其它的framework
-  Ubuntu Core 层:这层是由Canonical公司提供.最少的rootfs来为特定的需求而定制
-  Enablement 层:这个硬件层是由设备提供商或Canonical提供.Canonical提供4种支持
  • 32/64 位
  • ARM/Intel
一个典型的远程桌面协议应用架构:

[置顶] 到底snappy ubuntu core是什么?_第7张图片

典型的IOT应用软件栈:

[置顶] 到底snappy ubuntu core是什么?_第8张图片

从上面可以看出来,我们可以通常使用 MQTT协议或 REST API接口来从远程来控制我们的系统或获取系统的信息.这将在我们以后的文章中分别介绍如何利用它们来实现我们想要的功能.


Snappy 支持的Target



截止目前为止,Snappy支持的target为:

[置顶] 到底snappy ubuntu core是什么?_第9张图片

从上面可以看出,Snappy已经在一些ARM的开发板及云(cloud)上都已经可以部署了.对有些开发者来说,买一个便宜的开发板( Raspberry PI及 Beaglebone)加上一些附件,就可以hack我们的Snappy系统了.更多信息可以参阅 链接.


Snappy开发所支持的语言及架构



目前在Snappy上的开发,可以说是涵盖里目前几乎所有最流行的语言及架构.为开发者带来了无限的创新空间:


[置顶] 到底snappy ubuntu core是什么?_第10张图片      [置顶] 到底snappy ubuntu core是什么?_第11张图片    [置顶] 到底snappy ubuntu core是什么?_第12张图片
   [置顶] 到底snappy ubuntu core是什么?_第13张图片 [置顶] 到底snappy ubuntu core是什么?_第14张图片   [置顶] 到底snappy ubuntu core是什么?_第15张图片  
  [置顶] 到底snappy ubuntu core是什么?_第16张图片



Snappy运用实例


目前Snappy在不同的领域越来越多地被运用.下面例举一些已经在运用Snappy Ubuntu做产品的实例.我们可以点击下面图片进入产品的网站.

[置顶] 到底snappy ubuntu core是什么?_第17张图片     [置顶] 到底snappy ubuntu core是什么?_第18张图片


[置顶] 到底snappy ubuntu core是什么?_第19张图片   

大家如果对我的snappy开发实例感兴趣的话,请参阅文章" snappy ubuntu core 演示".

Snappy Store



就像其它的平台一样,Snappy也可以有自己的Store.为了看见所有在系统上的Snaps,我们可以打开我们的Browser(比如chromium,firefox等).我们可以看到在如下的localhost:4200地址启动webdm (Web Device Manager),可以看到在设备中的已经安装的应用及商店.如果大家有Ubuntu手机的话,我们也可以在上面部署我设计的 webdm应用来安装或删除应用.


[置顶] 到底snappy ubuntu core是什么?_第20张图片

[置顶] 到底snappy ubuntu core是什么?_第21张图片

Canonical也可以向包括OEM提供专有的带有品牌的Store.

关于更多的snappy更新,大家可以订购我们的mailinglist:  https://lists.ubuntu.com/mailman/listinfo/snappy-app-devel.如果您使用IRC的话,可以参加我们的freenode上的# snappy channel来参加讨论.如果你发现我们的Snappy有上面bug的话,请点击 连接进行报告.

[置顶] 到底snappy ubuntu core是什么?_第22张图片

Ubuntu的创始人Mark对Snappy也做了精彩的阐述,请英文好的开发者观看视频" Ubuntu Online Summit Intro and Mark Shuttleworth's Opening Keynote"及" Community Team Q&A".如果你想了解更多关于Ubuntu core的更新,可以观看youtube 视频.

在接下来的文章中,我们将逐一介绍Snappy Ubuntu系统的技术细节.大家可以参阅我的 Snappy Ubuntu入门教程及  Snappy Ubuntu Core clinic 视频.


你可能感兴趣的:([置顶] 到底snappy ubuntu core是什么?)