このチュートリアルでは、Flatpakとは何か、LinuxにFlatpakをインストールする方法、そしてFlatpakコマンドラインユーザーインターフェイスを使用してアプリケーションをインストールする方法を説明します。
Flatpakの紹介
非常に多くのLinuxディストリビューションがあり、それらすべてのLinuxディストリビューションのパッケージングアプリケーションは非常に時間がかかり、困難な作業です。多くのパッケージコンバーターが存在しますが、それらはすべて機能と互換性の問題が制限されています。
この問題を克服するために、スナップという名前のアプリケーションパッケージ形式 Canonicalによって導入されました。スナップは当初Ubuntuオペレーティングシステム用に開発されましたが、現在はArch、Gentoo、Fedora、openSUSEなどの主要なLinuxディストリビューションで採用されています。
スナップは、必要なすべてのライブラリと依存関係がバンドルされた単一のバイナリパッケージです。バージョンやアーキテクチャに関係なく、任意のLinuxディストリビューションにインストールできます。ディストリビューションごとに個別のアプリケーションを開発する必要はありません!
Snapと同様に、 Flatpakと呼ばれるさらに別のアプリケーションパッケージフォーマットツールがあります。 。 Flatpakは、さまざまなLinuxディストリビューションでアプリケーションとランタイムを構築、インストール、実行するためのシステムです。
これで、単一のFlatpakアプリケーションを構築し、それをさまざまなLinuxバージョンにインストールできます。ライブラリや依存関係について心配する必要はありません。すべてが単一のアプリ自体にバンドルされています。
もう1つの注目すべき機能は、Linuxシステムに同じアプリケーションの複数のバージョンを同時にインストールできることです。たとえば、VLCプレーヤーバージョン2.1、2.2、および2.3を同じシステムにインストールすることができます。開発者の場合は、一度にさまざまなバージョンのアプリケーションをテストできます。
Flatpakは元々AlexLarssonによって開発されました その後、Red Hat、Endless Computers、Collaboraによって承認されました。現在、寄稿者、ボランティア、支援組織で構成される独立したコミュニティによって積極的に維持されています。 FlatpakフレームワークはCで記述されています LGPLでリリースされました ライセンス。
ランタイム
各flatpakアプリケーションは、ホストシステムで正しく動作するためにランタイムに依存します。ランタイムは、アプリケーションに必要な基本的な依存関係(ライブラリ)のセットに他なりません。
flatpakコマンドを使用してアプリケーションをインストールすると、ランタイムが自動的にインストールされます。ランタイムはディストリビューションに依存しないため、どのLinuxディストリビューションでも動作します。複数のアプリケーションが単一のランタイムを使用できます。
現在利用可能な主なランタイムは3つあります: Freedesktop 、 GNOME およびKDE 。これらはすべてFlathubでホストされています リポジトリ。
バンドルライブラリ
ランタイムで使用できないライブラリは、開発者によってアプリケーションと一緒にバンドルされています。ライブラリは、ランタイムにあるものやパッチを適用したバージョンのライブラリとは異なるバージョンのライブラリにすることもできます。
サンドボックス
Flaptpakアプリは、「サンドボックス」と呼ばれる隔離された環境で構築および実行されます。つまり、flatpakアプリは、他のホストオペレーティングシステムや他のアプリケーションから分離されています。
各サンドボックスには、アプリケーションとそのランタイムが含まれています。 flatpakアプリケーションは、デフォルトでサンドボックスのコンテンツにのみアクセスできます。ユーザーファイル、ネットワーク、グラフィックス、およびデバイスへのアクセスは、ユーザーが明示的に指定する必要があります。
リポジトリ
すべてのflatpakアプリケーションとそのランタイムは、「リポジトリ」と呼ばれる中央の場所に保存されます。 フラットハブ すべてのFlatpakアプリケーションの公式リポジトリです。 flatpakコマンドラインインターフェイスを使用して、アプリケーションとランタイムにアクセスしてインストールできます。
LinuxにFlatpakをインストールする
Flatpakは、Arch Linux、Debian、Fedora、Gentoo、Red Hat、Linux Mint、openSUSE、Solus、Mageia、Ubuntuディストリビューションなどの一般的なLinuxディストリビューションのデフォルトリポジトリで利用できます。
FlatpakをArchLinuxにインストールするには およびEndeavourOSなどのバリアント およびManjaroLinux 、実行:
$ sudo pacman -S flatpak
Flatpakは、 Debianのデフォルトのリポジトリで利用できます。 バスターと新しいバージョン。 DebianにFlatpakをインストールするには、次のコマンドを実行します:
$ sudo apt install flatpak
DebianでGNOMEDEを使用している場合は、次のコマンドを使用してGNOMEソフトウェア用のFlatpakプラグインをインストールします。
$ sudo apt install gnome-software-plugin-flatpak
Fedora 、Flatpakはデフォルトでインストールされます。次のセクションで説明するように、Flathubを有効にするだけです。
何らかの理由でインストールされていない場合に備えて、次を実行します:
$ sudo dnf install flatpak
RHEL 7 、実行:
$ sudo yum install flatpak
CentOS 7 、Flatpakはデフォルトでインストールされます。したがって、セットアップは必要ありません!
LinuxMint18.3以降 、flatpakはデフォルトでインストールされます。したがって、セットアップは必要ありません。
openSUSE Tumbleweed、FlatpakはZypperを使用してインストールできます:
$ sudo zypper install flatpak
Ubuntuについて 18.10(Cosmic Cuttlefish)以降のUbuntuバージョンでは、次のコマンドを使用してflatpakをインストールします。
$ sudo apt install flatpak
古いバージョンのUbuntuでは、次のリポジトリを追加し、以下に示すようにFlatpakをインストールします。
$ sudo add-apt-repository ppa:alexlarsson/flatpak
$ sudo apt update
$ sudo apt install flatpak
GNOMEソフトウェアアプリ用のFlatpakプラグインを使用すると、コマンドラインを使用せずにアプリをインストールできます。このプラグインをインストールするには、次を実行します:
$ sudo apt install gnome-software-plugin-flatpak
Solus 、コマンドを使用してflatpakをインストールします:
$ sudo eopkg install flatpak xdg-desktop-portal-gtk
Mageia 6以降のバージョンでは、DNFを使用してFlatpakをインストールできます:
$ sudo dnf install flatpak
または、urpmi
を使用してインストールします 、以下のように:
$ sudo urpmi flatpak
Pop!_OS 20.04 Flatpakがインストールされ、Flathubがデフォルトで構成されています。 Pop!_OS 19.10以前のバージョンを使用している場合は、次を実行します。
$ sudo apt install flatpak
エレメンタリーOS5.1 新しいものには、Flatpakサポートが標準で付属しています。
その他のLinuxディストリビューションについては、公式インストールのリンクを参照してください。 。
Flatpakの初心者向けガイド
Flatpaksとして利用できる、Gimp、Kdenlive、Steam、Spotify、VisualStudioCodeなどの多くの人気のあるアプリケーションがあります。 Flatpakアプリをインストールするには、最初にFlatpakリポジトリ(またはリモート)を追加する必要があります。
1。リモートリポジトリを追加する
すでに述べたように、アプリケーションとランタイムはリポジトリまたはリモートに保存されます。 flatpakの公式リポジトリはFlathubです 。
LinuxでFlathubリポジトリを有効にするには、次のコマンドを実行するだけです。
$ sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
他にも多くの非公式のflatpakリポジトリが利用可能です。それらを見つけるために簡単なウェブ検索をしてください。
2。リモートのリスト
構成されているすべてのリモートリポジトリを一覧表示するには、次のコマンドを実行します。
$ flatpak remotes
出力例:
Name Options flathub system
ご覧のとおり、上記のコマンドは、システムに追加したリモートを一覧表示します。また、リモートがユーザーごとに追加されたか、システム全体に追加されたかが一覧表示されます。私の場合、システム全体にフラットハブリポジトリを追加しました。
3。 Flatpakアプリケーションをインストールする
このセクションでは、flatpakアプリをインストールする方法を説明します。
GNOMEボックスなどのFlatpakアプリケーションをインストールするには、次のコマンドを実行します。
$ flatpak install flathub org.gnome.Boxes
上記のコマンドは、アプリケーションをシステム全体にインストールします。
システム全体にアプリをインストールしたくない場合は、以下のようにユーザーごとにflatpakアプリをインストールすることもできます。
$ flatpak install --user <name-of-app>
インストールされているすべてのアプリは、 $HOME/.var/app/
に保存されます 場所。
$ ls $HOME/.var/app/ com.github.calo001.fondo com.github.tchx84.Flatseal org.gnome.Boxes
4。 Flatpakアプリケーションを実行する
インストールされたアプリケーションは、アプリケーションランチャーからいつでも起動できます。コマンドラインから、次のコマンドを使用して、たとえばGNOMEボックスを実行できます。
$ flatpak run org.gnome.Boxes
Flatpakは、すべてのflatpakアプリのメニューエントリを追加します。そのため、メニューまたはアプリケーションランチャーから直接起動できます。
5。 Flatpakアプリケーションを検索する
アプリケーションを検索するには:
$ flatpak search gimp
出力例:
Name Description Application ID Version Branch Remotes GNU Image Manipulati… Create images and edit photographs org.gimp.GIMP 2.10.20 stable flathub GIMP User Manual GIMP User Manual org.gimp.GIMP.Manual 2.10 2.10 flathub Resynthesizer Set of GIMP plug-ins that heal (in-paint), synthesize texture, theme an image, and more …p.GIMP.Plugin.Resynthesizer 2.0.3 2-3.36 flathub GimpLensfun GimpLensfun is a Gimp plugin to correct lens distortion using the lensfun library and database. org.gimp.GIMP.Plugin.Lensfun 0.2.4 2-3.36 flathub Fourier A simple GIMP plug-in to do fourier transform on your image. org.gimp.GIMP.Plugin.Fourier 0.4.3 2-3.36 flathub BIMP Batch Image Manipulation Program, a GIMP plugin to apply a set of manipulations to an entire gr… org.gimp.GIMP.Plugin.BIMP 2.4 2-3.36 flathub LiquidRescale LiquidRescale plugin to resize pictures non uniformly while preserving their features, i.e. avo… …p.GIMP.Plugin.LiquidRescale 0.7.2 2-3.36 flathub G'MIC GREYC's Magic for Image Computing org.gimp.GIMP.Plugin.GMic 2.9.2 2-3.36 flathub FocusBlur Focus Blur plug-in crete a blurring effect similar to Depth of Field. ….gimp.GIMP.Plugin.FocusBlur 3.2.6 2-3.36 flathub Glimpse Create images and edit photographs org.glimpse_editor.Glimpse 0.2.0 stable flathub Scans to PDF Create small, searchable PDFs from scanned documents com.github.unrud.djpdf 0.1.2 stable flathub
このコマンドは、すべてのリモートから文字列「gimp」に一致するすべてのアプリケーションを返します。
6。ローカルにインストールされたflatpakアプリケーションとランタイムを一覧表示する
システムにインストールされているすべてのflatpakアプリケーションとランタイムを表示するには、次のコマンドを実行します。
$ flatpak list
出力例:
Name Application ID Version Branch Installation Fondo com.github.calo001.fondo 1.3.8 stable system Flatseal com.github.tchx84.Flatseal 1.5.2 stable system default …reedesktop.Platform.GL.default 19.08 system Intel …eedesktop.Platform.VAAPI.Intel 19.08 system openh264 ….freedesktop.Platform.openh264 2.1.0 2.0 system GNOME Boxes org.gnome.Boxes 3.36.6 stable system GNOME Application Platform ve… org.gnome.Platform 3.36 system Ambiance Gtk theme org.gtk.Gtk3theme.Ambiance 3.22 system Yaru-light Gtk Theme org.gtk.Gtk3theme.Yaru-light 3.22 system
インストールされているアプリケーションとランタイムのリストをインストールされているサイズで表示する場合 、-d
を使用します フラグ。
$ flatpak list -d
出力例:
… … … Version Branch Arch Origin Installation Ref Active commit Latest commit Installed size … … … … 1.3.9 stable x86_64 flathub system com.github.calo001.fondo/x86_64/stable 4755529773f0 - 89.3 MB … … … … 1.6.2 stable x86_64 flathub system com.github.tchx84.Flatseal/x86_64/stable 4e1efc03269e - 2.9 MB … … … 19.08 x86_64 flathub system org.freedesktop.Platform.GL.default/x86_64/19.08 f68c8e930d04 - 255.7 MB … … … 19.08 x86_64 flathub system org.freedesktop.Platform.VAAPI.Intel/x86_64/19.08 19fe8e74d641 - 37.0 MB … … … … 2.1.0 2.0 x86_64 flathub system org.freedesktop.Platform.openh264/x86_64/2.0 73f998362a6f - 778.2 kB … … … … 3.36.6 stable x86_64 flathub system org.gnome.Boxes/x86_64/stable 98c619ed7873 - 706.9 MB … … … … 3.36 x86_64 flathub system org.gnome.Platform/x86_64/3.36 d79ff93caf2d - 934.6 MB … … … … 3.22 x86_64 flathub system org.gtk.Gtk3theme.Ambiance/x86_64/3.22 73fed99df212 - 16.3 MB … … … … 3.22 x86_64 flathub system org.gtk.Gtk3theme.Yaru-light/x86_64/3.22 2573259417d8 - 718.3 kB …
コマンドを使用してランタイムのみを一覧表示します:
$ flatpak list --runtime
出力例:
Name Application ID Version Branch Installation Locale com.github.calo001.fondo.Locale stable system default …reedesktop.Platform.GL.default 19.08 system Intel …eedesktop.Platform.VAAPI.Intel 19.08 system openh264 ….freedesktop.Platform.openh264 2.1.0 2.0 system Locale org.gnome.Boxes.Locale stable system GNOME Application Platform ve… org.gnome.Platform 3.36 system Ambiance Gtk theme org.gtk.Gtk3theme.Ambiance 3.22 system Yaru-light Gtk Theme org.gtk.Gtk3theme.Yaru-light 3.22 system
実行時間ではなくアプリケーションのみを表示するには、代わりにこのコマンドを使用してください。
$ flatpak list --app
出力例:
Name Application ID Version Branch Installation Fondo com.github.calo001.fondo 1.3.8 stable system Flatseal com.github.tchx84.Flatseal 1.5.2 stable system GNOME Boxes org.gnome.Boxes 3.36.6 stable system
7。リモートアプリケーションとランタイムを一覧表示する
リモートリポジトリからも利用可能なアプリケーションとランタイムのリストを表示することもできます。
コマンドを使用してすべてのリモートからアプリケーションとランタイムを一覧表示するには:
$ flatpak remote-ls
ランタイムのみを一覧表示します:
$ flatpak remote-ls --runtime
アプリケーションのみを一覧表示します:
$ flatpak remote-ls --app
flathub など、特定のリポジトリからアプリケーションとランタイムを一覧表示します 、実行:
$ flatpak remote-ls flathub
リモートリポジトリからのアプリケーションのみを一覧表示するには、次のコマンドを実行します。
$ flatpak remote-ls flathub --app
8。 flatpakアプリケーションを更新する
すべてのflatpakアプリケーションを更新するには、次を実行します:
$ flatpak update
特定のアプリケーションを更新するには、次のようにします。
$ flatpak update org.gnome.Boxes
9。 Flatpakアプリケーションの詳細を表示する
インストールされているアプリケーションの詳細を表示するには、次のコマンドを実行します。
$ flatpak info org.gnome.Boxes
出力例:
GNOME Boxes - Simple remote and virtual machines ID: org.gnome.Boxes Ref: app/org.gnome.Boxes/x86_64/stable Arch: x86_64 Branch: stable Version: 3.36.6 License: LGPL-2.1+ Origin: flathub Collection: org.flathub.Stable Installation: system Installed: 706.9 MB Runtime: org.gnome.Platform/x86_64/3.36 Sdk: org.gnome.Sdk/x86_64/3.36 Commit: 98c619ed78736e85433bcbecd5c4392ad30d4890a71ddc909f5b4c51dfcde340 Parent: 72ec972e0ce7fdf640f478d406a8acad5f90ebd1f8c0ac330baa7ed3dd5ccd70 Subject: Build vte from git master (a8cf05d9) Date: 2020-09-02 10:02:20 +0000
10。 flatpakアプリケーションをアンインストールする
Flatpakアプリケーションを削除するには、次のコマンドを実行します:
$ sudo flatpak uninstall org.gnome.Boxes
11。リモートリポジトリを削除する
フラットハブなどのリモートを削除するには:
$ sudo flatpak remote-delete flathub
ここでは、フラットハブ リモートの名前です。
12。未使用のランタイムを削除する
特定のランタイムに依存するすべてのアプリケーションを削除した後、ランタイム自体は自動的に削除されません。
インストールされているアプリケーションで使用されていないランタイムと拡張機能を削除するには、次のコマンドを実行します。
$ flatpak uninstall --unused
13。フラットパックキャッシュを削除する
tmp
に残っているflatpakキャッシュを削除するには 場所、実行:
$ sudo bash -c "! pgrep -x flatpak && rm -r /var/tmp/flatpak-cache-*"
systemd
を使用している場合 デフォルトのシステムマネージャーとして、以下のようにフラットパックの残りのキャッシュクリーニングタスクを自動化できます。
clear_flatpak_cache.service
という名前のサービスファイルを作成します /lib/systemd/system/
にあります 次の内容のディレクトリ:
[Unit] Description=Flatpak cache cleaner [Service] ExecStart=bash -c "! pgrep -x flatpak && rm -r /var/tmp/flatpak-cache-*" [Install] WantedBy=multi-user.target
起動時にこのサービスを開始して有効にします:
$ sudo systemctl enable --now clear_flatpak_cache
今後、残りのflatpakキャッシュファイルは起動時にクリアされます。
14。フラットパックのインストールを修復する
無効なオブジェクトを削除して再インストールすることで、flatpakのインストールを修復できます。
これを行うには、次を実行します:
$ flatpak repair
--user
を使用して、ユーザーごとおよびシステムごとの修復を行うこともできます。 および--system
フラグ。
ユーザーごとのインストールを修復する:
$ flatpak repair --user
システムごとのインストールを修復する:
$ flatpak repair --system
15。フラットパックの履歴を表示する
一部のアプリをインストール、更新、または削除した可能性があります。すべてのflatpakトランザクションはflatpakによってログに記録されます。
これらのログを見て、Flatpakのインストールに時間の経過とともにどのような変更が加えられたかを確認できます。
$ flatpak history
16。 flatpakヘルプセクションを表示する
flatpakのヘルプについては、次を実行してください:
$ flatpak --help
このコマンドは、利用可能なすべてのflatpakオプションとサブコマンドのリストを簡単な説明とともに表示します。
結論
このflatpakチュートリアルでは、Flatpakの概要と、ランタイム、リモート、バンドルライブラリ、サンドボックスなどのFlatpakで使用される基盤となるテクノロジーについて説明しました。次に、Linuxディストリビューションにflatpakをインストールして使用する方法についても説明しました。
>おすすめの記事:
- Flatsealを使用してFlatpakアプリの権限を簡単に構成する方法
- Linuxパッケージマネージャーの比較– AppImage vs Snap vs Flatpak