マニュアルを十分に読んでおらず、次のコマンドを実行しました
$ zstd -r folder -o output.zst
次のコマンドは、outputという単一のファイルを返しました。
$ unzstd output.zst
出力ファイルには、フォルダーの下にあるファイルのすべての内容が連結されています。
単一のファイルを複数の元のファイルに連結解除するためのツールまたはプログラムはありますか?
これは私が持っている唯一のバックアップファイルであり、バックアップが必要です。
編集:私が本当に実行すべきだったもの( このスレッド によると)は
# for tar version 1.31 and above
$ tar --zstd -cf output.tar.zst folder
# for tar version < 1.31
$ tar --use-compress-program zstd -cf output.tar.zst folder
また、この質問を zstd github issue に投稿し、 Cyan497 から次のことを学びました。
すべての圧縮フレームは、同じファイルoutput.zstに連続して保存されます。
少なくとも理論的には、各フレームを分離して各ファイルの境界を見つける方法はありますが、別の問題は、これらのフレームのいずれにもファイル名もディレクトリツリー内の位置も含まれていないことです。したがって、名前のないファイルがたくさんあることになります。
アーカイブする適切な方法は、zstdをtarと組み合わせることです。tarはファイルメタデータの保存を担当します。
現在、フレームを分離するためのツールやプログラムはありません。しかし、誰かが_lz4frame.h
_を使用して書くことができます。
デフォルトでは、CLIはすべてのフレームを連続して同じ解凍ファイルに解凍します...
...自分でプログラムし、...
ZSTD_decompressStream()
APIを使用します。