比較 Snap 和 Flatpak。 的優點和缺點

包含 Snap 包的目錄。

Snap 軟件包安裝在它們自己的磁盤扇區中,與操作系統的其餘部分隔離。

最讓新用戶感到困惑的事情之一是可用程序格式的數量。 每個發行版家族都有自己的發行版,為其中一個發行版創建的包不能在另一個發行版中使用,即使它支持相同的格式。 為了解決這個問題,開始研究一種用於獨立應用程序的通用格式, 這是因為它們不需要操作系統依賴項。

通過這種方式,程序可以安裝在任何發行版上並且可以更新,即使主機操作系統沒有。 讓我們談談 Snap 和 Flatpak。

當然,就像在開源世界中經常發生的情況一樣,我們無法就標準格式達成一致,所以到目前為止我們已經有了三個。 個人不排除以後再出現。

基礎

Linux 發行版的軟件管理器的屏幕截圖

軟件管理員從 Linux 發行版的存儲庫下載、安裝和卸載軟件包。

讓我們首先說,在本文的上下文中,包和程序不是同義詞。 包格式是一種文件類型,其中包含包管理器安裝它所需的附加軟件和元數據。. 程序可以是源代碼或可執行文件的形式,元數據中包含有關安裝目錄以及名稱、版本號、許可證和作為程序一部分的文件的指示。

所有手機和平板電腦用戶都熟悉應用商店的概念。 它是一個允許我們在我們的設備上搜索、安裝或卸載其他程序的程序. 應用程序商店是 Linux 發行版包管理器的改進版本。

包管理器在所謂的存儲庫中尋找我們想要安裝的程序。 存儲庫是重定向到服務器中特定位置的 Web 地址,可以從該位置下載特定程序。. 在沒有 Internet 連接的情況下,安裝介質可以充當存儲庫,但提供的內容不會那麼廣泛或最新。

存儲庫通常按來源(由分發開發人員、志願第三方或組織添加)或許可(免費或專有)對程序進行分組。

正如任何產品的製造商都不會從頭開始開發所有組件一樣,開發人員也不會對代碼做同樣的事情。 使用由編程語言的創建者提供的庫(例如,用於視頻編輯)、構成用戶界面的框架,以及對操作系統的打印等任務請求。 在安裝傳統的包格式時,管理人員會檢查是否安裝了所選應用程序運行所需的第三方工具,或者是否可以從存儲庫中獲得這些工具。 如果第二個問題的答案是肯定的,則將首先安裝這些依賴項。 否則將無法繼續該任務。

我們正在分析的兩種格式的新穎之處在於 他們不需要任何預先安裝的依賴項,因為他們需要的一切都與應用程序一起包含在一個包中。

比較 Snap 和 Flatpak

搶購

如果您閱讀有關此主題的任何其他文章,您將遇到兩個重複且錯誤的陳述:

  1. Flatpak 比 Snap 更好,因為它是由社區開發的,而 Snap 僅由一家公司支持。
  2. 如果您使用 Snap,您將被迫使用官方商店,而任何人都可以管理 Flatpak 存儲庫。

閱讀的好處 Linux Adictos 是我們編輯研究我們所寫的內容而不是複製/貼上。 Flatpak 到處都是紅帽指紋. 我們將在 Flatpak 的特定部分看到該公司的參與。

至於第二個說法,這是錯誤的,因為任何運行 Linux 發行版的 Web 服務器都可以是 Snaps 商店。 用於測試 本教程 從2016年開始。

Snap 是 Canonical 開發的跨平台打包分發系統, Ubuntu 的創建者,用於 Linux 平台。 它與大多數主要發行版兼容。

快照商店截圖

在 Snap 商店中,我們可以在同一應用程序的不同版本之間進行選擇。

它由三個組件組成:

  • 折斷: 這些是 Snap 創建和分發的包。 這些是 >SquashFS 格式的壓縮文件,並存儲在 .snap 擴展名下。 每個文件都包含完整的包模塊,包括應用程序、其依賴庫和所需的元數據。
  • 搶購: 它是在後台創建執行快照的沙箱的工具。
  • 快照商店: 它是允許開發人員發布和用戶下載快照的工具。 在某些 Linux 發行版中,傳統的包管理器充當瀏覽和下載的圖形界面。 應用商店分為多個頻道,您可以選擇應用的版本和更新頻率。
  • 快照: 它是允許創建快照的工具。

優缺點

從開發人員的角度來看,Snap 提供了以下優勢: 能夠直接分發您的軟件,而無需使其適應每個分發的特殊性 Linux 或等待開發人員將其包含在存儲庫中。

用戶具有更快訪問版本的優勢 您最喜歡的程序的最新版本,而無需等待每個發行版的更新或遇到兼容性問題。

快照包有 一個完整的權限系統,因此可以將它們配置為相互交互以通常的方式安裝操作系統和應用程序。

Snap 的強項是專有應用程序,或包含付費功能的應用程序。 也有適用於 Windows 的遊戲和程序,這要歸功於 Wine,兼容層充當它們與 Linux 內核之間的橋樑。

在缺點部分是啟動時間。 儘管自第一個版本以來已減少,但 snap 格式的應用程序啟動時間比正常安裝的應用程序要長得多。 此外,通過包含所有必要的依賴項,它佔用的大小更大。

Snap 可用於桌面應用程序、服務器和物聯網。

Flatpak

支持 Platpak 格式的 Linux 發行版的徽標

與傳統封裝格式不同。 Flatpak 包無需修改即可安裝在各種 Linux 發行版上。

Flatpak 名稱指的是宜家家具的扁平包裝。 在 Red Hat 從事容器技術工作後開發該項目的 Alexander Larsson 是瑞典人,因此這個名字不僅指其創建者的國籍,還指代其創建者的國籍。 這種 Linux 應用程序“打包”的意願與宜家對家具的“打包”一樣具有革命性。

最初的名稱是 xdg-app。 儘管新名稱的原因聽起來很脆弱,但讓我們同意它要好得多。

關於與紅帽的關係, 在常見問題解答本身中,他們注意澄清該技術不僅限於 Fedora (Red Hat 支持的社區發行版)也不是 GNOME,這表明在後一種情況下,許多 GNOME 開發人員參與了 Flatpak 的開發。 猜猜許多 GNOME 開發人員為誰工作?

誠然,我沒有反對紅帽,他們有一些我使用的很棒的技術,包括 Flatpak。 我只是表明 這種數據包格式不是那麼獨立 正如一些人願意相信的那樣。

但是什麼是扁平包?

Flatpak 是一個用於為 Linux 發行版創建、分發和運行桌面應用程序的系統,n Linux 系統沙箱

關鍵概念

  • 扁平包裝應用: 這些是用戶通過 flatpak 命令或通過不同的用戶界面(如 Linux 發行版的包管理器)安裝的應用程序。
  • 運行環境: 提供 Flatpak 應用程序工作所需的基本實用程序的集成平台。
  • 基本應用程序: 應用程序構建框架的集成平台。
  • 扁平包裝: 導出應用程序的格式及其必要的基本實用程序。

優缺點

Flatpak 分享了 Snap 的一些優點,例如 能夠獨立於發行版安裝,包括其運行所需的所有依賴項 並且獨立於操作系統工作,因此它不受其錯誤和更新周期的約束。

兩個顯著的優點是e 安裝不需要管理員權限 以及他們所謂的“增量更新”,僅更新模組。 這導致更高的速度。

任何人都可以管理您的 Flatpak 下載服務; 到目前為止,最終用戶最完整的是 Flathub. Linux Fedora 發行版也有自己的發行版,它們基本上將經典發行版包轉換為新格式。 GNOME 桌面 我們試試吧 您的應用程序的最新版本,通過從您的應用程序下載它們並且相同 以前 KDE.

關於與桌面的融合, 格式承諾與主要 Linux 桌面的本機集成 因此用戶可以通過他們現有的桌面環境和工具輕鬆導航、安裝、運行和使用 Flatpak 應用程序。 值得一提的是,Ubuntu 軟件中心不支持安裝這種格式的包。

Flatpak 更好地利用了磁盤空間,因為 允許在相同格式的應用程序之間共享庫。 Flatpak 格式的優勢在於社區開發的各種開源應用程序,我們可以在它們進入存儲庫之前很久就在它們的最新版本中進行測試。

從開發者的角度來看, 用於開發應用程序的框架 Gnome Builder 允許以圖形方式創建 FlatPak 除了擁有一系列預定義的運行時,還可以節省創建應用程序的時間。

缺點之一(除了佔用比傳統應用程序更多的磁盤空間)是它們只能在桌面上使用,並且與 Snap 不同,不能修改權限 在安裝時與操作系統的其餘部分進行交互。 如果開發人員可以在創建包時完成,然後用戶可以使用 第三方應用程序。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   X-ELE 他說:

    AppImage 在這個遊戲中的表現如何?

    1.    迭戈·德·岡薩雷斯(Diego German Gonzalez) 他說:

      Appimage 的問題在於它沒有安裝/卸載和更新的官方工具。 它可能仍然是一種邊際選擇。

      1.    迪米西斯DEMZ 他說:

        Appimaged 可以幫助您。

    2.    魯本·拉莫斯 他說:

      就我所見所聞,flatpack 在應用方面比 App Image 要完整得多

  2.   但以理書 他說:

    有一個名為“Flatseal”的圖形工具,可以查看和修改已安裝的 Flatpak 應用程序的權限。

    1.    迭戈·德·岡薩雷斯(Diego German Gonzalez) 他說:

      感謝您的信息

  3.   迪米西斯DEMZ 他說:

    看來他們這裡沒有使用 Flatseal 來管理 Flatpak 權限。

    1.    迭戈·德·岡薩雷斯(Diego German Gonzalez) 他說:

      Flatseal 是第三方應用程序。 它沒有出現在官方文檔中。 謝謝

      1.    迪米西斯DEMZ 他說:

        ?, 這是正確的。

  4.   庫爾特 他說:

    我更喜歡 AppImage,因為您只需下載一個文件即可運行,我認為它更便攜且易於使用。

    糟糕的是,在我看來,AppImage 背後沒有組織,應用程序經常被遺忘,我不知道 AppImage 的開發進展如何,因為它缺乏與桌面的集成。 除了 AppImage 沒有像其他 2 一樣寬的官方存儲庫這一事實之外。以及如何驗證 AppImage 文件的安全性(您必須確定來源)

    我還認為很難在眾多未知選項中找到新的替代方案(就像在 Snap 和 Flatpak 上一樣)。

    這一切讓我想起了這樣的表情包:
    “Linux 有太多類型的包:DEB、RPM、TAR(以壓縮形式分發的可執行文件)、SH 和 RUN 文件,我不記得 Solusos 和 Gento,以及 Arch 包系統......
    我們需要創建一種新的、現代的、創新的文件類型,可以在任何(通用)發行版上運行,消除依賴問題並統一整個開發工作……»

    繁榮!!
    結果:我們有 3 個選擇(直到其他人相信別的)

    1.    迭戈·德·岡薩雷斯(Diego German Gonzalez) 他說:

      有趣的是,該模因有多個版本。