Flatpak 1.6.0 自包含包系統發布

發表 工具包的新穩定分支 平板包裝 1.6,它提供了一個用於構建獨立包的系統,這些包不依賴特定的 Linux 發行版,並在將應用程式與系統其餘部分隔離的特殊容器中運行。 Arch Linux 提供了對運行 Flatpak 軟體包的支持, CentOS的、Debian、Fedora、Gentoo、Mageia、Linux Mint 和 Ubuntu。 Flatpak 軟體套件包含在 Fedora 儲存庫中,並受到本機 GNOME 應用程式管理員的支援。

鑰匙 創新 在 Flatpak 1.6 分支中:

  • В API入口網站 新增了 CreateUpdateMonitor 方法,可讓應用程式監視更新的出現並要求安裝更新的更新。
    若要拒絕應用程式獨立安裝更新的權限,可以使用命令“flatpakpermission-set flatpakupdates$APPIDno”(如果指定“ask”而不是“no”,則每次都會顯示一個對話框來確認更新);


  • 為了簡化處理程序的創建,建議使用一個函式庫
    libportal,它可以在不直接使用 Portal API 和解析通過 D-Bus 的訊號的情況下處理事件。
    Libportal 為大多數“入口網站“;

  • 新增了新權限「--socket=cups」以提供對 CUPS 列印伺服器的直接存取;
  • 更改了用於處理身份驗證的協定和 API。 新增了 OCI(開放容器倡議)的驗證器。 實現了對從外部 flatpak 儲存庫自動安裝驗證器的支援。 FlatpakTransaction 中新增了回呼處理程序以使用登入名稱和密碼驗證,類似於 HTTP 基本驗證方法;
  • 新增了對啟動時需要身份驗證的受保護應用程式和系統的支援;
  • 用於隔熱的氣泡包裝層已更新為釋放 0.4.0;
  • 透過庫應用程式添加了對家長控制的可選支持 自由內容,允許您限制對某些類型內容的存取;
  • 現在,擴充功能在應用程式之前安裝,允許您在安裝完成後立即獲得可用的應用程式;
  • 臨時檔案的操作進行了重新設計,在可用磁碟空間不足時提高了效能;
  • 執行命令“平包輸入「不再需要使用 sudo;
  • 在入口網站中新增了為子程序啟動嵌套隔離環境(子沙箱)的功能;
  • 新增指令「flatpakpermission-set」和「permission-remove」來控制權限設定;
  • 新增了選項“flatpak install --or-update”,如果應用程式已安裝,則執行更新;
  • 新增“flatpak mask”命令修復版本並禁止安裝更新;
  • 對於 OCI(開放容器倡議)格式的映像,除了 OCI mime 類型外,還添加了對綁定標籤、生成映像變更歷史記錄以及啟用 docker mime 類型的支援;
  • 除了系統清單之外,預設語言鍵已新增至設定中以定義所使用的語言清單。

讓我們提醒您,Flatpak 讓應用程式開發人員可以透過以下方式簡化未包含在標準分發儲存庫中的程式的分發: 準備 一個通用容器,無需為每個發行版建立單獨的程序集。 對於注重安全的用戶,Flatpak 允許您在容器中運行有問題的應用程序,僅提供與該應用程式關聯的網路功能和用戶檔案的存取。 對於對新產品感興趣的用戶,Flatpak 允許您安裝最新的測試版本和穩定版本的應用程序,而無需對系統進行更改。 例如,目前Flatpak包已經 要去 適用於 LibreOffice、Firefox、GIMP、Inkscape、Kdenlive、Steam、0 AD、Visual Studio Code、VLC、Slack、Skype、Telegram Desktop、Android Studio 等。

為了減少套件的大小,它只包含應用程式特定的依賴項,基本系統和圖形庫(Gtk+、Qt、GNOME 和 KDE 庫等)被設計為插件標準運行時環境。 Flatpak 和Snap 之間的主要區別在於,Snap 使用主系統環境的元件並基於過濾系統呼叫進行隔離,而Flatpak 創建一個與系統分離的容器並使用大型運行時集進行操作,提供的不是套件作為依賴項,而是標準一個系統環境(例如,執行 GNOME 或 KDE 程式所需的所有函式庫)。

除了標準的系統環境(運行時)之外,還透過特殊的安裝 存儲庫,提供了應用程式工作所需的附加依賴項(捆綁包)。 總的來說,運行時和捆綁包構成了容器的填充,儘管運行時是單獨安裝的並同時綁定到多個容器,這使您可以避免重複容器常見的系統檔案。 一個系統可以安裝多個不同的運行時(GNOME、KDE)或同一運行時的多個版本(GNOME 3.26、GNOME 3.28)。 以應用程式作為依賴項的容器僅使用與特定運行時的綁定,而不考慮構成運行時的各個套件。 所有缺少的元素都直接與應用程式打包在一起。 當容器形成時,執行時間內容將安裝為 /usr 分割區,而捆綁包將安裝在 /app 目錄中。

運行時和應用容器的填充是透過技術形成的 操作系統樹,其中映像會從類似 Git 的儲存庫自動更新,這允許您將版本控制方法應用於發行版的元件(例如,您可以快速將系統回滾到先前的狀態)。 RPM 套件使用特殊層轉換到 OSTree 儲存庫中 rpm-ostree。 不支援在工作環境中單獨安裝和更新軟體包;系統的更新不是在單一元件的級別,而是作為一個整體,原子地改變其狀態。 提供增量應用更新的工具,無需每次更新都完全替換映像。

產生的隔離環境完全獨立於所使用的發行版,並且在正確的軟體包設定下,無法存取使用者或主系統的檔案和進程,無法直接存取設備,除了透過 DRI 輸出之外,並且網路子系統。 圖形輸出和輸入組織 實施的 使用 Wayland 協定或透過 X11 套接字轉送。 與外部環境的互動是基於 DBus 訊息系統和特殊的 Portals API。 絕緣用 使用 夾層 泡棉包裝 以及基於 cgroup、命名空間、Seccomp 和 SELinux 的傳統 Linux 容器虛擬化技術。 PulseAudio用於輸出聲音。

來源: opennet.ru

添加評論