tar retorna o erro mas ainda descompacta o arquivo mesmo que “tar --no-ignore-command-error -xvzf file.tar.gz” seja usado

0

Eu tenho um arquivo corrompido chamado file.tar.gz e quero que a extração dele falhe. Eu usei tar --no-ignore-command-error -xvzf file.tar.gz , mas ainda extrai os arquivos e ignoro os erros:

[root@SmartSwitch zconf]# tar --no-ignore-command-error -xvzf a.tar.gz
gzip: crc error
gzip: error inflating
DBversion
License
textual_db.txt
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
    
por CIsForCookies 15.10.2018 / 10:51

1 resposta

1

Quando você extrai um arquivo compactado, o GNU tar executa gzip -d para descompactar os dados. Se o arquivo estiver corrompido de forma que gzip não possa descompactá-lo corretamente, você receberá gzip erros como os que você relatou na pergunta.

tar lerá os dados que gzip descomprimir com êxito e sairá quando esses dados forem processados (com um erro se o final do arquivo descompactado ocorrer inesperadamente, como você mostra).

A opção --no-ignore-command-error (que é definida por padrão) é útil principalmente junto com a opção --to-command=utility , e de acordo com o manual , especialmente se você tiver --ignore-command-error como parte da variável de ambiente TAR_OPTIONS .

Não está claro se --no-ignore-command-error e --ignore-command-error têm algum efeito nos processos filhos não iniciados por --to-command=utility .

    
por 15.10.2018 / 11:04