Página 1 de 1

Borrar un directorio que según Linux no esta vacío

Publicado: Jue, 14 Nov 2013, 21:18
por Wolf119
Hola comunidad, saludos para todos, antes de empezar, dejar claro no que encontré ningún lugar en el foro para dejar esta duda técnica, y ya que me pasa por primera vez en mi vida y la distro que estoy usando en estos momentos es Ubuntu 12.04, pues lo dejo aquí.

Pues nada la cuestión es que en mi disco duro externo ( NTFS) tenía el repo de dicha distro y lo copie para otro hdd externo, entonces cuando me decido a borrarlo del mío, pues nada que comienza a borrarlo ya casi llegando al final me dice esto:

Código: Seleccionar todo

rmdir: failed to remove 'Mirror_UBUNTU/' : Directory not empty
cuando voy a ver directamente que es lo que no puede borrar es esto

Código: Seleccionar todo

Mirror_Ubuntu/ubuntu/pool/universe/z/....
Todos los directorios que estan dentro de "z" estan vacios, pero sin embargo cuando intento borrar uno por uno me dicen lo mismo.

Hasta probé con

Código: Seleccionar todo

rm -fr /Mirror_UBUNTU/..../etc...
el resultado el mismo

Código: Seleccionar todo

rm: cannot remove 'Mirror_UBUNTU/ubuntu/pool/universe/z/zookeeper': Directory not empty
Realmente no me molesta mucho, solo por una cuestión de estética lo quiero quitar, porque solo pesa 148kb el directorio con todas sus subcarpetas.

Formatear en mi caso no es una opción, pues es 1T que no tengo donde meterlo, donde estan todas las series de la familia y no quiero auto provocarme un linchamiento :lol:

Muchas gracias de antemano.

PS: Las familias pueden llegar a ser muy cruel con uno :shock:

Re: Borrar un directorio que según Linux no esta vacío

Publicado: Vie, 15 Nov 2013, 08:23
por Eddy Leonid
probaste chequear esa partición???

Re: Borrar un directorio que según Linux no esta vacío

Publicado: Vie, 15 Nov 2013, 10:55
por hugo
Una pregunta: ¿Realmente tienes el directorio Mirror_UBUNTU en la raíz de tu sistema? Porque de lo contrario el comando "rm -fr /Mirror_UBUNTU/..." jamás te va a funcionar.

De todas maneras intenta con esto:

Código: Seleccionar todo

sudo find Mirror_UBUNTU -depth -xdev -execdir rm -fr '{}' +
Por cierto, un detallito: mira el contenido de /etc/mtab, no vaya a ser que tengas algún subdirectorio de Mirror_UBUNTU montado, lo cual podría darte algún que otro problemilla.

Re: Borrar un directorio que según Linux no esta vacío

Publicado: Vie, 15 Nov 2013, 13:54
por Wolf119
El directorio Mirror_UBUNTU esta en la raíz de mi disco externo.

/media/WD/Mirror_UBUNTU/...../.../(las demás carpetas y subcarpetas que estan adentro).

Acabo de probar el comando que me dejaste hugo, pero me dice lo mismo:

Código: Seleccionar todo

root@charlie-Aspire-5930:/media/WD# find Mirror_UBUNTU -depth -execdir rm -fr '{}' +
rm: cannot remove `./zope.exceptions': Directory not empty
rm: cannot remove `./zope.proxy': Directory not empty
rm: cannot remove `./zorp': Directory not empty
rm: cannot remove `./zookeeper': Directory not empty
esto es una fraccion de la respuesta en consola, pues me repite lo mismo con cada carpeta del directorio ubuntu/pool/universe/z/ el cual esta dentro del querido Mirror_UBUNTU

dentro de /etc/mtab/ con respecto al hdd dice esto

Código: Seleccionar todo

/dev/sdb1 /media/WD fuseblk rw,nosuid ,nodev ,allow_other ,default_permissions ,blksize=4096 0 0
y cuando lo intento borrar desde un maquina con windows me dice que no se pudo eliminar la carpeta debido a un error inesperado ( que directo el muchacho jaja), que el directorio no esta vacío, error 0x80070091

Fuera de esto el HDD copia y se deja copiar de el sin problema, reproduce todo sin problema, ni se demora en arrancar ni nada, esta como siempre, pero bueno no me da la @#$%^ que este ese directorio de Mirror_UBUNTU ahí sin nada y para colmo sin dejarse borrar :lol:

Re: Borrar un directorio que según Linux no esta vacío

Publicado: Vie, 15 Nov 2013, 15:42
por hugo
Wolf119 escribió:El directorio Mirror_UBUNTU esta en la raíz de mi disco externo.
...
dentro de /etc/mtab/ con respecto al hdd dice esto

Código: Seleccionar todo

/dev/sdb1 /media/WD fuseblk rw,nosuid,nodev,allow_other, default_permissions,blksize=4096 0 0
El directorio estará en la raíz del disco externo, pero la partición se monta en /media/WD, por lo que en todo caso el comando correcto para eliminar debería ser:

Código: Seleccionar todo

rm -fr /media/WD/Mirror_UBUNTU
Mi recomendación: desde Windows pásale al disco las herramientas de diagnóstico y reparación; porque es muy probable que haya alguna corrupción en el sistema de archivos.

Re: Borrar un directorio que según Linux no esta vacío

Publicado: Vie, 15 Nov 2013, 18:38
por Wolf119
Sabes hugo que hablando como los locos, no me acuerdo que estaba haciendo sobre este tema en la consola y en momento dado linux que me dijo que usara windows, ejecutara chkdsk -f sobre el hdd para resolver un problema ahí que el detectaba y como esta en ntfs. Déjame entrar por windows y pasarle el comando ese para que revise el hdd pero antes voy a probar con el que me dejas en Linux y después les digo como me fue

Re: Borrar un directorio que según Linux no esta vacío

Publicado: Vie, 15 Nov 2013, 18:48
por hugo
Yo también he encontrado ese mensaje y una vez reparado el disco desde Windows mediante ese comando o las herramientas gráficas que aparecen al pedir las propiedades del disco, se han acabado los problemas.

Re: Borrar un directorio que según Linux no esta vacío

Publicado: Vie, 15 Nov 2013, 18:50
por Wolf119
Pues nada perfecto con el chkdsk /f en windwos, el problema era ese, que el hdd tenía mal asignados algunas espacios en el mapa de bits y por eso decía que las carpetas tenían contenido, ahora una pregunta, en el caso en que no hubiera tenido la posibilidad de poner mi hdd en una pc con Windows para solucionar esto, existe alguna app en Linux o comando que me haga lo mismo que me hizo chkdsk /f en un hdd ntfs??? De ser asi me gustaría saber, para tener otra via de solución, lo mas lindo seria tener mi hdd en ext4, pero con tantos amigos que tengo winduleros me es imposible.

Re: Borrar un directorio que según Linux no esta vacío

Publicado: Sab, 16 Nov 2013, 06:16
por hugo
Esto debería funcionar:

Código: Seleccionar todo

fsck.ntfs /dev/sdb1
O quizás prefieras invocar el comando ntfsfix de esta otra forma, para limpiar explícitamente el flag de montaje sucio:

Código: Seleccionar todo

ntfsfix -d /dev/sdb1
Nota: En versiones recientes de Debian (y probablemente en otras distribuciones) ntfsfix viene como parte de ntfs-3g, pues el paquete ntfsprogs (donde venía antes) está marcado como obsoleto. Si el comando falla, instala ntfsprogs.

La aplicación testdisk también ofrece algunas posibilidades de reparación.

El problema con el sistema de archivos NTFS es que Microsoft tradicionalmente no proporciona mucha información sobre los detalles internos de implementación de sus tecnologías, por lo que ntfsfix solo tiene parte de la funcionalidad de reparación que en cambio está disponible nativamente a Windows mediantes las APIs del sistema (de ahí que existan muchas más aplicaciones de defragmentación y reparación para esa plataforma).