0 votos

¿Por qué ~/Documentos es un enlace simbólico a sí mismo, y cómo debería solucionarse?

Soy un programador que diagnostica un problema de un cliente con nuestro software. Estamos teniendo algunos problemas al escribir en el Documents carpeta en MacOS Mojave 10.14.6.*

Resulta que el cliente ~/Documents es un enlace simbólico a sí mismo , causando ELOOP al llamar a las API de archivos, y un Too many levels of symbolic links error al intentar ver su contenido en el Terminal con el ls comando.

Terminal output

Sin embargo, en el Finder, la carpeta se muestra con normalidad y parece tener 15 GB de contenido.

enter image description here

La primera vez que vimos este problema lo descarté como un misterio sin resolver, pero este es el segundo cliente que hemos visto en los últimos años con una carpeta Documentos que es un enlace simbólico a sí misma.

Así que mis preguntas son:

  1. ¿Cómo es posible?
  2. ¿Qué puede causar esta configuración? ¿Hay alguna razón legítima por la que pueda estar configurado de esta manera?
  3. ¿Es seguro decirle al usuario que simplemente mueva todo el contenido a un lugar seguro, borre la carpeta y luego la vuelva a crear en el Finder?

* La ruta se obtiene pasando <code>NSDocumentDirectory</code> en <code>NSSearchPathForDirectoriesInDomain</code> .

1voto

Tom Harrington Puntos 187

¿Cómo es posible?

Es fácil meter la pata cuando se utiliza ln en la línea de comandos. Un enlace simbólico a sí mismo es legal (aunque no tiene sentido) por lo que no obtendrá un error al crearlo.

¿Qué puede causar esta configuración? ¿Hay alguna razón legítima por la que pueda estar configurado de esta manera?

Es inútil y debería ser eliminado. Una vez eliminado, pueden crear un nuevo ~/Documents/ carpeta. Si te preocupa la seguridad, ten en cuenta que siempre puedes volver a arrastrar cosas desde la papelera.

¿Es seguro decirle al usuario que simplemente mueva todo el contenido a un lugar seguro, borre la carpeta y luego la vuelva a crear en el Finder?

Si es un enlace simbólico a sí mismo, entonces no tiene contenido, porque es sólo un enlace simbólico autorreferencial. No es una carpeta, es sólo un enlace simbólico recursivo. El Finder está mostrando una carpeta que se llama Documents pero eso no significa que se muestre ~/Documents/ . Puedes crear una carpeta con ese nombre en cualquier lugar y añadirla a la barra lateral del Finder.

Probablemente ayudaría pedir al usuario que haga cmd-clic en el nombre de la carpeta en la parte superior de la ventana del Finder. Eso mostrará dónde se encuentra:

Finder "Documents" window showing full folder path

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X