tar -c Mensagens de erro e arquivos de origem?

1

Durante uma operação de arquivamento tar com tar -cvf archive.tar source , o arquivo tar resultante que relata um erro file changed as we read it ainda contém "alguma versão" do arquivo de origem que relatou o erro ou abandona completamente o arquivamento desse arquivo de origem seguir em frente?

    
por haziz 02.12.2012 / 20:34

1 resposta

3

tar é para o arquivo tape e é baseado em fluxo. tar não pode retroceder para apagar o que já escreveu. Então, essa mensagem é para te dizer que o que está no arquivo pode não ser consistente, pois mudou enquanto estava sendo escrito.

O que acontece é que, para cada arquivo, tar grava um cabeçalho que inclui o caminho para o arquivo, metadados (propriedade, permissão, tempo ...) e o tamanho ( n bytes) e, em seguida, continua a despejar os bytes n lendo-os no arquivo. Se o tamanho do arquivo for alterado enquanto tar estiver despejando seu conteúdo, tar não poderá voltar e alterar o cabeçalho para dizer, não depois que todo o tamanho não for n , mas p . Tudo o que pode fazer é truncar o conteúdo para n bytes se p for maior que n ou preencher com zeros se for menor.

Em ambos os casos, você receberá uma mensagem de erro.

    
por 02.12.2012 / 20:56