Это может быть несколько причин, по которым TAR будет считаться испорченным. Если бы это был частично завершенный архив, он просто был бы неполным, но, по крайней мере, не TAR до определенного момента. Если file thetarfile.tar возвращает «данные», возможно, это сжатый архив?
Одна идея состоит в том, чтобы видеть, есть ли, возможно, какая-то проблема возврата каретки / разрыва строки. И это может быть решено с помощью dos2unix, утилиты в Linux / Unix, которая преобразует возвраты каретки файлов / переносы строк в разрывы, совместимые с Linux. Чтобы использовать это просто сделайте следующее.
Сначала установите dos2unix . Неясно, на какой системе вы пытаетесь это сделать, но в Ubuntu вы можете запустить эту команду aptitude чтобы установить ее из репозитория:
sudo aptitude install dos2unix
Теперь создайте копию оригинального .tar чтобы проверить его следующим образом:
cp tarfile.tar tarfile_TEST.tar
Теперь с dos2unix просто запустите эту команду:
dos2unix tarfile_TEST.tar
Вывод будет примерно таким:
dos2unix: converting file tarfile_TEST.tar to UNIX format ...
Затем попробуйте распаковать содержимое этого файла TAR следующим образом:
tar -xf tarfile_TEST.tar
Теперь, если вам нужно установить dos2unix в Mac OS X, здесь есть советы, как с этим справиться. Но это все догадка с моей стороны; не углубляйтесь слишком глубоко в эту теоретическую кроличью нору, пока она не покажет себя как истинное решение.