Canonical正重構(gòu)Snap應(yīng)用安裝包:更細、更模塊化
Snap 是由 Canonical 創(chuàng)建的 Linux 軟件包打包和分發(fā)平臺。相比較傳統(tǒng) Linux 安裝包,Snap 更具可移植性,而且它們中的大多數(shù)都被容器化,以防止一些常見的安全問題。 然而,Snap 也有很多問題,這可能是 Canonical 正在試驗新架構(gòu)的原因。
Canonical說:“基本概念是圍繞著把 Snapcraft 拆開--拆成更小、更模塊化和可重復(fù)使用的組件,可以在一系列不同的產(chǎn)品中利用。這項工作的共同基礎(chǔ)是一套 Craft Libraries,正如我們在‘Craft Parts’博文中已經(jīng)討論過的。該理論要求使用基于工藝提供者和工藝部件的通用部件構(gòu)建器,并將添加的 Snapcraft 功能作為一個單獨的層”。
Snap 安裝包無疑是應(yīng)用程序在 Linux 上發(fā)布的一種更容易的方式,因為它們不必依賴系統(tǒng)自己的包管理器,而包管理器在不同的桌面 Linux 發(fā)行版中并不總是相同。例如,如果你想為 Ubuntu、Fedora 和 Arch Linux 制作一個應(yīng)用程序,你將不得不維護三種完全不同的發(fā)行方式(PPA、RPM 和 Pacman)。相比之下,Snap 應(yīng)用程序幾乎可以在所有基于 Linux 的現(xiàn)代操作系統(tǒng)上運行,包括 Ubuntu, Arch, Debian, Fedora, Majaro, Pop!_OS 等。