~/
私は私が選択したどこでも完全にサンドボックス化されたディレクトリを使用してFlatpakアプリケーションを透過的に提供したいと思います。
- つまり、サンドボックスが欲しいのです。全体的なこれにより、任意のサブディレクトリへの書き込みが期待どおりに機能し、代わりに外部ディスク(マウントされた場所)
~/
の場所にマッピングされます。/mnt/<disk-id>
~/.var/app/<app-id>
- 理想的には引っ越したいです。みんな特定のアプリケーションのユーザー固有のデータですが、この質問の範囲を制限したいと思います。
--filesystem=<path>
私は任意の場所へのアクセスを許可し、ユーザーの下の~/
さまざまなサブディレクトリを適切なサンドボックスディレクトリにマッピングすることでこれを行うことができることを知っています--persist=<path>
。しかし、これらのオプションのどれも私のユースケースを満たしていないようです。
Flatpakドキュメント(サンドボックス権限そしてフラットパックの適用範囲)はサンドボックスです一時ファイルシステムの使用そして、特定のディレクトリをマウントするためにのみバインドします。特に、flatpak-override --persist
文書これは、データを保持するために個々のサブディレクトリをケースごとにマッピングする必要があることを意味するようです。これに矛盾するのは、サンドボックスの概要~/.var/app/<app-id>
これは、インストールをサンドボックスにのみバインドすると言うようです~/
。後者は実際に起こっているようです。サンドボックスアプリケーションを使用して~/
サンドボックスにマップされていないディレクトリを作成すると、その~/.var/app/<app-id>
ディレクトリが作成され、アプリケーションを再起動しても保持されます。
明らかな行動を考えると、単にマウントを目的の場所にバインドするのは安全ですか?到着する~/.var/app/<app-id>
?私はFlatpakが強力なサンドボックスを作るために後ろから多くのファイルシステムのトリックを書いていることを知っているので、これを盲目的に試すことを躊躇しました。具体的には、サンドボックスファイルシステムをピボットルーティングし、バインドマウントした場所をバインドマウントし(rbind
ここにある必要がありますか)、サブディレクトリで追加のバインドマウントを実行できます(これは次のように機能します)。私のものバンドルのインストール? )そして、私が奇妙で創造的な方法で実行する間接的な効果が弱まる可能性があると懸念される他の予防措置(現在または将来)を取ることができます。