Как извлечь файл filename.tar.gz

120

Я хочу распаковать архив с именем 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
Кабир
источник
10
file filename.tar.gz"file" покажет вам формат (если установлен), если это zip, попробуйте unzipили установите универсальный распаковщик, например unp.
pce
1
Ошибка означает, что файл не является gzipфайлом, хотя об этом сказано в расширении. Попробуйте unzip filename.tar.gzи gunzip filename.tar.gzпосмотрите, что получится.
Макс Леске
1
@Max Leske спасибо за предложение, но когда я попробовал, gunzip filename.tar.gzон выдает сообщение об ошибке:not in gzip format
Kabir
1
@pce file filename.tar.gzвыдает это сообщение: tar-архив POSIX
Кабир
1
Это действительно должно быть на alt.se.unix, а не здесь.
Коул Джонсон

Ответы:

181

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

Распакуйте tar без 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
PCE
источник
7
Спасибо @pce за вашу поддержку. ваш ответ правильный. tar xvf filename.tar.gz, Меня устраивает.
Кабир
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
EL missaoui habib
Спасибо. Ваше решение все еще работает в августе 2018 года. :)
GORILLA
14

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

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

thelr
источник
6
Это заставило меня еще раз взглянуть на загружаемый файл. Это было из apache, а URL-адрес заканчивается на .tar.gz, поэтому я просто скопировал и вставил его. Однако эта ссылка была не для архива, а для страницы со списком зеркал для архива. Итак, 30 минут я пытался распаковать html-страницу. Wtf apache.
eddiemoya
1
У меня была эта проблема, дважды проверьте, что ваш файл имеет правильный размер, также используйте контрольную сумму, если это возможно.
kiwicomb123
7

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

file hadoop-2.7.2.tar.gz

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

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

Эль Миссауи Хабиб
источник
вам удалось разобраться в этом? Здесь такая же проблема.
arilwan
5

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

Волкан
источник
2
хм, проверьте журнал wget, может быть, вас перенаправили или что-то в этом роде
chrismarx
1

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

Антон Пол
источник
0

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

built1n
источник
0

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

mcragun
источник
0

Другой сценарий, который вы должны проверить, - это то, что файл, который вы пытаетесь распаковать, не пустой и действителен.

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

Давид Кастро
источник