关于Snappy,上一篇文章中提到了Snappy和Deb的共存,不知道大家有没有听说过SnappyUbuntu。反正我一听到Snappy,也不是很明白。如果我们查字典,它的意思是轻快、敏捷、精力充沛。听起来不错!对了,Snappy是Canonical未来的发展方向。所有未来的Ubuntu系统都将使用Snappy。这就是我们所说的Convergence(融合)。我们开发的应用程序可以运行在不同平台大小的多种设备上,也可以运行在云端。我们不必针对某个设备单独开发。可以在https://developer.ubuntu.com/en/snappy/找到更多信息。未来,SnappyUbuntu将在IoT(InternetofThings物联网)中发挥重要作用,比如下面的无人机。 1。SnappyUbuntu究竟是什么? 简而言之,SnappyUbuntu是一个为云和设备构建的新的事务性更新操作系统。分为: ◆SnappyUbuntuCore:用于云(cloud)和IoT(InternetofThings,物联网)。 ◆SnappyUbuntuPersonal:适用于手机、平板电脑和电脑。 一起来看看SnappyUbuntu的特点: ◆最小的Ubuntu服务器镜像:由于内核更小,可以适用于更多的应用场景。该应用程序以简单的方式提供,即snap包。snap包不同于之前debian和手机上的click包。未来的应用程序和框架将作为.snap包发布。 ◆过渡更新:通过商城渠道自动更新。交易更新提供了一个更可靠的系统。SnappyUbuntu中有两个根文件系统分区:A区和B区(每个分区都包含一个系统映像)。A区激活后,可以用来更新B区,只有B区更新完成后才能切换到B区,否则一直在A区,否则我们可以用同样的方法更新A区。当然我们也可以随时回滚,即回到之前的引导区。这种方法可以确保我们的系统随时完全更新UbuntuCore和应用程序。这对于许多需要稳定工作环境的系统来说非常重要,例如更新远在十字路口的网络摄像头。 ◆更强的应用安全性:SnappyUbuntu拥有业界领先的安全性。Ubuntu系统映像是只可读的。没有应用程序可以更改它。这样做的好处是不会因为应用的安装或升级而修改系统镜像,导致部分已安装的应用无法正常运行。每个应用程序都有自己的可读写空间,彼此不能访问。每个应用程序都在受限的沙箱中运行。API访问受Apparmor和Seccomp限制。它提供基于MAC(强制访问控制)的严格隔离。传统的Linux应用程序可以访问任何目录并读写其中的文件。这与Snappy系统不同。如果一个应用程序需要一个特殊的库,你可以使用snapcraft将相应的库安装到你的应用程序的私有目录中。 2.SnappyUbuntuCore架构 在SnappyUbuntu系统中,有4层: ◆应用层:由应用开发者提供。所有应用程序都是隔离的,并受系统安全机制的约束。 ◆框架层:该层由Cannonical和开发者共同提供。它可以扩展UbuntuCore最基本的系统。这是一个可选层。它不能依赖于其他框架。 ◆Ubuntu核心层:该层由Canonical提供。为特定需求定制的最小rootfs。 ◆Enablementlayer:该硬件层由设备提供商或Canonical提供。Canonical提供4种类型的支持。32/64位ARM/Intel #p#一个典型的远程桌面协议应用架构: 3.Snappy支持的目标 目前为止,Snappy支持的目标有: 从上面可以看出,Snappy已经部署在了一些ARM开发板和云端。对于一些开发者来说,买一块便宜的开发板,再加上一些配件,就可以破解我们的Snappy系统。 4.Snappy应用实例 目前,Snappy在不同领域的使用越来越多。以下是一些使用SnappyUbuntu的产品示例。我们可以点击下图进入产品网站。 5.Snappystore 和其他平台一样,Snappy也可以有自己的Store。为了看到系统上所有的Snaps,我们可以打开我们的浏览器(比如chromium、firefox等)。我们可以看到在下面的localhost:4200地址启动webdm(WebDeviceManager),我们可以看到设备中安装的应用程序。 Canonical还可以为OEM提供专有品牌商店。 在接下来的文章中,我们将一一介绍SnappyUbuntu系统的技术细节。
