После форсирования fsck (с его -f
флагом), и он все еще выглядит чистым ... Номера пользователей / групп необычны, обычно они меньше 10000, я думаю, два миллиарда выглядят неправильно, и они равны нулю байтов .. что-то смешное Могут также быть некоторые расширенные атрибуты, чтобы проверить, если они не работают.
Может быть, попробуйте листинг по индоду
ls -il
а затем удалить с помощью inode с помощью команды find и rm
find . -inum [inode-number] -exec rm -i {} \;
или другой пример рекомендовал некоторые найти "безопасность" и найти -delete
find . -maxdepth 1 -type f -inum [inode-number] -delete
для еще большей «безопасности» сначала проверьте, какой файл найден, опуская -delete, используя «print» по умолчанию
find . -inum [inode-number]
Если они все еще не работают, debugfs
есть некоторые команды, которые должны, и многие из этих команд принимают inode в качестве аргумента
rm pathname Unlink pathname. If this causes the inode pointed to by pathname to have no other references, deallocate the file. This command functions as the unlink() system call.
или, может быть
unlink pathname Remove the link specified by pathname to an inode. Note this does not adjust the inode reference counts.
И даже если расширенные атрибуты вызывают проблемы, вы можете попытаться getfacl
перечислить их и setfacl
изменить, эта -b, --remove-all
опция кажется удобной. Или в attr
пакете есть getfattr
и setfattr
.
Или debugfs также имеет некоторые расширенные команды атрибутов, такие как:
ea_get [-f outfile] filespec attr_name Retrieve the value of the extended attribute attr_name in the file file‐ spec and write it either to stdout or to outfile. ea_list filespec List the extended attributes associated with the file filespec to stan‐ dard output. ea_set [-f infile] filespec attr_name attr_value Set the value of the extended attribute attr_name in the file filespec to the string value attr_value or read it from infile. ea_rm filespec attr_names... Remove the extended attribute attr_name from the file filespec.