¿Cómo eliminar varios enlaces al mismo directorio?

¿Cómo eliminar varios enlaces al mismo directorio?

Tengo una instalación de lxd rota y quiero eliminarla por completo y comenzar de nuevo, pero hay un problema. /var/lib/lxd/devices/desktop contiene un montón de subdirectorios que están vinculados a directorios en otras partes del sistema de archivos (incluso en unidades diferentes), como

drwxr-xr-x 28 karl   karl       4096 Apr 11 15:40 disk.shareName.home-karl
drwxr-xr-x  4 nobody nogroup    4096 Apr 14 12:07 disk.thor.mnt-thor
drwxr-xr-x  2 root   root       4096 Mar 29 14:02 disk.usbdrive.mnt-usbdrive

Por ejemplo, si elimino un archivo de disk.thor.mnt-thor, también se elimina de /home/storage (ambos directorios apuntan al mismo lugar). disk.usbdrive.mnt-usbdrive muestra todo el contenido de mi unidad USB montada en /mnt/usbdrive. Ambos directorios muestran su contenido y las modificaciones en uno se reflejan en el otro.

Pero ahora, si quiero eliminar estos directorios, tengo un problema, porque solo quiero eliminar esos directorios bajo lxd, no los directorios reales a los que apuntan ni su contenido. Intenté usar unlink, pero no funciona en directorios.

Respuesta1

Pruébalos umount.

La capa VFS en Linux permite que los archivos y directorios se "monten vinculados" en otra ubicación. De hecho, el resultado parece un enlace físico, pero en realidad no existe en el disco: los montajes vinculados están en la memoria al igual que los montajes normales.

Esta característica también significa que un único sistema de archivos se puede montar en varios lugares a la vez. Por ejemplo, el mismo /dev/sda1podría montarse en/mnt/usbdrive yen /var/lib/lxd/mnt-usbdrive.

Todas estas monturas mágicas se pueden ver corriendofindmnto mount.

(Windows y FreeBSD también tienen características similares, por ejemplo, nullfs).

información relacionada