技術ノート Linux Linux の Flatpak とは何ですか? また、Flatpak をインストールするにはどうすればよいですか?

Linux の Flatpak とは何ですか? また、Flatpak をインストールするにはどうすればよいですか?

重要なポイント

Flatpaks は、ディストリビューションに依存しない、Linux アプリケーションをインストールする便利な方法です。アプリケーションのサンドボックス化と依存関係のバンドルにより、依存関係地獄も回避できます。ほとんどのディストリビューションは Flatpak サポートを提供しますが、Ubuntu では最初に Flatpak フレームワークをインストールする必要があります。

Flatpak は、Linux コンピュータにアプリケーションをインストールするための、ディストリビューションに依存しない方法です。しかし、ディストリビューションにアプリケーションをインストールするためのネイティブな方法がすでに備わっている場合、なぜわざわざ Flatpaks を使用する必要があるでしょうか?

フラットパックとは何ですか?

Flatpak は、Linux ディストリビューションにアプリケーションを簡単かつ確実にインストールするために使用されるパッケージ形式の名前です。 AppImages や Snaps と同様に、Flatpaks コンテナーには必要な依存関係がすべて付属しており、Flatpaks としてインストールされたアプリも自己更新できます。あなたはそれらを見つけることができます

パッケージ管理の聖杯

すべての Linux ディストリビューションには、アプリケーションをインストールする方法が必要です。 Debian の apt 、Fedora の dnf 、Arch の pacman などのツールが存在するのはそのためです。必然的に、それらはすべて同じことをわずかに異なる方法で実行します。

ユーザーは、特別にラップされたパッケージをリポジトリからプルしてソフトウェア パッケージをインストールできます。パッケージのラッピングには、パッケージを構成するファイル (実行可能ファイル、データ ファイル、マニュアル ページなど) を Linux ファイル システム内の別の場所にコピーする方法と、どのようなアクセス許可を設定する必要があるかに関する情報が含まれています。それらに適用されました。

開発者の観点から見ると、さまざまなパッケージ マネージャー形式のそれぞれでアプリケーションのバージョンをラップしてリリースするのは大きな作業です。上位 3 つまたは 4 つの形式のみをサポートすることに決めたとしても、開発の浪費とかなりのサポートのオーバーヘッドが残る可能性があります。

開発者は、一連のパッケージ形式の複雑さと格闘するよりも、むしろ独自のコードに取り組むことを望んでいます。ユニバーサルなインストール形式があれば、どんなに良いでしょう。開発者はアプリケーションを一度パッケージ化すれば、どのディストリビューションのユーザーでもそれを使用できるようになります。

その聖杯に最も近いのは ソース コード であり、これはラップされたアプリケーションの正反対です。これは、アプリケーションのソース コードとその他のコンポーネントをダウンロードし、自分のマシン上でビルドすることを意味します。方法としては機能しますが、高速でも特に便利でもないので、何をしているのかを理解しておく必要があります。そのため、Linux の世界に初めて参入したほとんどの人にとっては手の届かないものとなっています。

Flatpaks は 、ユニバーサルなパッケージ形式を作成する試みです。 AppImages Snaps は 、同じ目標を持つ競合プロジェクトです。 Flatpak は、複数のパッケージ形式をサポートするという開発者へのプレッシャーを軽減するだけではありません。これらにはアプリケーションとそのすべての依存関係の両方が含まれているため、ライブラリの欠落や不一致などによってアプリケーションが実行に失敗することはありません。 Flatpaks としてインストールされたアプリケーションも自動更新されます。

さらに、Flatpak アプリケーションは、他のアプリケーション (同じアプリケーションの他のバージョンを含む) からサンドボックス化された一種のミニコンテナ内で実行されます。 1 つのバージョンの依存関係が互いに干渉することなく、1 つのアプリケーションの複数のリリースをインストールできます。これにより、開発者にとって作業が容易になり、ユーザーにとってもスムーズになります。

Linux の Flatpak とは何ですか? また、Flatpak をインストールするにはどうすればよいですか?

Ubuntu への Flatpak サポートのインストール

Canonical (Ubuntu を開発した企業) は、ユニバーサル インストーラーの独自バージョンである Snaps をユーザーに勧めたいと考えています。そのため、 Ubuntu 23.04 Lunar Lobster では Flatpak の即時サポートが削除され、 Kubuntu Lubuntu Ubuntu Studio などの代替 Ubuntu フレーバーでも Flatpak サポートが削除されることに同意しました。

もちろん、Linux はそのままで、Flatpak サポートを Ubuntu に直接インストールできます。 Flatpak は、Manjaro および Fedora によってすぐに使用できる状態でサポートされているため、これらのディストリビューションのいずれかを使用している場合は、 次のセクション に進んでください。

Ubuntu に Flatpak をインストールするには、次のように入力します。

 sudo apt install flatpak

Ubuntu ソフトウェア アプリケーションに Flatpaks をインストールできる GNOME プラグインがあります。しかし、落とし穴があります。 Ubuntu 20.04 以降、ソフトウェア アプリケーション自体は Snap であるため、Flatpak プラグインではうまく動作しません。プラグインをインストールすることはできますが、DEB ベースの別のバージョンのソフトウェア アプリケーションが取り込まれます。したがって、ソフトウェア アプリケーションの 2 つのバージョンが存在することになります。

コマンド ラインで Flatpak を使用する場合はプラグインは必要ありません。Flatpak コマンド ラインは非常に簡単です。それでも、プラグインが必要な場合、必要なコマンドは次のとおりです。

 sudo apt install gnome-software-plugin- flatpak

Flatpak パッケージをどこで探すかを Flatpak システムに指示する必要があります。次のコマンドで Flathub リポジトリ を追加できます。

 flatpak リモート追加 --if-not-exists flathub https://flathub.org/repo/flathub. flatpakrepo

コンピュータを再起動した後、バージョン番号を確認することで、Flatpak が正しくインストールされ、応答していることを確認できます。

 flatpak --バージョン

Linux の Flatpak とは何ですか? また、Flatpak をインストールするにはどうすればよいですか?

Flatpak アプリケーションのインストール

必要なパッケージの Flatpak 名がわかれば、アプリケーションのインストールは簡単です。これを見つけるには 2 つの方法があります。

Flathub Web サイト でパッケージを検索するのも 1 つの方法です。 Discordを例として説明します。

見つけたら、ページの一番下までスクロールします。アプリケーションのインストールに必要なコマンドが表示されます。

これは、アプリケーションに 3 つの部分からなる Flatpak 名を使用します。コマンドに「flathub」を含める必要はありませんが (すでに Flathub リポジトリをシステムに追加しているため)、パッケージ名の 3 つの部分をすべて使用する必要があることに注意してください。

コマンドラインで検索することもできます。 Discord に関連するパッケージを検索するには、次のコマンドを使用します。

 flatpak検索の不和

検索語を含むすべてのパッケージのリストが表示されます。テーブルのエントリが切り詰められないように、ターミナル ウィンドウを通常のサイズよりも広くしてこれを実行するのが最善です。

パッケージ名がわかったので、それをインストールするコマンドを発行できます。

 flatpak インストール com.discordapp.Discord

依存関係やその他の要件は Flatpak とともにインストールされます。進行状況バーは、インストールが完了にどれだけ近づいているかを示します。

インストールが完了すると、コマンド ライン プロンプトに戻ります。これで、新しいアプリケーションを実行できるようになりました。

Linux の Flatpak とは何ですか?また、Flatpak をインストールするにはどうすればよいですか?

Flatpak アプリケーションの実行

アプリケーションを実行するコマンドは、インストール コマンドの「install」という単語を「run」に置き換えたものとまったく同じです。

 flatpak 実行 com.discordapp.Discord

アプリケーションが起動し、Discord は通常のアップグレード チェックを実行します。

やがて、デスクトップ上に Discord アプリケーションが開いているのが表示されます。

GNOME では、アプリケーションを起動すると、そのアイコンがダッシュボードに表示されます。アイコンを右クリックするとメニューが表示されます。 「ダッシュにピン留め」を選択して、ダッシュボードにランチャーを作成します。

将来的にはここからアプリケーションを起動できるようになります。

Linux の Flatpak とは何ですか?また、Flatpak をインストールするにはどうすればよいですか?

インストールされている Flatpak アプリケーションの一覧表示

Flatpak でインストールしたアプリケーションを表示するには、 list オプションを使用します。また、 --app オプションを使用して、インストールしたアプリケーションのみがリストされるようにしました。

 flatpak リスト --app

--app オプションを使用しない場合、すべての Flatpak フレームワーク モジュールと依存関係もリストされます。

Linux の Flatpak とは何ですか?また、Flatpak をインストールするにはどうすればよいですか?

Flatpak アプリケーションのアンインストール

アプリケーションのアンインストールは、アプリケーションを実行するのと同じくらい簡単です。 flatpak コマンドで「アンインストール」という単語を使用するだけです。

 flatpak アンインストール com.discordapp.Discord

アプリケーションがシステムから削除され、確認メッセージが表示されます。

Linux の Flatpak とは何ですか?また、Flatpak をインストールするにはどうすればよいですか?

Flatpaks を使用する必要がありますか?

アプリケーションのサンドボックス化とアプリケーションの実行の実質的な保証は、Flatpaks の魅力的な特徴です。ただし、Flatpak にはアプリケーションに必要なすべての依存関係が含まれているため、フットプリントは大きくなります。アプリケーションの起動時間もわずかに長くなります。

Flatpaks を使用するか、Linux に付属のネイティブ パッケージ マネージャーを使用するかは、探しているアプリケーションがディストリビューションのリポジトリにあるかどうかによって決まります。

私は Flatpaks だけを使用している人に会ったことがありません。さらに言えば、AppImage や Snap も使用していません。おそらく、デフォルトのパッケージ マネージャー、Flatpaks、Snaps、Appimages など、自分に合ったものを組み合わせて決めることになるでしょう。

特定のアプリケーションがディストリビューションのリポジトリになく、ソースからビルドしたくない場合は、おそらく Flatpak が最善の策です。 AppImages や Snaps よりもはるかに高速だと思います。

「 Linux の Flatpak とは何ですか? また、Flatpak をインストールするにはどうすればよいですか?」に関するベスト動画選定!

Flatpak アプリケーションをインストールして実行する方法
【知識ゼロから始めるLinux第16回】アプリのインストール Part5 Flatpak編 DuckStationを入れよう【ずんだLinux入門】