Если посмотреть на ошибку, которую вы видите, в сочетании с тем фактом, что вы действительно можете распаковать, то это говорит о том, что файл является подлинным архивом TAR/Gzip, но, возможно, после Gzip не создается непосредственный TAR.
Это означает, что если вы загрузили это с веб-сервера, иногда Gzip-сжатие get применяется к веб-контенту на уровне сервера для ускорения загрузки контента. Но если на сервере неправильно настроено игнорирование уже сжатого контента, такого как этот, он может непреднамеренно удвоить файлы Gzip.
Имея это в виду, я бы посмотрел, просто ли распаковать его из командной строки, чтобы посмотреть, что произойдет. Используйте команду как это:
gzip -d ldtp_3.5.0.orig.tar.gz
И посмотрите, что это за файл. У меня странное чувство после того, как вы запустите эту команду, вы не увидите ldtp_3.5.0.orig.tar
в каталоге, а скорее файл с именем, подобным источнику - ldtp_3.5.0.orig.tar.gz
- но, возможно, с измененной модификацией ? Если это так, то это действительно двойной Gzipped. Таким образом, на этом этапе - после этого начального un-Gzip - вы можете выполнить команду tar
вас есть, вот так:
tar -xvzf ldtp_3.5.0.orig.tar.gz
И теперь он должен правильно распаковать полный архив TAR.
Другой способ сделать что-то похожее на этот двухэтапный процесс - передать вывод gzip
в tar
следующим образом:
gzip -dc ldtp_3.5.0.orig.tar.gz | tar -xvzf -
c
в gzip
а также -
в конце команды - это ключ:
- Опция
c
для gzip
скажет gzip
распаковать в стандартный поток вывода.
- Команда
-
в конце команды tar
означает «использовать стандартный ввод». Таким образом, в сочетании с параметром -c
в gzip
канал затем берет стандартный поток вывода, передаваемый по нему из gzip
и подключает его к стандартному вводу в tar
.