Извините, этот пост немного длинный. Если коротко, то у меня есть каталог, который я не могу удалить. Терминал выдает "ошибку ввода/вывода", когда я пытаюсь с ним взаимодействовать. Я просканировал диск на наличие ошибок, но ни одной не нашел. Похоже, корень проблемы в том, что система считает это ссылкой, хотя на самом деле это каталог. Как мне его удалить?
Режим истории: У меня есть каталог под названием "media" на рабочем столе, в который я смонтировал другой каталог через SSH (fuse/sshfs). Соединение было потеряно, пока каталог был открыт. Finder рухнул, и каталог исчез с рабочего стола. Однако он все еще там:
Desktop mike$ ls -1
media
templates
Desktop mike$ mkdir media
mkdir: media: File exists
Почти все, что я пытаюсь сделать с каталогом, приводит к ошибке «ввода/вывода»:
Desktop mike$ ls -i
ls: media: Input/output error
Desktop mike$ sudo rm -rf media
rm: media: Input/output error
Desktop mike$ sudo unlink media
unlink: media: Input/output error
Desktop mike$ sudo chmod 777 media
chmod: media: Input/output error
Desktop mike$ touch media
touch: media: Input/output error
cd ./media
cd: error retrieving current directory: getcwd: cannot access parent directories: Input/output error
То же самое происходит, если я пытаюсь перемонтировать удаленный каталог SSH:
предохранитель: плохая точка монтирования `./media/': Ошибка ввода/вывода
Даже если он не виден на рабочем столе или в Finder, я могу выполнить поиск и найти его. Щелчок правой кнопкой мыши по результату поиска не предлагает опции удаления — только открыть и свойства. Свойства показывают время создания и изменения (правильно) и пустой значок. Я также могу выбрать открытие элемента, в этом случае он дает мне:
"The alias 'media' can't be opened because the original item can't be found. Delete, Fix, or OK."
Когда я пытаюсь удалить, тот же самый диалог снова появляется; при выборе исправления предлагается выбрать новый элемент для ссылки. При выполнении этого выводится сообщение: «Неизвестная ошибка -1407», что, по словам Google, означает «Ожидается папка, но получен файл».
Я могу переместить каталог, но только если оставлю его на рабочем столе:
Desktop mike$ mv ./media ./a
Desktop mike$ ls -i
ls: a: Input/output error
Desktop mike$ mv ./a ../
mv: cannot resolve a: /Users/mike/Desktop/a
Можно ли как-то удалить это? Или хотя бы убедить систему, что это каталог, а не ссылка?
решение1
Извините, что не обновил после решения этой проблемы. Я ценю все обоснованные ответы. Оказывается, это было довольно просто. Просматривая доски объявлений Linux, я обнаружил, что это своего рода известная проблема с монтированием через sshfs.
https://bbs.archlinux.org/viewtopic.php?id=94725
Я столкнулся со всеми проблемами, описанными автором в этой теме, плюс проблема с тем, что Finder скрывает точку монтирования (возможно, он не может ее stat или что-то в этом роде, поэтому просто не показывает ее). "...процессы, пытающиеся получить доступ к отключенным общим ресурсам sshfs, переходят в непрерываемый сон". Быстрое решение — остановить sshfs. Мне было достаточно "killal sshfs". Полагаю, перезапуск тоже сработал бы.
решение2
Я только что столкнулся с той же проблемой. Оказывается, это в настоящее время указано какошибкана osxfuse. Обходной путь заключается в ручном завершении процесса sshfs и последующем размонтировании удаленного каталога. После этого вы даже можете удалить локальную точку монтирования.
решение3
Полагаю, причина, по которой вы не можете выбрать «Восстановить диск» в Дисковой утилите, заключается в том, что проблема находится на вашем загрузочном диске.
Я бы порекомендовал один из следующих вариантов:
- Если вы используете OS X Lion (10.7), загрузитесь с раздела восстановления (удерживайте CMD-R при запуске машины), запустите оттуда Дисковую утилиту и попробуйте восстановить диск;
- Если у вас старая версия OS X, вы можете либо загрузиться с внешнего диска, либо установитьЭпплДжек(бесплатное ПО);
- Если ничего не поможет, я бы попробовалDiskWarrior(не бесплатный, но все же это инструмент, которому я доверяю больше всего, когда дело касается моих данных).