Driver86
@Driver86
Немодератор toster.ru

Сколько места нужно команде gzip?

Т.е., сначала создаётся копия всех сжимаемых файлов (tar) в один файл, потом этот файл сжимается (gzip). Итого, при сжатии папки весом 1Gb должно быть свободно 1Gb под tar и ещё до 1Gb под gzip.
Итого, для сжатия 1Gb, может потребоваться до 2Gb. Так?
  • Вопрос задан
  • 194 просмотра
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
нет

gzip - потоковый архиватор, он не работает с файлами, он работает с потоками.

tаr сам сжимать не может, опция говорит что нужно передать выходной поток не в файл а в gzip (можно убедиться, что удалив gzip из системы, опция в tar перестанет работать)

Поэтому выход tar перенаправляется в gzip, который на ходу сжимает, и уже пишет в .tgz файл. Промежуточного файла не создается.

P.S. степень сжатия gzip гораздо ниже любого другого архиватора, который имеет возможность проанализировать файл целиком, но именно его архитектурное преимущество и позволяют связке tar+gzip держаться на плаву столько лет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
DjozefonGang
@DjozefonGang
Программист, дизайнер.
Здравствуйте, Сергей!
Прочитайте данную документацию: https://linux-faq.ru/page/komanda-gzip , может что нибудь и найдете для себя.
Ответ написан
Комментировать
fzfx
@fzfx
18,5 дм
gzip не создаёт tar, это делает сам tar.
команде gzip нужно столько места, сколько займёт сжатый файл. если ваш 1 ГБ сжимается плохо - то может потребоваться около 1 ГБ места, если хорошо - меньше.
Ответ написан
Комментировать
@vitaly_il1
DevOps Consulting
Не думаю.
ИМХО, это происходит в памяти, и двойное место не надо.
По крайне мере при "tar cz ...."
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы