Играя с e2fsprogs debugfs
, случайно / случайно filen/ame
был создан файл с именем . Очевидно, что символ прямой косой черты /
служит специальным символом-разделителем в именах путей.
Все еще используя, debugfs
я хотел удалить файл с именем filen/ame
, но у меня был небольшой успех, так как /
символ не интерпретируется как часть имени файла?
Предоставляет ли debugfs способ удалить этот файл, содержащий косую черту? Если так, то как?
Я использовал:
cd /tmp
echo "content" > contentfile
dd if=/dev/zero of=/tmp/ext4fs bs=1M count=50
mkfs.ext4 /tmp/ext4fs
debugfs -w -R "write /tmp/contentfile filen/ame" /tmp/ext4fs
debugfs -w -R "ls" /tmp/ext4fs
какие выводы:
debugfs 1.43.4 (31-Jan-2017)
2 (12) . 2 (12) .. 11 (20) lost+found 12 (980) filen/ame
Я попытался следующее, чтобы удалить filen/ame
файл:
debugfs -w -R "rm filen/ame" /tmp/ext4fs
но это не сработало и только произвело:
debugfs 1.43.4 (31-Jan-2017)
rm: File not found by ext2_lookup while trying to resolve filename
Помимо изменения содержимого узла каталога вручную, есть ли способ удалить файл, используя debugfs
?
filen\/ame
) не работает?Ответы:
Если вы хотите исправить, а не просто попробовать
debugfs
, вы можете сделать так, чтобы fsck сделал всю работу за вас. Пометьте файловую систему как грязную и запустите,fsck -y
чтобы изменить имя файла:источник
e2fsck
имеет-f
опцию orce, которая приведет к полной проверке «даже если файловая система кажется чистой».Поздравления по работе с fsck; если по какой-то причине это не сработало, за ответом
ls -i1
следует,umount
а затемclri
.Ссылка: http://docstore.mik.ua/orelly/unix/upt/ch23_13.htm
Я на самом деле проверил этот метод.
источник
clri
это не отдельная команда (как в некоторых других системах Unix), это внутренняя подкомандаdebugfs
.Entry 'filen/ame' in / (2) has deleted/unused inode 12. Clear<y>?
вместо того, которое указано в другом ответе - но выполнение clri - это дополнительный шаг. Кажется, не существует способа решить эту проблему исключительно из debugfs.Если вы переместите файл в каталог, вы можете затем удалить каталог с файлом в нем.
источник
/
в нем.