我有一个超过4GB的ISO文件。 当我试图将文件从我的电脑复制或移动到USB密钥时,我记得有些文件太大而无法使操作系统移动。
于是我运行这个命令让tar把它分解成一个disk1.tar和一个disk2.tar:
tar -c -M --tape-length=2002400 --file=disk1.tar bigfile.iso
完成后,我将文件复制到USB上。 现在,当我尝试将文件重新放在一起时,我运行了命令:
tar -x -M --file=disk1.tar
但是我得到错误
tar: Archive value 4209604608 is out of off_t range 0..2147483647 tar: Exiting with failure status due to previous errors
所以我的问题是如何从我的电脑移动一个大文件到USB密钥? 我甚至尝试从一台服务器到另一台服务器的SFTP文件,也抱怨文件太大。
如果你有一个networking连接,那么只需做一个sshpipe道。
ssh user@host "cat > file.remote" < file.local
如果你需要分割文件的媒体,然后使用split分解和cat融合在一起。
split -b 1G file.local filexfer cat filexfer* > file.remote
请注意,所有这一切都假定远程文件系统实际上能够存储很大的文件。
不知道是否可以重新格式化USB密钥,但是如果你可以的话,你应该能够把它放在那里而不分割文件。 该错误最有可能是由于USB密钥被格式化为FAT32,其最大文件大小限制为2 GB。 如果使用ext3或ext4格式化,则可以将整个文件整体写入。