使用Flatpak¶
这个页面介绍flatpak CLI,解释必要的技术约定和常用的命令。
最终用户不应该使用Flatpak CLI,因为Flatpak在有图形界面的软件管理器中非常容易使用。当然咯,如果他们更喜欢使用命令行的话,也可以使用Flatpak CLI。
flatpak命令¶
flatpak
是Flatpak的主命令, 其他的命令都跟在它后面。 例如, 用 flatpak install
安装,用 flatpak uninstall
卸载。
标识符¶
Flatpak通过唯一的三元组标识应用和运行时,如 com.company.App
。地址的最后一段是对象名,前面的部分标识了开发者,所以同一个开发者可以开发多个应用,如 com.company.App1
和 com.company.App2
。
标识符三元组¶
一般来说,使用ID来引用一个对象是高效的。然而,有时候,我们需要指定对象的版本或者架构。例如,有些应用可能会提供稳定版和测试版,这种情况下,指定版本是很必要的。
Flatpak可以使用对象标识符三元组来指定架构和版本。格式是 name/architecture/branch
,如 com.company.App/i386/stable
。(分支是指向同一个版本的术语。这里也可以参考git里的概念)三元组的第一部分是ID,第二部分是架构,第三部分是分支。
标识符三元组也可以通过使用空白来仅指定架构或分支。如 com.company.App//stable
仅指定了分支, com.company.App/i386//
仅指定了架构。
如果架构或者分支需要指定,Flatpak CLI会有相应的反馈的。
System vs user¶
Flatpak命令既可以在系统级运行,也可以在用户级运行。安装在系统级的应用和运行时可以给当前系统的所有用户使用。安装在用户级的应用和运行时仅安装的用户可以使用。
上述原则也可以用于仓库。系统级的仓库可以给所有的用户使用,用户级仓库仅给安装的用户使用。
Flatpak命令默认运行在系统级。如果你安装应用是为了日常使用,我们推荐坚持默认行为。
然而,运行用户级命令对测试和开发很有用,因为用户级安装的对象不会给系统上其他的用户使用。如果使用用户级命令,可以使用 --user
选项,这个选项可以和大多数 flatpak
命令组合使用。
用户级运行命令和系统级运行命令行为一致。
基本命令¶
这本部分涵盖了安装,运行和管理Flatpak应用的基本命令。运行 flatpak --help
查看所有的Flatpak命令,或者参阅 Flatpak命令行参考文档。
列出远程仓库¶
运行下面的命令,列出在系统中已经配置好远程仓库:
$ flatpak remotes
列出已经添加了的远程仓库。列表表明每一个远程仓库是用户级的还是系统级的。
添加远程仓库¶
最方便的方式添加远程仓库是使用 .flatpakrepo
文件,它包含远程仓库的信息和GPG秘钥:
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Here, flathub
is the local name that is given to the remote. The URL
points to the remote’s .flatpakrepo
file. --if-not-exists
stops the
command from producing an error if the remote already exists.
移除远程仓库¶
运行下面的命令以移除远程仓库:
$ flatpak remote-delete flathub
In this case, flathub
is the remote’s local name.
搜索¶
使用 search
命令查找远程仓库中的应用。如:
$ flatpak search gimp
搜索会返回匹配搜索词的应用。每一个搜索结果包含应用ID和应用所在的仓库。在这个例子中,搜索词是 gimp
。
安装应用¶
运行下面的明明安装应用:
$ flatpak install flathub org.gimp.GIMP
在这里, flathub
将要安装的远程应用名称, 而 org.gimp.GIMP
则是应用的ID。
有时,应用需要特定的运行时,运行时需要在安装应用前安装。
将要安装的应用的详细信息可以由 .flatpakref
文件提供, .flatpakref
文件可以是本地的,也可以是远程的。运行下面的命令指定 .flatpakref
,而不是手动指定远程仓库和应用ID。
$ flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref
如果 .flatpakref
文件指定从远程仓库中安装的应用已经添加过,在应用安装前,将会被问到,哪一个应用应该添加。
Since Flatpak 1.2, the install
command can search for applications. A
simple:
$ flatpak install gimp
will confirm the remote and application and proceed to install.
运行应用¶
应用安装后,可以使用 run
命令和应用ID运行应用:
$ flatpak run org.gimp.GIMP
更新¶
运行下面的命令更新所有的应用和运行时到最新版本:
$ flatpak update
列出安装的应用¶
运行下面的命令,列出安装的应用和运行时:
$ flatpak list
运行下面的命令仅列出安装的应用:
$ flatpak list --app
移除应用¶
运行下面的命令移除应用:
$ flatpak uninstall org.gimp.GIMP
Troubleshooting¶
Flatpak has a few commands that can help you to get things working again when something goes wrong.
To remove runtimes and extensions that are not used by installed applications, use:
$ flatpak uninstall --unused
To fix inconsistencies with your local installation, use:
$ flatpak repair
Flatpak also has a number of commands to manage the portal permissions of
installed apps. To reset all portal permissions for an app, use flatpak
permission-reset
:
$ flatpak permission-reset org.gimp.GIMP
To find out what changes have been made to your Flatpak installation over time, you can take a look at the logs (since 1.2):
$ flatpak history