Linux como mover um arquivo grande?

2

Eu tinha um arquivo ISO com mais de 4 GB. Quando tentei copiar ou mover o arquivo do meu computador para uma chave USB, lembro de ter recebido um erro sobre o arquivo ser muito grande para o sistema operacional se mover.

Então, eu executei este comando para que o tar fosse dividido em um disk1.tar e um disk2.tar:

tar -c -M --tape-length=2002400 --file=disk1.tar bigfile.iso

Uma vez feito, copiei o arquivo para o USB. Agora, quando tento colocar o arquivo novamente, executei o comando:

tar -x -M --file=disk1.tar

Mas recebo o erro

tar: Archive value 4209604608 is out of off_t range 0..2147483647
tar: Exiting with failure status due to previous errors

Então, minha pergunta é como faço para mover um arquivo grande do meu computador para uma chave USB? Eu até tentei SFTP o arquivo de um servidor para outro, e ele também reclamou sobre o arquivo ser muito grande.

    
por John 25.05.2011 / 02:20

2 respostas

3

Se você tiver uma conexão de rede, faça um pipe ssh.

ssh user@host "cat > file.remote" < file.local

Se você precisar dividir o arquivo para mídia, use split para dividi-lo e cat para reconfigurá-lo.

split -b 1G file.local filexfer
cat filexfer* > file.remote

Note que tudo isso pressupõe que o sistema de arquivos remoto é realmente capaz de armazenar arquivos grandes.

    
por 25.05.2011 / 02:23
3

Não tenho certeza se você pode reformatar a chave USB, mas, se puder, poderá colocá-la nela sem dividir o arquivo. O erro provavelmente ocorreu devido à formatação da chave USB com FAT32, que possui um limite máximo de tamanho de arquivo de 2 GB. Se você formatá-lo com ext3 ou ext4, você poderá gravar o arquivo inteiro em uma única peça.

    
por 25.05.2011 / 02:58

Tags