LINUX.ORG.RU

Почему rm -rf не может удалить директорию?

 , ,


0

2

Пишет: «rm: cannot remove ‘build/work/w32/include’: Directory not empty».

При этом:

  • Директория пустая (хотя rm -rf какая разница?).
  • Директория находится в encfs (т.е. после encfs X Y директория находится внутри Y). Пробовал отмонтировать и примонтировать обратно, не помогло. Упомянутая зашифрованная X синхронизируется owncloud. fsck по диску, где находится X, не помог (!).
  • Внутри нет и не было mountpoints или каких-либо специальных файлов типа сокетов, пайпов и т.п.
  • Linux Mint 17.2 Rafaela

Почему такое может происходить?

★★★★★

Последнее исправление: cetjs2 (всего исправлений: 6)

Ответ на: комментарий от anonymous

Другой процесс создаёт в ней файлы?

Нет, вроде, ни в этой директории, ни в зашифрованной. owncloud я остановил.

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от anonymous

И fsck прогони.

Недавно прогонял, и, вроде бы, не происходило ничего, что могло испортить файловую систему (кроме возможного бага в ядре). Через некоторое время смогу перезагрузиться, тогда прогоню ещё раз.

proud_anon ★★★★★
() автор топика
Последнее исправление: proud_anon (всего исправлений: 1)
Ответ на: комментарий от Deleted
$ lsattr build
lsattr: Inappropriate ioctl for device While reading flags on build/work

build/work:
lsattr: Inappropriate ioctl for device While reading flags on build/work/w32

build/work/w32:
lsattr: Inappropriate ioctl for device While reading flags on build/work/w32/include

build/work/w32/include:

lsattr: Function not implemented While reading flags on build/work/w32/Makefile.in

lsattr: Inappropriate ioctl for device While reading flags on build/work/tests

build/work/tests:
lsattr: Inappropriate ioctl for device While reading flags on build/work/tests/scripts

build/work/tests/scripts:
lsattr: Inappropriate ioctl for device While reading flags on build/work/tests/scripts/misc

build/work/tests/scripts/misc:



lsattr: Inappropriate ioctl for device While reading flags on build/work/doc

build/work/doc:

$ lsattr build/work/w32/include
<никакого вывода>
proud_anon ★★★★★
() автор топика

синхронизируется owncloud

Конкретнее. Как синхронизируется?

anonymous
()
Ответ на: комментарий от proud_anon

Мда. Workaround:

ls -il

to find the inode number of the folder
then navigate to the encrypted directory on the underlying fs (reiserfs in my case) and delete the encrypted directory...

The bug is caused because encfs doesn't see any files with «f0», but the files are actually there in the encrypted folder on the underlying fs...

https://bugs.launchpad.net/ubuntu/ source/encfs/ bug/160214

Не оно?

Deleted
()
Ответ на: комментарий от Deleted

Плюсую, поробуй по inode удалить. Или если уж совсем песец - init=/bin/bash, монтируй руками и три чтоб точно никто в системе ничего не делал

upcFrost ★★★★★
()

lsof по поводу этой директории что говорит?

Pinkbyte ★★★★★
()
Ответ на: комментарий от Deleted

Мда...

Ну что же, я нашёл директорию с тем же inode, но удалять постремался, потому что там даты изменения не совпадали.

В итоге просто скопировал всё содержимое расшифрованного представления в другую директорию, удалил там эту директорию и отмонтировал encfs вообще. Буду думать, что дальше делать. Может быть, потестирую, попробую понять, опять ли этот баг возник и при каких условиях он происходит.

Спасибо за ссылку.

proud_anon ★★★★★
() автор топика
Последнее исправление: proud_anon (всего исправлений: 1)
Ответ на: комментарий от prefetch

lsof по поводу этой директории что говорит?

Нет в ней никаких открытых файлов.

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Попробуй выключить и включить компьютер.

Пробовал.

proud_anon ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.