如何在樹莓派 2 運行 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 已經配置好了可以直接用,安全起見,你應該使用以下命令來修改你的用戶名
$ sudo usermod -l <new name> <old name>
或者也可以使用adduser
為你添加一個新用戶。
因為RPI缺少硬體時鐘,而 Snappy Core 鏡像並不知道這一點,所以系統會有一個小 bug:處理某些命令時會報很多錯。不過這個很容易解決:
使用這個命令來確認這個bug 是否影響:
$ date
如果輸出類似 "Thu Jan 1 01:56:44 UTC 1970", 你可以這樣做來改正:
$ sudo date --set="Sun Apr 04 17:43:26 UTC 2015"
改成你的實際時間。
現在你可能打算檢查一下,看看有沒有可用的更新。注意通常使用的命令是不行的:
$ sudo apt-get update && sudo apt-get distupgrade
這時系統不會讓你通過,因為 Snappy 使用它自己精簡過的、基於dpkg 的包管理系統。這麼做的原因是 Snappy 會運行很多嵌入式程序,而同時你也會試圖所有事情儘可能的簡化。
讓我們來看看最關鍵的部分,理解一下程序是如何與 Snappy 工作的。運行 Snappy 的SD 卡上除了 boot 分區外還有3個分區。其中的兩個構成了一個重複的文件系統。這兩個平行文件系統被固定掛載為只讀模式,並且任何時刻只有一個是激活的。第三個分區是一個部分可寫的文件系統,用來讓用戶存儲數據。通過更新系統,標記為'system-a' 的分區會保持一個完整的文件系統,被稱作核心,而另一個平行的文件系統仍然會是空的。
如果我們運行以下命令:
$ sudo snappy update
系統將會在'system-b' 上作為一個整體進行更新,這有點像是更新一個鏡像文件。接下來你將會被告知要重啟系統來激活新核心。
重啟之後,運行下面的命令可以檢查你的系統是否已經更新到最新版本,以及當前被激活的是哪個核心
$ sudo snappy versions -a
經過更新-重啟兩步操作,你應該可以看到被激活的核心已經被改變了。
因為到目前為止我們還沒有安裝任何軟體,所以可以用下面的命令更新:
$ sudo snappy update ubuntu-core
如果你打算僅僅更新特定的OS 版本這就夠了。如果出了問題,你可以使用下面的命令回滾:
$ sudo snappy rollback ubuntu-core
這將會把系統狀態回滾到更新之前。
再來說說那些讓 Snappy 變得有用的軟體。這裡不會講的太多關於如何構建軟體、向 Snappy 應用商店添加軟體的基礎知識,但是你可以通過 Freenode 上的IRC 頻道 #snappy 了解更多信息,那個上面有很多人參與。你可以通過瀏覽器訪問http://
儘管 Ubuntu Snappy Core 吸引了我們去研究新型的 Snappy 安裝包格式和 Canonical 式的原子更新操作,但是因為有限的可用應用,它現在在生產環境里還不是很有用。但是既然搭建一個 Snappy 環境如此簡單,這看起來是一個學點新東西的好機會。
via: http://xmodulo.com/ubuntu-snappy-core-raspberry-pi-2.html
作者:Ferdinand Thommes 譯者:Ezio 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive