为云及设备而建立的操作系统 - Snappy Ubuntu

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