У меня есть конкретный каталог, в котором я не могу удалить файлы или каталог. Каталог находится в файловой системе ext4 с использованием RAID5 на 3 дисках на QNAP NAS.
С помощью rm -f
дает мне:
rm: unable to stat `file.jpg': Input/output error
А также показывает следующее на dmesg:
EXT4-fs error (device dm-0): dx_probe:933: inode #55050534: block 3591: comm rm: Directory hole found
Поскольку "ошибка ввода / вывода" обычно означает аппаратное обеспечение, я провел несколько тестов, например, то, что я предполагаю, является версией QNAP. fsck
, badblocks
, а также быстрые и длительные тесты SMART на отдельных дисках, плюс очистка рейдов все равно запускается периодически - и все вернулись и сказали, что ошибок нет.
В папке много файлов, так как это черная дыра для тысяч файлов, добавляемых ежедневно / ежечасно (невозможно их засчитать как ls | wc
страдает от ошибок "Ошибка ввода / вывода" и "Обнаружена дыра в каталоге") - поэтому на основе аналогичный столб черной дыры) Я предполагаю, что уничтожил каталог, а не оборудование.
К сожалению, версия find на QNAP не поддерживает -exec
аргумент, и поэтому я не могу попробовать то, что было предложено в этом сообщении.
Вопросы следующие:
Выполните команду ниже внутри этого каталога. По сути, это замена -exec rm {}. Он создаст список файлов внутри каталога и построит несколько команд rm с ограничением аргументов за один запуск, установленным на 10
find ./ -type f|xargs -n 10 rm
Выше будут удалены все файлы в этом каталоге, если это было вашим намерением. Я бы, наверное, сначала попробовал спасти файлы, скопировав их в другой каталог.