用 Flatpak 在 Linux 上安裝應用
Flatpak 簡化了 Linux 上應用的安裝。
計算機應用由許多小文件組成,它們被鏈接在一起以執行一系列的任務。因為它們以“應用”的形式出現,在菜單或桌面上有彩色的圖標,我們大多數人認為應用是一個單一的、幾乎是有形的東西。在某種程度上,這樣想是令人欣慰的,因為它們感覺是可以管理的。如果一個應用實際上是散落在你的計算機上的數百個小庫和資源文件的組合,那么應用在哪里?撇開存在危機不談,當一個應用需要一個版本的庫,而另一個應用需要一個不同的版本時,會發生什么?
在云計算的世界里,容器 正變得越來越流行,因為它們為應用提供了隔離和整合。你可以在一個“容器”中安裝一個應用需要的所有文件。這樣一來,它的庫就不會受到其他應用的影響,它所占用的內存也不會將數據泄露到另一個內存空間。所有的東西最后都感覺非常像一個單一的、幾乎是 有形的 東西。在 Linux 桌面上,提供了類似的技術的 Flatpak,是一個跨發行版、無守護進程、去中心化的應用交付系統。
在 Linux 上安裝 Flatpak
你的 Linux 系統可能已經安裝了 Flatpak。如果沒有,你可以從你的包管理器中安裝它:
在 Fedora、Mageia 和類似的發行版上:
$ sudo dnf install flatpak
在 Elementary、Mint 和其他基于 Debian 的發行版上:
$ sudo apt install flatpak
在 Slackware 上,Flatpak 可以從 SlackBuilds.org 獲得。
選擇一個 Flatpak 倉庫
你可以通過在你的發行版的軟件中心(如 GNOME 上的“軟件”)添加一個 Flatpak 倉庫,將一個應用安裝為 Flatpak。Flatpak 是一個去中心化的系統,意味著任何開發軟件的人都可以托管他們自己的倉庫。盡管如此,在實踐中,Flathub 是 Flatpak 格式的最大和最流行的應用集合。要將 Flathub 添加到 GNOME “軟件” 或者 KDE “發現” 中,請瀏覽 https://flatpak.org/setup ,找到適合你的發行版的說明,從第二步開始,或者直接下載 Flatpakrepo 文件。根據你的網絡情況,你的軟件中心可能需要幾分鐘的時間來與 Flathub(或另一個 Flatpak 倉庫)同步。Flathub 有很多軟件,但你的系統上有多少個 Flatpak 倉庫是沒有限制的,所以如果你發現一個有你想嘗試的軟件,不要害怕添加一個新的倉庫。
Software Repositories
如果你喜歡在終端工作,你可以用 flatpak
命令直接添加到倉庫:
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
安裝一個應用
只要你在軟件中心添加了 Flatpak 倉庫,你就可以像往常一樣瀏覽應用了。
GNOME Software
點擊一個看起來很吸引人的應用,閱讀它,當你準備好時點擊安裝按鈕。
在終端中安裝 flatpak
如果你喜歡在終端工作,你可以把 Flatpak 當作一個專門的包管理器。你可以使用 flatpak search
命令來搜索一個應用程序:
$ flatpak search paint
Name Description Application ID
CorePaint A simple painting tool org.cubocore.CorePaint
Pinta Edit images and paint digitally com.github.PintaProject.Pinta
Glimpse Create images and edit photographs org.glimpse_editor.Glimpse
Tux Paint A drawing program for children org.tuxpaint.Tuxpaint
Krita Digital Painting, Creative Freedom org.kde.krita
用 flatpak install
安裝:
$ flatpak install krita
安裝后,應用就會與系統中的所有其他應用一起出現在你的應用菜單或活動頁上。
應用變得簡單
Flatpak 通過消除版本沖突,可以使用戶輕松安裝應用。他們通過在自托管的平臺或像 Flathub 這樣的公共平臺上只需要針對一種軟件包格式提供應用,使分發軟件變得簡單。我在 Fedora Silverblue、CentOS 和 Slackware 上使用 Flatpak,我無法想象現在沒有它的生活。在你的下一個應用安裝中試試 Flatpak 吧!