如何在Linux上安裝并啟用Flatpak支持?
目前,我們都在使用 Linux 發(fā)行版的官方軟件包管理器來安裝所需的軟件包。
在 Linux 中,它做得很好,沒有任何問題。(它不打折扣地很好的完成了它應(yīng)該做的工作)
但在一些方面它也有一些限制,所以會(huì)讓我們考慮其他替代解決方案來解決。
是的,默認(rèn)情況下,我們不能從發(fā)行版官方軟件包管理器獲取到***版本的軟件包,因?yàn)檫@些軟件包是在構(gòu)建當(dāng)前 OS 版本時(shí)構(gòu)建的。它們只會(huì)提供安全更新,直到下一個(gè)主要版本發(fā)布。
那么,這種情況有什么解決辦法嗎?是的,我們有多種解決方案,而且我們大多數(shù)人已經(jīng)開始使用其中的一些了。
有些什么呢,它們有什么好處?
- 對(duì)于基于 Ubuntu 的系統(tǒng): PPA
- 對(duì)于基于 RHEL 的系統(tǒng): EPEL 倉(cāng)庫(kù)、ELRepo 倉(cāng)庫(kù)、nux-dextop 倉(cāng)庫(kù)、IUS 社區(qū)倉(cāng)庫(kù)、RPMfusion 倉(cāng)庫(kù) 和 Remi 倉(cāng)庫(kù)
使用上面的倉(cāng)庫(kù),我們將獲得***的軟件包。這些軟件包通常都得到了很好的維護(hù),還有大多數(shù)社區(qū)的推薦。但這些只是建議,可能并不總是安全的。
近年來,出現(xiàn)了一下通用軟件包封裝格式,并且得到了廣泛的應(yīng)用。
- Flatpak:它是獨(dú)立于發(fā)行版的包格式,主要貢獻(xiàn)者是 Fedora 項(xiàng)目團(tuán)隊(duì)。大多數(shù)主要的 Linux 發(fā)行版都采用了 Flatpak 框架。
- Snaps:Snappy 是一種通用的軟件包封裝格式,最初由 Canonical 為 Ubuntu 手機(jī)及其操作系統(tǒng)設(shè)計(jì)和構(gòu)建的。后來,更多的發(fā)行版都接納了它。
- AppImage:AppImage 是一種可移植的包格式,可以在不安裝和不需要 root 權(quán)限的情況下運(yùn)行。
我們之前已經(jīng)介紹過 Snap 包管理器和包封裝格式。今天我們將討論 Flatpak 包封裝格式。
什么是 Flatpak?
Flatpak(以前稱為 X Desktop Group 或 xdg-app)是一個(gè)軟件實(shí)用程序。它提供了一種通用的包封裝格式,可以在任何 Linux 發(fā)行版中使用。
它提供了一個(gè)沙箱(隔離的)環(huán)境來運(yùn)行應(yīng)用程序,不會(huì)影響其他應(yīng)用程序和發(fā)行版核心軟件包。我們還可以安裝并運(yùn)行不同版本的軟件包。
Flatpak 的一個(gè)缺點(diǎn)是不像 Snap 和 AppImage 那樣支持服務(wù)器操作系統(tǒng),它只在少數(shù)桌面環(huán)境下工作。
比如說,如果你想在系統(tǒng)上運(yùn)行兩個(gè)版本的 php,那么你可以輕松安裝并按照你的意愿運(yùn)行。
這就是現(xiàn)在通用包封裝格式非常有名的地方。
如何在 Linux 中安裝 Flatpak?
大多數(shù) Linux 發(fā)行版官方倉(cāng)庫(kù)都提供 Flatpak 軟件包。因此,可以使用它們來進(jìn)行安裝。
對(duì)于 Fedora 系統(tǒng),使用 DNF 命令 來安裝 flatpak。
$ sudo dnf install flatpak
對(duì)于 Debian/Ubuntu 系統(tǒng),使用 APT-GET 命令 或 APT 命令 來安裝 flatpak。
$ sudo apt install flatpak
對(duì)于較舊的 Ubuntu 版本:
$ sudo add-apt-repository ppa:alexlarsson/flatpak
$ sudo apt update
$ sudo apt install flatpak
對(duì)于基于 Arch Linux 的系統(tǒng),使用 Pacman 命令 來安裝 flatpak。
$ sudo pacman -S flatpak
對(duì)于 RHEL/CentOS 系統(tǒng),使用 YUM 命令 來安裝 flatpak。
$ sudo yum install flatpak
對(duì)于 openSUSE Leap 系統(tǒng),使用 Zypper 命令 來安裝 flatpak。
$ sudo zypper install flatpak
如何在 Linux 上啟用 Flathub 支持?
Flathub 網(wǎng)站是一個(gè)應(yīng)用程序商店,你可以在其中找到 flatpak 軟件包。它是一個(gè)中央倉(cāng)庫(kù),所有的 flatpak 應(yīng)用程序都可供用戶使用。
運(yùn)行以下命令在 Linux 上啟用 Flathub 支持:
$ sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
為 GNOME 桌面環(huán)境安裝 Software Flatpak 插件。
$ sudo apt install gnome-software-plugin-flatpak
此外,如果你使用的是 GNOME 桌面環(huán)境,則可以啟用 GNOME 倉(cāng)庫(kù)。它包含所有 GNOME 核心應(yīng)用程序。
$ 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 倉(cāng)庫(kù)?
如果要查看系統(tǒng)上已配置的 flatpak 倉(cāng)庫(kù)列表,運(yùn)行以下命令:
$ flatpak remotes
Name Options
flathub system
gnome-apps system
如何列出已配置倉(cāng)庫(kù)中的可用軟件包?
如果要查看已配置倉(cāng)庫(kù)中的可用軟件包的列表(它將顯示所有軟件包,如應(yīng)用程序和運(yùn)行環(huán)境),運(yùn)行以下命令:
$ 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
僅列出應(yīng)用程序:
$ flatpak remote-ls --app
列出特定的倉(cāng)庫(kù)應(yīng)用程序:
$ flatpak remote-ls gnome-apps
如何從 flatpak 安裝包?
運(yùn)行以下命令從 flatpak 倉(cāng)庫(kù)安裝軟件包:
$ 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.
所有已安裝的應(yīng)用程序都將放在以下位置:
$ ls /var/lib/flatpak/app/
com.github.muriloventuroso.easyssh
如何運(yùn)行已安裝的應(yīng)用程序?
運(yùn)行以下命令以啟動(dòng)所需的應(yīng)用程序,確保替換為你的應(yīng)用程序名稱:
$ flatpak run com.github.muriloventuroso.easyssh
如何查看已安裝的應(yīng)用程序?
運(yùn)行以下命令來查看已安裝的應(yīng)用程序:
$ 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
如何查看有關(guān)已安裝應(yīng)用程序的詳細(xì)信息?
運(yùn)行以下命令以查看有關(guān)已安裝應(yīng)用程序的詳細(xì)信息:
$ 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
如何更新已安裝的應(yīng)用程序?
運(yùn)行以下命令將已安裝的應(yīng)用程序更新到***版本:
$ flatpak update
對(duì)于特定應(yīng)用程序,使用以下格式:
$ flatpak update com.github.muriloventuroso.easyssh
如何移除已安裝的應(yīng)用程序?
運(yùn)行以下命令來移除已安裝的應(yīng)用程序:
$ sudo flatpak uninstall com.github.muriloventuroso.easyssh
進(jìn)入 man 頁面以獲取更多細(xì)節(jié)和選項(xiàng):
$ flatpak --help