flatpak

應用程序虛擬化系統

Flatpak,在2016年5月前又被称为xdg-app,是一个Linux桌面应用电脑环境的应用程式虚拟化英语Application virtualization系统。

Flatpak
使用Flatpak安装软件的示例图
使用Flatpak安装软件的示例图
原作者Alexander Larsson
开发者Flatpak团队[1]
首次发布2015年3月23日,​9年前​(2015-03-23
当前版本
  • 1.14.10(2024年8月14日;稳定版本)[2]
编辑维基数据链接
原始码库 编辑维基数据链接
编程语言C
操作系统Linux
类型应用程式虚拟化英语Application virtualization
许可协议LGPL[3]
网站flatpak.org

原理

这个程序的目标是在用户想要执行他们可能并不完全信任的应用软件时提供一个安全的沙盒环境供用户使用[4]。应用程式将必须使用由flatpak提供的函数调用来控制硬件装置或存取用户的文件,而flatpak将会在给予应用程式存取权限前提示用户[5]

其原始名称是来自于freedesktop.org的协作关系,其通常缩写为“xdg”[6]。当时,freedesktop.org的伺服器被公认是xdg-app项目的家[7]。2016年5月,在活跃的开发下,其更名为“Flatpak”[8]

截至2016年6月 (2016-06),部分应用程式加入了在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的格式,同时也支持应用程式商店式的数码发行与更新模式。

参考资料

  1. ^ About. [2022-07-17]. (原始内容存档于2018-10-17). 
  2. ^ 1.14.10. 2024年8月14日 [2024年8月15日]. 
  3. ^ xdg-app/xdg-app - Deployment and sandboxing framework for desktop applications. [2016-07-11]. (原始内容存档于2019-08-18). 
  4. ^ Willis, Nathan. GNOME and application sandboxing revisted. LWN. 2015-01-21 [2016-01-03]. (原始内容存档于2018-11-25). 
  5. ^ Willis, Nathan. Working with xdg-app application bundles. LWN. 2015-08-12 [2016-01-03]. (原始内容存档于2017-11-12). 
  6. ^ Pennington, Havoc. Re: XDG vs freedesktop.org. xdg (邮件列表). 2003-03-08 [2016-01-03]. (原始内容存档于2016-03-05). 
  7. ^ Larsson, Alex. github or freedesktop?. xdg-app (邮件列表). 2015-12-17 [2016-01-03]. (原始内容存档于2016-03-06). 
  8. ^ Alexander Larsson. Renamed to flatpak in git. freedesktop.org. 2016-05-09 [2016-06-01]. (原始内容存档于2016-06-24). 
  9. ^ LibreOffice in a Box. The What of How. 11 August 2015 [2016-07-11]. (原始内容存档于2016-10-12). 
  10. ^ LibreOffice in Flatpak format. Libreoffice.org accessdate= 2016-06-01. [2016-07-11]. (原始内容存档于2016-07-12). 
  11. ^ Playing with xdg-app for PrefixSuffix and Glom. [2016-07-11]. (原始内容存档于2016-07-16). 
  12. ^ Pitivi-download. [2016-07-01]. (原始内容存档于2019-02-15). 
  13. ^ Projects/SandboxedApps - GNOME Wiki!. wiki.gnome.org. [2016-04-16]. (原始内容存档于2016-03-23). 
  14. ^ Alexander Larsson. Experiments with runtime-less app-bundles. 2007-08-07 [2016-07-11]. (原始内容存档于2018-06-22). 
  15. ^ Canonical. Universal “snap” packages launch on multiple Linux distros. 2016-06-14 [2016-07-11]. (原始内容存档于2016-07-18). 

参见