Eu posso ter encontrado algo:
O comando ls no OS X tem essa opção:
-O Include the file flags in a long (-l) output.
O resultado é:
$ ls -O Info.plist
-rw-r--r-- 1 root wheel compressed 15730 11 jui 15:02 Info.plist
Acabei de verificar (experimentalmente) que du
sempre reporta 0
para arquivos compactados HFS +.
Copiar arquivos compactados os descompacta; então, logicamente du
informa o arquivo correto em um arquivo copiado e descompactado.
Aqui está uma explicação para o comportamento de du
:
Compressão de arquivos HFS +
In Mac OS X 10.6, Apple introduced file compression in HFS+. Compression is most often used for files installed as part of Mac OS X; user files are typically not compressed (but certainly can be!). Reading and writing compressed files is transparent as far as Apple's file system APIs.
Compressed files have an empty data fork. This means that forensic tools not aware of HFS+ file compression (including TSK before 4.0.0) will not see any data associated with a compressed file!
Há também uma discussão sobre este assunto em Mac OS X and iOS Internals: To the Apple's Core
por Jonathan Levin, no capítulo 16: Para B (-Tree) ou não ser - Os sistemas de arquivos HFS +.
O afsctool também ajuda a ver quais arquivos são compactados em uma pasta.
$ afsctool -v /Applications/Safari.app/
/Applications/Safari.app/.:
Number of HFS+ compressed files: 1538
Total number of files: 2247
Total number of folders: 144
Total number of items (number of files + number of folders): 2391
Folder size (uncompressed; reported size by Mac OS 10.6+ Finder): 29950329 bytes / 34.7 MB (megabytes) / 33.1 MiB (mebibytes)
Folder size (compressed - decmpfs xattr; reported size by Mac OS 10.0-10.5 Finder): 21287197 bytes / 23.8 MB (megabytes) / 22.7 MiB (mebibytes)
Folder size (compressed): 22694835 bytes / 25.2 MB (megabytes) / 24 MiB (mebibytes)
Compression savings: 24.2%
Approximate total folder size (files + file overhead + folder overhead): 26353338 bytes / 26.4 MB (megabytes) / 25.1 MiB (mebibytes)