一個討論:
為什麼linux發行版之間不能有一個統一的二進位制軟體包標準?
flatpak 和 snap, 可以看作是 linux 軟體的 打包技術 ( 應該可以看作對於 Windows msi 的模仿吧 )
https://www.reddit.com/r/linu…
flatpak 和 snap 是 Linux 上的應用軟體打包方式,未來可能會流行
flatpak 的安裝
https://flatpak.org/setup
使用
flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak search Eolie
flatpak --user install flathub org.gnome.Eolie
flatpak list
flatpak run Eolie
flatpak 的目錄結構( 用 flatpak 安裝軟體 是不需要 sudo 許可權的 )
https://github.com/flatpak/flatpak/wiki/Filesystem
snap 的安裝
https://docs.snapcraft.io/installing-snapd
使用
snap search midori
sudo snap install midori
snap list
snap run midori
snap 的目錄結構
https://docs.snapcraft.io/the-system-snap-directory
顯然,Flatpak 是 Fedora 主導開發的,Snap 是 Canonical 主導開發的
RPM 和 deb 的分裂有望被 Flatpak 和 Snap 替代。關鍵詞:安全性、沙盒、一次構建 多平臺分發。
Linux社群出現了兩種新的應用打包格式,其一是Ubuntu力推的snap格式,另一種是Red Hat主導開發的Flatpak格式,兩種包格式都利用了沙盒隔離應用,增強安全性
App store for Flatpak
App store for Snap
Apps for winepak
AppImage 連一個 App Store 都沒有,你叫一個開發者打包完了東西給誰用?
我看到的 Flatpak 勝過 Snap 的地方是:
1.有一個很好的中間層( Flatpak runtime )(Snap 有類似的東西嘛?我沒發現),所以可以做到支援類似 winepak 的玩法。Flatpak runtime 是由 Flatpak 官方維護的。
2.Flatpak 已經做到了在伺服器和IoT小型裝置(比如樹莓派)的流行,桌面平臺只是它的一個方面而已;Snap 似乎是主攻電腦桌面平臺的,Canonical (和 Debian community 無關)做的事情 往往沒有財大氣粗的 RedHat 靠譜,前者僅僅是網路宣傳方面做得比較好罷了,具體的 隔離應用的沙盒技術是怎樣的 我沒有看到。Snap 官方似乎僅僅維護了一個 Snap core ,how could it be this simple? It seems like it is not ready at all.
3.我不相信一個沒錢的公司(Canonical)會來好好相容一個有錢的公司的平臺(RedHat),而 Canonical 這家公司做生意的方式一貫如此,就像它在 ownCloud 的故事裡的前科:看似開源又依賴社群 實則太多的不透明。看看幾家 Linux 公司(commercial Linux companies: Red Hat, SUSE, Canonical),哪個像它一樣做生意?這個公司在業界已經臭掉了,只能靠取悅小白使用者說事。就像我不相信一個窮人能慷慨地‘分給’富人什麼好東西,窮人沒這個義務 做也不用指望窮人能做好。
4.我相信未來 Linux 桌面軟體一定是越來越傻瓜化(也就是向 Windows msi 式的打包技術靠攏的),一句話:containers are the future of apps on Linux.
5.It’s pretty clear that in the container-centric world, Linux does need a new app delivery mechanism —— 找到一個合適的軟體分發方式,這難道不是一個電腦公司從一開始就該做的事情嗎?(這裡是指 它的意義極大,有奠基作用。) Windows 有 Windows msi 作為軟體打包方式 便於安裝,從一開始就是這樣做的。30年了,這也是這個世界上 Windows 軟體遠遠多於 Linux 軟體的原因。