在閱讀應用程序的安裝說明時,您經常會遇到“ Flatpak”、“ Snap ”和“ AppImage ”等術語。
您可能已經在 Linux 上使用過其中的一些——但可能並不真正知道它們是什么。Flatpak、Snap 和AppImage它們是“通用包裝系統”。
在 Linux 行話終結者的早期文章中,您了解了Linux 中的包管理器。所以我不會再用包裝來打擾你了。我將重點介紹什么是 Flatpak 以及它如何嘗試作為通用包裝系統解決問題。
什么是 Flatpak?
Flatpak是一個包管理實用程序,可讓您分發、安裝和管理軟件,而無需擔心依賴項、運行時或 Linux 分發。由於無論在 Linux 發行版(無論是基於 Debian 的發行版還是基於 Arch 的發行版)上,您都可以毫無問題地安裝軟件,因此 Flatpak 被稱為通用軟件包。
如果您好奇,Alexander Larsson是創建 Flatpak 的人,Flatpak 的歷史可以追溯到 2007 年夏天。您可以在他的博客文章中閱讀更多關於他的工作和 Flatpak 歷史的信息。
知道它是什么以及它是如何存在的令人印象深刻,但它為什么被創建以及它是如何工作的?
Flatpak 解決了什么問題?

有這么多 Linux 發行版,管理和安裝軟件是管理 Linux 系統最重要的方面之一。
如果您是一位經驗豐富的 Linux 用戶,那么您肯定可以找到最好的方法。但是,對於初學者或不想通過學習曲線來管理軟件包的用戶,使用傳統軟件包格式(deb/rpm)時會出現以下問題:
換句話說,對於傳統的包管理系統,您可能會遇到一些潛在的問題,以使該軟件適用於您的系統。而且,並不是每個人都有時間進行故障排除!
這就是像 Flatpak 這樣的東西發揮作用的時候。
Flatpak 就是這樣一種開源實用程序,它可以幫助您分發、管理/安裝軟件包,而無需考慮您正在使用的 Linux 發行版或程序運行所需的依賴項/庫。
現在您已經了解了它的全部內容,讓我們更深入地了解 Flatpak 是什么,它是如何工作的,以及它的一些背景知識。
Flatpak 是如何工作的?

Flatpak 應用程序在隔離環境(通常稱為沙箱)中運行。此沙箱包含運行該特定程序所需的一切。
基本上,沙箱包括運行時和捆綁的庫,以滿足程序運行的要求。您可以在其官方文檔中了解有關技術細節的更多信息。
此外,僅僅因為 Flatpak 應用程序是隔離的,未經主機(您)的明確許可,它不能對您的系統進行任何更改。因此,Flatpak 通過保持應用程序隔離為您的系統提供增強的安全性。
你從哪里獲得 Flatpak 應用程序?

請記住,為了使用 Flatpak 軟件包,您的 Linux 發行版必須支持 Flatpak。Fedora、Solus 等一些發行版默認支持 Flatpak,而您需要在 Ubuntu 等發行版中手動安裝 Flatpak 支持。
盡管 Flatpak 技術允許您不依賴集中式資源來獲取軟件,但您會發現使用Flathub(由 Flatpak 團隊構建)來分發和管理軟件。
可能還有其他現有的 Flatpak 存儲庫,但我不知道我的個人用例。
Flatpak:優點和缺點
難怪 Flatpak 令人印象深刻——它具有相當多的優點和缺點。在這里,我將列出其中的一些:
使用 Flatpak 的優勢
- Flatpak 應用程序可以在任何 Linux 發行版上運行
- 它們提供向前兼容性,這意味着——如果您將 Linux 發行版升級到應用程序未正式支持的前沿版本,您無需擔心應用程序無法運行。
- 您不需要依賴依賴項。
- 在某些情況下,您會找到最新最好的 Flatpak 程序版本。
- Flatpak 應用程序分發不依賴於集中式服務器,這意味着您不會被鎖定在一個供應商上。
- 使用沙盒應用程序增強系統的安全性
- 提供與 Linux 發行版上現有軟件中心的輕松集成
使用 Flatpak 的缺點
- 它還沒有服務器支持。截至目前,它僅適用於桌面 Linux。
- Flatpak 應用程序消耗的磁盤空間比使用 deb/rpm 文件時通常要多。而且,您最終需要找到釋放磁盤空間的方法。
- 僅僅因為它在孤立的環境中運行,您可能會錯過某些程序的一些功能。例如,Flatpak 應用程序可能不支持您的自定義GTK 主題。
包起來
我希望現在您對 Flatpak 的全部內容有了一個很好的了解。如果您想了解有關安裝和使用 Flatpak 的更多信息,我建議您閱讀我們的Flatpak 指南以開始使用。
如果您喜歡閱讀本文,請花點時間在社交媒體平台上分享!