Flatpak 新手指南
以前,我們介紹 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 核心應用,它提供了兩種版本: 穩定版 和 每日構建版 。
使用下面的命令來添加 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
如你所見,上述命令會列出你添加到系統中的軟體倉庫。此外,執行結果還表明了軟體倉庫的配置是 用戶級 還是 系統級 。
刪除軟體倉庫
要刪除軟體倉庫,例如 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
如果不希望應用安裝在 系統級 ,而只安裝在 用戶級 ,那麼你可以這樣安裝軟體:
$ flatpak install --user <name-of-app>
所有的應用都會被存儲在 $HOME/.var/app/
目錄下.
$ ls $HOME/.var/app/
com.spotify.Client
執行 Flatpak 應用
你可以直接使用 應用啟動器 來運行已安裝的 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive