计算机科学

首页 > 计算机科学

flatpak

Flatpak
Flatpak.png
开发者 Alex Larsson
初始版本 2015年3月23日,​3年前​(2015-03-23
稳定版本
稳定版本
1.0.1
(2018年8月28日,​7天前​(2018-08-28
编程语言 C
操作系统 Linux
类型 应用程序虚拟化英语Application virtualization
许可协议 LGPL[1]
网站 flatpak.org
源代码库 github.com/flatpak/flatpak

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

目录

  • 1 原理
  • 2 技术
  • 3 替代方案
  • 4 参考资料
  • 5 参见

原理

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

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

截至2016年6月 (2016-06),部分应用程序加入了在Flatpak(xdg-app)下运行的初步支持,如LibreOffice[7][8]、 Glom[9]与Pitivi[10]

技术

其沙盒是基于Linux核心以下子系统所提供的功能:

  • cgroups
  • Linux namespaces
  • SELinux(目前未使用)
  • kdbus(未来可能会使用,目前使用用户空间过滤)
  • 视窗化系统基于Wayland(因为X Window核心协议已被开发者认为不安全[11]

替代方案

不依赖于特定发行版的包装格式在Linux生态系中在Flatpak前早已被提出过数次。2000年代早期,autopackage开始,2004年则是klik,这也提供了Alexander Larsson灵感,于2007年开发出glick项目[12]。到了2014年,klik便演化成AppImage,其目标是成为不依赖于特定散布版的便携式上游打包格式。Canonical公司则于2016年发布了Snappy,其目标也是为了提供广泛的linux生态系一个通用的包装格式[13],其支持类似于Flatpak的格式,同时也支持应用程序商店式的数字发行与更新模式。

参考资料

  1. ^ xdg-app/xdg-app - Deployment and sandboxing framework for desktop applications. 
  2. ^ Willis, Nathan. GNOME and application sandboxing revisted. LWN. 2015-01-21 [2016-01-03]. 
  3. ^ Willis, Nathan. Working with xdg-app application bundles. LWN. 2015-08-12 [2016-01-03]. 
  4. ^ Pennington, Havoc. Re: XDG vs freedesktop.org. xdg (Mailing list). 2003-03-08 [2016-01-03]. 
  5. ^ Larsson, Alex. github or freedesktop?. xdg-app (Mailing list). 2015-12-17 [2016-01-03]. 
  6. ^ Alexander Larsson. Renamed to flatpak in git. freedesktop.org. 2016-05-09 [2016-06-01]. 
  7. ^ LibreOffice in a Box. The What of How. 11 August 2015. 
  8. ^ LibreOffice in Flatpak format. Libreoffice.org accessdate= 2016-06-01. 
  9. ^ Playing with xdg-app for PrefixSuffix and Glom. 
  10. ^ Pitivi-download. [2016-07-01]. 
  11. ^ Projects/SandboxedApps - GNOME Wiki!. wiki.gnome.org. [2016-04-16]. 
  12. ^ Alexander Larsson. Experiments with runtime-less app-bundles. 2007-08-07 [2016-07-11]. 
  13. ^ Canonical. Universal “snap” packages launch on multiple Linux distros. 2016-06-14 [2016-07-11]. 

参见

  • freedesktop
  • GNOME

上一篇:AppImage
相关推荐