真有用?Snap和Flatpak 通吃全部發行版的打包方式。

真有用?Snap和Flatpak 通吃全部發行版的打包方式。真有用?Snap和Flatpak 通吃全部發行版的打包方式。

動機linux

根據Flatpak和Snap的聲明,背後的主要動機是使同一版本的應用程序可以運行在多個 Linux 發行版。安全

「從一開始它的主要目標是容許相同的應用程序運行在各類 Linux 發行版和操做系統上。」—— Flatpak
「通用 Linux 包格式,使簡單的二進制包可以完美的、安全的運行在任何 Linux 桌面、服務器、雲和設備上。」——Snap

說得更具體一點,站在 Snap 和 Flatpak (如下稱之爲 S&F)背後的人認爲,Linux 平臺存在碎片化的問題。這個問題致使了開發者們須要作許多沒必要要的工做來使他的軟件可以運行在各類不一樣的發行版上,這影響了整個平臺的前進。服務器

因此,做爲 Linux 發行版(Ubuntu 和 Red Hat)的領導者,他們但願消除這個障礙,推進平臺發展。可是,是不是更多的我的收益刺激了 S&F 的開發?測試

我的收益?操作系統

雖然沒有任何官方聲明,可是試想一下,若是可以創造這種可能會被大多數發行版(即使不是所有)所採用的打包方式,那麼這個項目的領導者將可能成爲一個可以決定 Linux 大船航向的重要人物。教程

優點開發

這種獨立包的好處多多,而且取決於不一樣的因素。這些因素基本上能夠歸爲兩類:編譯

用戶角度打包

+ 從 Liunx 用戶的觀點來看:Snap 和 Flatpak 帶來了將任何軟件包(軟件或應用)安裝在用戶使用的任何發行版上的可能性。軟件

例如你在使用一個不是很流行的發行版,因爲開發工做的缺少,它的軟件倉庫只有很稀少的包。如今,經過 S&F 你就能夠顯著的增長包的數量,這是一個多麼美好的事情。

+ 一樣,對於使用流行的發行版的用戶,即便該發行版的軟件倉庫上有不少的包,他也能夠在不改變它現有的功能庫的同時安裝一個新的包。

比方說, 一個 Debian 的用戶想要安裝一個 「測試分支」 的包,可是他又不想將他的整個系統變成測試版(來讓該包運行在更新的功能庫上)。如今,他就能夠簡單的想安裝哪一個版本就安裝哪一個版本,而不須要考慮庫的問題對於持後者觀點的人,可能基本上都是使用源文件編譯他們的包的人,然而,除非你使用相似 Gentoo 這樣基於源代碼的發行版,不然大多數用戶將從頭編譯視爲是一個噁心到吐的事情。

+ 高級用戶,或者稱之爲 「擁有安全意識的用戶」 可能會以爲更容易接受這種類型的包,只要它們來自可靠來源,這種包傾向於提供另外一層隔離,由於它們一般是與系統包想隔離的。

* 不管是 Snap 仍是 Flatpak 都在不斷努力加強它們的安全性,一般他們都使用 「沙盒化」 來隔離,以防止它們可能攜帶病毒感染整個系統,就像微軟 Windows 系統中的 .exe 程序同樣。(關於微軟和 S&F 後面還會談到)

開發者角度

與普通用戶相比,對於開發者來講,開發 S&F 包的優勢可能更加清楚。這一點已經在上一節有所提示。儘管如此,這些優勢有:

+ S&F 經過統一開發的過程,將多發行版的開發變得簡單了起來。對於須要將他的應用運行在多個發行版的開發者來講,這大大的減小了他們的工做量。

++ 所以,開發者可以更容易的使他的應用運行在更多的發行版上。

+ S&F 容許開發者私自發布他的包,不須要依靠發行版維護者在每個/每一次發行版中發佈他的包。

++ 經過上述方法,開發者能夠不依賴發行版而直接獲取到用戶安裝和卸載其軟件的統計數據。

++ 一樣是經過上述方法,開發者能夠更好的直接與用戶互動,而不須要經過中間媒介,好比發行版這種中間媒介。

缺點

真有用?Snap和Flatpak 通吃全部發行版的打包方式。真有用?Snap和Flatpak 通吃全部發行版的打包方式。

 膨脹。就是這麼簡單。Flatpak 和 Snap 並非憑空變出來它的依賴關係。相反,它是經過將依賴關係預構建在其中來代替使用系統中的依賴關係。

就像諺語說的:「山不來就我,我就去就山」。

 以前提到安全意識強的用戶會喜歡 S&F 提供的額外的一層隔離,只要該應用來自一個受信任的來源。可是從另一個角度看,對這方面瞭解較少的用戶,可能會從一個不靠譜的地方弄來一個包含惡意軟件的包從而致使危害。

上面提到的觀點能夠說是有頗有意義的,雖然說今天的流行方法,像 PPA、overlay 等也多是來自不受信任的來源。可是,S&F 包更加增長這個風險,由於惡意軟件開發者只須要開發一個版本就能夠感染各類發行版。相反,若是沒有 S&F,惡意軟件的開發者就須要建立不一樣的版本以適應不一樣的發行版。

原來微軟一直是正確的嗎?

考慮到上面提到的,很顯然,在大多數狀況下,使用 S&F 包的優勢超過缺點。至少對於二進制發行版的用戶,或者重點不是輕量級的發行版的用戶來講是這樣的。

這促使我問出這個問題,可能微軟一直是正確的嗎?若是是的,那麼當 S&F 變成 Linux 的標準後,你還會一如既往的使用 Linux 或者類 Unix 系統嗎?很顯然,時間會是這個問題的最好答案。

不過,我認爲,即便不徹底正確,可是微軟有些地方也是值得讚賞的,而且以個人觀點來看,全部這些方式在 Linux 上都立馬能用也確實是一個亮點。

免費提供最新Linux技術教程書籍,爲開源技術愛好者努力作得更多更好:http://www.linuxprobe.com/

相關文章
相關標籤/搜索