使用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命令行参考文档。
添加远程仓库¶
最方便的方式添加远程仓库是使用 .flatpakrepo
文件,它包含远程仓库的信息和GPG秘钥:
$ flatpak remote-add --if-not-exists flathub https://dl.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 0.11.1以前,在搜索之前需要手动更新远程仓库的元数据。可以通过运行 flatpak update
或 flatpak update --appstream
完成。
安装应用¶
运行下面的明明安装应用:
$ 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
文件指定从远程仓库中安装的应用已经添加过,在应用安装前,将会被问到,哪一个应用应该添加。