Canonical正重構Snap應用安裝包:更細、更模塊化
Snap 是由Canonical 創建的Linux 軟件包打包和分發平台。相比較傳統Linux 安裝包,Snap 更具可移植性,而且它們中的大多數都被容器化,以防止一些常見的安全問題。然而,Snap 也有很多問題,這可能是Canonical 正在試驗新架構的原因。
在一篇名為《the future of Snapcraft》的博文中,Canonical 詳細介紹了將Snap 框架分解成更小的模塊化組件。關於最終結果會是什麼樣子,或者對於安裝和使用Sna p應用程序的普通人來說是否會更好,目前還沒有任何確定的細節。然而,它應該使應用程序開發人員和Canonical 更容易創建和維護Snap 應用程序,這有可能使Canonical 騰出時間來專注於Snap 框架的其他方面。
Canonical說:“基本概念是圍繞著把Snapcraft 拆開–拆成更小、更模塊化和可重複使用的組件,可以在一系列不同的產品中利用。這項工作的共同基礎是一套Craft Libraries,正如我們在’Craft Parts’博文中已經討論過的。該理論要求使用基於工藝提供者和工藝部件的通用部件構建器,並將添加的Snapcraft 功能作為一個單獨的層”。
Snap 安裝包無疑是應用程序在Linux 上發布的一種更容易的方式,因為它們不必依賴系統自己的包管理器,而包管理器在不同的桌面Linux 發行版中並不總是相同。例如,如果你想為Ubuntu、Fedora 和Arch Linux 製作一個應用程序,你將不得不維護三種完全不同的發行方式(PPA、RPM 和Pacman)。相比之下,Snap 應用程序幾乎可以在所有基於Linux 的現代操作系統上運行,包括Ubuntu, Arch, Debian, Fedora, Majaro, Pop!_OS 等。
多年來,Snapcraft因各種問題而受到批評。不支持自定義軟件庫或應用服務器,所以所有的軟件都必須通過Canonical自己的Snap商店分發,而且Canonical也沒有發布Snap商店服務器的源代碼。這種集中式的模式並不受所有人的歡迎,尤其是Canonical已經慢慢用Snap版本取代了Ubuntu中的核心應用程序(如Chromium)。Linux Mint完全阻止了Snap應用程序的安裝,其他一些發行版也認可Flatpak作為一種替代。Canonical的博客文章沒有提到任何關於支持第三方商店和存儲庫的內容。