Flatpakから最新パッケージをインストール

Linuxのパッケージ配布チャネルにFlatpakがあります。各ディストリビューションとは独立にパッケージ間の依存関係を解決するもので、UbuntuのSnapと同様の機能を提供しています。

Flatpakを利用すると、ベースディストリビューションのバージョンと独立に最新のパッケージをインストールできます。
たとえばUbuntuの場合、6ヶ月サイクルのアップグレード、または2年サイクルのLTSから選択することになりますが、個別アプリのリリース間のメジャーバージョンアップはデフォルト管理ツールaptからは供給されにくい傾向があります。

オープンソース・ソフトウェアは最新版にアクセスできる点がメリットなのですが、ビルド済のパッケージにアクセスできないと利用しにくいという悩みがありました。

セットアップ例

例として、 GIMP v3開発版のインストール例を取り上げます。Ubuntu20.04の場合、flatpakコマンドはaptでインストールできます。最新stableではないのですが、この例ではとくに問題はありません。

$ sudo apt install flatpak

つぎに、flatpakのリポジトリとして、 flathubを追加します。
GIMP開発版はベータチャネル経由であるため、stableとbetaの両方を追加します。

$ flatpak remote-add --user flathub https://flathub.org/repo/flathub.flatpakrepo
$ flatpak remote-add --user flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo

flatpak installコマンドでGnome 3.38とGIMP 2.99.2をインストールします。Gnomeはstableチャネル、GIMPはbetaチャネルでした。

$ flatpak install --user --runtime flathub org.gnome.Platform
$ flatpak install --user flathub-beta org.gimp.GIMP

flatpak経由でインストールしたパッケージはflatpak runコマンドで実行します。Sandbox環境にインストールされるため、aptで入っている別バージョンのGIMPと干渉することはありません。

$ flatpak run gimp

デスクトップのアプリケーションメニューに登録する際にこのコマンドで登録しておけば、使い方はディストリビューション公式のアプリと特に違いはありません。

まとめ

インストールプロセスは非常に簡潔です。
ただし、依存ランタイムを重複インストールすることになるため、ディスク消費量が増えるトレードオフはあります。

Flatpakガ適しているかどうかは、個別のパッケージにより異なるでしょう。たとえば、emacsはNoXパッケージがないため、emacs -nwのために前提ランタイムのfreedesktopに800MB割くのは今ひとつ効率的ではありません。

Gnomeのように依存関係が複雑なアプリの場合には、Flatpakは有効なチャネルと言えます。

⁋ 2020/12/10↻ 2024/11/07
中馬崇尋
Chuma Takahiro