Tar

如何有效地將大型數據集歸檔和壓縮成部分?

  • February 22, 2022

目前使用以下模型,但需要雙倍的磁碟空間來恢復壓縮存檔,因為必須先將所有部分通過管道傳輸到 tar,然後才能刪除它們。

$ COPYFILE_DISABLE=true tar \
 --create \
 --directory ~/data/dataset \
 --use-compress-program lz4 \
 --verbose \
 . | \
 split \
 --bytes 10G \
 --numeric-suffixes \
 - \
 dataset.tar.lz4.part
$ cat dataset.tar.lz4.part* | \
 tar \
 --extract \
 --directory ~/data/dataset \
 --use-compress-program lz4 \
 --verbose

有沒有更有效的模型,可以在解壓縮時刪除部分 FIFO(先進先出)?

你總是可以這樣做:

for part in dataset.tar.lz4.part*; do
 cat < "$part" || break
 rm -f -- "$part"
done |
 tar \
 --extract \
 --directory ~/data/dataset \
 --use-compress-program lz4 \
 --verbose

不要gz為 -compressed 文件使用後綴lz4,這會產生誤導,gz是 for gzip.

引用自:https://unix.stackexchange.com/questions/691758