标签 Flatpak 下的文章

Flatpak 的开发团队宣布了 Flatpak 桌面应用框架已经可用了。 Flatpak (以前在开发时名为 xdg-app)为应用提供了捆绑为一个 Flatpak 软件包的能力,可以让应用在很多 Linux 发行版上都以轻松而一致的体验来安装和运行。将应用程序捆绑成 Flatpak 为其提供了沙盒安全环境,可以将它们与操作系统和彼此之间相互隔离。查看 Flatpak 网站上的发布公告来了解关于 Flatpak 框架技术的更多信息。

在 Fedora 中安装 Flatpak

如果用户想要运行以 Flatpak 格式打包的应用,在 Fedora 上安装是很容易的,Flatpak 格式已经可以在官方的 Fedora 23 和 Fedora 24 仓库中获得。Flatpak 网站上有在 Fedora 上安装的完整细节,同时也有如何在 Arch、 Debian、Mageia 和 Ubuntu 中安装的方法。许多的应用已经使用 Flatpak 打包构建了,这包括 LibreOffice、Inkscape 和 GIMP。

对应用开发者

如果你是一个应用开发者,Flatpak 网站也包含许多有关于使用 Flatpak 打包和分发应用程序的重要资料。这些资料中包括了使用 Flakpak SDK 构建独立的、沙盒化的 Flakpak 应用程序的信息。


via: https://fedoramagazine.org/introducing-flatpak/

作者:Ryan Lerch 译者:zky001 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Snappy 和 Flatpak 之间的争吵仍在继续中,现在 Canonical 在刚刚发布的 Fedora 24 上演示了创建一个厂商无关的 Snap 商店是多么的简单。

Snap 宣传它是面向各个主要 Linux 发行版的通用二进制软件包格式,人们对此非常关注,也有很多议论。就在几天前, Canonical 和 Ubuntu 的创始人 Mark Shuttleworth 对这些人们重点关注的问题做了一番答复,表示 Canonical 并不指望别的操作系统使用 Ubuntu 的 snap 商店,你们完全可以自己搞嘛,就是个 HTTPS 而已。

针对指责 Snap 商店没有开源的意见,Canonical 的 Ubuntu 产品与战略总监 Dustin Kirkland 说,“事实上,你可以在任何支持 Snap 的操作系统上运行你的 Snap 商店,真的。”

一个可以提供 Snap 软件包服务的最简单的示例商店

Dustin 给我们介绍了一个由开发者 Bret Barker 发布在 GitHub 上的一个概念性的独立 Snap 商店,这个软件以 Apache 许可证开源,你可以在 GitHub 上 fork 它,并安装到任何 GNU/Linux 发行版上去。

服务器端(Snap 商店)

“首先,我启动一个 AWS 实例,当然,我可以启动一个 Ubuntu 16.04 LTS 实例,但实际上我启动的是一个 Fedora 24 实例。”

如果你的机器上已经有了 snap 环境,你可以直接用:

snap install snapstore-example

来安装这个示例商店。

如果没有,你可以手动来安装。首先安装 python 虚拟环境:

sudo dnf install python-virtualenv

克隆这个示例商店的代码:

git clone https://github.com/noise/snapstore.git
cd snapstore

设置虚拟环境并安装依赖包:

virtualenv env
. env/bin/activate
pip install -r requirements.txt

运行:

python store.py

这样 snap 商店就安装好了,它会监听在默认的 5000 端口上。

Snap 商店监听在 5000 端口上

客户端

在 Fedora 24 上运行

sudo dnf install snapd 

来安装 Snappy,它同时也会安装必要的依赖包,如: squashfs-tools、kernel-modules。

你可以通过安装一个测试包来看看 snap 是否正常工作:

sudo snap install hello

如果正常的话,然后修改 /etc/environment,加入你的商店 URL,强制 snapd (Snappy 守护进程)与刚刚创建的 Snap 商店连接:

SNAPPY_FORCE_CPI_URL=http://localhost:5000/api/v1/

重启 snapd:

sudo service snapd restart

这个示例商店支持如下命令来查找和安装 snap 软件包:

snap find foobar25
sudo snap install foobar25

使用 snap 去查找软件包

更多可以看 Dustin 的原文或这个示例商店的说明

当 Canonical 宣布他们的 Snappy 方案已可以用于包括 Debian、Arch Linux、OpenWrt 在内的一些主流 Linux 发行版时,遭遇到了一些来自社区的反驳意见,还有人问 Canonical 是否已经准备好给其它的发行版提供 Snap 软件包。

每个人都会首先问道,“为什么我没有见到 Snappy 服务器的源代码出现?”有些人对 Canonical 在其 Snap 发布公告中的许多内容表示了不满,特别是,Canonical 并没有发布 Snappy 商店的源代码,人们通过 snapcraft.io 网站提交了 Snap 软件包后根本不知道后面都发生了什么。

如果开发者想使用 Snap 软件包跨多个 GNU/Linux 发行版发布软件的话,在 snapcraft.io 上所提供的指导中有一个步骤需要开发者接受在社区争议很大的 Ubuntu CLA( 贡献者许可同意书 Contributor License Agreement )。

Snap 并不依赖商店

前几天,就是 6 月 23 日的时候,Canonical 和 Ubuntu 的创始人 Mark Shuttleworth 在给社区的一封邮件中透露了一些信息:从设计上来说, Snap 事实上并不依赖于某个商店,这意味着应用开发者可以建立他们自己的商店。不过,从另外一个方面来说,说明他也并不指望其它的发行版会从 Ubuntu Snappy 商店中获取 Snap 软件包。

“Snap 软件包格式本质上并不依赖商店,你可以在系统里面采用 Snap ,而不用管它是如何到达系统的。所以,当前的商店解决方案并没有什么关系,”Mark Shuttleworth 说,“我并不指望别的发行版会去从 Ubuntu 获取 Snap 软件,除非这里有他们需要的软件包,Snap 可以很容易的用于 Debian.org 。”

他也回应了那些批评 Canonical 在 Snap 格式上不公平竞争的指责,他说:“从某种意义上说,Snap 是顺应发展而出现的——当然,Ubuntu 有个很庞大的商店,因为我们已经在移动和物联网方面努力了好多年了。但是这并不是非难 Snap 的原因,我觉得恰恰相反。”

据 Mark Shuttleworth 说,应用开发者要从他们自己的商店分发 Snap 的最简单的办法就是通过 HTTPS。他认为,很显然选择了 Snap 格式在多个平台上分发的人可以在他自己的代码里面实现这个。当然,你可以可以采用其他的类似解决方案,包括最新发布的 Flatpak 或 AppImage。

GNOME 项目组的 Allan Day 正式发布了 Flatpak。

这并不是我们第一次提及 Flatpak,你可能已经知道它是一个无依赖关系的、跨发行版的软件打包框架,它可以让用户在多个基于 Linux 内核的操作系统上使用各种桌面应用程序。有些人可能记得 Flatpak 之前的名字叫做 XDG-App。

Flatpak 是应 GNU/Linux 和开源软件开发者所需而出现的,可以让他们在多个桌面平台、操作系统上发行软件时,不用花费几个小时乃至几天来为各个主要 Linux 发行版进行打包工作。

Flatpak 的首席开发者 Alexander Larsson 说,“Linux 上的应用开发者总是不能直接接触到他们的用户,但是 Flatpak 改变了这种情况,开发者们现在能够真正知道他们的用户要的是什么。这次 Flatpak 的发布让这一切变为现实。”

以安全为主导的设计

据 Flatpak 开发团队称,几个重要的开源项目已经为其支持的操作系统以 .flatpak 格式发布了他们的应用,这些开源项目包括 LibreOffice、InkScape、GIMP、MyPaint 和 Darktable。作为 GNOME 项目开发的一部分,几个来自 GNOME 家族的应用也会以 Flatpak 格式打包。

我们之前刚刚说过,即将发布的 LibreOffice 5.2 办公套件将采用 Flatpak 格式打包,支持各种常见的发行版,包括 Arch Linux、Debian、Ubuntu、Fedora、Mageia 和 Gentoo 等。 此外,图形化软件包管理器“GNOME 软件”也支持 Flatpak 格式。

但最棒的是,Flatpak 是围绕安全进行设计的,它为用户提供了沙盒技术,打包在其中的应用软件只能访问 Flatpak 容器内部和宿主库以及操作系统接口。

“下一个 Flatpak 主要版本将全部都是沙盒化的”, Alexander Larsson 在 Flatpak 的官方声明中说,“应用作者会在沙盒中看到一套与操作系统交互的更完整界面。”

要更多了解 Flatpak,请访问其官网,你可以找到在上述提及的 GNU/Linux 操作系统中的安装建议。如果尚不支持你的操作系统,也不用担心,Flatpak 正在不断支持其它的发行版,相信很快就能看到。