先日ニュースサイトで見たところによると Flatpak というソフトウェアが待望の version 1.0 をリリースしたということでなんか今アツイらしい。
ニュースサイトによれば Flatpak は Linux アプリケーションのパッケージング/サンドボックスフレームワークだそうです。なんのこっちゃ。簡単にいうと Linux 用のデスクトップアプケーション(Gimp や LibreOffice など)を管理するための新しいソフトウェアということの様です。
今まで Linux でアプリケーションをインストールするときは deb パッケージや rpm パッケージを apt や yum を使ってインストールする必要がありましたが、これからは Flatpak がナウいぜと。
Flatpak の何が良いかというと、一つは特定のディストリビューションに依存していないということです。アプリケーションの開発者は Flatpak 用に一度ビルドするだけでよくなります。 deb パッケージや rpm パッケージをわざわざ別個にビルドせずとも、一度のビルドで Ubuntu や CentOS などで動くアプリケーションを作成できます。
というわけで Ubuntu に Flatpak をいれてみます。
手順は以下の通りです。
Flatpak 用のリポジトリを追加してインストールしています。
$ sudo add-apt-repository ppa:alexlarsson/flatpak $ sudo apt update $ sudo apt install flatpak
これだけだとコマンドライン上でしか使用できないので GUI 用のプラグインもインストールします。
$ sudo apt install gnome-software-plugin-flatpak
続いてリポジトリの登録。Flatpak は apt の様にリポジトリからインストールする形式ですが、デフォルトではリポジトリは一切登録されていないため自分で設定が必要です。基本的には事実上のメインリポジトリである Flathub を追加すれば大丈夫と思われます。
$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
再起動すると Ubuntu ソフトウェアから Flathub リポジトリのアプリケーションをインストールできる様になっています。
と思ったんですがなんか途中で止まって動かなくなったのでターミナルからインストールしてみます。
$ sudo flatpak install flathub com.spotify.Client
上の方に permissions とか書かれてますが、これは Flatpak がアプリケーションをサンドボックス上で動作させていて、そのサンドボックスが必要とする権限が一覧で表示されています。サンドボックスは必要最低限の権限しか持たない様になっていて、デフォルトではネットワークやファイルシステムへのアクセスすらできないようになっているみたいです。
Flatpak の二つ目の特長として「バージョン管理」があります。Flatpak は単にアプリケーションがインストールできるだけではなく、各アプリケーションを git の様にバージョン管理しているため、アップグレードだけでなくダウングレードも簡単に可能になります。
以下のコマンドで特定のアプリケーションのバージョン履歴を見ることができ、
$ flatpak remote-info flathub com.spotify.Client --log
コミットIDがわかればそのバージョンに簡単に変更できます。
$ sudo flatpak update com.spotify.Client --commit=b98b05c540d8ec53be98f751344587433f21383381cd0d5e665a66f69d6eabc7
ここら辺はちょっと手探りでやってたのでちゃんと調べたいところですね。