2009-08-25 4 views
9

I очернить каталог с изображениями JPEG:Tar ошибка: Неожиданный конец файла в архиве

tar cvfz myarchive.tar.gz mydirectory 

Когда я распаковку архива:

tar xvfz myarchive.tar.gz 

я получаю ошибку:

tar: Unexpected EOF in archive 

Глядя на выход, он выходит из строя в середине одного изображения JPEG.

Что я делаю неправильно?

+1

У вас закончилось пространство при создании архива? – Eugene

+1

только что испорчен. случается. tar снова – 2013-07-27 04:08:56

ответ

8

Интересно. У меня есть несколько вопросов, которые могут указывать на проблему.

1/Вы раскалываетесь на той же платформе, на которой вы находитесь? Они могут быть разными версиями tar (например, GNU и old-unix)? Если они разные, можете ли вы разогнаться в том же ящике, на котором вы наклеились?

2/Что происходит, когда вы просто запускаете myarchive.tar.gz? Это работает? Возможно, ваш файл поврежден/усечен. Я предполагаю, что вы заметите, что сгенерированные ошибки сжатия, да?

Исходя из источника tar GNU, он будет печатать только это сообщение, если find_next_block() возвращает 0 преждевременно, что обычно вызвано усеченным архивом.

+0

Спасибо за ваш быстрый ответ 1/тот же станок (для целей тестирования): Ubuntu. В конце концов, я хочу разблокировать Mac OS X (ошибка там же ...) 2/gunzip отлично работает Ошибка при создании архива ... – 2009-08-25 04:10:26

+0

Хорошо, удалите нарушающий JPEG временно и посмотрите, что случается. Это даст вам знать, является ли это конкретным JPEG или tar. Также попробуйте без опции zip. – paxdiablo

+0

А, ты поставил меня на правильный путь здесь: архив tar усечен. Я не видел никаких ошибок в моем syslog (архив создается заданием cron), но что-то должно идти не так.На диске много места (когда я создаю архив «вручную», он не усечен) ... Теперь я буду копать глубже, спасибо за ваши ответы. – 2009-08-25 04:39:01

6

Возможно, у вас есть ftped файл в режиме ascii вместо двоичного режима? Если нет, это может помочь.

$ разархивировать myarchive.tar.gz

А затем разархивировать полученный файл гудрон с использованием

$ деготь XVf myarchive.tar

Надеется, что это помогает.

+0

tar xf myarchive.tar давал мне эту неожиданную ошибку EOF. Ваше предложение об использовании tar xvf было полезно - файл trucated по-прежнему попадал в ошибку и останавливался, но эта команда все еще оставила до этой точки. – squarecandy

5

У меня была аналогичная проблема с усеченными файлами tar, создаваемыми заданием cron, и перенаправление стандартного файла в файл исправляло проблему.

От общения с коллегой cron создает трубку и ограничивает объем вывода, который может быть отправлен на стандартную версию. Я исправил мой, удалив -v из моей команды tar, делая ее намного менее подробной и сохраняя вывод ошибки в том же месте, что и остальные мои задания cron. Если вам нужен подробный вывод tar, вам нужно будет перенаправить его в файл.

0

В моем случае я начал разворачиваться до того, как загрузка файла tar завершилась.