Параметр '-W' команды rm для macOS — восстановление

Параметр '-W' команды rm для macOS — восстановление

Я просматривал страницу руководства по rmкоманде на моем MacBook и заметил следующее:

-W Попытаться восстановить указанные файлы. В настоящее время эта опция может использоваться только для восстановления файлов, покрытых белыми пятнами.

Что это значит? Что такое «белая мгла»?

решение1

Whiteout — это специальный файл-маркер, размещаемый некоторыми «прозрачными» файловыми системами высшего порядка (теми, которые используют одно или несколько реальных местоположений в качестве основы для своего представления), в частности, объединенными файловыми системами, чтобы указать, что файл, который существует в одном из базовых местоположений, был удален в искусственной файловой системе, даже если он все еще существует в другом месте. Список объединенной файловой системы не покажет закрашенный файл.

Наличие специального типа файла, представляющего эти данные, соответствует традиции BSD, от которой произошла macOS:macOS использует st_modeбиты 0160000 для их маркировки. С использованиемls -F, эти файлы будут отмечены %знаком, иls -Wпокажут, что они существуют(в противном случае они обычно исключаются из списков). Многие системы объединения также создают обычные файлы со специальным именем для представления пробелов в системах, которые не поддерживают эти файлы.

Я не уверен, что macOS сама каким-либо образом раскрывает эти возможности, но другие системы из ее наследия BSD это делают, и вполне возможно, что внешние драйверы файловой системы могут их использовать.

решение2

«Белая мгновенье» — это особенность некоторых объединенных файловых систем.

Если у вас есть файловая иерархия, на которую наложено объединенное монтирование, и файл существует на обоих уровнях полученной видимой файловой иерархии, можно использовать «забеливание» для удаления файла из верхнего уровня, сохраняя его на нижнем уровне (например, с помощью Tipp-ex).

Утилита rmспособна удалить засветку и снова отобразить файл (поскольку он никогда не удалялся из нижней файловой системы).

Связанный контент