如此這般,好嗎?

linuxpro2023發表於2023-04-25
讓我們回顧一下   社群最新的願景——推動去中心化的應用來解決發行版的碎片化。繼上週的文章:“Snap、Flatpak 這種通吃所有發行版的打包方式真的有用嗎?” 之後,一系列新觀點浮出水面,其中可能包含關於這樣應用是否有用的重要資訊。
缺點

就這個話題在這裡的評論,一個叫 Till 的 Gentoo 使用者,對於上一次我們未能完全解釋的問題給出了一些新的觀點。對於上一次我們選擇僅僅稱之為膨脹的的東西,Till 從另一方面做了剖析膨脹將來的發展,這可以幫助我們更好的理解它的組成和其影響。

這些被稱之為“捆綁應用”的應用程式能夠工作在所有發行版上的機制是——將它依賴的庫都包含在它們的應用軟體之中,Till 說:

“捆綁應用裝載了大量的並不被應用開發者所維護的軟體。如果其中的某個函式庫被發現了一個安全問題而需要更新的話,你得為每一個獨立的應用程式安裝更新來確保你的系統安全。”

如此這般,好嗎?如此這般,好嗎?

本質上,Till 提出了一個重要的安全問題。但是它並不僅僅與安全有關係,它還關係到許多方面,比如說系統維護、原子更新等等。此外,如果我們進一步假設:依賴的開發者們也許會合作,將他們的軟體與使用它的應用程式一起釋出(一種理想狀況),但這將導致整個平臺的開發整體放緩。

另一個將會導致的問題是透明的依賴關係變得模糊,就是說,如果你想知道一個應用程式捆綁了哪些依賴關係,你必須依靠開發者釋出這些資料。或者就像 Till 說的:“比如說像某某包是否已經包含了更新的某函式庫這樣的問題將會是你每天需要面對的。”

與之相反,對於 Linux 現行的標準的包管理方法(包括二進位制包和原始碼包),你能夠很容易的注意到哪些函式庫已經在系統中更新了。並且,你也可以很輕鬆的知道其它哪些應用使用了這個函式庫,這就將你從繁瑣的單獨檢查每一個應用程式的工作中解救了出來。

其他可能由膨脹導致的缺點包括:更大的包體積(每一個應用程式捆綁了依賴),更高的記憶體佔用(沒有共享函式庫),並且,少了一個包過濾機制來防止惡意軟體:發行版的包維護者也充當了一個在開發者和使用者之間的過濾者,他保障了使用者獲得高質量的軟體。而在捆綁應用中就不再是這種情況了。

最後一點,Till 聲稱,儘管在某些情況下很有用,但是在大多數情況下,捆綁應用程式將弱化自由軟體在發行版中的地位(專有軟體供應商將被能夠釋出他們的軟體而不用把它放到公共軟體倉庫中)。

除此之外,它引出了許多其他問題。很多問題都可以簡單歸結到開發人員身上。

優點

相比之下,另一個名叫 Sven 的人的評論試圖反駁目前普遍反對使用捆綁應用程式的觀點,從而證明和支援使用它。

“浪費空間?”——Sven 聲稱在當今世界我們有很多其他事情在浪費磁碟空間,比如電影儲存在硬碟上、本地安裝等等……

最終,這些事情浪費的空間要遠遠多於僅僅“ 100 MB 而你每天都要使用的程式。因此浪費空間的說法實在很荒謬。”

如此這般,好嗎?如此這般,好嗎?

“浪費執行記憶體?”

主要的觀點有:

  • • 共享庫浪費的記憶體要遠遠少於程式的執行時資料所佔用的。
  • • 而今執行記憶體已經很便宜了。
“安全夢魘”

不是每個應用程式的執行真正的要注重安全。而且,許多應用程式甚至從來沒有過任何安全更新,除非在“滾動更新的發行版”。

除了 Sven 這種從實用出發的觀點以外,Till 其實也指出了捆綁應用在一些情況下也有著其優點:

  • • 專有軟體的供應商想要保持他們的程式碼遊離於公共倉庫之外將更加容易。
  • • 沒有被你的發行版打包進去的小眾應用程式將變得更加可行。
  • • 在沒有 Beta 包的二進位制發行版中測試應用將變得簡單。
  • • 將使用者從複雜的依賴關係中解放出來。
最後的思考

雖然關於此問題有著不同的想法,但是有一個被大家共同接受的觀點是:捆綁應用對於填補 Linux 生態系統有著其獨到的作用。雖然如此,它的定位,不論是主流的還是邊緣的,都變得愈發清晰,至少理論上是這樣。

想要儘可能最佳化其系統的使用者,在大多數情況下應該要避免使用捆綁應用。而講究易用性、儘可能在維護系統上少費勁的使用者,可能應該會感覺這種新應用十分舒爽。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70028838/viewspace-2948797/,如需轉載,請註明出處,否則將追究法律責任。

相關文章