Mam folder foo w kontenerze encfs (źródło: / local / home / me / Documents mountpoint: / u / me / Documents), którego nie mogę usunąć.
> pwd
/u/me/Documents
> mount
[..]
encfs on /local/home/me/Documents type fuse.encfs (rw,nosuid,nodev,default_permissions,user=me)
> ls -la foo
drwxr-xr-x 2 me mygrp 4096 Nov 6 10:35 ./
drwx------ 31 me mygrp 4096 Nov 6 10:47 ../
> mv foo bar
> ls -lad bar
drwxr-xr-x 2 me mygrp 4096 Nov 6 10:35 bar/
> rm -rf bar
rm: cannot remove ‘bar’: Directory not empty
> lsof bar
> echo $?
1
> mv bar /tmp
mv: inter-device move failed: ‘bar’ to ‘/tmp/bar’; unable to remove target: Is a directory
> echo "Arghhhhghgh"
Arghhhhghgh
> uname -a
Linux mybox 3.8.0-33-generic #48-Ubuntu SMP Wed Oct 23 09:16:58 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
> stat bar
File: ‘bar’
Size: 4096 Blocks: 8 IO Block: 1048576 directory
Device: 1ch/28d Inode: 81005508 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 4711/ me) Gid: ( 311/ mygrp)
Access: 2013-11-06 10:56:47.594878110 +0100
Modify: 2013-11-06 10:35:10.000000000 +0100
Change: 2013-11-06 10:56:47.591878043 +0100
Birth: -
Kiedy kody wyjścia są inne niż 0, zrobiłem to wyraźnie za pomocą „echo $?”.
EDYTOWAĆ: Po prostu uruchomiłem ponownie skrzynkę, nie zauważyłem tego po zainstalowaniu aktualizacji. Wyniki pozostają takie same. Nawet ponowne zamontowanie nie pomaga. Czy jest jakiś fsck dla encfs?
EDYTOWAĆ: Znalazłem inną potencjalnie użyteczną informację: sam kontener jest synchronizowany przez Drobox. Zidentyfikowałem odpowiedni folder (który ma zaszyfrowaną nazwę pliku) i znalazłem go wewnątrz .dropbox.attr
plik, który zachowuje się tak samo i jest powodem, dla którego uważam, że zamontowany folder nie jest wymienny. Wyłączyłem klienta Dropbox, odmontowałem kontener i nadal nie byłem w stanie go usunąć, ani nawet zmienić jego nazwy! Również chown nie działał. Wszystko poza chmodem daje mi zabronione uprawnienia. Nawet z korzeniem nie mam sukcesu. Plik był plikiem tekstowym, udało mi się go otworzyć:
{"mac": {"com.apple.FinderInfo": {"data": "AAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="}}}
A nawet zmienić zawartość i zapisać ją.
Odpowiedzi:
Sprawdź, czy masz podwójne pozwolenie.
Powodem, dla którego nie mogłem tego usunąć, folder został zamontowany przez NFS, więc mój lokalny root nie był w stanie niczego wykonać. Folder z tym
.dropbox.attr
plik miał tylko prawa do odczytu i wykonania, więcrm .dropbox.attr
nie działał jako zwykły użytkownik.źródło