1

В моей файловой системе есть каталог. Если я сделаю ls -a в каталоге, я ничего не получу (даже ./ и ../). Если я сделаю rmdir , мне скажут, что каталог не пустой. rm -rf выдает ту же "не пустую" ошибку. Я пытался использовать mv чтобы изменить его имя. Это привело к Input/output error , но, по-видимому, прошло успешно.

Скажи, что мне плевать на содержимое, я просто хочу его почистить. Что я могу сделать?

OSX Tiger, в домашнем каталоге FileVault (если это имеет значение).

РЕДАКТИРОВАТЬ: больше диагностики, как предложено gbarry. Как я уже сказал, mv видимому, был успешным, поэтому каталог теперь называется foo .

$ ls -ld foo
drwxr-xr-x   3 repton  repton  102B May 30  2007 foo/
$ stat foo
234881029 39016 drwxr-xr-x 3 repton repton 0 102 "Jul  9 12:00:10 2009" "May 30 03:24:34 2007" "Jan 21 16:55:53 2008" 4096 0 0 foo
$ file foo
foo: directory
$ du -h foo
  0B    foo

4 ответа4

2

В Tiger диск FileVault является разреженным образом. (После обновления до Leopard это все еще такой разреженный образ, но при создании нового FileVault в Leopard вместо этого вы получите разреженный комплект . Последний лучше работает с Time Machine.)

Вы пытались запустить Дисковую утилиту на этом образе? См. Apple Mac OS X 10.3, 10.4: FileVault - Как проверить или восстановить образ домашнего каталога для получения подробных инструкций. (Или, если по какой-то причине вы не можете использовать это, может быть, hdiutil verify.)

1

Перед удалением спросите, сколько используется (так как оно "не пустое"). Будьте осторожны, это не похоже на ссылку на корневой каталог или что-то в этом роде.

Является ли название каталога разумным или это пустые или смешные символы? Также попробуйте другие команды, чтобы описать это. ls -ld funnydir, stat funnydir и файл funnydir должны сообщать вам "это каталог".

Если действительно что-то не так, fsck или эквивалентная команда "проверить структуру каталогов" может исправить это (как вы можете видеть, я пока мало что знаю о собственно OS X).

1

Вам, вероятно, нужно починить жесткий диск с помощью Дисковой утилиты. У меня была похожая проблема с одним файлом, оставшимся в корзине, даже после принудительного его опустошения (система продолжала говорить, что он использовался). После ремонта диска я смог удалить файл.

0

Вы пытались отключить FileVault, удалить каталог и снова включить FileVault?

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .