2013-04-01 1 views
92

Я хочу извлечь архив с именем filename.tar.gz.Как извлечь файл filename.tar.gz

Использование tar -xzvf filename.tar.gz не извлекает файл. он дает эту ошибку:

gzip: stdin: not in gzip format 
tar: Child returned status 1 
tar: Error exit delayed from previous errors 
+6

'файл filename.tar.gz' "file" покажет вам формат (если он установлен), если его zip, попробуйте 'unzip' или установите общий распаковщик, например' unp'. – pce

+1

Ошибка означает, что файл не является файлом 'gzip', хотя расширение говорит об этом. Попробуйте 'unzip filename.tar.gz' и' gunzip filename.tar.gz' и посмотрите, что это такое. –

+0

Откуда у вас этот zip-файл? –

ответ

138

Если file filename.tar.gz представляет это сообщение: архив POSIX tar, архив - это tar, а не архив GZip.

Распаковка деготь без z, это для сжата GZIP (сжатого), только:

mv filename.tar.gz filename.tar # optional 
tar xvf filename.tar 

Или попробуйте универсальный распаковщик как unp (https://packages.qa.debian.org/u/unp.html), сценарий для распаковки широкого спектра форматов архивов.

определить тип файла:

$ file ~/Downloads/filename.tbz2 
/User/Name/Downloads/filename.tbz2: bzip2 compressed data, block size = 400k 
+5

Спасибо @pce за вашу поддержку. ваш ответ правильный. 'tar xvf filename.tar.gz'. Меня устраивает. – Kabir

+0

tar xvf hadoop-2.7.2.tar tar: Ceci ne ressemble pas à une archive de type «tar» tar: Arrét avec code d'échec à cause des erreurs précédentes –

10

Насколько я могу сказать, команда правильно, предполагается, что ваш входной файл является действительным сжатыми файлами дегтя. Ваш результат говорит, что это не так. Если вы загрузили файл из Интернета, вы, вероятно, не получили весь файл, попробуйте еще раз.

Без знания источника вашего файла никто здесь не сможет дать вам конкретное решение, просто образованные догадки.

+5

Это заставило меня взглянуть на файл, который я загружал. Это было от apache, и url заканчивается на .tar.gz, поэтому я просто копирую и вставляю его. Тем не менее, эта ссылка не была для tarball, это было для страниц, содержащих зеркала для tarball. Так что в течение 30 минут я пытался развернуть html-страницу. Wtf apache. – eddiemoya

+1

У меня была эта проблема, дважды проверьте, что ваш файл имеет правильный размер, также используйте контрольную сумму, если это возможно. – kiwicomb123

-1

tar.gz является деготь файл внутри файла GZIP, так что первым вы должны распаковать файл GZIP с gunzip -d filename.tar.gz, а затем использовать tar распаковка его. Однако, поскольку gunzip говорит, что он не в формате gzip, вы можете видеть, в каком формате он находится с file filename.tar.gz, и использовать соответствующую программу для его открытия.

0

Проверьте, чтобы файл был заполнен. Это сообщение об ошибке может возникнуть, если вы только частично загрузили файл или имели серьезные проблемы. Проверьте MD5sum.

3

Это случается иногда для файлов, загружаемых с помощью команды «wget». Всего 10 минут назад я пытался установить что-то на сервер с экрана команды, и это случилось. В качестве решения я просто загрузил файл .tar.gz на свой компьютер из Интернета, а затем загрузил его на сервер через FTP. После этого команда «tar» работала так, как ожидалось.

+2

hmm, проверьте журнал wget, возможно, вы были перенаправление или что-то – chrismarx

1

Внутренне tar xcvf <filename> будет называть бинарную gzip из переменных в PATH среды для распаковки файлов в tar архиве. Иногда сторонние инструменты используют собственный двоичный файл gzip, который несовместим с двоичным кодом tar. Это хорошая идея проверить двоичный код gzip в вашем PATH с which gzip и убедиться, что вызывается правильный двоичный код gzip.

0

У меня такая же ошибка результатом команды:

file hadoop-2.7.2.tar.gz 

является hadoop-2.7.2.tar.gz: HTML document, ASCII text

причиной того, что файл не GZIP формат из-за проблемы в результате загрузки или другой.

 Смежные вопросы

  • Нет связанных вопросов^_^