LINUX.ORG.RU

gzip не хочешь сжимать

 , ,


0

1

Добрый день! На одном из новых vds необходимо было запаковать да и сжать директорию весом в 31 G. При команде tar -zcvf /path/file.tar.gz /path/dir конечный файл получается максимум на 1 гиг меньше) -j собственно почему то не сильно лучше его жмет, хотя времени тратит прилично.

Пробывал с конвейером задавать gzip-у степень сжатия, tar ругался на пустой архив и отказывался паковать. Собственно интересует, можно ли выставить другие степени сжатия по умолчанию для gzip или bzip2 чтоб не прописывать их в ручную и запускать просто tar-ом и где искать их конфиги? Также нигде не нашел инфы по тому, могут ли они сжать файлы rar например которые были без сжатия и насколько падает эффективность в зависимости от того что сжимаешь. Если у кого есть ссылка на материал буду очень признателен.



Последнее исправление: nairon (всего исправлений: 1)

Если данные в принципе сжимабельные, то лучше XZ_OPT=-e9 tar cJf tarfile.tar.xz directory ты не найдёшь для экономии места.

anonymous
()
Ответ на: комментарий от nairon

*.pdf

Сжимается очень плохо.

*.pptx

Не в курсе.

*.doc

Сжимаются плохо.

*.zip

Почти не сжимается.

*.rar

Совсем не сжимается.

*.php

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

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

Уже сжатые данные сжимаются практически никак. Бинарные данные хорошо жмутся только если там нули или повторения. Для нулей можно и тупо дырки пробить в файлах, лучше будет (собственно cp и пробьёт тебе дырки, во всяком случае на ext4).

anonymous
()
tar -zcv /path/dir | gzip -9 > /path/file.tar.gz 
tar -zcv /path/dir | bzip2 > /path/file.tar.bz2 
tar -zcv /path/dir | pbzip2 > /path/file.tar.bz2 

Второй вариант очень медленный, имей ввиду.

для последнего варианта надо ставить параллельный бзип, он жмёт почти так-же хорошо, но в <число процессоров> быстрее.

Также у tar есть опция --use-compress-program=COMMAND

Файлы, сраренные без сжатия жмутся так-же, как и несраренные. Если рар не зашифрован, конечно. Шифрованное не жмётся.

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

jpg

Уже сжато же, причём гораздо больше чем возможно было бы зипом.

anonymous
()

вам нужно к Бабушкину обратиться - он знает как сжимать точно

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

Спасибо большое за ваши ответы!

Насчёт вот этого

tar -zcv /path/dir | gzip -9 > /path/file.tar.gz 
tar -zcv /path/dir | bzip2 > /path/file.tar.bz2 
tar -zcv /path/dir | pbzip2 > /path/file.tar.bz2 

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

nairon
() автор топика
Ответ на: комментарий от nairon

*.pptx и прочие *.docx — это zip архивы.

Используй zstd, хоть быстрее будет.

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

pdf, doc, jpg — как уже сказали выше, практически не жмутся.

Т.ч. всякими медленными bz2 можешь даже не заморачиваться. Умолчальный gzip в таких случаях самый быстрый и приемлемый вариант.

beastie ★★★★★
()

Я из секты «не юзай gzip». Не юзай gzip для архивов. То, что сделано для потока, не достойно сжимать архивы. Рабочее решение - squashfs.

а по теме уже сказали все.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от r3lgar

*.docx, *.xlsx, *.pptx и прочие подобные - это zip со средней степенью сжатия. По крайней мере ручное пережатие в zip даёт меньший размер в итоге.

Radjah ★★★★★
()
Последнее исправление: Radjah (всего исправлений: 1)
Ответ на: комментарий от anonymous

Если добавить T то можно в мультипотоке пускать, будет быстрее на n ядер, качество незначительно хуже (во всяком случае по аналогии с pigz). Наверно e оверкил, слишком медленно.

anonymous
()
Ответ на: комментарий от beastie

С docx не путаешь? Только что проверил у себя — прекрасно жмутся.

И «классический» doc файл — это файловая система, а не архив.

https://habr.com/post/110019/

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