Есть ли undeleteable файлы в Linux?

Я никогда не видел этого раньше (20 лет *nix). Я пытался сохранить мой жесткий диск (детали по запросу) и были довольно успешными, за исключением некоторых файлов, которые выглядят так:

$ ls -al
$ ?????????? ?    ?       ?      ? blah.txt

этот файл не зависит от rm, rm-f, shred, mv, chown, chmod или любой другой команды, которую я могу придумать.

пример

# whoami
root

# rm -f blah.txt
rm: cannot remove `blah.txt': permission denied

# ls -la blah.txt
?????????? ?    ?       ?      ? blah.txt

в основном то же самое для любых команд в этом файле.

какие идеи?

3 ответа:

можете ли вы показать нам выход ' lsattr бла.тхт'? Это скажет нам, какие специальные флаги этот файл установил.

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

пример сообщения о повреждении файловой системы может выглядеть так:

[86777.332361] EXT4-fs (dm-0): error count: 436
[86777.332365] EXT4-fs (dm-0): initial error at 1290174395: ext4_mb_generate_buddy:726
[86777.332367] EXT4-fs (dm-0): last error at 1292151653: ext4_mb_generate_buddy:726
[86777.332419] EXT4-fs (dm-8): error count: 1406
[86777.332423] EXT4-fs (dm-8): initial error at 1290623933: ext4_mb_generate_buddy:726
[86777.332425] EXT4-fs (dm-8): last error at 1292168399: ext4_mb_generate_buddy:726

и это означает, что ~86777 секунд с загрузка (эта часть может не отображаться в вашей системе, это зависит от настроек ядра) на моей тестовой машине было две ошибки, относящиеся к файловой системе EXT4.

ваша файловая система повреждена. Fsck, вероятно, поможет.

edit: если вы не используете ReiserFS, в этом случае fsck может повредить его дальше ...

chattr +i file делает файл полностью защищенным от записи, даже корнем. Это называется неизменяемым. Чтобы удалить или изменить, вы сначала должны сделать его изменяемым снова chattr -i file.