Ошибки ввода-вывода и неделяемые каталоги

Вопрос или проблема

По какой-то неизвестной причине, я не могу удалить 2 каталога.

Первый каталог называется sw.old, он пуст и может быть удален только с помощью rm, так как rmdir не распознает его. Однако, даже после rm, он все еще отображается:

[02:11:36] user@user:/media/user/exthdd/docs$ ls -il
total 1072064
1456 drwx------ 1 user user          0 Aug 12 10:04 1old.or.probably.unfinished
5717 drwx------ 1 user user       8192 Jan 27 22:58 videos
6528 -rw------- 1 user user 1097779088 Nov  5 16:15 release_Remix_OS_for_PC_Android_M_64bit_B2016112101.zip
8008 drwx------ 1 user user       4096 Jan 28 00:55 txt
  64 drwx------ 1 user user          0 Dec 25 22:15 sw.old
[02:12:03] user@user:/media/user/exthdd/docs$ rmdir sw.old/
rmdir: не удалось удалить ‘sw.old/’: Нет такого файла или каталога
[02:12:57] user@user:/media/user/exthdd/docs$ rm -rf sw.old/
[02:13:15] user@user:/media/user/exthdd/docs$ ls -il
total 1072064
1456 drwx------ 1 user user          0 Aug 12 10:04 1old.or.probably.unfinished
5717 drwx------ 1 user user       8192 Jan 27 22:58 videos
6528 -rw------- 1 user user 1097779088 Nov  5 16:15 release_Remix_OS_for_PC_Android_M_64bit_B2016112101.zip
8008 drwx------ 1 user user       4096 Jan 28 00:55 txt
  64 drwx------ 1 user user          0 Dec 25 22:15 sw.old

Второй каталог называется misc и содержит поврежденный файл:

[02:24:32] user@user:/media/user/exthdd/docs/txt$ ls -il
total 0
22607 drwx------ 1 user user 0 Dec 31 16:09 misc
[02:24:36] user@user:/media/user/exthdd/docs/txt$ ls -il misc/
ls: невозможно получить доступ к misc/patterns.mp4: Ошибка ввода/вывода
total 0
? -????????? ? ? ? ?            ? patterns.mp4
[02:24:54] user@user:/media/user/exthdd/docs/txt$ rm -rf misc/
rm: невозможно удалить ‘misc/patterns.mp4’: Ошибка ввода/вывода

Как я могу удалить эти каталоги (и поврежденный файл внутри одного из них) без форматирования?

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

Прежде чем проверять диск и запускать fsck на файловой системе, я бы не рекомендовал пробовать что-либо дальше.

Вы можете проверить, что записывает в это место или файл с помощью lsof. Например:

lsof /media/user/exthdd/docs/

или даже:

lsof / |grep sw.old

Кроме того, вы можете создать резервную копию на отдельном диске или архиве и попытаться исправить основную файловую систему, если повреждения имеют место. Однако это зависит от типа файловой системы и/или конфигурации хранения, которую вы используете.

Ответ или решение

Ошибки ввода-вывода и недоступные для удаления директории

Проблемы, возникшие при попытке удалить директории на внешнем жестком диске, могут говорить о более серьезных неполадках, таких как ошибки файловой системы или недоступность самого устройства. В этом руководстве мы рассмотрим два основных случая, описанных вами: недоступную для удаления пустую директорию sw.old и директорию misc с поврежденным файлом.

1. Проблема с директорией sw.old

Вы столкнулись с тем, что команда rmdir не распознает директорию sw.old, несмотря на то, что она действительно пуста. Это может свидетельствовать о следующих возможных причинах:

  • Ошибки файловой системы: директория могла быть повреждена, что и мешает корректной работе команд rmdir и ls.
  • Проблемы доступа: возможно, имеются ограничения на доступ, которые предотвратили удаление.

Рекомендации:

  • Проверьте состояние диска. Выполните команду fsck для проверки и исправления ошибок файловой системы. Например, используйте команду:

    sudo fsck /dev/sdX

    Замените /dev/sdX на ваш диск. Эта команда может потребовать выполнение в режиме только для чтения, поэтому убедитесь, что диск размонтирован.

  • Перезагрузите систему. Иногда перезагрузка может помочь в устранении временных ошибок.

  • Проверьте активные процессы. Используйте команду lsof, чтобы выяснить, не занята ли директория каким-либо процессом:

    lsof +D /media/user/exthdd/docs/sw.old

2. Проблема с директорией misc

В вашем случае с директорией misc, выдающая сообщение "Input/output error" может говорить о том, что файл patterns.mp4 поврежден, и файловая система не может его корректно обработать.

Рекомендации:

  • Повторное выполнение fsck. Это первый шаг к устранению повреждений файловой системы. Если поврежденный файл мешает работе, возможно, вам нужно будет указать параметры, которые позволят выполнить более глубокую проверку:

    sudo fsck -y /dev/sdX
  • Удаление вручную. Если fsck не поможет, вы можете попробовать удалить директорию с помощью команды rm, добавив --no-preserve-root:

    sudo rm -rf --no-preserve-root /media/user/exthdd/docs/txt/misc
  • Копирование данных. Если у вас есть доступ к надежному хранилищу данных, рекомендуется выполнить полное резервное копирование вашего устройства перед выполнением более агрессивных операций. Это позволит вам сохранить ваши данные в случае критической ошибки.

Заключение

Устранение ошибок ввода-вывода и недоступных директорий требует внимательного подхода и чаще всего связано с проверкой состояния файловой системы и оборудования. Следуйте предложенным шагам, чтобы минимизировать риск потери данных и восстановить доступ к вашим директориям. Если вы не уверены в своих действиях или если ситуация не исправляется, лучше обратиться к специалисту по информационным технологиям.

Оцените материал
Добавить комментарий

Капча загружается...