LINUX.ORG.RU

gzip без компрессии - возможно?


0

0

Можно ли заставить GZIP сжимать с уровнем сжатия 0 (ноль)?

Почему надо - одна closed source программа читает известный ей файл, сжатый GZIP, и весит этот файл жуть, а сжимается GZIP очень плохо. Хочу пережать этот файл 7z, чтобы сэкономить место.

Патчи welcome.

Постановка задачи немного непонятна

Ну вообще-то gzip, как и zip позволяет задавать уровень сжатия от 0 (в этом случае gzip работет подобно tar, без сжатия) до 9 (по умолчанию 6). gzip -c -0 my_file > my_file.gz Ну или в .bashrc alias gzip='gzip -0'

kraftello ★★★★★
()
Ответ на: комментарий от Eddy_Em

Я же говорю

Постановка задачи немного непонятна. Что там за прога, и как она на gzip завязана.

kraftello ★★★★★
()
Ответ на: комментарий от Eddy_Em

Не, не делает. Он все-таки пытается сжимать.

Eddy_Em ☆☆☆☆☆
()

tempuser002> closed source программа читает файл, сжатый GZIP
tempuser002> Хочу пережать этот файл 7z

И как эта программа будет читать этот 7z-ипнутый файл?

Можно программе подсунуть named pipe, в который лить gzip-поток из файла 7z

mkfifo known_file.gz
closed_app known_file.gz
7z -c known_file.7z | gzip -c > known_file.gz
sdio ★★★★★
()
Ответ на: комментарий от sdio

Это только для целей архивации, извращаться так не имеет смысла.

Короче, ни у кого идей нет, жаль.

tempuser002
() автор топика

tempuser002> Патчи welcome.
Пиши патч, добавь опцию -0

sdio ★★★★★
()

Извиняюсь

Только добрался домой и озадачился. В нескольких руководствах встречал gzip -0. Действительно, не работает. Может быть ранее была поддержка такой возможности. Впредь наука мне будет, сначала проверять. Извините за самоуверенность. Поискал немного. http://zlib.net.ru/ нашёл

#define Z_NO_COMPRESSION 0

#define Z_BEST_SPEED 1

#define Z_BEST_COMPRESSION 9

Так что такая возможность должна быть. Извините не программист, простой пользователь. Формат для Gzip доступен в спецификации RFC 1952. Боюсь теперь говорить о том, что плохо знаю. Посмотрю gzip.org. Извините ещё раз.

kraftello ★★★★★
()

Хм

'zlib' general purpose compression library version 1.1.4 - The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9: 1 gives best speed, 9 gives best compression, 0 gives no compression at all (the input data is simply copied a block at a time). http://www.gzip.org/zlib/manual.html У меня core/zlib 1.2.4-1 дистр archlinux. Может здесь собака порылась. Нашёл установку zlib 1.1.4 http://www.linux.ru/docs/russian/LFS-BOOK-5.0-HTML/chapter06/zlib.html Сейчас боюсь экспериментировать, двое суток без сна. Наломаю ещё дров. Попробую завтра вечером.

kraftello ★★★★★
()
Ответ на: Xz в чём причина от kraftello

zlib то поддерживает, меня интересует gzip.

Я пытался внутри него разрешить нулевую компрессию - не проканало.

tempuser002
() автор топика

а обычным zip пожать не подойдёт? zlib/gunzip разжимают zip'ы c одним файлом внутри :)

Adjkru ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.