為云及設備而建立的操作系統 - Snappy Ubuntu
關于 Snappy,之前的文章中提了一次 Snappy 與 Deb 共存,只是我不知到大家有沒有聽過Snappy Ubuntu.反正我聽到Snappy時,不是很理解.如果我們查查字典,它的意思是爽快的,敏捷的,精力充沛的.聽起來非常不錯哦!對了Snappy就是Canonical公司在未來發展的方向.所有未來Ubuntu所有的系統都將使用Snappy.這就是我們所說的Convergence(融合).我們開發的應用可以在多個不同平臺尺寸的設備及云上運行.我們可以不必為某個設備而單獨開發.更多的信息可以在 https://developer.ubuntu.com/en/snappy/找到.在未來,Snappy Ubuntu將在IoT(Internet of Things物聯網中)扮演重要的角色,比如如下的無人機等.
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來安裝相應的庫到自己的應用的私有目錄中.
Snappy Ubuntu Core 架構
在Snappy Ubuntu系統中,有4層:
- Application 層:這個之間由應用開發商提供.所有的應用都是隔離的,并受制于系統的安全機制
- Framework 層:這層是由Cannonical及開發商共同提供.它可以拓展Ubuntu Core的最基本的系統.這是一個可選的層.它不可以依附于其它的framework
- Ubuntu Core 層:這層是由Canonical公司提供.最少的rootfs來為特定的需求而定制
- Enablement 層:這個硬件層是由設備提供商或Canonical提供.Canonical提供4種支持
- 32/64 位
- ARM/Intel
一個典型的遠程桌面協議應用架構:
Snappy 支持的Target
截止目前為止,Snappy支持的target為:
從上面可以看出,Snappy已經在一些ARM的開發板及云(cloud)上都已經可以部署了.對有些開發者來說,買一個便宜的開發板加上一些附件,就可以hack我們的Snappy系統了.
Snappy運用實例
目前Snappy在不同的領域越來越多地被運用.下面例舉一些已經在運用Snappy Ubuntu做產品的實例.我們可以點擊下面圖片進入產品的網站.
Snappy store
就像其它的平臺一樣,Snappy也可以有自己的Store.為了看見所有在系統上的Snaps,我們可以打開我們的Browser(比如chromium,firefox等).我們可以看到在如下的localhost:4200地址啟動webdm (Web Device Manager),可以看到在設備中的已經安裝的應用.
Canonical也可以向包括OEM提供專有的帶有品牌的Store.
在接下來的文章中,我們將逐一介紹Snappy Ubuntu系統的技術細節.
轉載自:微信【Ubuntu 中國】