Как установить gzip windows

Обновлено: 04.07.2024

Термины Редактор: Марина Долгова 13739 3 мин Аудио

Что такое Gzip?

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

Как использовать Gzip?

Чаще всего эту программу применяют для ускорения работы сайтов. Этот процесс достаточно легко описать: например, если пользователь хочет увидеть страницу сайта (размером 100 кб), то в режиме реального времени она сжимается на сервере (например до 50 кб) и передается в браузер пользователя сжатой. Далее браузер распаковывает страницу и показывает пользователю. В итоге мы получаем значительное уменьшение размера страницы, и как следствие более быструю ее загрузку. Но здесь есть одно "но", выигрывая во времени загрузки страницы, мы увеличиваем нагрузку на сервер, т.к. ему нужно обработать операцию сжатия фактически "на лету".

Какие браузеры поддерживают Gzip?

Все популярные на сегодня браузеры поддерживают данную технологию и могут распаковать такие страницы.

Стоит ли мне включать gzip для своего сайта?

На этот вопрос ответ скорее "да", чем "нет". Ведь если ваш сайт (с включенным gzip-архивированием) будет очень сильно перегружать сервер, то часть посетителей попросту не смогут увидеть страницу сайта, на которую они зашли. Им просто будет выдаваться ошибка. Также gzip не всегда дает существенное ускорение загрузки страниц. Это как правило зависит от контента страницы и особенностей сервера на котором находится сайт. В итоге наш вам совет: с помощью сервиса проверки скорости сайта (от Google) измерьте Page Speed своего сайта до включения gzip и после этого. Если разница будет существенной, и Ваш сервер сможет тянуть такую нагрузку (проверить это можно самостоятельно - периодично посещая свой сайт, или же уточнить у хостинг-провайдера), то однозначно нужно использовать данную архивацию на своем сайте.

Как включить gzip сжатие?

Т.к. конфигурации серверов у каждого хостинг-провайдера разные, то нет единого способа включить gzip. Здесь нужно пробовать, т.е. добавлять определенный код в файл .htaccess и смотреть заработало ли ускорение. Посмотреть это можно на этом сайте. Как видно из скриншота, на нашем сайте получилось сжать страницу на 88%.

Результат gzip-сжатия

И так, берем файл .htaccess и добавляем в него такие строки:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
</IfModule>

Если не работает, то пробуем такой код:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
<ifmodule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_item_include file \.js$
mod_gzip_item_include file \.css$ </ifmodule>
</IfModule>
FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch ".(jpg|jpeg|gif|png|ico|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 month"
</filesmatch>
</ifmodule>
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

Также можно попробовать добавить этот код (сообщает серверу, что если есть уже заархивированная копия данных, то заново архивировать не нужно, а следует передать браузеру уже имеющийся архив):

RewriteEngine On
AddEncoding gzip .gz
RewriteCond % gzip
RewriteCond %.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]

Марина Долгова

Задайте его экспертам! Ответ приходит очень быстро и прямо на ваш email.







От панели управления зависит ваше удобство в настройке хостинге\сайта.

Большинство качественных хостингов из нашего ТОПа используют удобные панели управления, поэтому рекомендуем больше внимания уделить другим параметрам при выборе.

Облачный хостинг - распределение нагрузки на несколько серверов, если сервер с вашим сайтом перегружен или не работает. Это гарантия того что пользователи в любом случае смогут видеть ваш сайт. Но это дорогая, более сложная опция, которую предоставляют далеко не все провайдеры.

Виртуальный хостинг - подходит для большинства проектов начального уровня с посещаемостью до 1000 человек в сутки. В таком хостинге мощность сервера делится между несколькими хостинговыми аккаунтами. Услуга проста в настройке даже для новичков.

VPS - подходит для более сложных проектов с достаточно большой нагрузкой и посещаемостью до 10000 человек в сутки. Здесь мощность сервера фиксированная для каждого виртуального сервера, при этом сложность настройки увеличивается.

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

Размещение и обслуживание вашего собственного сервера в дата-центре хостинга - это не очень популярная услуга и требуется в исключительных случаях.

  • Облачный хостинг
  • Виртуальный хостинг
  • VPS/VDS
  • Выделенный сервер
  • Размещение сервера
  • CDN

CMS - это система управления контентом сайта. Хостеры стараются для каждой из них делать отдельный тариф или упрощать установку. Но в целом это больше маркетинговые ходы, т.к. у большинства популярных CMS нет специальных требований к хостингу, а те что есть - поддерживаются на большинстве серверов.

Виртуализация - это создание виртуальной среды на физическом сервере, позволяющая запускать требуемые ПО без затрагивания процессов, совершаемых другими пользователями сервера. С её помощью ресурсы физического сервера распределяются между виртуальными (VPS/VDS). Основные виды: аппаратная (KVM), паравиртуализация, виртулизация на уровне ОС (OpenVZ).

Абузоустойчивый хостинг - компании, которые разрешают размещать практически любой контент, даже запрещенный (спам, варез, дорвеи, порнографические материалы). Такие компании не удаляют контент вашего веб-сайта при первой же жалобе (“абузе”).

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

Безопасный хостинг - тот, где администрация постоянно обновляет ПО установленное на серверах, устанавливает базовую защиту от DDoS-атак, антивирус и файерволлы, блокирует взломанные сайты и помогает их "лечить".

Защита от DDOS - компании, которые предоставляют хостинг с защитой от DDoS-атак. Такие пакеты ощутимо дороже обычных, но они стоят своих денег, так как ваш сайт будет защищен от всех видов сетевых атак.

  • Абузоустойчивый хостинг
  • Безлимитный хостинг
  • Безопасный хостинг
  • Черный список
  • Защита от DDOS
  • Конструктор сайтов
  • Партнерские программы
  • Реселлинг хостинга

Тестовый период - предоставляется хостером бесплатно на 7-30 дней, чтобы вы могли удостовериться в его качестве.

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

Настоятельно рекомендуем не покупать слишком дешевый хостинг! Как правило с ним очень много проблем: сервер иногда не работает, оборудование старое, поддержка долго отвечает или не может решить проблему, сайт хостера глючит, ошибки в регистрации, оплате и т.д.

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

  • Дешёвый хостинг
  • Дешевый VPS-хостинг
  • Цена-Качество
  • Дорогой хостинг
  • Бесплатный хостинг
  • VPS/VDS посуточно

На языке программирования PHP и базах данных MySQL сейчас работает большинство сайтов. Они же поддерживаются практически всеми современными хостингами.

ОС - операционная система, установленная на сервере хостинга. Мы рекомендуем размещать на серверах с Linux, если нет особых требований у разработчиков сайта.

Большинство архивов, с которыми приходится сталкиваться пользователям Windows, имеют формат ZIP, поддерживаемый операционной системой из коробки. Почти столь же часто встречаются архивы RAR, открываемые обычно с помощью сторонних архиваторов. Но может случиться такое, что вам попадется файл TAR.GZ, TGZ или GZ. Архивы этого типа являются столь же популярными как RAR и ZIP, только в среде пользователей Unix-систем, в частности, Linux и MacOS.

Если у вас установлен сторонний архиватор (подойдет даже WinRAR), для просмотра и распаковки unix-архивов можете воспользоваться им. Однако в систему Windows 10 поддержка TAR включена по умолчанию, так что наличие дополнительного ПО в принципе не требуется. Кроме того, в «десятке» есть встроенная подсистема Linux, и если этот компонент активен, то ничто не мешает задействовать его.

Распаковка архива TAR в Windows 10

Итак, у вас есть архив TAR (или его модификация), из которого необходимо извлечь содержимое. Откройте от имени администратора классическую командную строку и выполните в ней команду следующего вида:

tar -xvzf [путь к архиву] -C [путь к целевой папке]

Команда для распаковки архива tar с помощью консоли Windows 10

Путь указываем полный и без скобок. Архив будет распакован в указанное расположение, а список содержащихся в нем файлов отобразится в консоли. Приведенный здесь способ, однако, работает не во всех версиях «десятки», а только в сборках начиная с Windows 10 1809 и далее.

Если у вас включена подсистема Linux, можете использовать для распаковки TAR.GZ, TGZ и GZ-архивов установленные дистрибутивы Linux. Рассмотрим пример с Ubuntu. Запустив ее из меню Пуск, выполните в открывшейся консоли такую команду:

sudo tar -xvzf /mnt/[путь к архиву] -C /mnt/[путь к целевой папке]

Использование подсистемы Linux для распаковки архивов tar

Похоже, не правда ли? Нужно только добавить sudo и /mnt/ к началу пути, конечный результат будет тот же, что и при распаковке архива в среде Windows 10. Кстати, для отключения вывода списка извлекаемых файлов достаточно убрать аргумент v из набора ключей -xvzf. И еще одно маленькое, но важное замечание. В путях Windows допускается использовать как строчные, так и прописные буквы, ничего от этого не меняется. В Linux так делать нельзя, поскольку эта система чувствительна к регистру, а, значит, c/User и c/user в ней будут разными путями.

Если имя сжатого файла слишком длинное для файловой системы, где он находится, gzip урезает его. Gzip пытается укоротить только те части имени файла, которые длиннее 3 символов (на части файл разбивается точкой). Если имя файла состоит только из коротких частей, укорачиваются только самые длинные части. Например, если имя файла ограничено 14-ю символами, gzip.msdos.exe сжимается в gzi.msd.exe.gz. Имена не укорачиваются на файловых системах, не имеющих ограничения по длине имени файла.

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

Сжатые файлы могут быть восстановлены в первоначальное состояние командой gzip -d или gunzip или zcat. Если оригинальное имя файла, сохранённое в архиве, не допускается файловой системой, в которой он находится, то ему даётся новое имя из первоначального по правилам этой системы.

gunzip берёт список файлов из командной строки и заменяет каждый файл с расширением .gz, .z -gz, -z, or _z нераспакованный файл без оригинального расширения, который начинается с корректного магического числа. gunzip также распознаёт специальные расширения .tgz и .taz как сокращения от .tar.gz и .tar.Z соответственно. Сжимая файл, gzip по необходимости использует расширение .tgz вместо усечения имени у файла с расширением .tar.

Gzip использует алгоритм Лемпеля-Зива, применяемый в zip и PKZIP. Получаемая величина сжатия зависит от размеров входных данных и количества повторяющихся байтовых последовательностей. Текстовые данные, такие как исходные коды или просто тексты на английском языке, в среднем сжимаются на 60-70%. Сжатие обычно получается гораздо лучше, чем при использовании алгоритма LZW (используется в compress), кодировании Хаффмана (используется в pack) или адаптивном кодировании Хаффмана (compact).

Сжатие осуществляется всегда, даже если запакованный файл получается немного больше оригинала. В наихудшем случае размер файла увеличивается на несколько байт для заголовка gzip, плюс по 5 байт на каждый блок размером 32 Кб, что составляет 0.015% на больших файлах. Обратите внимание, что фактическое число занятых файлом блоков на диске практически никогда не увеличивается. gzip при сжатии/распаковке сохраняет права доступа, владельцев и временные метки файлов.

Пример работы

Обязательные аргументы длинных опций обязательны для коротких команд тоже.

После исполнения команды 'gzip -v texinfo.tex' :

texinfo.tex: 71.6% -- replaced with texinfo.tex.gz

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

Вызов gzip

gzip поддерживает следующие опции:

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

--decompress
--uncompress
-d
Распаковка.

Для каждого запакованного файла выводит список состоящий из следующих полей:

comressed size: размер запакованного файла
uncompressed size: размер распакованного файла
ratio: отношение паковки (0.0% если не известно)
uncompressed_name: имя не распакованного файла

zcat file.Z | wc -c

method: метод паковки (deflate,compress,lzh,pack)
crc: 32 битная CRC у распакованных данных
date&time: дата и время модификации распакованного файла

CRC вида ffffffff выдается для файлов не gzip формата.
С опцией --verbose общий размер и отношение паковки показываются также для всех
файлов, даже если некоторые размеры неизвестны. С опцией --quiet заголовок и итоговые строки не отображаются.
gzip формат имеет размерный модуль 2^32, так что соотношение размера несжатых и сжатых файлов отображается неверно для несжатых файлов размером больше 4 GB. Чтобы обойти эту проблему, вы можете использовать следующую команду, чтобы отыскать размер большого несжатого файла:
zcat file.gz | wc -c

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

--suffix suf
-S suf

gunzip -S "" * (*.* for MSDOS)

Проверка.Проверяет целостность архивного файла.

Отображает имя и процентное отношение паковки для каждого файла.

Версия. Отображает номер версии и опции компиляции после чего завершает работу.

Использование для продвинутых

Несколько сжатых файлов можно объединить в один. В этом случае gunzip распакует все файлы одновременно. Если один из файлов окажется поврежденным, то другие файлы могут быть восстановлены после удаления поврежденного. Лучшее сжатие может быть также достигнуто, если все файлы будут распакованы и затем перепакованы все вместе одновременно.

В случае повреждения одного элемента файла «.gz», другие элементы все еще могут быть восстановлены (если поврежденный элемент удален). Однако вы можете улучшить сжатие, сжав сразу все элементы:
cat file1 file2 | gzip > foo.gz

Коэффициент сжатия в этом случае будет лучше, чем при использовании команды:
gzip -c file1 file2>foo.gz

Если вы хотите перепаковать объединённые файлы для достижения большего сжатия, выполните:
zcat old.gz | gzip > new.gz

Если в архиве несколько файлов, то размер несжатых данных и CRC, показываемые по опции -list, относятся только к последнему файлу. Если вам нужен несжатый размер всех файлов, можно использовать:
zcat file.gz | wc –c

Если вы хотите создать единый архив с множеством файлов так, чтобы их потом можно было извлечь независимо друг от друга, используйте другие архиваторы, такие как tar или zip. GNU tar поддерживает опцию -z, по которой вызывается непосредственно gzip. gzip создан как дополнение к tar-у, а не как замена.

Окружение

Переменная окружения GZIP может содержать набор опций по умолчанию для gzip. Эти опции обрабатываются первыми и могут быть переопределены явным их указанием в командной строке. Так как это может вызвать проблемы при использовании скриптов, эта функция может быть использована, где не вызовет большого вреда и gzip предупредит в этом случае. Эта функция будет удалена в последующих релизах gzip.

Использование 'gzip' с ленточными накопителями.

Диагностика

Код возврата в нормальной ситуации равен 0. Если возникла ошибка, код возврата 1. Если вышло предупреждение, код возврата 2.

Предостережения

для sh: GZIP="-q" tar -xfz --block-compress /dev/rst0
для csh: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0
В приведённом примере gzip неявно вызывается ключом -z в GNU tar. Имейте в виду, что для записи и чтения архива с ленты необходимо использовать один и тот же размер блока (опция -b в tar). (Этот пример подразумевает, что вы используете версию tar от GNU.)

Ошибки


Обычно файлы tar обычно используются пользователями Ubuntu (других дистрибутивов Linux) и macOS для архивирования и резервного копирования данных. Однако пользователи Windows 10 также могут столкнуться с этими файлами, что является причиной для извлечения их содержимого.

Хотя вы можете использовать сторонние приложения (такие как 7-Zip и PeaZip), эти приложения не всегда работают должным образом с архивами, созданными на другой платформе, и они медленно распаковывают большое количество файлов. Однако теперь Windows 10 включает встроенную поддержку файлов tar, и вы можете использовать командную строку для извлечения этих файлов. Или вы даже можете использовать подсистему Windows для Linux (WSL), которая включает встроенную поддержку Ubuntu , Fedora, SUSE и многих других дистрибутивов. Следовательно, вы также можете получить доступ ко многим инструментам Linux, включая tar, для быстрого извлечения содержимого из архивов tar.

В этом руководстве вы узнаете, как использовать собственные команды tar в Windows 10 с помощью командной строки и Ubuntu для извлечения содержимого файла .tar.gz.

Извлечение архивов .tar.gz, .tgz, .gz с помощью tar в Windows 10

Чтобы извлечь файлы .tar.gz, .tgz, .gz, а также .zip с помощью tar в Windows 10 , выполните следующие действия:

  1. Откройте Пуск в Windows 10.
  2. Найдите командную строку, щелкните правой кнопкой мыши верхний результат и выберите параметр «Запуск от имени администратора».
  3. Введите следующую команду, чтобы использовать tar для извлечения файлов, и нажмите Enter:

Совет: обязательно обновите синтаксис команды, включив в нее исходный и целевой пути. Кроме того, поскольку вы используете tar в Windows 10, вам не нужно указывать путь, как если бы вы работали в Linux. Вы можете использовать формат пути, используемый Windows.

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

Предполагается, что вы распаковываете архив, созданный в другой системе. Мы пропускаем некоторые аргументы, которые обычно необходимы для сохранения разрешений, которые в Windows 10 не нужны для доступа к файлам.

Извлечение архивов .tar.gz, .tgz, .gz с использованием tar в Linux в Windows 10

В Windows 10, чтобы использовать tar в Linux, вам необходимо установить подсистему Windows для Linux (WSL) и такой дистрибутив, как Ubuntu, из Microsoft Store.

Чтобы извлечь файл .tar.gz с помощью Linux в Windows 10, выполните следующие действия:

  1. Откройте Пуск.
  2. Найдите Ubuntu и щелкните верхний результат, чтобы открыть приложение.
  3. Введите следующую команду, чтобы извлечь содержимое файла .tar.gz, и нажмите Enter:

В приведенной выше команде мы вводим команду sudo для запуска приложения от имени администратора, tar для вызова приложения, а затем передаем ему некоторые аргументы, в том числе:

Затем вам нужно указать путь к архиву, который вы хотите распаковать. Вы заметите, что путь начинается с /mnt/c/, а не с «c:\И» потому, что мы действительно работаем в мире Linux.

В этом руководстве мы рассмотрим основные шаги для выполнения конкретной задачи. Если вы не являетесь пользователем Linux, о tar можно узнать гораздо больше. Вы можете узнать больше об этом инструменте в консоли Ubuntu, набрав tar --help .

Читайте также: