网易首页 > 网易号 > 正文 申请入驻

Flatpak 软件包新手指南

0
分享至

以前,我们介绍 Ubuntu 推出的 Snaps。Snaps 是由 Canonical 公司为 Ubuntu 开发的,并随后移植到其他的 Linux 发行版,如 Arch、Gentoo、Fedora 等等。由于一个 snap 包中含有软件的二进制文件和其所需的所有依赖和库,所以可以在无视软件版本、在任意 Linux 发行版上安装软件。和 Snaps 类似,还有一个名为 Flatpak 的工具。也许你已经知道,为不同的 Linux 发行版打包并分发应用是一件多么费时又复杂的工作,因为不同的 Linux 发行版的库不同,库的版本也不同。现在,Flatpak 作为分发桌面应用的新框架可以让开发者完全摆脱这些负担。开发者只需构建一个 Flatpak app 就可以在多种发行版上安装使用。这真是又酷又棒!

用户也完全不用担心库和依赖的问题了,所有的东西都和 app 打包在了一起。更重要的是 Flatpak app 们都自带沙箱,而且与宿主操作系统的其他部分隔离。对了,Flatpak 还有一个很棒的特性,它允许用户在同一个系统中安装同一应用的多个版本,例如 VLC 播放器的 2.1 版、2.2 版、2.3 版。这使开发者测试同一个软件的多个版本变得更加方便。

在本文中,我们将指导你如何在 GNU/Linux 中安装 Flatpak。

安装 Flatpak

Flatpak 可以在大多数的主流 Linux 发行版上安装使用,如 Arch Linux、Debian、Fedora、Gentoo、Red Hat、Linux Mint、openSUSE、Solus、Mageia 还有 Ubuntu。

在 Arch Linux 上,使用这一条命令来安装 Flatpak:


$ sudo pacman -S flatpak

对于 Debian 用户,Flatpak 被收录进 Stretch 或之后版本的默认软件源中。要安装 Flatpak,直接执行:


$ sudo apt install flatpak

对于 Fedora 用户,Flatpak 是发行版默认安装的软件。你可以直接跳过这一步。

如果因为某种原因没有安装的话,可以执行:


$ sudo dnf install flatpak

对于 RHEL 7 用户,安装 Flatpak 的命令为:


$ sudo yum install flatpak

如果你在使用 Linux Mint 18.3,那么 Flatpat 也随系统默认安装,所以跳过这一步。

在 openSUSE Tumbleweed 中,使用 Zypper 包管理来安装 Flatpak:


$ sudo zypper install flatpak

而 Ubuntu 需要添加下面的软件源再安装 Flatpak,命令如下:


$ sudo add-apt-repository ppa:alexlarsson/flatpak
$ sudo apt update
$ sudo apt install flatpak

Gnome 提供了一个 Flatpak 插件,安装它就可以使用图形界面来安装 Flatpak app 了。插件的安装命令为:


$ sudo apt install gnome-software-plugin-flatpak

如果你是用发行版没有在上述的说明里,请你参考官方安装指南。

开始使用 Flatpak

有不少流行应用都支持 Flatpak 安装,如 Gimp、Kdenlive、Steam、Spotify、Visual Sudio Code 等。

下面让我来一起学习 flatpak 的基本操作命令。

首先,我们需要添加远程仓库。

添加软件仓库

添加 Flathub 仓库:

Flathub 是一个包含了几乎所有 flatpak 应用的仓库。运行这条命令来启用它:


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

对于流行应用来说,Flathub 已经可以满足需求。如果你想试试 GNOME 应用的话,可以添加 GNOME 的仓库。

添加 GNOME 仓库:

GNOME 仓库包括了所有的 GNOME 核心应用,它提供了两种版本: 稳定版(stable)和 每日构建版(nightly)。

使用下面的命令来添加 GNOME 稳定版仓库:


$ wget https://sdk.gnome.org/keys/gnome-sdk.gpg
$ sudo flatpak remote-add --gpg-import=gnome-sdk.gpg --if-not-exists gnome-apps https://sdk.gnome.org/repo-apps/

需要注意的是,GNOME 稳定版仓库中的应用需要 3.20 版本的 org.gnome.Platform 运行时环境。

安装稳定版运行时环境,请执行:


$ sudo flatpak remote-add --gpg-import=gnome-sdk.gpg gnome https://sdk.gnome.org/repo/

如果想使用每日构建版的 GNOME 仓库,使用如下的命令:


$ wget https://sdk.gnome.org/nightly/keys/nightly.gpg
$ sudo flatpak remote-add --gpg-import=nightly.gpg --if-not-exists gnome-nightly-apps https://sdk.gnome.org/nightly/repo-apps/

同样,每日构建版的 GNOME 仓库也需要 org.gnome.Platform 运行时环境的每日构建版本。

执行下面的命令安装每日构建版的运行时环境:


$ sudo flatpak remote-add --gpg-import=nightly.gpg gnome-nightly https://sdk.gnome.org/nightly/repo/

查看软件仓库

要查看已经添加的软件仓库,执行下面的命令:


$ flatpak remotes
Name Options
flathub system
gnome system
gnome-apps system
gnome-nightly system
gnome-nightly-apps system

如你所见,上述命令会列出你添加到系统中的软件仓库。此外,执行结果还表明了软件仓库的配置是 用户级(per-user)还是 系统级(system-wide)。

删除软件仓库

要删除软件仓库,例如 flathub,用这条命令:


$ sudo flatpak remote-delete flathub

这里的 flathub 是软件仓库的名字。

安装 Flatpak 应用

这一节,我们将学习如何安装 flatpak 应用。

要安装一个应用,只要一条命令就能完成:


$ sudo flatpak install flathub com.spotify.Client

所有的稳定版 GNOME 软件仓库中的应用,都使用“stable”作为版本名。

例如,想从稳定版 GNOME 软件仓库中安装稳定版 Evince,就执行:


$ sudo flatpak install gnome-apps org.gnome.Evince stable

所有的每日构建版 GNOME 仓库中的应用,都使用“master”作为版本名。

例如,要从每日构建版 GNOME 软件仓库中安装 gedit 的每次构建版本,就执行:


$ sudo flatpak install gnome-nightly-apps org.gnome.gedit master

如果不希望应用安装在 系统级(system-wide),而只安装在 用户级(per-user),那么你可以这样安装软件:


$ flatpak install --user <name-of-app>

所有的应用都会被存储在 $HOME/.var/app/ 目录下.


$ ls $HOME/.var/app/
com.spotify.Client

执行 Flatpak 应用

你可以直接使用 应用启动器(application launcher)来运行已安装的 Flatpak 应用。如果你想从命令行启动的话,以 Spotify 为例,执行下面的命令:


$ flatpak run com.spotify.Client

列出已安装的 Flatpak 应用

要查看已安装的应用程序和运行时环境,执行:


$ flatpak list

想只查看已安装的应用,那就用这条命令:


$ flatpak list --app

如果想查询已添加的软件仓库中的可安装程序和可安装的运行时环境,使用命令:


$ flatpak remote-ls

只列出可安装的应用程序的命令是:


$ flatpak remote-ls --app

查询指定远程仓库中的所有可安装的应用程序和运行时环境,这里以 gnome-apps 为例,执行命令:


$ flatpak remote-ls gnome-apps

只列出可安装的应用程序,这里以 flathub 为例:


$ flatpak remote-ls flathub --app

更新应用程序

更新所有的 Flatpak 应用程序,执行:


$ flatpak update

更新指定的 Flatpak 应用程序,执行:


$ flatpak update com.spotify.Client

获取应用详情

执行下面的命令来查看已安装应用程序的详细信息:


$ flatpak info io.github.mmstick.FontFinder

输出样例:


Ref: app/io.github.mmstick.FontFinder/x86_64/stable
ID: io.github.mmstick.FontFinder
Arch: x86_64
Branch: stable
Origin: flathub
Date: 2018-04-11 15:10:31 +0000
Subject: Workaround appstream issues (391ef7f5)
Commit: 07164e84148c9fc8b0a2a263c8a468a5355b89061b43e32d95008fc5dc4988f4
Parent: dbff9150fce9fdfbc53d27e82965010805f16491ec7aa1aa76bf24ec1882d683
Location: /var/lib/flatpak/app/io.github.mmstick.FontFinder/x86_64/stable/07164e84148c9fc8b0a2a263c8a468a5355b89061b43e32d95008fc5dc4988f4
Installed size: 2.5 MB
Runtime: org.gnome.Platform/x86_64/3.28

删除应用程序

要删除一个 Flatpak 应用程序,这里以 spotify 为例,执行:


$ sudo flatpak uninstall com.spotify.Client

如果你需要更多信息,可以参考 Flatpak 的帮助。


$ flatpak --help

到此,希望你对 Flatpak 有了一些基础了解。

如果你觉得这篇指南有些帮助,请在你的社交媒体上分享它来支持我们。

稍后还有更多精彩内容,敬请期待~

via: https://www.ostechnix.com/flatpak-new-framework-desktop-applications-linux/

作者:SK 选题:lujun9972 译者:wwhio 校对:wxy

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

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
这应该是一位女乘客留下来的。写在高铁提供的垃圾袋上,字迹不错

这应该是一位女乘客留下来的。写在高铁提供的垃圾袋上,字迹不错

作家李楠枫
2024-04-23 22:41:54
拉基蒂奇:魔笛&克罗斯还在皇马培养年轻球员 巴萨的换代则太快了

拉基蒂奇:魔笛&克罗斯还在皇马培养年轻球员 巴萨的换代则太快了

直播吧
2024-04-26 19:47:16
山姆奶油西瓜上热搜,8块一斤真的贵吗?

山姆奶油西瓜上热搜,8块一斤真的贵吗?

映射生活的身影
2024-04-26 16:25:32
一个时代过去了!中国一大批城市将集体告别“富士康依赖症”

一个时代过去了!中国一大批城市将集体告别“富士康依赖症”

智谷趋势
2024-04-25 21:55:37
女人在过夫妻性生活时,为什么总发出声音?医生:大多数人不了解

女人在过夫妻性生活时,为什么总发出声音?医生:大多数人不了解

皮皮讲文
2024-01-02 10:36:17
看着让人生气,斯佳辉2-6惨败:失误如麻,狂送机会,被打了4连鞭

看着让人生气,斯佳辉2-6惨败:失误如麻,狂送机会,被打了4连鞭

草根体育
2024-04-26 20:28:48
经销商“集体爆库”,压货正在压垮经销商!

经销商“集体爆库”,压货正在压垮经销商!

纳食
2024-04-26 10:58:23
下半场开踢水球!深圳宝安主场积水严重,球滚不动球员水中混战

下半场开踢水球!深圳宝安主场积水严重,球滚不动球员水中混战

直播吧
2024-04-26 20:19:46
詹姆斯表态!湖人G4必须拿下,拒绝三连横扫:有信念坚持战斗

詹姆斯表态!湖人G4必须拿下,拒绝三连横扫:有信念坚持战斗

天涯沦落人
2024-04-26 17:22:07
A股上演疯狂星期五,盘后再传来一重大好消息,对下周影响如何?

A股上演疯狂星期五,盘后再传来一重大好消息,对下周影响如何?

股市皆大事
2024-04-26 16:27:39
命案嫌疑人获不起诉5年后再被诉:曾潜逃19年,一审获无期二审尚未判

命案嫌疑人获不起诉5年后再被诉:曾潜逃19年,一审获无期二审尚未判

澎湃新闻
2024-04-26 21:42:37
65岁大妈直言:我选儿媳妇就一个要求,她的父母晚年必须有退休金

65岁大妈直言:我选儿媳妇就一个要求,她的父母晚年必须有退休金

清水家庭故事
2024-04-25 23:05:35
攻破旧主!张玉宁反越位奔袭低射破门,国安客场1-0领先浙江

攻破旧主!张玉宁反越位奔袭低射破门,国安客场1-0领先浙江

直播吧
2024-04-26 20:31:10
以色列血洗美军,美军34死164伤,美国总统:别让以色列为难

以色列血洗美军,美军34死164伤,美国总统:别让以色列为难

百年历史老号
2024-04-26 11:25:18
后续!江西日本游客插队并叫嚣,知情人曝猛料,导游:日本人优先

后续!江西日本游客插队并叫嚣,知情人曝猛料,导游:日本人优先

皖声微言
2024-04-26 16:08:54
紧急通知!今明两天抵达天津!请全体天津市民做好防范!

紧急通知!今明两天抵达天津!请全体天津市民做好防范!

天津人
2024-04-26 17:52:27
好家伙!《承欢记》大结局了,这简直是我看过最恶心的大结局

好家伙!《承欢记》大结局了,这简直是我看过最恶心的大结局

娱乐八卦木木子
2024-04-26 12:19:42
文艺青年布林肯的从政之路

文艺青年布林肯的从政之路

小A看世界
2024-04-26 19:24:25
聊聊易建联移居美国

聊聊易建联移居美国

阿牛体育说
2024-04-26 17:09:26
亚洲杯大冷门!印尼13-12淘汰韩国,首次参赛便进4强,黄喜洪染红

亚洲杯大冷门!印尼13-12淘汰韩国,首次参赛便进4强,黄喜洪染红

侃球熊弟
2024-04-26 05:03:35
2024-04-26 23:24:49
Linux
Linux
Linux 中国开源社区
8016文章数 73125关注度
往期回顾 全部

科技要闻

车展观察|德系日系绝不能放弃中国市场

头条要闻

命案嫌疑人获不起诉 5年后新证据出现一审被判无期

头条要闻

命案嫌疑人获不起诉 5年后新证据出现一审被判无期

体育要闻

库里当选最佳关键球员 10项数据联盟第一

娱乐要闻

金靖回应不官宣恋情结婚的原因

财经要闻

贾跃亭,真他娘是个人才

汽车要闻

2024北京车展 比亚迪的自驱力让对手紧追猛赶

态度原创

时尚
亲子
家居
数码
军事航空

不建议50+女人戴的帽子!自以为洋气,实际大妈味十足,油腻老气

亲子要闻

儿童哮喘症状的五大特点微博健康说#健闻登顶计划# 儿科医生黄剑峰

家居要闻

光影之间 空间暖意打造生活律动

数码要闻

神舟推出 15.6 英寸轻薄本优雅 X5:搭载 i9-12900H,2999 元

军事要闻

以军称已完成对拉法地面军事行动准备工作

无障碍浏览 进入关怀版