tar.(gz|bz2)
存档,该存档最大分为200MB。 Clonezilla通过将像这样命名的映像备份进行拆分来实现与此类似的操作:我知道如何使用split
命令,但我不想创建一个大型存档,然后将其拆分为较小的存档,因为这会使我最初创建存档所需的磁盘空间增加一倍。 br /> #1 楼
您可以将tar传递给split命令:tar cvzf - dir/ | split --bytes=200MB - sda1.backup.tar.gz.
在某些* nix系统上(例如OS X),您可能会收到以下错误:
split: illegal option -- -
在这种情况下,请尝试以下操作请注意
-b 200m
):tar cvzf - dir/ | split -b 200m - sda1.backup.tar.gz.
如果碰巧试图将文件拆分为适合FAT32格式的驱动器,请使用4294967295的字节数限制。例如:
tar cvzf - /Applications/Install\ macOS\ Sierra.app/ | \
split -b 4294967295 - /Volumes/UNTITLED/install_macos_sierra.tgz.
要提取文件时,请使用以下命令(自@Naftuli Kay注释起):
cat sda1.backup.tar.gz.* | tar xzvf -
评论
将猫sda1.backup.tar.gz。* | tar xzvf-做这份工作吗?
– Naftuli Kay
13年1月18日在19:45
是的,应该。默认情况下,split设置文件的名称,以便在按LOCALE排序时(通过外壳遍历完成)将以正确的顺序进行。
–jordanm
13年1月18日在19:47
@NaftuliTzviKay在命令行上使用cat可以正常工作。但是,当我使用她的脚本来做同样的事情时,我被错误提示说找不到file.tar.gz. *。
– Vinay
2014年12月8日17:33
如果没有详细说明,只需执行tar czf ...,而不使用v,然后由cat backup.tar.gz。*合并。 tar tar xzf-不使用v。我看不到v在这里输出详细信息的好处。
–LéoLéopoldHertz준영
16年7月9日在12:15
只是通过将Xcode打包到FAT32格式的闪存驱动器上来帮助了一个朋友,方法是:tar cvzf-Xcode.app/ | split -b 2000m-/Volumes/PH/xcode/xcode.tgz(从cd / Applications /使用)非常感谢:)
–ecth
17年12月8日12:06
#2 楼
在macOS上,split
命令的工作原理略有不同:$ tar cvzf - foo | split -b 2500m - foo.tgz.
#3 楼
serega@serega-sv:~$ tar -c -M --tape-length=1024 --file /tmp/pseudo-tape.tar --new-volume-script=/tmp/new-volume.sh --volno-file=/tmp/volno /tmp/stuff-to-archive
tar: Removing leading `/' from member names
moving /tmp/pseudo-tape.tar to /tmp/archive.1
moving /tmp/pseudo-tape.tar to /tmp/archive.2
moving /tmp/pseudo-tape.tar to /tmp/archive.3
您需要一个脚本来自动将伪tape.tar文件移动到新名称:
serega@serega-sv:~$ cat /tmp/new-volume.sh
dir="/tmp"
base_name="pseudo-tape.tar"
next_volume_name=`echo -n "archive."; cat $dir/volno`
echo "moving $dir/$base_name to $dir/$next_volume_name"
mv "$dir/$base_name" "$dir/$next_volume_name"
评论
我没有拒绝您的回答,因为我很高兴看到使用-M --tape-length的答案。但是,此答案不会忽略OP对使用gzip或bzip2压缩的解决方案的要求。
–user6860
18年3月15日在13:28
警告:您不是在谈论tar,而是在谈论名为gtar(GNU tar)的tar克隆。该tar克隆支持创建多卷存档,但是由于错误地声称后续卷不是正确的延续部分,因此有明显的可能性无法/不愿意从这些多卷存档中提取。
–schily
'18 Sep 1'在11:32
#4 楼
只需添加:由于vfat / fat32中允许的最大文件大小为2 ^ 32减1(4294967295字节),因此在此类文件系统上具有最大允许文件大小的split命令为:split -b4294967295 -d my_input_file my_output_file_splitted
评论
相关问题:superuser.com/q/290986/11574