【普及知識(shí)】快來(lái)了解下Snappy Ubuntu是什么
關(guān)于 Snappy,之前的文章中提了一次 Snappy 與 Deb 共存,只是我不知道大家有沒(méi)有聽(tīng)過(guò)Snappy Ubuntu。反正我聽(tīng)到Snappy時(shí),不是很理解。如果我們查查字典,它的意思是爽快的,敏捷的,精力充沛的。聽(tīng)起來(lái)非常不錯(cuò)哦!對(duì)了Snappy就 是Canonical公司在未來(lái)發(fā)展的方向。未來(lái)Ubuntu所有的系統(tǒng)都將使用Snappy。這就是我們所說(shuō)的Convergence(融合)。我們開(kāi)發(fā)的應(yīng)用可以在多個(gè)不同平臺(tái)尺寸的設(shè)備及云上運(yùn)行。我們可以不必為某個(gè)設(shè)備而單獨(dú)開(kāi)發(fā)。更多的信息可以在 https://developer.ubuntu.com/en/snappy/找到。在未來(lái),Snappy Ubuntu將在IoT(Internet of Things物聯(lián)網(wǎng)中)扮演重要的角色,比如如下的無(wú)人機(jī)等。
1.Snappy Ubuntu 到底是什么呢?
簡(jiǎn)言之,Snappy Ubuntu是一個(gè)嶄新的,具有事務(wù)性更新的為云及設(shè)備而建立的操作系統(tǒng)。它分為:
◆Snappy Ubuntu Core:為云(cloud)及IoT (Internet of Things,物聯(lián)網(wǎng))。
◆Snappy Ubuntu Personal:為手機(jī),平板及電腦。
我們看一下Snappy Ubuntu 的特點(diǎn):
◆最小的Ubuntu服務(wù)器image:由于有較小的內(nèi)核,所有可以適用于更多的應(yīng)用場(chǎng)景。應(yīng)用通過(guò)簡(jiǎn)單的方式,snap包來(lái)提供。snap包不同于先前的debian及手機(jī)上的click包。未來(lái)的應(yīng)用及framwork都將以.snap包來(lái)發(fā)布。
◆事務(wù)性更新 (transitional updates):通過(guò)商城的channel自動(dòng)更新。事務(wù)性 更新提供一個(gè)更加可靠的系統(tǒng)。在Snappy Ubuntu中含有兩個(gè)root filesystem分區(qū):A區(qū)及B區(qū)(各含有一個(gè)系統(tǒng)image)。當(dāng)A區(qū)啟動(dòng)后,它可以用來(lái)更新B區(qū)。只有B區(qū)更新完整后才可以切換過(guò)來(lái)到B區(qū),否則 永遠(yuǎn)處于A區(qū)。反之依然,我們可以用同樣的辦法來(lái)更新A區(qū)。當(dāng)然,我們?cè)谌魏螘r(shí)候,也可以rollback,也即回到以前的啟動(dòng)區(qū)。這樣的做法可以保證我 們的系統(tǒng)在任何的時(shí)候Ubuntu Core及應(yīng)用的更新都是完整的。這對(duì)很多需要穩(wěn)定工作的環(huán)境的系統(tǒng)來(lái)說(shuō)非常重要,比如更新一個(gè)遠(yuǎn)在路口的webcam等。
◆更強(qiáng)的應(yīng)用安全:Snappy Ubuntu具有業(yè)界領(lǐng)先的安全性。Ubuntu系統(tǒng)image只是可讀的。任何應(yīng)用不可以更改它。這樣的好處是不至于由于某個(gè)應(yīng)用的安裝或升級(jí)從而導(dǎo)致 系統(tǒng)image得到修改,進(jìn)而導(dǎo)致有些已經(jīng)安裝的應(yīng)用不能正常運(yùn)行。每個(gè)應(yīng)用都有自己的可以讀寫(xiě)的空間,并且它們之間是不可以互相訪問(wèn)的。每個(gè)應(yīng)用都運(yùn)行 于受限的沙箱之中。API的訪問(wèn)是由Apparmor及Seccomp來(lái)強(qiáng)制受限的。它提供嚴(yán)格的基于MAC(Mandatory-Access- Control)的隔離。傳統(tǒng)的Linux應(yīng)用可以訪問(wèn)任何一個(gè)目錄,并讀寫(xiě)它們之中的文件。這和Snappy系統(tǒng)是不同的。如果一個(gè)應(yīng)用需要特別的庫(kù), 可以使用 snapcraft來(lái)安裝相應(yīng)的庫(kù)到自己應(yīng)用的私有目錄中。
2.Snappy Ubuntu Core 架構(gòu)
在Snappy Ubuntu系統(tǒng)中,有4層:
◆Application 層:這個(gè)之間由應(yīng)用開(kāi)發(fā)商提供。所有的應(yīng)用都是隔離的,并受制于系統(tǒng)的安全機(jī)制。
◆Framework 層:這層是由Cannonical及開(kāi)發(fā)商共同提供。它可以拓展Ubuntu Core的最基本的系統(tǒng)。這是一個(gè)可選的層。它不可以依附于其它的framework。
◆Ubuntu Core 層:這層是由Canonical公司提供。最少的rootfs來(lái)為特定的需求而定制。
◆Enablement 層:這個(gè)硬件層是由設(shè)備提供商或Canonical提供。Canonical提供4種支持。
- 32/64 位
- ARM/Intel
#p#
一個(gè)典型的遠(yuǎn)程桌面協(xié)議應(yīng)用架構(gòu):
3.Snappy 支持的Target
截止目前為止,Snappy支持的target為:
從上面可以看出,Snappy已經(jīng)在一些ARM的開(kāi)發(fā)板及云(cloud)上都已經(jīng)可以部署了。對(duì)有些開(kāi)發(fā)者來(lái)說(shuō),買(mǎi)一個(gè)便宜的開(kāi)發(fā)板加上一些附件,就可以hack我們的Snappy系統(tǒng)了。
4.Snappy運(yùn)用實(shí)例
目前,Snappy在不同的領(lǐng)域越來(lái)越多地被運(yùn)用,下面舉例一些已經(jīng)在運(yùn)用Snappy Ubuntu做產(chǎn)品的實(shí)例。我們可以點(diǎn)擊下面圖片進(jìn)入產(chǎn)品的網(wǎng)站?! ?/p>
5.Snappy store
就像其它的平臺(tái)一樣,Snappy也可以有自己的Store。為了看見(jiàn)所有在系統(tǒng)上的Snaps,我們可以打開(kāi)我們的Browser(比如 chromium,firefox等)。我們可以看到在如下的localhost:4200地址啟動(dòng)webdm (Web Device Manager),可以看到在設(shè)備中的已經(jīng)安裝的應(yīng)用。
Canonical也可以向包括OEM提供專(zhuān)有的帶有品牌的Store。
在接下來(lái)的文章中,我們將逐一介紹Snappy Ubuntu系統(tǒng)的技術(shù)細(xì)節(jié)。