标签 Flatpak 下的文章

Ubuntu 可能默认安装了 Snap,但你仍然可以使用 Flatpak 通用软件包。

Linux 世界有三种“通用”打包格式,允许在“任何” Linux 发行版上运行:Snap、Flatpak 和 AppImage。

Ubuntu 内置了 Snap,但大多数发行版和开发人员都避免使用它,因为它的闭源性质。他们更喜欢 Fedora 的 Flatpak 打包系统

作为 Ubuntu 用户,你并不局限于 Snap。你还可以在 Ubuntu 系统上使用 Flatpak。

在本教程中,我将讨论以下内容:

  • 在 Ubuntu 上启用 Flatpak 支持
  • 使用 Flatpak 命令来管理包
  • 从 Flathub 获取包
  • 将 Flatpak 软件包添加到软件中心

听起来很令人兴奋? 让我们一一看看。

在 Ubuntu 上安装 Flatpak

你可以使用以下命令轻松安装 Flatpak:

sudo apt install flatpak

对于 Ubuntu 18.04 或更早版本,请使用 PPA:

sudo add-apt-repository ppa:flatpak/stable
sudo apt update
sudo apt install flatpak

添加 Flathub 仓库

你已在 Ubuntu 系统中安装了 Flatpak 支持。但是,如果你尝试安装 Flatpak 软件包,你将收到 “No remote refs found” 错误。这是因为没有添加 Flatpak 仓库,因此 Flatpak 甚至不知道应该从哪里获取应用。

Flatpak 有一个名为 “Flathub” 的集中仓库,可以从此处找到并下载许多 Flatpak 应用。

你应该添加 Flathub 仓库来访问这些应用。

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Install Flatpak in latest versions of Ubuntu and then add Flathub repo

安装并配置 Flatpak 后,重启你的系统。否则,已安装的 Flatpak 应用将不会在你的系统菜单上可见。

不过,你始终可以通过运行以下命令来运行 Flatpak 应用:

flatpak run <package-name>

常用 Flatpak 命令

现在你已经安装了 Flatpak 打包支持,是时候学习包管理所需的一些最常见的 Flatpak 命令了。

搜索包

如果你知道应用名称,请使用 Flathub 网站或使用以下命令:

flatpak search <package-name>

Search for a package using Flatpak Search command

? 除了搜索 Flatpak 包之外,在其他情况下, 指的是正确的 Flatpak 包名称,例如 com.raggesilver.BlackBox(上面截图中的应用 ID)。你还可以使用应用 ID 的最后一个词 Blackbox

安装 Flatpak 包

以下是安装 Flatpak 包的语法:

flatpak install <remote-repo> <package-name>

由于几乎所有时候你都会从 Flathub 获取应用,因此远程仓库将是 flathub

flatpak install flathub <package-name>

Install a package after searching for its name

在极少数情况下,你可以直接从开发人员的仓库安装 Flatpak 包,而不是 Flathub。在这种情况下,你可以使用如下语法:

flatpak install --from https://flathub.org/repo/appstream/com.spotify.Client.flatpakref

从 flatpakref 安装包

这是可选的,也很少见。但有时,你会获得应用的 .flatpakref 文件。这不是离线安装。.flatpakref 包含有关从何处获取包的必要详细信息。

要从此类文件安装,请打开终端并运行:

flatpak install <path-to-flatpakref file>

Install a Flatpak package from Flatpakref file

从终端运行 Flatpak 应用

再说一遍,这是你不会经常做的事情。大多数情况下,你将在系统菜单中搜索安装应用并从那里运行该应用。

但是,你也可以使用以下命令从终端运行它们:

flatpak run <package-name>

列出已安装的 Flatpak 软件包

想要查看你的系统上安装了哪些 Flatpak 应用? 像这样列出它们:

flatpak list

List all the installed Flatpak packages on your system

卸载 Flatpak 包

你可以通过以下方式删除已安装的 Flatpak 包:

flatpak uninstall <package-name>

如果你想清除不再需要的剩余包和运行时,请使用:

flatpak uninstall --unused

Remove a Flatpak package and later, if there is any unused runtimes or packages, remove them

它可能会帮助你 在 Ubuntu 上节省一些磁盘空间

Flatpak 命令总结

以下是你在上面学到的命令的快速摘要:

用途命令
搜索包flatpak search
安装包flatpak install
列出已安装的包flatpak list
从 flatpakref 安装flatpak install <package-name.flatpakref>
卸载软件包flatpak uninstall
卸载未使用的运行时和包flatpak uninstall --unused

使用 Flathub 探索 Flatpak 包

我知道通过命令行搜索 Flatpak 包并不是最好的体验,这就是 Flathub 网站 的用武之地。

你可以在 Flathub 上浏览 Flatpak 应用,它提供了更多详细信息,例如经过验证的发布商、下载总数等。

你还将在应用页面底部获得安装应用所需的命令。

额外信息:使用支持 Flatpak 软件包的软件中心

你可以将 Flatpak 包添加到 GNOME 软件中心,并使用它以图形方式安装软件包。

有一个专用插件可以将 Flatpak 添加到 GNOME 软件中心。

? 从 Ubuntu 20.04 开始,Ubuntu 默认的软件中心是 Snap Store,并且不支持 Flatpak 集成。因此,安装以下软件包将产生两个软件中心:一个 Snap 和另一个 DEB。

When you install GNOME Software Flatpak plugin in Ubuntu, a DEB version of GNOME Software is installed. So you will have two software center application

sudo apt install gnome-software-plugin-flatpak

Installing GNOME Software Plugin in Ubuntu

总结

你在这里学到了很多东西。你学习了在 Ubuntu 中启用 Flatpak 支持并通过命令行管理 Flatpak 软件包。你还了解了与软件中心的集成。

我希望你现在对 Flatpaks 感觉更舒服一些。既然你发现了三个通用软件包之一,那么再 了解一下 Appimages 怎么样?

如果你有疑问或遇到任何问题,请告诉我。

(题图:MJ/d03886af-9b7f-401e-a964-da0e5d6531a2)


via: https://itsfoss.com/flatpak-ubuntu/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

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

程序员可以通过 Flatpak 轻松、稳定地发布他们的软件,让他们专注于他们的激情工作:编程。

 title=

如今,人们比以往任何时候都喜爱 Linux。在这个系列中,我将分享使用 Linux 的 21 个不同理由。今天,我将谈一谈是什么让 Linux 的打包成为程序员的理想选择。

程序员喜欢编程。这可能看起来是一个显而易见的说法,但重要的是要明白,开发软件所涉及的不仅仅是编写代码。它包括编译、文档、源代码管理、安装脚本、配置默认值、支持文件、交付格式等等。从一个空白的屏幕到一个可交付的软件安装程序,需要的不仅仅是编程,但大多数程序员宁愿编程也不愿打包。

什么是打包?

当食物被送到商店购买时,它是被包装好的。当直接从农民或从环保的散装或桶装商店购买时,包装是你所带的任何容器。当从杂货店购买时,包装可能是一个纸板箱、塑料袋、一个铁罐等等。

当软件被提供给广大计算机用户时,它也必须被打包起来。像食品一样,软件也有几种打包方式。开源软件可以不进行打包,因为用户在获得原始代码后,可以自己编译和打包它。然而,打包也有好处,所以应用程序通常以某种特定于用户平台的格式交付。而这正是问题的开始,因为软件包的格式并不只有一种。

对于用户来说,软件包使安装软件变得容易,因为所有的工作都由系统的安装程序完成。软件被从软件包中提取出来,并分发到操作系统中的适当位置。几乎没有任何出错的机会。

然而,对于软件开发者来说,打包意味着你必须学会如何创建一个包 —— 而且不仅仅是一个包,而是为你希望你的软件可以安装到的每一个操作系统创建一个独特的包。更加复杂的是,每个操作系统都有多种打包格式和选项,有时甚至是不同的编程语言。

为 Linux 打包

传统上,Linux 的打包方式似乎是非常多的。从 Fedora 衍生出来的 Linux 发行版,如 Red Hat 和 CentOS,默认使用 .rpm 包。Debian 和 Ubuntu(以及类似的)默认使用 .deb 包。其他发行版可能使用其中之一,或者两者都不使用,选择自定义的格式。当被问及时,许多 Linux 用户说,理想情况下,程序员根本不会为 Linux 打包他们的软件,而是依靠每个发行版的软件包维护者来创建软件包。所有安装在 Linux 系统上的软件都应该来自该发行版的官方软件库。然而,目前还不清楚如何让你的软件可靠地被一个发行版打包和包含,更不用说所有的发行版了。

Linux 的 Flatpak

Flatpak 打包系统是为了统一和去中心化 Linux 作为开发者的交付目标而推出的。通过 Flatpak,无论是开发者还是其他人(Linux 社区的成员、不同的开发者、Flatpak 团队成员或其他任何人)都可以自由地打包软件。然后他们可以将软件包提交给 Flathub,或者选择自我托管软件包,并将其提供给几乎任何 Linux 发行版。Flatpak 系统适用于所有 Linux 发行版,所以针对一个发行版就等于针对所有发行版。

Flatpak 技术如何工作

Flatpak 具有普遍吸引力的秘密是一个标准基础。Flatpak 系统允许开发者引用一套通用的软件开发者工具包(SDK)模块。这些模块由 Flatpak 系统的维护者进行打包和管理。当你安装 Flatpak 时,SDK 会根据需要被拉入,以确保与你的系统兼容。任何特定的 SDK 只需要一次,因为它所包含的库可以在任何 Flatpak 中共享。

如果开发者需要一个尚未包含在现有 SDK 中的库,开发者可以在 Flatpak 中添加该库。

结果不言自明。用户可以从一个叫做 Flathub 的中央仓库在任何 Linux 发行版上安装数百个软件包。

开发者如何使用 Flatpak

Flatpak 被设计成可重复的,所以构建过程很容易被集成到 CI/CD 工作流程中。Flatpak 是在一个 YAML 或 JSON 清单文件中定义的。你可以按照我的 介绍性文章 创建你的第一个 Flatpak,你也可以在 docs.flatpak.org 阅读完整的文档。

Linux 让它变得简单

在 Linux 上创建软件很容易,为 Linux 打包也很简单,而且可以自动化。如果你是一个程序员,Linux 使你很容易忘记打包这件事,因为它只需要针对一个系统,并可以整合到你的构建过程中。


via: https://opensource.com/article/21/2/linux-packaging

作者:Seth Kenlon 选题:lujun9972 译者:wxy 校对:wxy

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

社区开发预装 Flatpak 而不是 Snap 的 Ubuntu 特色版

在 Canonical 宣布未来的 Ubuntu 发行版及其特色版默认 不包括 Flatpak 支持之后,有人制作了一个非官方的 Ubuntu 特色版 Ubuntu Flatpak Remix。它移除了 Snap 应用支持,而预装了 Flatpak 应用支持。这包括几个关键的应用程序,如 Firefox、Thunderbird 和 LibreOffice 等。此外,你还可以从 Flathub 安装更多的 Flatpak 应用。

消息来源:9to5linux
老王点评:这就是社区的价值,看看会有多少人去选择 Flatpak 特色版的 Ubuntu。

调查发现:开源是最值得信任的技术

Stack Overflow 调查了数千名开发人员发现,开源(6.9)、云计算(6.5)和机器学习(5.9)是最值得信任的技术,而得分最低的是量子计算(3.7)、纳米技术(4.5)、低代码/无代码(4.6)。在评价技术对世界的影响时,正面平均得分最高的技术是开源技术(7.2)、可持续技术(6.6)和机器学习(6.5);负面平均得分最高的技术是低代码/无代码、内源和区块链,均为 5.3分。

消息来源:Stack Overflow
老王点评:开源得到信任果然已经是共识了。

GitHub 要求更多开发者使用 2FA

GitHub 将从 3 月 13 日起要求更多账户启用双因素认证(2FA)。到 2023 年底,这一规定将扩大到所有在 GitHub 上贡献代码的开发者。在该要求生效前 45 天,这些用户会在产品内和通过电子邮件收到定期提醒。如果在截止日期的七天后仍然没有这样做,他们将无法访问 GitHub 的大部分功能。在过去几个月里,GitHub 一直在逐步向特定类型的用户推出这一要求。GitHub 称,它之所以这样做,是因为 GitHub 是软件供应链的一个重要组成部分,而现在只有大约 16.5% 的 GitHub 活跃用户使用 2FA。

消息来源:Ars Technica
老王点评:这应该是一种有效提高软件供应链安全的方式,其实并不麻烦。

Ubuntu 各特色版已同意停止使用 Flatpak 作为其操作系统的默认打包系统,而选择替代的打包管理器。

这是一个令人惊讶的举动,Canonical 宣布,所有官方的 Ubuntu 特色版将不会默认支持 Flatpak。这个决定是在与所有官方 Ubuntu 特色版的团队/维护者达成一致后做出的。这一变化计划从 2023 年 4 月发布的 “Lunar Lobster” 开始,该版本将在几周后发布。

Ubuntu 官方特色版将停止默认安装 Flatpak

基于 Ubuntu 的官方特色版(Kubuntu、Lubuntu、Xubuntu 等)将不再将 Flatpak 作为其默认的打包解决方案,而选择其他方案,如 Snap 和本地 deb 格式。这样做是为了 “在尊重现有用户个性化他们自己的体验方式的同时,改善新用户开箱即用的 Ubuntu 体验”。

虽然这个决定得到了 Canonical 的支持,为了提供更好的用户体验,阻止软件包生态系统的碎片化,并给用户一个稳定的应用产品的选择。但显然,有几个问题冒了出来。

为什么是现在?Flatpak 和 Snap 都已经存在多年了。Flatpak 正变得越来越流行,它作为一种包格式在积极开发和维护,一些现代功化的功能也正在开发中,比如即将出现的 “经过验证的应用程序”。而同时,由于 Snap 的 “启动时间慢”,以及被 Canonical 的封闭服务器所控制等其他原因,它在桌面应用部署领域无法得到很大普及。

Ubuntu 发行版本身从来没有默认提供过 Flatpak。但是特色版的维护者应该有选择自己的产品的自由,并在 Ubuntu 基础上进行创新。这也是成为一个特色版的主要原因,而不只是一个不同的桌面环境。

给用户造成的困难

虽然你总是可以手动安装 Flatpak 并配置 Flathub,但显然,这可能会给用户带来一些问题。我相信这个公告是彻底阻止 Flatpak 安装方式的第一步。

还记得 Firefox Snap 的情况吗?要删除 Firefox Snap,你必须做复杂的命令行操作,才能安装 deb 版本。这些对于普通的 Ubuntu 用户来说是非常复杂的。此外,一些流行的桌面应用程序在发布后会立即推出 Flatpak 软件包。对于许多流行的 Linux 桌面应用程序来说,有时甚至没有提供 Snap 软件包。

我相信让用户来决定哪种打包格式是容易和遵循的。Canonical 应该通过解决 Snap 的核心问题、应用程序的可用性和闭门造车的性质来自行改进 Snap,而不是强行做出决定。此外,在为一个社区贡献的发行版推送决定之前,应该与特色版维护者一起发起投票,以获得来自社区的反馈。

结束语

如果我们曾经从历史中吸取教训的话,它永远不会以好的方式结束。也就是说,这一变化将从 2023 年 4 月 23 日 Ubuntu 23.04 “Lunar Lobster” 发布时开始。

让我用 Ubuntu 的座右铭来结束这篇文章,在这一举措之后,这听起来很奇怪:

“Ubuntu 是一个古老的非洲语单词,意思是‘ 以人道善待他人 Humanity to Others ’。它经常被描述为提醒我们,‘群在故我在’。我们把 Ubuntu 的精神带到了计算机和软件的世界里。Ubuntu 发行版代表了世界软件社区与世界分享的最好的东西。”

—— 关于 Ubuntu

新闻引自 Joey @ OMG! Ubuntu!discourse


via: https://debugpointnews.com/ubuntu-flavours-flatpak/

作者:arindam 选题:lkxed 译者:wxy 校对:wxy

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

GNOME 的调查数据揭示了一些令人感兴趣的用户偏好。这是否会影响 GNOME 在不久的将来的开发决策?让我们拭目以待。

GNOME 的研究报告说,超过 90% 的系统安装了 Flatpak

在 2022 年 8 月,GNOME 开发了 一个工具,让用户可以匿名提供关于他们的系统配置、扩展和 GNOME 调整的设置。

这是为了帮助 GNOME 深入了解用户的偏好,并在分析数据的基础上做出更好的决定。

GNOME 设计团队的成员 Allan Day 在最近的一篇博文中分享了收集的数据。它包含了一些有趣的洞察和发现。

让我带你了解一下:

研究报告的发现

本研究报告包括来自 2,517 个用户的数据,这些用户的硬件和软件配置各不相同。

? 这些数据是使用 gnome-info-collect 工具 从向 GNOME 提供数据的人那里获得的,并不代表 GNOME 的全部用户。

最初,他们收到了 2,560 个回复,但由于一些数据没有来自使用 GNOME 的系统或来自虚拟机,他们不得不从数据集中删除一些。

它包含什么?它含有匿名的非敏感数据指标,显示了用户是如何设置他们的系统的。

? 这对 GNOME 团队来说可以有很大的用处,他们现在可以使用这些数据来做出设计和开发的决定。

其中一个引起我们注意的数据指标是在他们的 GNOME 系统上使用 Flatpak 的人的百分比。

超过 90% 的系统都安装了 Flatpak。

在 2517 个用户中,有高达 2344 个用户在他们的 GNOME 系统上安装了 Flatpak。其中 2,102 人完全启用了它。

在这样一个小的数据集中,这是一个巨大的数字! ?

关于这一点,Allan 有这样的补充说明:

Flatpak 和 Flathub 对 GNOME 的战略方向至关重要,所以了解它们的采用程度是很有用的。这种采用程度也与 GNOME 的软件应用设计有关。

除此之外,一些关键的收获包括:

  • 最常用的默认网页浏览器是 Mozilla Firefox。
  • 在使用 GNOME 的人中,最常用的发行版是 Fedora。
  • 谷歌是配置了在线账户的用户的首选账户。
  • GIMP 是安装在 GNOME 上最受欢迎的应用程序之一,紧随其后的是 VLC。
  • 83% 的用户至少启用了一个 GNOME 扩展。

我建议你通过该 研究报告 来获得更深入的了解。

这是否有助于改善 GNOME 的体验?

收集这些数据是为了通过分析和提供给设计和开发团队来改善桌面体验。

然而,收集到的数据仍然相当有限,可能无法代表大多数的 GNOME 用户。

为了解决这个问题,博文中提到:

总的来说,这些数据对于 GNOME 项目应该专注于哪些功能给出了一些有力的提示。它也提供了关于哪些功能不应该被优先考虑的证据。需要记住的是,虽然我们在这里有关于一些 GNOME 用户做出的决定的证据,但这些数据并没有让我们深入了解为什么他们会做出这样的决定。

GNOME 团队希望在根据这些数据做出决定时保持谨慎。而且,像这样的调查应该能让他们更好地了解用户的偏好,并把重点放在基本层面上更重要的东西上。

当然,不可能照顾到每一种类型的用户。但是,只要基本面得到了照顾,桌面体验最终应该得到改善。

你对这些发现有什么看法?欢迎在下面的评论中分享你的想法。


via: https://news.itsfoss.com/gnome-research-report/

作者:Sourav Rudra 选题:lkxed 译者:wxy 校对:wxy

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

我相信几乎所有的 Linux 用户都会保持他们系统的更新。

但这种更新通常是针对默认的 包管理器。例如,更新 Ubuntu 往往意味着更新所有的 APT 软件包。

然而,还有其他的打包格式,如 Snap 和 Flatpak。Snap 应用程序会自动更新,但 Flatpak 不会。

那么你如何更新 Flatpak 软件包呢?好吧,你可以用这个命令来更新所有已安装和可更新的 Flatpak 包:

flatpak update

这很简单。但让我再讨论一下关于更新 Flatpak 的一些事情,比如说:

  • 更新所有或特定的 Flatpak 包
  • 通过软件中心更新 Flatpak 包

让我们先从终端的方法开始。

方法 1:使用终端来更新 Flatpak 包

首先让我从最实用的方法开始,你也应该从这个方法开始。

更新每一个过时的 Flatpak 包

更新现有的 Flatpak 包的整个目录是很容易的。

输入给定的命令,就可以得到过期包的列表:

flatpak update

update flatpak packages in linux

你只需输入 Y 并按下回车键,就能搞定每一个更新。

更新特定的 Flatpak 包

要更新特定的软件包,你需要可以更新的软件包的列表。你用的是你之前看到的那个命令。

flatpak update

update flatpak packages in linux

从输出中复制你要更新的软件包的名称。在以下命令中使用软件包的名称:

flatpak update package_name

例如,如果你想更新 Telegram,下面的命令可以完成这项工作:

flatpak update org.telegram.desktop

update specific package in flatpak

这就完成了。

方法 2:从软件中心更新 Flatpak 应用

有 Flatpak 内置支持的发行版会在软件中心提供 Flatpak 应用的更新。Fedora 和 Linux Mint 就是这样的发行版。

但如果你使用的是 Ubuntu,你就需要在 GNOME 软件中心添加 Flatpak 支持:

sudo apt install gnome-software-plugin-flatpak

完成后,你将在 Ubuntu 中拥有两个软件中心。这是因为默认的软件中心不是 GNOME 的,而是 Snap Store。

从系统菜单中打开这个新的软件中心:

open software center in ubuntu

进入“ 更新 Update ”页面,你会发现过时的软件包列表。这包括 APT 和 Flatpak 软件包。

update flatpak from software center

在这里,你可以一次更新所有的软件包,或者你可以有选择地更新什么。

总结

许多 Linux 桌面用户往往忘记更新 Flatpak 软件包,因为它们不包括在定期的系统更新中。

由于 Flatpak 是一个沙盒式的打包解决方案,你可能不会面临任何与过时的软件包有关的问题,但你肯定会错过新的功能和修复。

这就是为什么我建议每隔几周运行一次 Flatpak 更新命令。

我希望你喜欢这个快速的 Flatpak 小技巧。


via: https://itsfoss.com/update-flatpak/

作者:Sagar Sharma 选题:lkxed 译者:geekpi 校对:wxy

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