Zstd
如何從 zstd -r folder -o output.zst 引起的單個文件中分離多個文件?
我沒有閱讀足夠的手冊並執行以下命令
$ 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中發布了這個問題,我從Cyan4973學到了以下內容。
所有壓縮幀都只是背靠背儲存在同一個文件 output.zst 中。
雖然至少在理論上有一種方法可以分離每個幀,從而找到每個文件的邊界,但另一個問題是這些幀都不包含文件名,也不包含目錄樹中的位置。所以你最終會得到一堆無名文件。
歸檔的正確方法是將 zstd 與負責保存文件元數據的 tar 結合使用。
目前沒有工具或程序來分離框架。但是有人可以使用
lz4frame.h
.預設情況下,CLI 只會將所有幀背靠背解壓縮到同一個解壓縮文件中……
…自己程式,…使用
ZSTD_decompressStream()
API。