flatpak
外观
原作者 | Alexander Larsson |
---|---|
开发者 | Flatpak团队[1] |
首次发布 | 2015年3月23日 |
当前版本 |
|
原始码库 | |
编程语言 | C |
操作系统 | Linux |
类型 | 应用程式虚拟化 |
许可协议 | LGPL[3] |
网站 | flatpak |
Flatpak,在2016年5月前又被称为xdg-app,是一个Linux桌面应用电脑环境的应用程式虚拟化系统。
原理
[编辑]这个程序的目标是在用户想要执行他们可能并不完全信任的应用软件时提供一个安全的沙盒环境供用户使用[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核心以下子系统所提供的功能:
- cgroups
- Linux namespaces
- SELinux(目前未使用)
- kdbus(未来可能会使用,目前使用用户空间过滤)
- 视窗化系统基于Wayland(因为X Window核心协议已被开发者认为不安全[13])
替代方案
[编辑]不依赖于特定发行版的包装格式在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).