Назад | Перейти на главную страницу

Ansible: ошибка при попытке разархивировать файл .tar.gz, полученный с помощью модуля get_url.

Я использую Ansible 1.9.4 на виртуальной машине Debian (Jessie 8.2).

У меня есть файл, хранящийся на платформе Google Cloud Platform, который я извлекаю на удаленном компьютере с помощью модуля get_url. Но когда я пытаюсь разархивировать его с помощью gzip, я получаю сообщение об ошибке:

gzip: stdin: not in gzip format

Я могу разархивировать файл перед его загрузкой или получить его через графический интерфейс в консоли разработчика Google.

Вы знаете, что могло вызвать это?

Вместо использования gzip попробуйте использовать tar с gzip флаг.

tar -zxvf myfile.tar.gz

z - с использованием сжатия gzip
Икс - распаковать архив
v - делай это подробно
ж - использовать этот файл

Причина, по которой gzip не работает, заключается в том, что на самом деле у вас есть tarball, сжатый с помощью gzip, вы не можете просто распаковать его, вам также нужно распаковать архив.

Чтобы Создайте а .tar.gz файл, вы снова используете деготь.

tar -zcvf output.tar.gz dir_to_zip/

Опять же, те же флаги, что и раньше, но на этот раз вы будете использовать

c - компресс

В отличие от x который извлекает.