要說今年linux哪個概念火?肯定少不了“不可變”。ubuntu也終于按捺不住了。
就在6月初,Ubuntu的母公司Canonical宣布:將很快加入不可變的發(fā)行版潮流。
雖然一開始Snap的首席開發(fā)人員OliverGrawert在OMG Ubuntu網(wǎng)站上的一篇文章中隨意地放棄了這一宣布,但第二天Ubuntu桌面產(chǎn)品經(jīng)理Oliver Smith 在一篇博文中“撈起來”再確認:將于明年四月發(fā)布的下一個長期支持版本(LTS),除了基于deb格式的傳統(tǒng)版本外,還將推出完全基于Snap格式構(gòu)建的全新版本。
后者是一個基于Ubuntu Core構(gòu)建的不可變桌面發(fā)行版,因為帶有試驗性質(zhì),所以僅作為替代下載,喜歡嘗鮮的愛好者可以嘗試。
需要說明的是,Canonical于2015推出的Ubuntu Core 正是 “不可變” 操作系統(tǒng),同樣基于 Snap,旨在為物聯(lián)網(wǎng)創(chuàng)建一個完全容器化的平臺。
1、linux為什么開始追求“不可變”?
不可變桌面發(fā)行版是當(dāng)前的流行趨勢。EndlessOS發(fā)行版是開先河者,Red Hat贊助的Fedora項目也有幾個,包括Fedora Silverblue(GNOME)和Fedora Kinoite(KDE),還有Linux發(fā)行版的后起之秀?Vanilla OS,其亮點之一就是系統(tǒng)核心 “不可變”。
那么相較于傳統(tǒng)操作系統(tǒng),所謂的“不可變”到底指的是什么,使操作系統(tǒng)“不可變”的屬性到底有哪些。
其一,只讀。不可變操作系統(tǒng)的主要特征是用戶或應(yīng)用程序無法直接修改正在運行的系統(tǒng)。
其二,原子更新。更新以原子方式應(yīng)用。如果安裝更新包成功,那么系統(tǒng)會完成升級。而如果系統(tǒng)更新失敗,則會恢復(fù)到原有的系統(tǒng)環(huán)境,以保持當(dāng)前系統(tǒng)環(huán)境不被改變。
其三,可預(yù)言的。由于核心操作系統(tǒng)不會更改,因此其行為可以跨設(shè)備預(yù)測。
其四,隔離應(yīng)用。應(yīng)用程序通常通過容器化與核心操作系統(tǒng)隔離,彼此隔離。這可確保應(yīng)用程序所做的更改不會影響核心系統(tǒng)或其他應(yīng)用程序。
這種“不可變”帶來的優(yōu)缺點都十分鮮明。簡單來說,性能更卓越,使用更復(fù)雜。
優(yōu)勢在于:
安全性:惡意軟件更難對系統(tǒng)進行更改或從一個應(yīng)用程序傳播到另一個應(yīng)用程序。
系統(tǒng)的穩(wěn)定性可以得到保證,因為系統(tǒng)文件不會在意料之外被更改或刪除,而原子更新也能確保系統(tǒng)更新不會導(dǎo)致系統(tǒng)只部分更新而出現(xiàn)不穩(wěn)定的情況。
可重現(xiàn)性:由于操作系統(tǒng)在啟動時相同,因此更容易測試、審核和驗證系統(tǒng),以及診斷和解決問題。
操作系統(tǒng)的可管理性使得系統(tǒng)管理員不必擔(dān)心不同系統(tǒng)之間的意外更改或不一致,因為每個實例都是相同的。原子更新和回滾簡化了應(yīng)用系統(tǒng)更新和修復(fù)問題的過程。
不足在于:
靈活性降低: 不可變操作系統(tǒng)不如傳統(tǒng)操作系統(tǒng)靈活。用戶無法以相同的程度修改系統(tǒng)文件或自定義其系統(tǒng)。
有限兼容性:并非所有應(yīng)用程序和服務(wù)都與不可變操作系統(tǒng)提供的容器化或隔離環(huán)境兼容。
存儲要求: 更新機制通常需要映像快照存儲。隔離的應(yīng)用程序可能會導(dǎo)致應(yīng)用程序依賴項存儲中的冗余。
開發(fā)人員體驗:雖然容器化開發(fā)環(huán)境提供了好處(例如改進的隔離和可重現(xiàn)性),但它們也可能帶來額外的復(fù)雜性,并限制熟悉的工具和工作流的使用。
Oliver Smith認為,不可變操作系統(tǒng)具有與傳統(tǒng)操作系統(tǒng)不同的特征,并且適用于更特定的應(yīng)用環(huán)境。不可變操作系統(tǒng)非常適合那些對穩(wěn)定性、安全性和可預(yù)測性要求極高的環(huán)境,比如服務(wù)器、iot設(shè)備和高度安全的環(huán)境。然而,近年來,我們已經(jīng)看到這些屬性展示了重要的用戶價值,首先是在移動操作系統(tǒng)領(lǐng)域,然后在PC領(lǐng)域越來越多。”
2、Ubuntu殺入“不可變”,勝算幾何
首先,雖然這個不可變發(fā)行版是Ubuntu的新產(chǎn)品,但它并不是徹頭徹尾的“全新”發(fā)行版:因為它是基于Ubuntu Core構(gòu)建的。雖然Ubuntu Core知名度不及主流Ubuntu,但它實際上已經(jīng)成熟運營多年。盡管Canonical尚未正式確認新產(chǎn)品的名稱,但它將基于Core 24,并在頂部提供一組附加軟件包以提供圖形桌面。已在Canonical的github存儲庫上發(fā)布一份測試版本,可能是新的桌面版本。
圖源:GitHub
其次,基于已有的了解,我們可以進行一些推測:它很可能將使用GNOME桌面,因為這是唯一的官方Ubuntu產(chǎn)品。當(dāng)然,肯定會有例外。比如,Ubuntu Unity 的維護者就已經(jīng)擁有了自己的不可變發(fā)行版,近來開始嶄露頭角的blendOS。
再者,觀察現(xiàn)有的一些不可變發(fā)行版,可以發(fā)現(xiàn),它們普遍需要兩個軟件分發(fā)工具鏈:一個是OStree,用于安裝和維護操作系統(tǒng)本身,另一個是完全獨立的Flatpak,用于在其上運行的應(yīng)用程序。而Ubuntu的不可變發(fā)行版肯定與之不同。
因為Ubuntu Core本身基于Snap,可以肯定的是,桌面版的Core也是如此:它將使用Snap,且是完全使用Snap,沒有Flatpak,也沒有APT。
盡管很多人對Snap和Snap打包的應(yīng)用程序不感冒,但是Snapcraft工具已經(jīng)發(fā)展成熟,且真正有效。Snappy工具與Flatpak不同之處在于,它可以用于打包命令行程序和操作系統(tǒng)組件,并適用于Ubuntu系統(tǒng)。相比所有其他不可變發(fā)行版,Core的桌面版采用一種整體打包系統(tǒng),應(yīng)用于整個操作系統(tǒng)。這可能也會成為Ubuntu這款新產(chǎn)品的比較優(yōu)勢。
有趣的是,在Canonical的官博文章中,還深入對比了其競爭對手的產(chǎn)品,一個是Fedora Silverblue,說明其如何通過OSTree工具遵循與chrome OS類似的升級機制;一個是openSUSE的發(fā)行版,主要介紹與Ubuntu Core類似的MicroOS如何使用 Btrfs 快照,來支持名為openSUSE Aeon的桌面環(huán)境。
一方面,Linux領(lǐng)域的一家公司公開討論其競爭對手及其技術(shù)非常罕見,其他企業(yè)Linux供應(yīng)商通常會盡可能避免提及競爭對手,甚至無視其他競爭對手。
另一方面,Ubuntu雖然進入不可變桌面市場相對較晚,但非常了解現(xiàn)有的競爭對手,并且已經(jīng)意識到一個更簡單但功能更強大、集成更好的軟件堆棧,對Canonical更有利。
3、網(wǎng)友:狡猾的Ubuntu
不過,也有人對Ubuntu的新產(chǎn)品提出了質(zhì)疑:“就在我們認為Linux給了我們選擇的自由時”,Ubuntu打破了這種幻象。
圖源:register
這名開發(fā)人員指出:“對于許多初學(xué)者來說,Ubuntu最初就像一股清新的空氣。”。(然而發(fā)展到現(xiàn)在)他們想讓他們的Linux版本自然而然地成為唯一剩下的Linux,他們狡猾計劃的主要部分是名為SNAP的兜售點。”
這種質(zhì)疑并非無的放矢,這一矛盾很早就有跡可循。
放眼Linux發(fā)行版的歷史,不可否認的是,Ubuntu是一種“現(xiàn)象”級的存在,其發(fā)展速度可以稱之為迅猛。Ubuntu可以說是輕松上手,使用方便,幾乎包含了傳統(tǒng)桌面Linux用戶所需的全部功能。在2004年發(fā)布4.10版“Warty Warthog”之后僅僅幾年,Ubuntu就登上了桌面Linux排行榜的榜首。
曾經(jīng),人們相信開源,相信Linux的動因很簡單:選擇自由。遺憾的是,Ubuntu的背后公司Canonical在決策上恰恰背離了這一原則。有爭議的分銷開發(fā)決策堆積如山。這也讓很多Linux用戶對此失望。
最典型的一個事件就是,Ubuntu幾乎是一意孤行地向用戶強加了Snap格式。
簡單來說,Snap是一種分發(fā)封裝在Snap包中的軟件的方法,Snap包在各種Linux發(fā)行版之間提供了使用兼容性。Snap作為Canonical內(nèi)部開發(fā)的一種格式,Canonical想推它無可厚非,但問題是,在這一領(lǐng)域,還有AppImage和Flatpak。Flatpak是大多數(shù)主要Linux發(fā)行版所傾向的首選方式,這是更為重要的一點。
盡管Canonical的老板Mark Shuttleworth 強調(diào)Snap比Flatpak更好,但是在幾乎整個Linux社區(qū)都更傾向Flatpak時,Ubuntu也堅持放棄Flatpak,這讓很多開發(fā)者感覺到,曾經(jīng)以“為人而生的Linux”(Linux for Humans)為口號的Ubuntu似乎變了,開始“為商業(yè)而生”了。
因此在Ubuntu有意進軍不可變桌面領(lǐng)域時,也有人懷疑,Ubuntu Core的桌面版將主要定位于付費企業(yè)客戶,比如那些希望重新利用現(xiàn)有的桌面機和用于運行windows的瘦客戶端的客戶。
客觀來說,Ubuntu仍是最流行和廣泛使用的桌面Linux操作系統(tǒng)之一。Ubuntu在集成、組裝和完成,以及最終用戶使用方面仍然比幾乎所有其他桌面Linux發(fā)行版都更具優(yōu)勢。一些分析師表示,他們期望Ubuntu進入不可變發(fā)行版市場,因為它可能會比現(xiàn)有的任何公司提供更優(yōu)質(zhì)的產(chǎn)品。
雖然現(xiàn)在下結(jié)論還為時過早,但這款新產(chǎn)品有可能顯著提高Canonical在企業(yè)桌面市場上的市場占有率。這可能反過來提升其Snapcraft格式和應(yīng)用商店的成功。
參考鏈接:
https://www.theregister.com/2023/06/06/desktop_ubuntu_core_in_2024
https://ubuntu.com/blog/ubuntu-core-an-immutable-linux-desktop
https://www.linuxmi.com/ubuntu-no-flagship-linux.html
https://github.com/canonical/ubuntu-core-desktop