Я никогда не видел этого раньше (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
В принципе то же самое для любых команд в этом файле.
Есть идеи?
Можете ли вы показать нам вывод «lsattr blah.txt»? Это сообщит нам, какие специальные флаги установлен в этом файле.
Можете ли вы также проверить 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
делает файл полностью защищенным от записи, даже root. Это называется неизменным. Чтобы удалить или изменить, вы должны сначала изменить его на chattr -i file
,