Сжатие файлов на томах HFS+ в Snow Leopard

В Snow Leopard появилась поддержка сжатия на уровне файловой системы — HFS+ compression. Сжатие и распаковка данных происходит полностью прозрачно для всех программ, которые обращаются к таким файлам.

Текущий интерфейс Файндера или какой-либо другой системной программы с GUI не позволяет управлять компрессией. Однако, Apple все же предоставила способ сжимать и распаковывать файлы через командную строку.

У команды ditto в 10.6 появилось несколько опций. Например,

—hfsCompression

When copying files or extracting content from an archive,if the destination is an HFS+ volume that supports compression, all the content will be compressed if appropriate. This is only supported on Mac OS X 10.6 or later, and is only intended to be used in installation and backup scenarios that involve system files. Since files using HFS+ compression are not readable on versions of Mac OS X earlier than 10.6, this flag should not be used when dealing with non-system files or other user-generated content.

Значит, чтобы включить сжатие HFS+, нужно всего лишь выполнить в командной строке

ditto --hfsCompression [src] [dst]

В качестве [src] указывается файл или папка, которая будет сжиматься, а [dst] — путь, где будут размещены сжатые файлы. Команда не заменяет файлы, а создает их сжатые копии в другом месте.

Внимание! Нельзя сжимать файлы, если необходимо подключать этот том в предыдущих версиях Mac OS X. Старые версии не повредят такие файлы, так как они просто не будут доступны для чтения.

На практике выходит не плохая экономия места. Например, сжав папку Developer с загруженной документацией, удалось высвободить около 3Гб (это около 40% от исходного объема) на диске.