Interessante. Ho alcune domande che potrebbero evidenziare il problema.
1/ Stai eseguendo il taring sulla stessa piattaforma su cui stai eseguendo il taring? Potrebbero essere versioni diverse di tar
(ad esempio, GNU e vecchio-unix)? Se sono diversi, puoi decomprimere sulla stessa scatola su cui hai tarato?
2/ Cosa succede quando esegui semplicemente il gunzip di myarchive.tar.gz? Funziona? Forse il tuo file è stato danneggiato/troncato. Presumo che noteresti se la compressione genera errori, sì?
Sulla base del sorgente tar GNU, stamperà quel messaggio solo se find_next_block()
restituisce 0 prematuramente che di solito è causato da un archivio troncato.
Ho avuto un problema simile con i file tar troncati prodotti da un cron job e il reindirizzamento dello standard verso un file ha risolto il problema.
Parlando con un collega, cron crea una pipe e limita la quantità di output che può essere inviata allo standard out. Ho risolto il mio rimuovendo -v dal mio comando tar, rendendolo molto meno prolisso e mantenendo l'output dell'errore nello stesso punto del resto dei miei lavori cron. Se hai bisogno dell'output tar dettagliato, dovrai però reindirizzare a un file.
Forse hai ftp il file in modalità ascii invece che in modalità binaria? In caso contrario, questo potrebbe essere d'aiuto.
$ gunzip myarchive.tar.gz
E quindi decomprimere il file tar risultante usando
$ tar xvf myarchive.tar
Spero che questo aiuti.
Nel mio caso, avevo avviato untar prima che il caricamento del file tar fosse completato.