Flatpak チートシート: 万能な Linux パッケージマネージャー

Flatpak と Flathub を使用したクロスディストリビューションアプリ

Flatpak は、Linux でデスクトップアプリケーションを構築および配布するための次世代技術であり、汎用的なパッケージング、サンドボックス化、そしてディストリビューションを超えた互換性を提供しています。

construction-flatpacks 画像は AIモデル Flux 1 dev によって生成されました。

Flatpak とは?

Flatpak(以前は xdg-app と呼ばれていた)は、Linux デスクトップコンピュータ向けのソフトウェア展開、アプリケーション仮想化、およびパッケージ管理のためのソフトウェアユーティリティです。Red Hat の Alexander Larsson によって開発された Flatpak は、ユーザーがシステムの他の部分から分離してアプリケーションを実行できるサンドボックス環境を提供します。他のパッケージマネージャーとは異なり、Flatpak は共有ランタイムを使用し、バックグラウンドデーモンを持たず、Bubblewrap サンドボックスを通じてセキュリティを維持しながら軽量な設計となっています。

主な特徴:

  • 共有ランタイム: アプリは GNOME、KDE、Freedesktop の基本ライブラリを共有し、ディスク使用量を削減
  • 手動更新: 更新のタイミングはユーザーが制御(自動的なバックグラウンド更新なし)
  • Bubblewrap サンドボックス: XDG デスクトップポータルを使用した強力なコンテナ化と権限管理
  • バックグラウンドデーモンなし: 軽量で、必要に応じてのみ実行
  • ユーザーレベルでのインストール: sudo/root アクセスなしでアプリをインストール
  • 分散型: 単一の企業によって管理されないオープンエコシステム
  • デスクトップ向け: GNOME および KDE デスクトップアプリケーションに最適

パッケージマネージャー比較

Ubuntu は複数のパッケージ管理システムをサポートしています。主な操作の比較は以下の通りです:

操作 Flatpak APT Snap
検索 flatpak search keyword apt search keyword snap find keyword
インストール flatpak install flathub app.id sudo apt install package sudo snap install package
インストール済み一覧 flatpak list --app apt list --installed snap list
情報表示 flatpak info app.id apt show package snap info package
すべて更新 flatpak update sudo apt update && sudo apt upgrade sudo snap refresh
単一更新 flatpak update app.id sudo apt install --only-upgrade pkg sudo snap refresh package
削除 flatpak uninstall app.id sudo apt remove package sudo snap remove package
クリーンアップ flatpak uninstall --unused sudo apt autoremove snap remove --revision=N
リポジトリ flatpak remote-add で追加 /etc/apt/sources.list Snap Store(組み込み)

クイック機能比較

機能 Flatpak APT Snap
自動更新 いいえ いいえ はい
サンドボックス はい いいえ はい
依存関係 共有ランタイム システムライブラリ バンドル
パッケージサイズ 中(20-200MB) 小(5-50MB) 大(50-500MB)
root 必要 いいえ(ユーザーインストール) はい はい
起動速度 速い 速い やや遅い
最適な用途 デスクトップアプリ システムパッケージ ユニバーサルアプリ

このガイドについて

このガイドは Flatpak に焦点を当てています - デスクトップアプリケーション向けの分散型汎用パッケージマネージャーで、粒度の細かい権限制御が可能です。Flatpak は GNOME および KDE アプリケーション、更新を手動で制御したいシナリオ、root アクセスなしでユーザーレベルでのインストールが必要な場合に最適です。

他のパッケージマネージャーについては:

各パッケージマネージャーにはそれぞれの強みがあります。Flatpak を使用してデスクトップアプリケーションで粒度の細かい権限を管理し、APT を使用してシステムパッケージおよびライブラリを管理し、Snap を使用して自動更新とバージョン間の互換性が必要なアプリケーションを管理してください。


Flatpak パッケージ管理 - 詳細ガイド

Flatpak のインストール

Ubuntu および Debian ベースのシステム

新しい Ubuntu システムをセットアップしている場合は、Ubuntu 24.04 のインストールガイド を確認して、システムのセットアップと必須ツールの完全なガイドをご覧ください。

Ubuntu 18.04+:

# Flatpak のインストール
sudo apt install flatpak

# GNOME Software プラグインのインストール(Ubuntu Software Center 用)
sudo apt install gnome-software-plugin-flatpak

# Flathub リポジトリの追加
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# システムの再起動でセットアップを完了
sudo reboot

Ubuntu 16.04:

# 新しい Flatpak の PPA の追加
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak

# Flathub の追加
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

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

Fedora(25+ に事前にインストール済み):

# Flatpak は事前にインストール済み、Flathub の追加のみ
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Arch Linux:

# Flatpak のインストール
sudo pacman -S flatpak

# Flathub の追加
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

openSUSE:

# Flatpak のインストール
sudo zypper install flatpak

# Flathub の追加
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Linux Mint:

# Flatpak のインストール(Mint 18.3+ に事前にインストール済み)
sudo apt install flatpak

# Flathub の追加
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Linux Mint をから始めてセットアップする場合は、Linux Mint の再インストールガイド でインストールプロセスと必須ツールおよび設定を確認してください。

インストールの確認

# Flatpak のバージョン確認
flatpak --version

# 設定済みリモートの確認
flatpak remotes

# インストールのテスト
flatpak search gimp

重要な Flatpak コマンド

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

基本的なインストール:

# Flathub からインストール
flatpak install flathub app.id

# 確認付きインストール
flatpak install -y flathub app.id

# 特定バージョンのインストール
flatpak install flathub app.id//version

# 特定ブランチのインストール
flatpak install flathub app.id//stable

現実的な例:

# GIMP のインストール
flatpak install flathub org.gimp.GIMP

# VLC のインストール
flatpak install flathub org.videolan.VLC

# LibreOffice のインストール
flatpak install flathub org.libreoffice.LibreOffice

# VS Code のインストール
flatpak install flathub com.visualstudio.code

# Spotify のインストール
flatpak install flathub com.spotify.Client

# Discord のインストール
flatpak install flathub com.discordapp.Discord

# Telegram のインストール
flatpak install flathub org.telegram.desktop

# Blender のインストール
flatpak install flathub org.blender.Blender

# Kdenlive(動画エディタ)のインストール
flatpak install flathub org.kde.kdenlive

# Inkscape のインストール
flatpak install flathub org.inkscape.Inkscape

ユーザー vs システムインストール:

# ユーザーインストール(デフォルト、sudo は不要)
flatpak install --user flathub app.id

# システム全体にインストール(sudo が必要)
flatpak install --system flathub app.id

アプリケーションの検索

# Flathub の検索
flatpak search keyword

# カラム出力付き検索
flatpak search --columns=name,application,version,branch keyword

# 特定リモートでの検索
flatpak search --remote=flathub keyword

# 例
flatpak search editor
flatpak search video
flatpak search game
flatpak search office

Flathub をオンラインでブラウズ:

  • https://flathub.org を訪問
  • カテゴリでブラウズ
  • スクリーンショットと説明を確認
  • レーティングとレビューをチェック

インストール済みアプリケーションの一覧

# インストール済みアプリのすべてを一覧
flatpak list

# アプリケーションのみを一覧(ランタイムは除く)
flatpak list --app

# ランタイムのみを一覧
flatpak list --runtime

# 詳細情報を表示
flatpak list --app --columns=name,application,version,size,installation

# ユーザーインストールのみを一覧
flatpak list --user

# システムインストールのみを一覧
flatpak list --system

アプリケーション情報の表示

# アプリの詳細情報を表示
flatpak info app.id

# 権限を表示
flatpak info --show-permissions app.id

# メタデータを表示
flatpak info --show-metadata app.id

# コミット情報を表示
flatpak info --show-commit app.id

# インストールサイズを表示
flatpak info --show-size app.id

# 例
flatpak info org.gimp.GIMP
flatpak info --show-permissions org.videolan.VLC

アプリケーションの実行

# Flatpak アプリケーションの実行
flatpak run app.id

# 特定ブランチでの実行
flatpak run app.id//stable

# コマンドライン引数付きで実行
flatpak run app.id --arg1 --arg2

# 環境変数付きで実行
flatpak run --env=VAR=value app.id

# 特定コミットでの実行
flatpak run --commit=abc123 app.id

# 例
flatpak run org.gimp.GIMP
flatpak run org.videolan.VLC /path/to/video.mp4
flatpak run com.visualstudio.code ~/projects/

アプリケーションの統合:

インストールされた Flatpak アプリは自動的にアプリケーションメニューに表示されます。また、デスクトップショートカットを作成することも可能です。

アプリケーションの更新

すべて更新:

# すべてのアプリとランタイムを更新
flatpak update

# 確認なしに更新
flatpak update -y

# アプリケーションのみを更新
flatpak update --app

# ランタイムのみを更新
flatpak update --runtime

# ユーザーインストールを更新
flatpak update --user

# システムインストールを更新
flatpak update --system

特定アプリケーションの更新:

# 特定アプリの更新
flatpak update app.id

# 特定バージョンへの更新
flatpak update app.id//version

# 例
flatpak update org.gimp.GIMP

更新の確認:

# 更新可能なアプリの一覧
flatpak remote-ls --updates

# 特定アプリの確認
flatpak remote-info --log flathub app.id

アプリケーションの削除

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

# 確認なしにアンインストール
flatpak uninstall -y app.id

# データも削除してアンインストール
flatpak uninstall --delete-data app.id

# ユーザーからアンインストール
flatpak uninstall --user app.id

# 未使用のランタイムと依存関係を削除
flatpak uninstall --unused

# すべての Flatpak アプリを削除
flatpak uninstall --all

# 例のワークフロー
flatpak uninstall org.gimp.GIMP
flatpak uninstall --unused

Flatpak アーキテクチャの理解

ランタイム

ランタイムは、共通ライブラリを含む共有の基本環境です:

主要なランタイム:

  • org.freedesktop.Platform: コアライブラリを含む基本ランタイム
  • org.gnome.Platform: GNOME デスクトップライブラリ
  • org.kde.Platform: KDE/Qt ライブラリ
  • org.freedesktop.Sdk: 開発ツールとライブラリ

ランタイム管理:

# インストール済みランタイムの一覧
flatpak list --runtime

# 特定ランタイムのインストール
flatpak install flathub org.gnome.Platform//45

# ランタイムサイズの確認
flatpak info --show-size org.gnome.Platform

# 未使用のランタイムの削除
flatpak uninstall --unused

アプリケーション ID

Flatpak はアプリケーション ID に逆 DNS 表記を使用します:

フォーマット: tld.domain.AppName

例:

  • org.gimp.GIMP
  • org.mozilla.Firefox
  • com.visualstudio.code
  • io.github.username.AppName

ブランチとバージョン

# 利用可能なブランチの一覧
flatpak remote-info --log flathub app.id

# 特定ブランチのインストール
flatpak install flathub app.id//stable
flatpak install flathub app.id//beta

# ブランチの切り替え
flatpak update --commit=branch-commit app.id

リモート(リポジトリ)

# 設定済みリモートの一覧
flatpak remotes

# リモートの追加
flatpak remote-add --if-not-exists remote-name https://remote-url

# リモートの削除
flatpak remote-delete remote-name

# リモートの変更
flatpak remote-modify remote-name --url=new-url

# リモート内のアプリの一覧
flatpak remote-ls remote-name

# アプリのみを一覧
flatpak remote-ls --app flathub

# リモート情報の表示
flatpak remote-info flathub app.id

人気のあるリモート:

  • Flathub: 主なリポジトリ(https://flathub.org)
  • Flathub Beta: ベータ版アプリ
  • GNOME Nightly: GNOME 開発バージョン
  • KDE: KDE アプリ
  • Fedora: Fedora レジストリ

権限とサンドボックス

ポータルの理解

Flatpak は XDG デスクトップポータルを使用して、制御されたシステムアクセスを提供します:

ポータルの種類:

  • ファイル選択: ホストファイル選択ダイアログを使用してファイルを選択
  • 印刷: 印刷機能へのアクセス
  • スクリーンショット: スクリーンのキャプチャ
  • スクリーンキャスト: スクリーンの録画
  • 通知: 通知の表示
  • デバイス: デバイスへのアクセス(カメラ、マイク)
  • 位置情報: ジオロケーションへのアクセス
  • ネットワーク: ネットワークへのアクセス

権限の表示

# アプリの権限を表示
flatpak info --show-permissions app.id

# メタデータを表示
flatpak info --show-metadata app.id

# 例
flatpak info --show-permissions org.videolan.VLC

権限カテゴリ:

  • ファイルシステムアクセス: --filesystem=home, --filesystem=host
  • デバイスアクセス: --device=dri, --device=all
  • ソケットアクセス: --socket=x11, --socket=wayland, --socket=pulseaudio
  • ネットワーク: --share=network
  • IPC: --share=ipc

CLI を使用した権限管理

権限の付与:

# ホームディレクトリへのアクセスを付与
flatpak override --filesystem=home app.id

# 特定ディレクトリへのアクセスを付与
flatpak override --filesystem=/path/to/directory app.id

# ホストファイルシステムへのアクセスを付与(注意が必要)
flatpak override --filesystem=host app.id

# デバイスへのアクセスを付与
flatpak override --device=dri app.id

# ネットワークへのアクセスを付与
flatpak override --share=network app.id

# IPC アクセスを付与
flatpak override --share=ipc app.id

# 例
flatpak override --filesystem=home org.gimp.GIMP
flatpak override --device=all org.audacityteam.Audacity

権限の取り消し:

# ファイルシステムアクセスの取り消し
flatpak override --nofilesystem=home app.id

# デバイスアクセスの取り消し
flatpak override --nodevice=all app.id

# すべてのオーバーライドをデフォルトに戻す
flatpak override --reset app.id

# 現在のオーバーライドを表示
flatpak override --show app.id

# 例
flatpak override --nofilesystem=host org.videolan.VLC

システム全体 vs ユーザーのオーバーライド:

# ユーザーレベルのオーバーライド(デフォルト)
flatpak override --user --filesystem=home app.id

# システム全体のオーバーライド
sudo flatpak override --system --filesystem=home app.id

Flatseal(GUI)による権限管理

Flatseal のインストール:

flatpak install flathub com.github.tchx84.Flatseal

機能:

  • ビジュアルな権限管理
  • 権限のオン/オフ切り替え
  • すべてのアプリ権限の表示
  • デフォルトに戻す
  • ユーザーフレンドリーなインターフェース

起動:

flatpak run com.github.tchx84.Flatseal

または、アプリケーションメニューから “Flatseal” を見つけてください。

高度な Flatpak 使い方

コマンドラインオプション

カスタムオプションで実行:

# 特定ファイルシステムアクセスで実行
flatpak run --filesystem=/mnt/data app.id

# 環境変数付きで実行
flatpak run --env=DEBUG=1 app.id

# 開発セッションで実行
flatpak run --devel app.id

# flatpak 内で特定コマンドを実行
flatpak run --command=bash app.id

# バージョン詳細付きで実行
flatpak -v run app.id

# 例
flatpak run --filesystem=/media/usb org.gimp.GIMP
flatpak run --command=sh com.visualstudio.code

シェルアクセス

# flatpak 内でシェルを開く
flatpak run --command=sh app.id

# bash が利用可能な場合
flatpak run --command=bash app.id

# フルファイルシステムでアクセス(デバッグ用)
flatpak run --filesystem=host --command=bash app.id

# 例: GIMP 環境のデバッグ
flatpak run --command=bash org.gimp.GIMP

ローカル Flatpak の構築とインストール

.flatpak ファイルからインストール:

# flatpak バンドルのインストール
flatpak install package.flatpak

# リモート URL からインストール
flatpak install https://example.com/app.flatpakref

# flatpakref ファイルからインストール
flatpak install app.flatpakref

リポジトリからインストール:

# カスタムリポジトリの追加
flatpak remote-add --if-not-exists custom-repo https://repo-url

# カスタムリポジトリからインストール
flatpak install custom-repo app.id

エクスポートとバックアップ

アプリケーションのエクスポート:

# flatpak バンドルの作成
flatpak build-bundle repo-dir bundle.flatpak app.id

# ref のエクスポート
flatpak build-export repo-dir build-dir

# 単一ファイルバンドルの作成
flatpak create-usb /path/to/usb app.id

インストール済みアプリのバックアップ:

# インストール済みアプリの一覧
flatpak list --app --columns=application > flatpak-apps.txt

# 他のシステムで復元
while read app; do
  flatpak install -y flathub "$app"
done < flatpak-apps.txt

アプリケーションのダウングレード

# 利用可能なコミットの一覧
flatpak remote-info --log flathub app.id

# 特定コミットのインストール
flatpak update --commit=commit-hash app.id

# 現在のバージョンにピン留め(更新を防ぐ)
flatpak mask app.id

# ピン留めを解除(更新を許可)
flatpak mask --remove app.id

Flatpak の問題のトラブルシューティング

一般的な問題と解決策

アプリケーションが起動しない

# バージョン詳細付きで実行
flatpak run -v app.id

# 権限を確認
flatpak info --show-permissions app.id

# オーバーライドをリセット
flatpak override --reset app.id

# ランタイムがインストールされているか確認
flatpak list --runtime | grep Platform

# アプリケーションをアンインストールして再インストール
flatpak uninstall app.id
flatpak install flathub app.id

権限が拒否されるエラー

# 必要なファイルシステムアクセスを付与
flatpak override --filesystem=home app.id

# デバイスアクセスを付与
flatpak override --device=all app.id

# 現在の権限を確認
flatpak override --show app.id

# Flatseal を使用して GUI 管理
flatpak run com.github.tchx84.Flatseal

アプリケーションがメニューに表示されない

# デスクトップデータベースを更新
update-desktop-database ~/.local/share/applications

# アイコンキャッシュを更新
gtk-update-icon-cache ~/.local/share/icons/hicolor

# デスクトップ環境を再起動
# またはログアウトしてログイン

ダウンロードや更新が遅い

# リモートの状態を確認
flatpak remote-ls flathub

# キャッシュを削除
rm -rf ~/.local/share/flatpak/repo/tmp

# 別のミラーを使用
flatpak remote-modify flathub --url=https://mirror.example.com

# ネットワーク接続を確認
flatpak remote-info flathub org.gimp.GIMP

リポジトリエラー

# Flathub を再追加
flatpak remote-delete flathub
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# リポジトリメタデータを更新
flatpak update --appstream

# インストールを修復
flatpak repair

# ostree 問題を確認
ostree fsck --repo=/var/lib/flatpak/repo

ディスクスペースの問題

# Flatpak のディスク使用量を確認
du -sh ~/.local/share/flatpak
du -sh /var/lib/flatpak

# 未使用のランタイムを削除
flatpak uninstall --unused

# 古いバージョンを削除
flatpak uninstall --delete-data app.id

# キャッシュをクリーンアップ
rm -rf ~/.cache/flatpak

デバッグコマンド

# バージョン詳細付きで実行
flatpak run -v app.id

# デバッグ出力を表示
flatpak run --log-session-bus --log-system-bus app.id

# Flatpak のインストールを確認
flatpak info

# Flatpak を修復
flatpak repair --user
sudo flatpak repair --system

# OSTree を確認
ostree --repo=/var/lib/flatpak/repo refs

# Flatpak プロセスを表示
ps aux | grep flatpak

パフォーマンスと最適化

ディスク使用量の削減

不要なコンテンツの削除:

# 未使用のランタイムを削除
flatpak uninstall --unused -y

# 古いバージョンを削除
# Flatpak はデフォルトで複数バージョンを保持しない

# 一時ファイルをクリーンアップ
rm -rf ~/.cache/flatpak

ディスク使用量スクリプト:

#!/bin/bash
echo "=== Flatpak ディスク使用量 ==="
echo "システム: $(du -sh /var/lib/flatpak 2>/dev/null | cut -f1)"
echo "ユーザー: $(du -sh ~/.local/share/flatpak 2>/dev/null | cut -f1)"
echo ""
echo "アプリケーション:"
flatpak list --app --columns=name,size
echo ""
echo "ランタイム:"
flatpak list --runtime --columns=name,size

起動パフォーマンスの改善

ヒント:

  1. 可能であれば XWayland ではなく Wayland を使用
  2. 事前に必要な権限を付与(ポータルのオーバーヘッドを避ける)
  3. ネイティブランタイムを使用(GNOME アプリは GNOME 上、KDE アプリは KDE 上)
  4. 信頼できるアプリに対して不要なサンドボックスを無効化
# ホスト IPC を使用してパフォーマンスを向上
flatpak override --share=ipc app.id

# ホスト X11 ソケットを使用
flatpak override --socket=x11 app.id

更新の最適化

手動更新スケジュール:

systemd タイマーや cron ジョブを作成:

# 更新スクリプトの作成
cat > ~/bin/flatpak-update.sh << 'EOF'
#!/bin/bash
flatpak update -y
flatpak uninstall --unused -y
EOF

chmod +x ~/bin/flatpak-update.sh

# cron に追加(週次更新)
crontab -e
# 追加: 0 2 * * 0 ~/bin/flatpak-update.sh

systemd タイマー:

# タイマーファイルの作成
sudo tee /etc/systemd/user/flatpak-update.timer << EOF
[Unit]
Description=Flatpak アプリケーションの更新

[Timer]
OnCalendar=weekly
Persistent=true

[Install]
WantedBy=timers.target
EOF

# サービスファイルの作成
sudo tee /etc/systemd/user/flatpak-update.service << EOF
[Unit]
Description=Flatpak アプリケーションの更新

[Service]
Type=oneshot
ExecStart=/usr/bin/flatpak update -y
EOF

# タイマーを有効化
systemctl --user enable --now flatpak-update.timer

人気のある Flatpak アプリケーション

生産性

flatpak install flathub org.libreoffice.LibreOffice    # オフィススイート
flatpak install flathub org.gnome.Evolution            # メールクライアント
flatpak install flathub com.discordapp.Discord         # Discord
flatpak install flathub com.slack.Slack                # Slack
flatpak install flathub us.zoom.Zoom                   # Zoom
flatpak install flathub org.joplinapp.joplin           # メモ
flatpak install flathub md.obsidian.Obsidian           # Obsidian
flatpak install flathub com.bitwarden.desktop          # パスワードマネージャー

開発

flatpak install flathub com.visualstudio.code          # VS Code
flatpak install flathub com.sublimetext.three          # Sublime Text
flatpak install flathub org.gnome.Builder              # GNOME Builder
flatpak install flathub com.jetbrains.IntelliJ-IDEA-Community  # IntelliJ
flatpak install flathub com.getpostman.Postman         # Postman
flatpak install flathub io.dbeaver.DBeaverCommunity    # データベースツール
flatpak install flathub com.github.Eloston.UngoogledChromium  # ブラウザ

グラフィックとデザイン

flatpak install flathub org.gimp.GIMP                  # 画像編集
flatpak install flathub org.inkscape.Inkscape          # ベクターグラフィック
flatpak install flathub org.blender.Blender            # 3Dクリエイション
flatpak install flathub org.krita.Krita                # デジタルペインティング
flatpak install flathub com.rawtherapee.RawTherapee    # RAW編集
flatpak install flathub org.darktable.Darktable        # 写真
flatpak install flathub org.kde.kdenlive               # ビデオ編集
flatpak install flathub com.obsproject.Studio          # OBS Studio

メディア

flatpak install flathub org.videolan.VLC               # VLC プレイヤー
flatpak install flathub com.spotify.Client             # Spotify
flatpak install flathub io.mpv.Mpv                     # MPV プレイヤー
flatpak install flathub org.gnome.Lollypop             # 音楽プレイヤー
flatpak install flathub org.audacityteam.Audacity      # 音声編集
flatpak install flathub com.calibre_ebook.calibre      # イブックマネージャー

インターネット

flatpak install flathub org.mozilla.Firefox            # Firefox
flatpak install flathub com.google.Chrome              # Chrome
flatpak install flathub com.brave.Browser              # Brave
flatpak install flathub org.telegram.desktop           # Telegram
flatpak install flathub org.qbittorrent.qBittorrent    # トーチェントクライアント
flatpak install flathub org.filezillaproject.Filezilla # FTPクライアント

ユーティリティ

flatpak install flathub com.github.tchx84.Flatseal     # パーミッションマネージャー
flatpak install flathub io.gitlab.librewolf-community  # プライバシーブラウザ
flatpak install flathub org.gnome.Calculator           # 計算機
flatpak install flathub org.gnome.clocks               # 時計
flatpak install flathub com.github.phase1geo.minder    # マインドマッピング
flatpak install flathub org.gnome.Extensions           # GNOME拡張

Flatpak のベストプラクティス

セキュリティ

  1. アプリのソースを確認: 信頼できるリモート(Flathub)からのみインストール
  2. 権限を確認: インストール前に権限を確認
  3. 厳格なサンドボックスを使用: 過度に許可の広いオーバーライドを避ける
  4. 定期的な更新: アプリとランタイムを常に最新に
  5. 不要なアプリを削除: 攻撃面を最小限に
# インストールされたアプリの確認
flatpak list --app
flatpak info --show-permissions app.id

# オーバーライドの確認
flatpak override --show app.id

メンテナンス

週次メンテナンスルーチン:

#!/bin/bash
echo "=== Flatpak メンテナンス ==="

echo "アプリケーションの更新中.."
flatpak update -y

echo "使用されていないランタイムの削除中.."
flatpak uninstall --unused -y

echo "問題の確認中.."
flatpak repair --user

echo "ディスク使用量:"
du -sh ~/.local/share/flatpak

echo "完了!"

デスクトップとの統合

ソフトウェアセンターとの統合:

# Ubuntu/GNOME
sudo apt install gnome-software-plugin-flatpak

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

ファイルマネージャーとの統合:

ほとんどのファイルマネージャーは、Flatpakアプリをファイル関連付けに自動認識します。Flatpakアプリとデスクトップ環境を管理する際の生産性向上に役立つ、Ubuntuキーボードショートカットチートシートをぜひご活用ください。

スクリプトでの Flatpak 使用

bashスクリプトを使用してFlatpakのインストールを自動化できます。bashスクリプトのテクニックやコマンドについては、Bashチートシートをご覧ください。

#!/bin/bash
# 例: 開発環境のインストール

apps=(
  "com.visualstudio.code"
  "com.github.Eloston.UngoogledChromium"
  "org.gnome.Builder"
  "com.getpostman.Postman"
)

for app in "${apps[@]}"; do
  echo "$app のインストール中.."
  flatpak install -y flathub "$app"
done

echo "開発環境が準備完了しました!"

Flatpak コマンドリファレンス

完全なコマンドチートシート

# 検索 & インストール
flatpak search keyword              # アプリ検索
flatpak install flathub app.id      # アプリインストール
flatpak install --user flathub app.id  # ユーザーインストール

# リスト & 情報
flatpak list                        # インストール済みリスト
flatpak list --app                  # アプリのみ
flatpak list --runtime              # ランタイムのみ
flatpak info app.id                 # 詳細表示
flatpak info --show-permissions app.id  # 権限表示

# 実行
flatpak run app.id                  # アプリ実行
flatpak run --command=sh app.id     # シェルアクセス

# 更新
flatpak update                      # 全て更新
flatpak update app.id               # 特定の更新
flatpak remote-ls --updates         # 更新確認

# 削除
flatpak uninstall app.id            # アプリ削除
flatpak uninstall --unused          # 使用されていないランタイム削除
flatpak uninstall --all             # 全アプリ削除

# 権限
flatpak override --filesystem=home app.id   # ホームアクセス許可
flatpak override --device=all app.id        # デバイスアクセス許可
flatpak override --share=network app.id     # ネットワーク許可
flatpak override --reset app.id             # オーバーライドリセット
flatpak override --show app.id              # オーバーライド表示

# リモート
flatpak remotes                     # リモートリスト
flatpak remote-add name url         # リモート追加
flatpak remote-delete name          # リモート削除
flatpak remote-ls name              # リモートアプリリスト

# トラブルシューティング
flatpak repair                      # インストール修復
flatpak repair --user               # ユーザー修復
flatpak repair --system             # システム修復

# マスク/ピン
flatpak mask app.id                 # 更新防止
flatpak mask --remove app.id        # 更新許可

適切なパッケージマネージャーの選択

Flatpak を使用するべきケース ✅

最適な用途:

  • デスクトップアプリケーション(GNOME、KDE)
  • クロスディストリビューションの互換性が必要
  • 権限の細かい制御が重要
  • バックグラウンドデーモンを望まない
  • 共有ランタイムを好む(ディスク使用量を節約)
  • 手動更新を望む
  • sudo なしでユーザーレベルでのインストール
  • オープンエコシステムを好む

他のパッケージマネージャーを使用するべきケース

結論

Flatpak は、Linux アプリケーション配布の現代的なアプローチを代表しており、サンドボックスによるセキュリティとユニバーサルパッケージングを組み合わせています。分散型の性質、共有ランタイム、および粒細かな権限システムにより、すべてのLinuxディストリビューションにわたるデスクトップアプリケーションにとって優れた選択肢となっています。

ユーザーとして最新のアプリケーションへの簡単なアクセスを望む場合、開発者としてクロスディストリビューションの展開を求める場合、またはシステム管理者として複数のシステムを管理する場合、Flatpak は、堅牢で安全で使いやすいソリューションを提供します。

主な利点:

  • 真のクロスディストリビューション互換性
  • サンドボックスによるセキュリティの向上
  • 共有ランタイムにより総ディスク使用量が削減
  • バックグラウンドデーモン不要
  • ユーザーレベルでのインストールが可能
  • ポータルを介した粒細かな権限制御
  • Flathub 上の豊富なエコシステム

開始方法:

  1. ご自分のシステムに Flatpak をインストール
  2. Flathub リポジトリを追加
  3. アプリをブラウズしてインストール
  4. Flatseal を使って権限を管理
  5. アプリを定期的に更新

今日から Flathub をご活用ください。Linux アプリケーション配布の未来を体験してください!

有用なリンク

このサイトの関連記事