%3F.png)
Estou usando o btrfs
sistema de arquivos experimental.
Meu diretório está assim:
ls -la empytfolder
total 4
drwxr-xr-x 1 root root 0 19. Mär 14:00 .
drwxr-xr-x 1 root root 298 19. Mär 13:59 ..
Tento removê-lo, rm -rf emptyfolder
mas dá o erro rm: cannot remove directory: directory not empty?
Como posso remover/excluir minha pasta vazia? Por que tenho 4 arquivos nesta pasta? Estou tentando excluí-lo como usuário root. Meu sistema de arquivos é btrfs.
stat emptyfolder
me dá:
Datei: „emptyfolder“
Größe: 0 Blöcke: 0 EA Block: 4096 Verzeichnis
Gerät: 21h/33d Inode: 256 Verknüpfungen: 1
Zugriff: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Zugriff : 2012-03-19 14:00:28.205205566 +0100
Modifiziert: 2012-03-19 14:00:23.925025572 +0100
Geändert : 2012-03-19 14:00:23.925025572 +0100
Geburt : -
Tenho alguns problemas com o relógio do meu sistema. Às vezes está mostrando a hora errada.
$ lsof +D emptyfolder
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/user
/.gvfs Output information may be incomplete.
O que é esse daemon gvfs-fuse? Como posso excluí-lo?
Eu tentei fuser -uv /dev/disk sem sucesso. Não há nenhum processo acessando a pasta. Mudei a pasta para tmp.
Responder1
Perguntas frequentes sobre Btrfs - Não consigo excluir um diretório vazio:
Primeiro caso, se você pegar:
rmdir: failed to remove ‘emptydir’: Operation not permitted
então provavelmente é porque "emptydir" é na verdade um subvolume.
Você pode verificar se este é o caso com:
btrfs subvolume list -a /mountpoint
Para excluir o subvolume você terá que executar:
btrfs subvolume delete emptydir
Segundo caso, se você pegar:
rmdir: failed to remove ‘emptydir’: Directory not empty
então você pode ter um diretório vazio com um i_size diferente de zero.
Você pode verificar se este é o caso com:
stat -c %s emptydir 3196 <-- unexpected non-zero size
A execução
btrfs check
nesse sistema de arquivos (desmontado) confirmará o problema e listará outros diretórios problemáticos (se houver).Você obterá uma saída semelhante (trecho):
checking fs roots root 5 inode 557772 errors 200, dir isize wrong root 266 inode 24021 errors 200, dir isize wrong ...
Esses erros devem ser corrigíveis,
btrfs check --repair
desde que você execute uma versão recente o suficiente do btrfs-progs.Observe que isso
btrfs check --repair
não deve ser usado levianamente, pois em alguns casos pode piorar o problema em vez de consertar alguma coisa.
Responder2
Eu tive sintomas semelhantes com uma partição btrfs e
btrfs check --repair /dev/sdXY
resolveu o problema para mim. Os erros encontrados foram do tipo:
root X inode Y errors 200, dir isize wrong
e
root X inode Y errors 80, file extent overlap
O segundo tipo de erro permaneceu mesmo após o reparo, o que começou a me preocupar.
Responder3
Tive esse problema com um diretório órfão em uma caixa ReadyNAS. O compartilhamento não estava mais visível na GUI, mas o diretório abaixo de /data existia até agora. Então, eu queria remover esta pasta, mas o rmdir não funciona.
Eu apaguei instantâneo por instantâneo
cd /data
btrfs subvolume delete ./VirtualBox1/.snapshots/309/snapshot
...
btrfs subvolume delete ./VirtualBox1/.snapshots/2/snapshot
btrfs subvolume delete ./VirtualBox1/.snapshots/1/snapshot
btrfs subvolume delete ./VirtualBox1/.snapshots
Depois de excluir todos os instantâneos, consegui remover a própria "pasta"
btrfs subvolume delete ./VirtualBox1
Responder4
Tente cd
sair do vazio e executá lsof +D /path/to/emptydir
-lo para ver o que está aberto. Dependendo de qual é o diretório e como é usado, talvez algo esteja abrindo e fechando o diretório muito rápido e você simplesmente o detecta quando ele não contém nada ao executar ls, mas possui algo ao executar rm -fr emptydir
. Não deve fazer nenhuma diferença neste caso, mas tente também executar o rmdir emptydir
.
O número total no topo da sua ls
saída (acho que insgesamt significa total?) Indica um diretório vazio.
Acho que conhecer o tipo de sistema de arquivos também pode ser útil. Você provavelmente também deseja executá fsck
-lo e ver se isso ajuda.