歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何在樹莓派 2 運行 Ubuntu Snappy Core

如何在樹莓派 2 運行 Ubuntu Snappy Core

日期:2017/2/28 13:58:25   编辑:Linux教程

物聯網(Internet of Things, IoT) 時代即將來臨。很快,過不了幾年,我們就會問自己當初是怎麼在沒有物聯網的情況下生存的,就像我們現在懷疑過去沒有手機的年代。Canonical 就是一個物聯網快速發展卻還是開放市場下的競爭者。這家公司宣稱自己把賭注壓到了IoT 上,就像他們已經在“雲”上做過的一樣。在今年一月底,Canonical 啟動了一個基於Ubuntu Core 的小型操作系統,名字叫做 Ubuntu Snappy Core 。

Snappy 代表了兩種意思,它是一種用來替代 deb 的新的打包格式;也是一個用來更新系統的前端,從CoreOS、紅帽子和其他系統借鑒了原子更新這個想法。自從樹莓派 2 投入市場,Canonical 很快就發布了用於樹莓派的Snappy Core 版本。而第一代樹莓派因為是基於ARMv6 ,Ubuntu 的ARM 鏡像是基於ARMv7 ,所以不能運行ubuntu 。不過這種狀況現在改變了,Canonical 通過發布 Snappy Core 的RPI2 鏡像,抓住機會證明了Snappy 就是一個用於雲計算,特別是用於物聯網的系統。

Snappy 同樣可以運行在其它像Amazon EC2, Microsofts Azure, Google的 Compute Engine 這樣的雲端上,也可以虛擬化在 KVM、Virtuabox 和vagrant 上。Canonical Ubuntu 已經擁抱了微軟、谷歌、Docker、OpenStack 這些重量級選手,同時也與一些小項目達成合作關系。除了一些創業公司,比如 Ninja Sphere、Erle Robotics,還有一些開發板生產商,比如 Odroid、Banana Pro, Udoo, PCDuino 和 Parallella 、全志,Snappy 也提供了支持。Snappy Core 同時也希望盡快運行到路由器上來幫助改進路由器生產商目前很少更新固件的策略。

接下來,讓我們看看怎麼樣在樹莓派 2 上運行 Ubuntu Snappy Core。

用於樹莓派2 的Snappy 鏡像可以從 Raspberry Pi 網站 上下載。解壓縮出來的鏡像必須寫到一個至少8GB 大小的SD 卡。盡管原始系統很小,但是原子升級和回滾功能會占用不小的空間。使用 Snappy 啟動樹莓派 2 後你就可以使用默認用戶名和密碼(都是ubuntu)登錄系統。

sudo 已經配置好了可以直接用,安全起見,你應該使用以下命令來修改你的用戶名

  1. $ sudo usermod -l <new name><old name>

或者也可以使用adduser 為你添加一個新用戶。

因為RPI缺少硬件時鐘,而 Snappy Core 鏡像並不知道這一點,所以系統會有一個小 bug:處理某些命令時會報很多錯。不過這個很容易解決:

使用這個命令來確認這個bug 是否影響:

  1. $ date

如果輸出類似 "Thu Jan 1 01:56:44 UTC 1970", 你可以這樣做來改正:

  1. $ sudo date --set="Sun Apr 04 17:43:26 UTC 2015"

改成你的實際時間。

現在你可能打算檢查一下,看看有沒有可用的更新。注意通常使用的命令是不行的:

  1. $ sudo apt-get update && sudo apt-get distupgrade

這時系統不會讓你通過,因為 Snappy 使用它自己精簡過的、基於dpkg 的包管理系統。這麼做的原因是 Snappy 會運行很多嵌入式程序,而同時你也會試圖所有事情盡可能的簡化。

讓我們來看看最關鍵的部分,理解一下程序是如何與 Snappy 工作的。運行 Snappy 的SD 卡上除了 boot 分區外還有3個分區。其中的兩個構成了一個重復的文件系統。這兩個平行文件系統被固定掛載為只讀模式,並且任何時刻只有一個是激活的。第三個分區是一個部分可寫的文件系統,用來讓用戶存儲數據。通過更新系統,標記為'system-a' 的分區會保持一個完整的文件系統,被稱作核心,而另一個平行的文件系統仍然會是空的。

如果我們運行以下命令:

  1. $ sudo snappy update

系統將會在'system-b' 上作為一個整體進行更新,這有點像是更新一個鏡像文件。接下來你將會被告知要重啟系統來激活新核心。

重啟之後,運行下面的命令可以檢查你的系統是否已經更新到最新版本,以及當前被激活的是哪個核心

  1. $ sudo snappy versions -a

經過更新-重啟兩步操作,你應該可以看到被激活的核心已經被改變了。

因為到目前為止我們還沒有安裝任何軟件,所以可以用下面的命令更新:

  1. $ sudo snappy update ubuntu-core

如果你打算僅僅更新特定的OS 版本這就夠了。如果出了問題,你可以使用下面的命令回滾:

  1. $ sudo snappy rollback ubuntu-core

這將會把系統狀態回滾到更新之前。

再來說說那些讓 Snappy 變得有用的軟件。這裡不會講的太多關於如何構建軟件、向 Snappy 應用商店添加軟件的基礎知識,但是你可以通過 Freenode 上的IRC 頻道 #snappy 了解更多信息,那個上面有很多人參與。你可以通過浏覽器訪問http://<ip-address>:4200 來浏覽應用商店,然後從商店安裝軟件,再在浏覽器裡訪問 http://webdm.local 來啟動程序。如何構建用於 Snappy 的軟件並不難,而且也有了現成的參考文檔 。你也可以很容易的把 DEB 安裝包使用Snappy 格式移植到Snappy 上。

盡管 Ubuntu Snappy Core 吸引了我們去研究新型的 Snappy 安裝包格式和 Canonical 式的原子更新操作,但是因為有限的可用應用,它現在在生產環境裡還不是很有用。但是既然搭建一個 Snappy 環境如此簡單,這看起來是一個學點新東西的好機會。

在(Raspberry Pi)樹莓派上安裝NodeJS http://www.linuxidc.com/Linux/2015-01/111714.htm

Raspberry Pi 樹莓派上安裝Weston http://www.linuxidc.com/Linux/2013-06/86685.htm

用於Raspberry Pi 的Linux 操作系統已經可用 http://www.linuxidc.com/Linux/2012-03/56058.htm

Raspberry Pi(樹莓派)試用小記 http://www.linuxidc.com/Linux/2013-10/91008.htm

Raspberry Pi(樹莓派)的安裝、配置IP及軟件源等入門 http://www.linuxidc.com/Linux/2013-10/91009.htm


via: http://xmodulo.com/ubuntu-snappy-core-raspberry-pi-2.html

作者:Ferdinand Thommes 譯者:Ezio 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

Copyright © Linux教程網 All Rights Reserved