Мой начальник хотел меня сегодня наказать за самоуверенность, поспорив со мной на 500 рублей насчет того, что хорошо сжимаемые файлы не могут быть записаны на носитель с сжатой файловой системой, если размер файла превышает остаток свободного места на диске.
Мы взяли и создали сжатый раздел NTFS размера 8 Мегабайт (свободного места на нём оказалось 4 Мегабайта) и попытались записать туда XML-файл объёмом 5 Мегабайт (который архиватор RAR ужал до 66 Килобайт, уменьшив размер файла в 78 раз!).
Я не стал спорить, считая это делом излишним, но по факту оказалось, что Windows современных версий не умеет сжимать файлы на лету. А именно, ни один файловый менеджер (ни проводник Windows, ни FAR Manager) не сумел записать несжатый XML-файл в файловый раздел, в который бы уместилась та же самая копия файла, сжатая любым архиватором.
Что же до других операционных систем, ОС Linux имеет функцию сжатия файлов на диске лишь как опцию, не выпущенную в производство (это я уже выяснил, почитав Википедию). Опция представляет собой плагин к файловым системам, например, к ReizerFS4.
Для чего всё это нужно? Для работы 1С. Иногда требуется выгружать из 1С файл действительно большого объема, который содержит в себе целую базу данных или её часть. Хотелось бы иметь возможность «паковать» такой файл на лету, так как этот файл (как мы видели выше) сжимается без потери информации в десятки раз, а занимать этот файл может очень много места на диске.
Отдай начальнику 500 рублей, ты проспорил! 🙂