Flatpak 的未來展望 (★
104 分)
Flatpak 最初由 Alexander Larsson 在累積多年桌面應用沙箱技術經驗後於 2015 年以 XDG-App 身分問世,2016 年更名為 Flatpak,仿效 IKEA 平面包裝 (flatpack) 的概念,簡化軟體部署與執行。此包裝格式搭配命令列工具管理應用程式,並透過 OSTree (一種版本化檔案樹系統) 或 OCI (Open Container Initiative,開放容器標準) 映像發佈內容,在本機建立檔案快照。Flatpak 利用 cgroups (控制群組)、namespaces (命名空間)、bind mounts、seccomp (安全過濾) 及 Bubblewrap 工具實現應用程式隔離,讓桌面程式以沙箱形式跨發行版執行。
Wick 在 Linux Application Summit (LAS) 提到,Flatpak 雖在開發者與使用者之間得到廣泛認可,Flathub 上應用數量持續增長,Fedora 甚至以 Flatpak 為預設,但專案本身開發活力卻趨於停滯。關鍵貢獻者如 Larsson 逐漸退出日常維護,缺乏審核者讓重大變更的 Pull Request 長期待審難以上線,導致新功能開發者難以投入,氛圍頗為侷限。
Wick 舉例指出多項技術瓶頸,包括:Flatpak 預先安裝 (flatpak-preinstall) 功能在 RHEL (Red Hat Enterprise Linux,紅帽企業版 Linux) 基底映像中整合遲遲未獲審查;OCI 支援方面,zstd:chunked 分塊壓縮允許只更新異動檔案以提升下載效率,但相關 pull request 幾乎無人理會;沙箱權限也缺乏向下相容機制,例如 --device=input 及 PipeWire (多媒體基礎服務) 精細音訊存取功能,新舊版本 Flatpak 間無優雅回退方案;此外 nested sandbox 及 user namespace (使用者命名空間) 限制、D-Bus 過濾 (xdg-dbus-proxy) 與網路命名空間配置、NVIDIA 驅動版本碎片化等問題,都亟待解決。
Wick 提出 Flatpak-next 願景,建議全面採用 OCI 映像與現有容器工具鏈,並以 Rust 語言重寫 flatpak-run 等核心組件,以共享 OCI registry (映像倉儲) 與生態系現成工具,減少維護負擔。他在問答環節承認,此轉向客戶端需重建現有 Flatpak 套件,但 Flathub 已掌握多數 build 說明,可在新架構上再建,並且已有 OCI metadata 標準可承載 Flatpak 目前所需資訊;PipeWire 等技術整合也正與開發者協商中。
Hacker News 社群普遍認同 Flatpak 在跨發行版包裝桌面應用上的便利,卻抱怨權限粒度過粗、升級及回溯相容度差、運行負擔重,甚至因此改用 Snap 或直接 APT 套件。有人批評 Red Hat 在 RHEL 10 中移除多項桌面套件卻又未投入 Flatpak 開發維護資源,呼籲其提供更多人力審核合併請求。討論中也涉及 OCI zstd:chunked 檔案分塊技術的細節、Docker 生態與容器簽章方式、以及與 dm-verity、composefs、EROFS 等檔案系統結合以強化執行時完整性的安全爭論,反映社群對於高效下載、隨需啟動及強固沙箱效果的多元期待。
👥
34 則討論、評論 💬
https://news.ycombinator.com/item?id=44068400