Как извлечь файл 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

Ответ 1

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

Распакуйте tar без z, он предназначен только для gzipped (сжатый):

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

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

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

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

Ответ 2

Насколько я могу судить, команда верна, АССОЦИАЦИЯ вашего входного файла является допустимым gzipped tar файлом. Ваш результат говорит, что это не так. Если вы загрузили файл из Интернета, вы, вероятно, не получили весь файл, повторите попытку.

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

Ответ 6

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