Diretório Undeletable em lost + found

8

Como posso excluir este diretório? Eu fiz fsck e encontrou algum lixo, eu olhei através desses arquivos e não havia algo importante. Então eu tentei apagar o conteúdo de /lost+found e tudo se foi, exceto esse diretório estranho. Eu pensei que colocá-lo para /tmp (eu posso mover esse dir através do volume) irá apagá-lo na próxima reinicialização, mas ele ainda está lá após a reinicialização e outro fsck .

Como parece que o problema é de baixo nível e jogar com propriedade e permissões não é suficiente, eu fiz você capaz de reproduzir o problema sozinho. Aproveite!

  • Isso é seguro, você será capaz de desmontar a imagem para se livrar desses diretórios em sua máquina ;
  • Isso não é iso-imagem, esse é o resultado de dd if=/dev/sda1 of=/files/broken.iso ;

Eu fiz um arquivo de 15MB com a imagem, que é ~ 1.2GB. Você pode fazer o download e usá-lo com os seguintes comandos:

cd /tmp
wget https://dl.dropboxusercontent.com/u/22701362/broken.tar.xz
tar xvf broken.tar.xz
mkdir test
sudo mount broken.iso test
cd test

Haverá dois diretórios (durante a criação dessa imagem, parece que há dois diretórios no meu disco):

/tmp/test> tree
.
├── 1
│   └── plexus-component-annotations-1.5.5.jar.sha1 [error opening dir]
└── 2
    └── #1589030 [error opening dir]

4 directories, 0 files

Boa sorte com a remoção desses dois diretórios:

/tmp/test> sudo rm -rf *
rm: cannot remove '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
rm: cannot remove '2/#1589030': Operation not permitted

/tmp/test> sudo chown -R root:root *
chown: changing ownership of '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
chown: cannot read directory '2/#1589030': Permission denied

/tmp/test> sudo chmod -R 777 *
chmod: changing permissions of '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
chmod: changing permissions of '2/#1589030': Operation not permitted
chmod: cannot read directory '2/#1589030': Permission denied
    
por Grief 03.07.2016 / 12:50

2 respostas

7

Uma possibilidade é o sinalizador imutável no caso do sistema de arquivos ext. Veja a saída do comando lsattr . Se houver i presente, ele poderá ser removido com chattr -i filename

  

Um arquivo com o atributo 'i' não pode ser modificado: não pode ser   excluído ou renomeado, nenhum link pode ser criado para este arquivo e nenhum dado   pode ser gravado no arquivo. Apenas o superusuário ou um processo   possuir o recurso CAP_LINUX_IMMUTABLE pode definir ou limpar este   atributo.

Nesse caso, há algo mais acontecendo

Isso parece funcionar,

> lsattr 1
-----a---------- 1/plexus-component-annotations-1.5.5.jar.sha1
> rmdir 1/plexus-component-annotations-1.5.5.jar.sha1
rmdir: failed to remove '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
> chattr -a 1/plexus-component-annotations-1.5.5.jar.sha1
> rmdir 1/plexus-component-annotations-1.5.5.jar.sha1

> lsattr 2
---D-ad--j--T--- 2/#1589030 
> chattr -D -a -d -j -T 2/\#1589030
> rmdir 2/\#1589030
    
por J.J. Hakala 03.07.2016 / 17:30
1

tente se tornar o usuário que possui para excluí-lo

sudo -u 6666 -g 19312 rm -rf ./#1589030
    
por Amias 03.07.2016 / 13:13