Flatpakとは?Linuxアプリを簡単に管理できる新しいパッケージシステム完全ガイド

プログラミング・IT

「Linuxでアプリをインストールしたいけど、ディストリビューションごとに方法が違って面倒」「依存関係のエラーで困っている」そんな悩みを解決するのがFlatpakです。

この記事では、Flatpakの基本から、インストール方法、使い方、メリット・デメリットまで、初心者にも分かりやすく解説します。

スポンサーリンク
  1. Flatpakとは
    1. Flatpakの基本概念
    2. Flatpakの仕組み
  2. Flatpakの特徴とメリット
    1. メリット1:ディストリビューションに依存しない
    2. メリット2:依存関係の問題から解放される
    3. メリット3:セキュリティの向上
    4. メリット4:最新版が使える
    5. メリット5:複数バージョンの共存
    6. メリット6:GUIでの管理が簡単
  3. Flatpakのデメリット
    1. デメリット1:パッケージサイズが大きい
    2. デメリット2:ディスク容量を多く消費
    3. デメリット3:起動が若干遅い場合がある
    4. デメリット4:システムテーマが反映されない場合がある
    5. デメリット5:すべてのアプリが利用可能ではない
    6. デメリット6:セキュリティの保証はない
  4. Flatpak vs Snap vs AppImage
    1. Snapとの比較
    2. AppImageとの比較
  5. Flathubとは
    1. Flathubの役割
    2. Flathubで入手できる主なアプリ
  6. Flatpakのインストール方法
    1. インストール前の確認
    2. Ubuntu / Debian系
    3. Fedora
    4. Arch Linux / Manjaro
    5. openSUSE
    6. Linux Mint
    7. その他のディストリビューション
  7. Flathubリポジトリの追加
    1. Flathubリポジトリの追加方法
    2. リポジトリの確認
    3. システム全体 vs ユーザーレベル
  8. Flatpakの基本的な使い方(コマンド)
    1. アプリの検索
    2. アプリのインストール
    3. インストール済みアプリの確認
    4. アプリの実行
    5. アプリのアップデート
    6. アプリのアンインストール
    7. アプリの情報を表示
    8. リポジトリの管理
  9. GUIでFlatpakを管理する方法
    1. GNOME Software(Ubuntu、Fedoraなど)
    2. KDE Discover(KDE Plasma)
    3. Warehouse(サードパーティ)
  10. Flatpakのパーミッション管理
    1. Flatsealを使った権限管理
    2. コマンドラインでの権限管理
  11. トラブルシューティング
    1. 問題1:アプリが起動しない
    2. 問題2:日本語入力ができない
    3. 問題3:文字化けが発生する
    4. 問題4:ディスク容量が足りない
    5. 問題5:更新が失敗する
    6. 問題6:テーマが適用されない
  12. よくある質問
  13. まとめ

Flatpakとは

Flatpakは、Linux向けのアプリケーションを配布・管理するための新しいパッケージシステムです。

Flatpakの基本概念

Flatpakは、2013年にRed Hatの開発者Alexander Larssonによって「xdg-app」というプロジェクトとして始まり、2015年に現在のFlatpakに改名されました。

Flatpakの目的

従来のLinuxアプリケーション配布の問題点を解決することです。具体的には以下の課題に対応します。

  • ディストリビューションごとに異なるパッケージ形式
  • 複雑な依存関係の管理
  • バージョンの衝突問題
  • セキュリティリスク

Flatpakの仕組み

Flatpakは、アプリケーションを「サンドボックス」と呼ばれる隔離された環境で実行します。

サンドボックスとは

サンドボックスは、アプリケーションをシステムから隔離する仮想的な砂場のような環境です。

この仕組みにより、以下のメリットが生まれます。

  • アプリがシステムに直接影響を与えない
  • 必要なライブラリをすべてパッケージに同梱できる
  • セキュリティが向上する

ランタイムの概念

Flatpakでは、アプリケーションは「ランタイム」と呼ばれる共通の実行環境を使います。

ランタイムには、以下のような種類があります。

  • Freedesktop Runtime(基本的なライブラリ)
  • GNOME Runtime(GNOME関連のライブラリ)
  • KDE Runtime(KDE関連のライブラリ)

複数のアプリが同じランタイムを共有することで、ディスク容量を節約できます。

Flatpakの特徴とメリット

Flatpakには、従来のパッケージ管理システムにはない多くの利点があります。

メリット1:ディストリビューションに依存しない

Flatpakの最大の特徴は、どのLinuxディストリビューションでも同じパッケージが使えることです。

従来の問題

  • Ubuntu用のdebパッケージは、Fedoraでは使えない
  • Fedora用のrpmパッケージは、Arch Linuxでは使えない
  • それぞれのディストリビューションで別々にビルドが必要

Flatpakの解決策

1つのFlatpakパッケージを作れば、Ubuntu、Fedora、Arch Linux、openSUSEなど、ほとんどのLinuxで使えます。

現在、Flatpakは36種類以上のLinuxディストリビューションに対応しています。

メリット2:依存関係の問題から解放される

Flatpakは、アプリに必要なライブラリをすべて同梱します。

従来の問題

例えば、「アプリA」は「ライブラリC バージョン1.0」が必要、「アプリB」は「ライブラリC バージョン2.0」が必要という場合、どちらか一方しかインストールできません。

Flatpakの解決策

各アプリがサンドボックス環境で独立しているため、異なるバージョンのライブラリを同時に使えます。

メリット3:セキュリティの向上

サンドボックス化により、アプリケーションがシステムに与える影響を制限できます。

Flatpakのセキュリティ機能

  • アプリは明示的に許可された場所にしかアクセスできない
  • ネットワークアクセスも制限可能
  • デバイス(カメラ、マイクなど)へのアクセスも管理できる

ただし、実際のセキュリティレベルは、各アプリの設定(パーミッション)に依存します。

メリット4:最新版が使える

ディストリビューションの公式リポジトリでは古いバージョンしか提供されていない場合でも、Flatpakなら最新版が使えることがよくあります。

開発者が直接Flathubに最新版をアップロードするため、リリース直後に使えることもあります。

メリット5:複数バージョンの共存

同じアプリの異なるバージョンを同時にインストールできます。

例えば、VLCプレーヤーのバージョン2.1、2.2、3.0を全部インストールして、使い分けることができます。

開発者にとっては、異なるバージョンでのテストが簡単になります。

メリット6:GUIでの管理が簡単

多くのLinuxディストリビューションで、GNOMEソフトウェアやKDE Discoverなどのアプリストアから、簡単にFlatpakをインストールできます。

WindowsのMicrosoft StoreやmacOSのApp Storeのように、検索してクリックするだけでインストールできます。

Flatpakのデメリット

もちろん、Flatpakにも欠点があります。

デメリット1:パッケージサイズが大きい

依存ライブラリをすべて同梱するため、パッケージサイズが大きくなります。

具体例

従来のdebパッケージが30MBなら、Flatpak版は200MBになることもあります。

ただし、ランタイムを共有することで、ある程度は節約できます。

デメリット2:ディスク容量を多く消費

複数のアプリをインストールすると、ディスク使用量が増えます。

ディスク容量に余裕がない場合は注意が必要です。

デメリット3:起動が若干遅い場合がある

サンドボックス化の仕組みにより、アプリの起動が若干遅くなることがあります。

ただし、実際には体感できないレベルのことが多いです。

デメリット4:システムテーマが反映されない場合がある

一部のFlatpakアプリは、システムのテーマ設定を無視することがあります。

そのため、デスクトップ環境と見た目が合わないことがあります。

デメリット5:すべてのアプリが利用可能ではない

Flatpak形式で提供されていないアプリも、まだ多く存在します。

特に、ニッチなアプリや古いアプリは、従来のパッケージ形式でしか提供されていないこともあります。

デメリット6:セキュリティの保証はない

Flathubで配布されているアプリは、コミュニティ主導で管理されています。

すべてのアプリに一定のセキュリティ保証があるわけではありません。信頼できる開発者のアプリを選ぶことが重要です。

Flatpak vs Snap vs AppImage

Flatpakと似たパッケージシステムに、SnapとAppImageがあります。

Snapとの比較

SnapはCanonical(Ubuntuの開発元)が開発したパッケージシステムです。

共通点

  • サンドボックス化
  • ディストリビューション非依存
  • 依存関係を同梱

違い

項目FlatpakSnap
開発元コミュニティCanonical
主な支持Fedora、GNOMEコミュニティUbuntu
バックエンドOSTreesquashfs
起動速度やや速いやや遅い
サンドボックス部分的より厳格
オープン性完全オープンソースサーバー側は非公開

どちらを選ぶべきか

  • Ubuntuユーザー:Snapがデフォルトで使える
  • Fedora、openSUSEユーザー:Flatpakが推奨
  • その他のディストリビューション:好みで選択

両方使うこともできます。

AppImageとの比較

AppImageは、単一の実行可能ファイルとしてアプリを配布する形式です。

AppImageの特徴

  • インストール不要(実行権限を与えるだけ)
  • ポータブル(USBメモリで持ち運べる)
  • パッケージ管理システム不要

違い

項目FlatpakAppImage
インストール必要不要
管理パッケージマネージャー手動
更新自動可能手動
統合デスクトップ統合あり統合ツールが必要

どちらを選ぶべきか

  • 常用アプリ:Flatpakが便利
  • 一時的な使用:AppImageが便利
  • ポータブル環境:AppImageが最適

Flathubとは

Flathubは、Flatpakアプリを配布する最大のリポジトリです。

Flathubの役割

WindowsのMicrosoft Store、macOSのApp Storeに相当するものと考えてください。

Flathubの特徴

  • 2,000以上のアプリを提供
  • コミュニティ主導で運営
  • 無料で誰でも利用可能

Flathubで入手できる主なアプリ

人気のあるアプリの多くがFlatpak形式で提供されています。

開発ツール

  • Visual Studio Code
  • Android Studio
  • GitKraken

グラフィックス・動画編集

  • GIMP
  • Blender
  • Kdenlive
  • Inkscape

オフィス・生産性

  • LibreOffice
  • OnlyOffice

ブラウザ

  • Google Chrome
  • Microsoft Edge
  • Firefox
  • Brave

コミュニケーション

  • Discord
  • Telegram
  • Slack
  • Zoom

メディアプレーヤー

  • VLC
  • Spotify

ゲーム関連

  • Steam

Flatpakのインストール方法

Flatpakを使い始めるには、まずFlatpak本体をインストールする必要があります。

インストール前の確認

一部のディストリビューションでは、Flatpakが最初からインストールされています。

確認方法:

flatpak --version

バージョン番号が表示されれば、すでにインストールされています。

Ubuntu / Debian系

Ubuntu 18.10以降では、簡単にインストールできます。

手順

sudo apt update
sudo apt install flatpak

GNOMEソフトウェアでFlatpakを使いたい場合:

sudo apt install gnome-software-plugin-flatpak

Ubuntu 22.04以降の注意点

Ubuntu 22.04では、デフォルトのGNOMEソフトウェアがSnap版になっています。Flatpakプラグインを使うには、deb版をインストールする必要があります。

sudo apt install gnome-software --install-suggests

Fedora

Fedora 28以降では、Flatpakがデフォルトでインストールされています。

インストールされていない場合:

sudo dnf install flatpak

Arch Linux / Manjaro

sudo pacman -S flatpak

openSUSE

sudo zypper install flatpak

Linux Mint

Linux Mint 18.3以降では、デフォルトでインストールされています。

インストールされていない場合:

sudo apt install flatpak

その他のディストリビューション

公式サイト(https://flatpak.org/setup/)で、36種類以上のディストリビューション別のインストール方法が確認できます。

Flathubリポジトリの追加

Flatpakをインストールしたら、次にFlathubリポジトリを追加します。

Flathubリポジトリの追加方法

以下のコマンドを実行します。

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

コマンドの説明

  • remote-add:リポジトリを追加
  • --if-not-exists:すでに存在する場合はスキップ
  • flathub:リポジトリの名前
  • https://...:リポジトリのURL

リポジトリの確認

追加されたリポジトリを確認するには:

flatpak remotes

出力例:

Name    Options
flathub system

システム全体 vs ユーザーレベル

Flatpakは、システム全体とユーザーレベルの2つの方法でインストールできます。

システム全体(デフォルト)

すべてのユーザーが使える。管理者権限(sudo)が必要。

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

ユーザーレベル

自分だけが使える。管理者権限不要。

flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Flatpakの基本的な使い方(コマンド)

Flatpakは、コマンドラインで操作できます。

アプリの検索

flatpak search キーワード

例:LibreOfficeを検索

flatpak search libreoffice

出力例:

Application ID                    Version  Branch  Remotes  Description
org.libreoffice.LibreOffice       stable   flathub The LibreOffice productivity suite

アプリのインストール

flatpak install リポジトリ名 アプリケーションID

例:LibreOfficeをインストール

flatpak install flathub org.libreoffice.LibreOffice

ユーザーレベルでインストール

flatpak install --user flathub org.libreoffice.LibreOffice

対話的なインストール

Application IDの一部だけを指定すると、候補が表示されます。

flatpak install libreoffice

複数の候補があれば、番号を選択できます。

インストール済みアプリの確認

flatpak list

アプリケーション名、Application ID、バージョン、ブランチが表示されます。

アプリのみ表示(ランタイムを除外)

flatpak list --app

アプリの実行

flatpak run アプリケーションID

例:LibreOfficeを起動

flatpak run org.libreoffice.LibreOffice

通常は、デスクトップ環境のアプリメニューから起動できるので、このコマンドを使う機会は少ないです。

アプリのアップデート

すべてのアプリを更新

flatpak update

特定のアプリを更新

flatpak update アプリケーションID

例:

flatpak update org.libreoffice.LibreOffice

アプリのアンインストール

flatpak uninstall アプリケーションID

例:

flatpak uninstall org.libreoffice.LibreOffice

使われていないランタイムも削除

flatpak uninstall --unused

これで、どのアプリからも使われていないランタイムやSDKが削除され、ディスク容量を節約できます。

アプリの情報を表示

flatpak info アプリケーションID

アプリのバージョン、サイズ、インストール場所などが表示されます。

リポジトリの管理

リポジトリ一覧を表示

flatpak remotes

リポジトリを削除

flatpak remote-delete リポジトリ名

例:

flatpak remote-delete flathub

GUIでFlatpakを管理する方法

コマンドラインが苦手な人は、GUIツールを使えます。

GNOME Software(Ubuntu、Fedoraなど)

GNOME環境では、GNOMEソフトウェアでFlatpakを管理できます。

使い方

  1. GNOMEソフトウェアを開く
  2. アプリを検索
  3. インストールボタンをクリック

Flatpak、Snap、debパッケージが混在している場合、ソースを選択できます。

KDE Discover(KDE Plasma)

KDE環境では、Discoverを使います。

インストール方法(Ubuntuの場合)

sudo apt install plasma-discover plasma-discover-backend-flatpak

使い方

  1. Discoverを開く
  2. アプリを検索
  3. インストールボタンをクリック

Warehouse(サードパーティ)

WarehouseはFlatpak専用の管理ツールです。

インストール

flatpak install flathub io.github.flattool.Warehouse

機能

  • インストール済みアプリの一覧表示
  • アプリのアンインストール
  • バージョンのダウングレード
  • 使われていないデータの削除

Flatpakのパーミッション管理

Flatpakアプリは、サンドボックス内で動作するため、ファイルやデバイスへのアクセスが制限されています。

Flatsealを使った権限管理

Flatsealは、Flatpakアプリの権限を視覚的に管理できるツールです。

インストール

flatpak install flathub com.github.tchx84.Flatseal

使い方

  1. Flatsealを起動
  2. 左側のリストからアプリを選択
  3. 右側で権限を調整

調整できる権限の例

  • ファイルシステムへのアクセス
  • ネットワークアクセス
  • デバイス(カメラ、マイク、USB)へのアクセス
  • X11やWaylandへのアクセス
  • DBusへのアクセス

例えば、特定のフォルダにアクセスさせたい場合、Filesystem permissionsで追加できます。

コマンドラインでの権限管理

Flatsealを使わずに、コマンドで権限を変更することもできます。

権限の確認

flatpak info --show-permissions アプリケーションID

権限の追加

flatpak override --user --filesystem=/path/to/directory アプリケーションID

例:ホームディレクトリへのアクセスを許可

flatpak override --user --filesystem=home org.gimp.GIMP

権限のリセット

flatpak override --user --reset アプリケーションID

トラブルシューティング

Flatpakを使っていて問題が起きた場合の対処法です。

問題1:アプリが起動しない

原因

  • ランタイムが壊れている
  • 権限が不足している

対処法1:再インストール

flatpak uninstall アプリケーションID
flatpak install flathub アプリケーションID

対処法2:権限を確認

Flatsealで必要な権限が与えられているか確認します。

問題2:日本語入力ができない

一部のFlatpakアプリで、日本語入力ができないことがあります。

対処法

以下のコマンドを実行して、ロケールを設定します。

flatpak run --env=GTK_IM_MODULE=fcitx アプリケーションID

または

flatpak run --env=GTK_IM_MODULE=ibus アプリケーションID

永続的に設定するには:

flatpak override --user --env=GTK_IM_MODULE=fcitx アプリケーションID

問題3:文字化けが発生する

対処法

ロケール設定を追加します。

flatpak override --user --env=LANG=ja_JP.UTF-8 アプリケーションID

問題4:ディスク容量が足りない

Flatpakは容量を多く消費します。

対処法1:使われていないランタイムを削除

flatpak uninstall --unused

対処法2:古いバージョンを削除

Flatpakは、複数のバージョンを保持することがあります。

確認:

flatpak list --app

不要なバージョンを削除:

flatpak uninstall アプリケーションID/バージョン

問題5:更新が失敗する

対処法1:リポジトリを再追加

flatpak remote-delete flathub
flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo

対処法2:キャッシュをクリア

flatpak repair

問題6:テーマが適用されない

対処法

システムテーマをFlatpak環境に適用するには、対応するテーマをインストールします。

例:Adwaitaテーマの場合

flatpak install flathub org.gtk.Gtk3theme.Adwaita

または、各アプリでテーマを手動で設定します。

よくある質問

Q1:FlatpakとSnapのどちらを使うべきですか?

どちらも一長一短ありますが、以下を参考にしてください。

  • Ubuntu:Snapがデフォルトなので、Snapが無難
  • Fedora、openSUSE:Flatpakが推奨
  • その他:好みで選択。両方使うことも可能

アプリによって、どちらか一方しか提供されていない場合もあります。

Q2:Flatpakは無料ですか?

はい、Flatpak自体は完全に無料のオープンソースソフトウェアです。Flathubも無料で利用できます。

ただし、一部の商用アプリは有料の場合があります。

Q3:Flatpakは安全ですか?

サンドボックス化により、従来のパッケージよりも安全性が向上しています。

ただし、すべてのアプリが厳格にサンドボックス化されているわけではありません。信頼できる開発者のアプリを選ぶことが重要です。

Q4:既存のdebやrpmパッケージをFlatpakに変換できますか?

基本的には、アプリをFlatpak形式で再パッケージする必要があります。自動変換ツールも存在しますが、完全ではありません。

Q5:Flatpakアプリは自動更新されますか?

デフォルトでは自動更新されません。手動でflatpak updateを実行するか、GNOME SoftwareやKDE Discoverの自動更新機能を有効にする必要があります。

Q6:システムのパッケージとFlatpakは共存できますか?

はい、問題なく共存できます。同じアプリのdeb版とFlatpak版を同時にインストールすることもできます。

Q7:Flatpakアプリはどこにインストールされますか?

  • システム全体/var/lib/flatpak/
  • ユーザーレベル~/.local/share/flatpak/

Q8:Flatpakのキャッシュはどこにありますか?

~/.cache/flatpak/ にあります。必要に応じて削除できます。

Q9:Flatpakアプリは起動が遅いですか?

初回起動時は若干遅いことがありますが、2回目以降は通常のアプリとほぼ同じ速度です。

Q10:Flatpakを完全にアンインストールするには?

すべてのFlatpakアプリとランタイムをアンインストールした後、Flatpak本体を削除します。

flatpak uninstall --all
sudo apt remove flatpak  # Ubuntuの場合

まとめ

Flatpakは、Linuxアプリケーションの配布と管理を革新する新しいパッケージシステムです。

Flatpakの主な特徴

  • ディストリビューションに依存しない
  • サンドボックスによる隔離
  • 依存関係の問題を解決
  • 最新版のアプリが使える
  • セキュリティの向上

Flatpakの基本的な使い方

  1. Flatpakをインストール
  2. Flathubリポジトリを追加
  3. アプリを検索してインストール
  4. 定期的にアップデート

主なコマンド

# アプリの検索
flatpak search キーワード

# アプリのインストール
flatpak install flathub アプリケーションID

# アプリの更新
flatpak update

# アプリのアンインストール
flatpak uninstall アプリケーションID

# 使われていないランタイムを削除
flatpak uninstall --unused

GUIツール

  • GNOME Software
  • KDE Discover
  • Warehouse(Flatpak専用)
  • Flatseal(権限管理)

注意点

  • パッケージサイズが大きい
  • ディスク容量を多く消費
  • すべてのアプリが完全にサンドボックス化されているわけではない

最後に

Flatpakは、まだ発展途上の技術ですが、Linuxデスクトップの未来を担う重要なプロジェクトです。

従来のパッケージ管理と併用しながら、自分に合った使い方を見つけてください。

Flathubには、2,000以上のアプリがあります。ぜひ、新しいアプリを探してみてください!

コメント

タイトルとURLをコピーしました