基於Ubuntu Core 的不可變Ubuntu桌面
在 最近的一篇博客文章中, 來自Canonical 的Oliver Smith分享了即將推出的使用Ubuntu Core的不可變Ubuntu桌面的更新。Canonical 於 2014 年開始開發 Ubuntu Core,它使用了與 Docker 和 LXC 相同的內核容器技術。這有助於將每個系統元件放入具有明確升級和回滾過程的安全沙箱中。
Ubuntu Core 是一個安全、有彈性且不斷更新的操作系統,由於其佔用空間最小,它提供了一個完全容器化的物聯網平臺。現在,Canonical期待提供基於Ubuntu Core的完全容器化Ubuntu桌面版本,其中每個元件都是不可變和隔離的。
在這篇文章中,我們將研究不可變操作系統的含義,並闡明Ubuntu Core在不可變Linux領域所扮演的角色。
不可變作業系統簡介
在討論Ubuntu Core之前,讓我們先瞭解一下是什麼讓操作系統不可變。
- 唯讀: 不可變作業系統的主要屬性是使用者和應用程式沒有直接修改系統的許可權。
- 原子更新: 更新以原子方式應用,這意味著它們要麼一次成功應用,要麼根本不成功應用。
- 可預言的: 由於核心操作系統保持不變,因此其行為在不同設備上是可預測的。
- 隔離應用: 應用程式通常通過使用容器化與核心操作系統隔離並彼此隔離。這保證了應用程式所做的任何更改都不會影響核心系統或其他應用程式。
不可變操作系統適用於優先考慮穩定性、安全性和可預測性的環境,例如IoT設備、伺服器和高安全性環境。然而,近年來,這些特徵已經向使用者展示了巨大的價值,最初是在移動操作系統領域,在PC領域越來越增長。
Ubuntu Core 作為不可變的Linux桌面基礎
除了物聯網之外,Ubuntu Core 還可以在其他領域受益,例如開發人員工作流程和用戶體驗。Ubuntu Core 帶來了一系列有用的功能,包括安全啟動、恢復狀態和硬體支援的加密,所有這些都顯著增強了使用者PC的安全性。
此外,它還在用戶體驗中引入了模組化的概念,使用戶能夠探索替代桌面環境快照,同時保持高度穩定、簽名和安全的 LTS(長期支援)基礎。這使用戶能夠試驗和自定義其桌面環境,同時確保強大且受保護的計算環境。
快照通道的使用引入了「滾動」分佈的特定元件的概念。例如,遊戲玩家可以加入加入內核頻道,該頻道會在最新的 NVIDIA 驅動程式可用時立即提供。這種方法反映了Ubuntu Desktop團隊在 Steam Snap 中整合 Mesa 更新時採用的策略。
基於 Snap 的 Ubuntu 桌面
Canonical去年宣佈,即將推出的Ubuntu Desktop版本將 不再包含對Flatpak應用程式的默認支援,從 Ubuntu 23.04(Lunar Lobster)開始。但是,為了提供不可變的Ubuntu桌面,他們打算使用 Snap 沙箱包格式。
快照也表現出不變性的特徵。快照作為完整的獨立包安裝,其中包含應用程式及其所需的所有依賴項。這些元件組合成一個不可變的 squashfs 文件系統。這導致了主機之間的穩定性和可預測性,因為「快照」軟體不會更改或依賴於主機系統的庫或設置。
結語
容器化方法可確保系統的每個元件都受到保護,防止篡改,並且可以獨立無縫地更新。這使您可以放心地運行應用程式,因為它們與訪問系統上的敏感資訊是隔離的。相反,他們只能訪問他們打算管理的數據。此外,此方法使您可以靈活地在較舊版本的 Linux 上使用較新版本的應用程式,從而擴展相容性。
本文的來源在 Ubuntu 博客。

