flatpak
應用程序虛擬化系統
Flatpak,在2016年5月前又被称为xdg-app,是一个Linux桌面应用电脑环境的应用程序虚拟化系统。
原作者 | Alexander Larsson |
---|---|
开发者 | Flatpak团队[1] |
首次发布 | 2015年3月23日 |
当前版本 |
|
源代码库 | |
编程语言 | C |
操作系统 | Linux |
类型 | 应用程序虚拟化 |
许可协议 | LGPL[3] |
网站 | flatpak |
原理
编辑这个程序的目标是在用户想要执行他们可能并不完全信任的应用软件时提供一个安全的沙盒环境供用户使用[4]。应用程序将必须使用由flatpak提供的函数调用来控制硬件设备或访问用户的文件,而flatpak将会在给予应用程序访问权限前提示用户[5]。
其原始名称是来自于freedesktop.org的协作关系,其通常缩写为“xdg”[6]。当时,freedesktop.org的服务器被公认是xdg-app项目的家[7]。2016年5月,在活跃的开发下,其更名为“Flatpak”[8]。
截至2016年6月[update],部分应用程序加入了在Flatpak(xdg-app)下执行的初步支持,如LibreOffice[9][10]、 Glom[11]与Pitivi[12]。
技术
编辑其沙盒是基于Linux核心以下子系统所提供的功能:
替代方案
编辑不依赖于特定发行版的包装格式在Linux生态系中在Flatpak前早已被提出过数次。2000年代早期,autopackage开始,2004年则是klik,这也提供了Alexander Larsson灵感,于2007年开发出glick项目[14]。到了2014年,klik便演化成AppImage,其目标是成为不依赖于特定散布版的便携式上游打包格式。Canonical公司则于2016年发布了Snappy,其目标也是为了提供广泛的linux生态系一个通用的包装格式[15],其支持类似于Flatpak的格式,同时也支持应用程序商店式的数字发行与更新模式。
参考资料
编辑- ^ About. [2022-07-17]. (原始内容存档于2018-10-17).
- ^ 1.14.10. 2024年8月14日 [2024年8月15日].
- ^ xdg-app/xdg-app - Deployment and sandboxing framework for desktop applications. [2016-07-11]. (原始内容存档于2019-08-18).
- ^ Willis, Nathan. GNOME and application sandboxing revisted. LWN. 2015-01-21 [2016-01-03]. (原始内容存档于2018-11-25).
- ^ Willis, Nathan. Working with xdg-app application bundles. LWN. 2015-08-12 [2016-01-03]. (原始内容存档于2017-11-12).
- ^ Pennington, Havoc. Re: XDG vs freedesktop.org. xdg (邮件列表). 2003-03-08 [2016-01-03]. (原始内容存档于2016-03-05).
- ^ Larsson, Alex. github or freedesktop?. xdg-app (邮件列表). 2015-12-17 [2016-01-03]. (原始内容存档于2016-03-06).
- ^ Alexander Larsson. Renamed to flatpak in git. freedesktop.org. 2016-05-09 [2016-06-01]. (原始内容存档于2016-06-24).
- ^ LibreOffice in a Box. The What of How. 11 August 2015 [2016-07-11]. (原始内容存档于2016-10-12).
- ^ LibreOffice in Flatpak format. Libreoffice.org accessdate= 2016-06-01. [2016-07-11]. (原始内容存档于2016-07-12).
- ^ Playing with xdg-app for PrefixSuffix and Glom. [2016-07-11]. (原始内容存档于2016-07-16).
- ^ Pitivi-download. [2016-07-01]. (原始内容存档于2019-02-15).
- ^ Projects/SandboxedApps - GNOME Wiki!. wiki.gnome.org. [2016-04-16]. (原始内容存档于2016-03-23).
- ^ Alexander Larsson. Experiments with runtime-less app-bundles. 2007-08-07 [2016-07-11]. (原始内容存档于2018-06-22).
- ^ Canonical. Universal “snap” packages launch on multiple Linux distros. 2016-06-14 [2016-07-11]. (原始内容存档于2016-07-18).