如何在 Linux 上安裝並啟用 Flatpak 支持?

如何在 Linux 上安裝並啟用 Flatpak 支持?

Flatpak 提供了一種通用的包封裝格式,可以在任何 Linux 發行版中使用。它提供了一個沙箱(隔離的)環境來運行應用程序,不會影響其他應用程序和發行版核心軟件包。

-- Magesh Maruthamuthu

目前,我們都在使用 Linux 發行版的官方軟件包管理器來安裝所需的軟件包。

在 Linux 中,它做得很好,沒有任何問題。(它不打折扣地很好的完成了它應該做的工作)

但在一些方面它也有一些限制,所以會讓我們考慮其他替代解決方案來解決。

是的,默認情況下,我們不能從發行版官方軟件包管理器獲取到最新版本的軟件包,因為這些軟件包是在構建當前 OS 版本時構建的。它們只會提供安全更新,直到下一個主要版本發佈。

那麼,這種情況有什麼解決辦法嗎?是的,我們有多種解決方案,而且我們大多數人已經開始使用其中的一些了。

有些什麼呢,它們有什麼好處?

  • 對於基於 Ubuntu 的系統: PPA
  • 對於基於 RHEL 的系統: EPEL 倉庫 、 ELRepo 倉庫 、 nux-dextop 倉庫 、 IUS 社區倉庫 、 RPMfusion 倉庫 和 Remi 倉庫

使用上面的倉庫,我們將獲得最新的軟件包。這些軟件包通常都得到了很好的維護,還有大多數社區的推薦。但這些只是建議,可能並不總是安全的。

近年來,出現了一下通用軟件包封裝格式,並且得到了廣泛的應用。

  • Flatpak:它是獨立於發行版的包格式,主要貢獻者是 Fedora 項目團隊。大多數主要的 Linux 發行版都採用了 Flatpak 框架。
  • Snaps:Snappy 是一種通用的軟件包封裝格式,最初由 Canonical 為 Ubuntu 手機及其操作系統設計和構建的。後來,更多的發行版都接納了它。
  • AppImage:AppImage 是一種可移植的包格式,可以在不安裝和不需要 root 權限的情況下運行。

我們之前已經介紹過 Snap 包管理器和包封裝格式 。今天我們將討論 Flatpak 包封裝格式。

什麼是 Flatpak?

Flatpak(以前稱為 X Desktop Group 或 xdg-app)是一個軟件實用程序。它提供了一種通用的包封裝格式,可以在任何 Linux 發行版中使用。

它提供了一個沙箱(隔離的)環境來運行應用程序,不會影響其他應用程序和發行版核心軟件包。我們還可以安裝並運行不同版本的軟件包。

Flatpak 的一個缺點是不像 Snap 和 AppImage 那樣支持服務器操作系統,它只在少數桌面環境下工作。

比如說,如果你想在系統上運行兩個版本的 php,那麼你可以輕鬆安裝並按照你的意願運行。

這就是現在通用包封裝格式非常有名的地方。

如何在 Linux 中安裝 Flatpak?

大多數 Linux 發行版官方倉庫都提供 Flatpak 軟件包。因此,可以使用它們來進行安裝。

對於 Fedora 系統,使用 DNF 命令 來安裝 flatpak。

$ sudo dnf install flatpak

對於 Debian/Ubuntu 系統,使用 APT-GET 命令 或 APT 命令 來安裝 flatpak。

$ sudo apt install flatpak

對於較舊的 Ubuntu 版本:

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

$ sudo apt update

$ sudo apt install flatpak

對於基於 Arch Linux 的系統,使用 Pacman 命令 來安裝 flatpak。

$ sudo pacman -S flatpak

對於 RHEL/CentOS 系統,使用 YUM 命令 來安裝 flatpak。

$ sudo yum install flatpak

對於 openSUSE Leap 系統,使用 Zypper 命令 來安裝 flatpak。

$ sudo zypper install flatpak

如何在 Linux 上啟用 Flathub 支持?

Flathub 網站是一個應用程序商店,你可以在其中找到 flatpak 軟件包。它是一箇中央倉庫,所有的 flatpak 應用程序都可供用戶使用。

運行以下命令在 Linux 上啟用 Flathub 支持:

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

為 GNOME 桌面環境安裝 Software Flatpak 插件。

$ sudo apt install gnome-software-plugin-flatpak

此外,如果你使用的是 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/

如何列出已配置的 flakpak 倉庫?

如果要查看系統上已配置的 flatpak 倉庫列表,運行以下命令:

$ flatpak remotes

Name Options

flathub system

gnome-apps system

如何列出已配置倉庫中的可用軟件包?

如果要查看已配置倉庫中的可用軟件包的列表(它將顯示所有軟件包,如應用程序和運行環境),運行以下命令:

$ flatpak remote-ls | head -10

org.freedesktop.GlxInfo gnome-apps

org.gnome.Books gnome-apps

org.gnome.Builder gnome-apps

org.gnome.Calculator gnome-apps

org.gnome.Calendar gnome-apps

org.gnome.Characters gnome-apps

org.gnome.Devhelp gnome-apps

org.gnome.Dictionary gnome-apps

org.gnome.Documents gnome-apps

org.gnome.Epiphany gnome-apps

僅列出應用程序:

$ flatpak remote-ls --app

列出特定的倉庫應用程序:

$ flatpak remote-ls gnome-apps

如何從 flatpak 安裝包?

運行以下命令從 flatpak 倉庫安裝軟件包:

$ sudo flatpak install flathub com.github.muriloventuroso.easyssh

Required runtime for com.github.muriloventuroso.easyssh/x86_64/stable (runtime/org.gnome.Platform/x86_64/3.30) found in remote flathub

Do you want to install it? [y/n]: y

Installing in system:

org.gnome.Platform/x86_64/3.30 flathub 4e93789f42ac

org.gnome.Platform.Locale/x86_64/3.30 flathub 6abf9c0e2b72

org.freedesktop.Platform.html5-codecs/x86_64/18.08 flathub d6abde36c0be

com.github.muriloventuroso.easyssh/x86_64/stable flathub 337db43043d2

permissions: ipc, network, wayland, x11, dri

file access: home, xdg-run/dconf, ~/.config/dconf:ro

dbus access: ca.desrt.dconf

com.github.muriloventuroso.easyssh.Locale/x86_64/stable flathub af837356b222

Is this ok [y/n]: y

Installing: org.gnome.Platform/x86_64/3.30 from flathub

[####################] 1 metadata, 14908 content objects fetched; 228018 KiB transferred in 364 seconds

Now at 4e93789f42ac.

Installing: org.gnome.Platform.Locale/x86_64/3.30 from flathub

[####################] 4 metadata, 1 content objects fetched; 16 KiB transferred in 2 seconds

Now at 6abf9c0e2b72.

Installing: org.freedesktop.Platform.html5-codecs/x86_64/18.08 from flathub

[####################] 26 metadata, 131 content objects fetched; 2737 KiB transferred in 8 seconds

Now at d6abde36c0be.

Installing: com.github.muriloventuroso.easyssh/x86_64/stable from flathub

[####################] 191 metadata, 3633 content objects fetched; 24857 KiB transferred in 117 seconds

Now at 337db43043d2.

Installing: com.github.muriloventuroso.easyssh.Locale/x86_64/stable from flathub

[####################] 3 metadata, 1 content objects fetched; 14 KiB transferred in 2 seconds

Now at af837356b222.

所有已安裝的應用程序都將放在以下位置:

$ ls /var/lib/flatpak/app/

com.github.muriloventuroso.easyssh

如何運行已安裝的應用程序?

運行以下命令以啟動所需的應用程序,確保替換為你的應用程序名稱:

$ flatpak run com.github.muriloventuroso.easyssh

如何查看已安裝的應用程序?

運行以下命令來查看已安裝的應用程序:

$ flatpak list

Ref Options

com.github.muriloventuroso.easyssh/x86_64/stable system,current

org.freedesktop.Platform.html5-codecs/x86_64/18.08 system,runtime

org.gnome.Platform/x86_64/3.30 system,runtime

如何查看有關已安裝應用程序的詳細信息?

運行以下命令以查看有關已安裝應用程序的詳細信息:

$ flatpak info com.github.muriloventuroso.easyssh

Ref: app/com.github.muriloventuroso.easyssh/x86_64/stable

ID: com.github.muriloventuroso.easyssh

Arch: x86_64

Branch: stable

Origin: flathub

Collection ID: org.flathub.Stable

Date: 2019-01-08 13:36:32 +0000

Subject: Update com.github.muriloventuroso.easyssh.json (cd35819c)

Commit: 337db43043d282c74d14a9caecdc780464b5e526b4626215d534d38b0935049f

Parent: 6e49096146f675db6ecc0ce7c5347b4b4f049b21d83a6cc4d01ff3f27c707cb6

Location: /var/lib/flatpak/app/com.github.muriloventuroso.easyssh/x86_64/stable/337db43043d282c74d14a9caecdc780464b5e526b4626215d534d38b0935049f

Installed size: 100.0 MB

Runtime: org.gnome.Platform/x86_64/3.30

Sdk: org.gnome.Sdk/x86_64/3.30

如何更新已安裝的應用程序?

運行以下命令將已安裝的應用程序更新到最新版本:

$ flatpak update

對於特定應用程序,使用以下格式:

$ flatpak update com.github.muriloventuroso.easyssh

如何移除已安裝的應用程序?

運行以下命令來移除已安裝的應用程序:

$ sudo flatpak uninstall com.github.muriloventuroso.easyssh

進入 man 頁面以獲取更多細節和選項:

$ flatpak --help


via: https://www.2daygeek.com/how-to-install-and-enable-flatpak-support-on-linux/

作者: Magesh Maruthamuthu 選題: lujun9972 譯者: MjSeven 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


分享到:


相關文章: