ファイルをアーカイブに保存するための仮想書き込み専用ファイルシステム
非常に多くの(完全ではないが)同一のファイルを大量に作成する、恥ずかしいほど並列処理を行っています。「オンザフライ」でファイルをアーカイブして、データが必要以上のスペースを消費しないようにする方法はありますか? プロセス自体はコマンドラインパラメータを受け入れ、作成された各ファイルの名前をstdoutに出力します。私はそれを呼び出して、parallel --gnu(別のプロセスからの)入力の分散と出力の収集を処理します。 arg_generating_process | parallel --gnu my_process | magic_otf_compressor パイプの最初の部分の簡単な例bash: for ((f = 0; $f < 100000; f++)); do touch $f; echo $f; done どのようにmagic_otf_compressor見えるでしょうか?各入力行をファイル名として扱い、各ファイルを圧縮.tarアーカイブ(処理されたすべてのファイルに対して同じアーカイブ!)にコピーして、それを削除することになっています。(実際には、処理された各ファイルの名前を出力するだけで十分です。別| parallel --gnu rmのファイルがファイルの削除を処理できます。) そのようなツールはありますか?各ファイルを個別に圧縮することは考慮していません。これは、あまりにも多くのスペースを浪費します。私は調べましたarchivemount(ファイルシステムをメモリに保持します->不可能、ファイルが大きすぎて多すぎます)およびavfs(FUSEと連携させることができませんでした)。私は何を逃したのですか? 私はそのようなツールを自分でハッキングすることからほんの一歩ですが、誰かが以前にそれをしたはずです... 編集:本質的に私は標準入力フロントエンドを探していると思いますlibtar(tarコマンドラインから引数を読み取るコマンドラインフロントエンドとは対照的です)。