При работе с заархивированными файлами в Linux мы можем столкнуться с ошибкой » gzip:stdin: не в формате gzip «. Эта ошибка возникает из-за того, что файл был только заархивирован, а не сжат. Это означает, что файл не сжимается с помощью утилиты gzip, а переименовывается. Прежде чем узнать, как решить эту проблему, сначала мы попробуем разобраться в файлах gzip. Gzip — это сокращение от GNU zip, которое используется для сжатия и распаковки файлов.
В этой статье рассказывается, как решить » gzip: stdin: не в формате gzip » в Linux, и мы также объясним основную причину этой ошибки.
Как исправить gzip: stdin: не в формате gzip в Linux
У нас в системе есть файл с именем «myfile.tar.gz», мы попробуем извлечь файл с помощью команды:
$ tar xvzf myfile.tar.gz
Будет выдана ошибка, что означает, что файл не в формате gzip. Чтобы узнать формат файла, мы будем использовать команду файла:
$ file myfile.tar.gz
Файл myfile.tar.gz находится в формате tar-архива POSIX (GNU) вместо формата gzip. Это означает, что файл был только заархивирован, а не сжат с помощью gzip. Имя файла было изменено путем добавления расширения «.gz». Теперь, когда мы знаем, что этот файл только заархивирован, а не сжат, мы можем извлечь файл, удалив флаг «z», поскольку этот флаг используется только для файлов, сжатых gzip.
$ tar xvf myfile.tar.gz
У нас есть еще один файл с именем «myzipfile.tar.gz», который сжат с помощью утилиты gzip. Попробуем извлечь файл с помощью команды:
$ tar xvzf myzipfile.tar.gz
Файл не вызвал ошибки, потому что файл сжат с помощью утилиты gzip вместо добавления расширения.
Вывод
Ошибка «gzip: stdin: не в формате gzip» возникает, когда файл не в формате gzip. Есть два случая; либо файл только заархивирован и переименован с расширением «.gz», либо файл имеет какой-то другой формат. Gzip используется для архивирования, сжатия или распаковки файлов. В этой статье мы обсудили ошибку «gzip: stdin: not in gzip format» и объяснили на примерах, почему эта ошибка возникает и как ее можно решить.