Directorio indeleble en perdido + encontrado

10

¿Cómo puedo eliminar este directorio? Lo hice fscky encontró algo de basura, revisé estos archivos y no había nada importante. Así que intenté eliminar el contenido /lost+foundy todo se fue, excepto este extraño directorio. Pensé que ponerlo en /tmp(puedo mover ese directorio a través del volumen) lo borrará en el próximo reinicio, pero todavía está allí después de reiniciar y otro fsck.

Como parece que el problema es de bajo nivel y jugar con la propiedad y los permisos no es suficiente, he podido reproducir el problema usted mismo. ¡Disfrutar!

  • Esto es seguro, podrá desmontar la imagen para deshacerse de estos directorios en su máquina ;
  • Esto no es una imagen iso, es el resultado dedd if=/dev/sda1 of=/files/broken.iso ;

Hice un archivo de 15MB con la imagen que es ~ 1.2GB. Puede descargarlo y utilizarlo con los siguientes 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

Habría dos directorios (durante la creación de esa imagen parece que hay dos directorios en mi 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

Buena suerte con la eliminación de estos dos directorios:

/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
Dolor
fuente
¿Cómo está /tmpen el mismo volumen? ¿Podría publicar la salida de df? Además, publique el resultado sudo perl -MFile::Path -e 'rmtree("/tmp/foo") || die "$!"'en caso de que recibamos un mensaje de error más informativo.
terdon
@terdon He agregado el resultado a la pregunta. ¿Crees que la salida es incluso un poco útil?
Duelo
1
Bueno, la dfsalida nos muestra que su / tmp` es en realidad un directorio normal /y no un tmpfs, que es la configuración predeterminada. Eso es sorprendente, pero explica por qué podría copiar el directorio /tmpy por qué sobrevive al reiniciar. La perlsalida realmente no agrega mucho, no, pero valió la pena intentarlo. Estoy agarrando pajitas aquí.
terdon
offtopic: en Ubuntu /tmpes un directorio normal por defecto. Esto se hace para evitar llenarlo hasta el 100% y ahorrar RAM. Se limpia durante el inicio. Este comportamiento existe por mucho tiempo.
Dolor
Intentaba arrancar un livecd y luego hurgar en el sistema de archivos.
Journeyman Geek

Respuestas:

8

Una posibilidad es el indicador inmutable en el caso del sistema de archivos ext. Ver salida del lsattrcomando. Si hay ipresente, se puede quitar conchattr -i filename

Un archivo con el atributo 'i' no se puede modificar: no se puede eliminar ni renombrar, no se puede crear ningún enlace a este archivo y no se pueden escribir datos en el archivo. Solo el superusuario o un proceso que posee la capacidad CAP_LINUX_IMMUTABLE puede establecer o borrar este atributo.

En este caso, está sucediendo algo más.

Esto 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
JJ Hakala
fuente
No ¿Viste que yo usaba sudo? Le agradecería si descarga la imagen, la monta y prueba usted mismo.
Duelo
Esto no es una 'imagen iso', esto es el resultado dedd if=/dev/sda1 of=broken.iso
Duelo
Sí, probablemente tengas razón, ¡lo siento! ¿Tuviste la oportunidad de reproducir el problema?
Dolor
1
Sí, y se ve realmente extraño.
JJ Hakala
Me siento muuuy estúpido ahora :( Pero usted es mi héroe del día, Sr. JJ Hakala
Duelo
1

intenta convertirte en el usuario propietario para eliminarlo

sudo -u 6666 -g 19312 rm -rf ./#1589030
Amias
fuente
sudo -u '#6666' -g '#19311' rm -rf \#1589030 rm: cannot remove '#1589030': Permission denied sudo -u '#6666' -g '#19311' chmod 777 \#1589030 chmod: cannot access '#1589030': Permission denied
Dolor
Debe hacer que el usuario si no existe
Amias
crear usuarios y grupos con estos UID y GID no ayudó
Duelo