Respostas:
Um whiteout é um arquivo de marcador especial colocado por alguns sistemas de arquivos de ordem superior "transparentes" (aqueles que usam um ou mais locais reais como base para sua apresentação), particularmente sistemas de arquivos de união, para indicar que um arquivo existe em um dos os locais de base foram excluídos no sistema de arquivos artificial, embora ainda existam em outros lugares. Listar o sistema de arquivos union não mostrará o arquivo em branco.
Ter um tipo especial de arquivo representando estes está na tradição BSD da qual o macOS deriva: o macOS usa os st_mode
bits 0160000 para marcá-los . Usando ls -F
, esses arquivos serão marcados com um %
sinal e ls -W
mostrarão que eles existem (caso contrário, geralmente são omitidos nas listagens). Muitos sistemas de união também criam arquivos normais com um nome especial para representar apagões em sistemas que não suportam esses arquivos.
Não tenho certeza de que o macOS os exponha de alguma forma, mas outros sistemas de sua herança BSD o fazem e é possível que drivers externos do sistema de arquivos possam usá-los.
Um "whiteout" é um recurso de algum sistema de arquivos da união.
Se você possui uma hierarquia de arquivos que é sobreposta por uma montagem de união e existe um arquivo em ambas as camadas da hierarquia visível de arquivos resultante, um "whiteout" pode ser usado para remover o arquivo da camada superior e preservá-lo na camada inferior (como usar Tipp-ex).
O rm
utilitário pode remover o whiteout e fazer com que o arquivo apareça novamente (pois nunca foi excluído do sistema de arquivos inferior).