作者 | Sk
譯者 | LCTT / wwhio
以前,我們介紹 Ubuntu 推出的 Snaps[1]。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
如果你是用發行版沒有在上述的說明裡,請你參考官方安裝指南[2]。
開始使用 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[4] 選題:lujun9972 譯者:wwhio 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出