40 votos

¿Enlaces simbólicos en el sistema de archivos de Android?

¿Es posible crear enlaces simbólicos en el sistema de archivos de Android? Si es posible, ¿cómo puedo hacerlo?

Mi versión de Android es 2.1, estoy usando Motorola Defy.

0 votos

Android no es un sistema de archivos. ¿En qué sistema de archivos estás intentando crear el enlace simbólico? Puedes usar mount en el emulador de terminal para recopilar esta información.

3 votos

@rds Sé que Android no es un sistema de archivos. Escribí "sistema de archivos de Android" en lugar de "sistema de archivos de Android" porque estaba escribiendo demasiado rápido.

0 votos

Pero aún no logras decir cuál es el sistema de archivos subyacente que has montado

21voto

Lie Ryan Puntos 15629

Android soporta enlaces simbólicos, pero ciertos sistemas de archivos (por ejemplo FAT o RFS) no lo hacen y no puedes crear enlaces simbólicos en esas particiones. Si tu dispositivo utiliza un sistema de archivos que soporta enlaces simbólicos (por ejemplo ext2, ext3, ext4, yaffs2) entonces deberías poder utilizar ln -s desde el Emulador de Terminal.

5 votos

Intenté crear un enlace simbólico desde mi almacenamiento interno apuntando a una carpeta en la tarjeta SD, pero obtuve Operación no permitida.

2 votos

@user2284570: Deberías hacer una pregunta separada, y en ella por favor proporciona más información: desde dónde estás creando el enlace, hacia dónde estás creando el enlace, cómo estás creando el enlace simbólico, si estás rootado o no, cuál es el sistema de archivos interno, qué dispositivo estás utilizando y si estás utilizando modificaciones personalizadas.

0 votos

No voy a rootear antes de 2020. El sistema de archivos interno usa exr4 y la tarjeta SD exfat pero al ser un enlace simbólico a un directorio, no creo que importe. Desde /almacenamiento/emulado/0/Videos a /almacenamiento/extSDcard/Videos que es una carpeta. También intenté con la versión de busybox de ln y terminé con el mismo resultado. Tengo acceso completo a /almacenamiento/emulado/0. Lo estoy haciendo desde un emulador de terminal en el dispositivo. Uso Android 4.4, pero no necesito escribir en la tarjeta SD, ya que esto es para usar ln -s.

8voto

scottmarlowe Puntos 2952

Creo que esta pregunta en superusuario responde tu pregunta, es decir, que el sistema de archivos FAT en la tarjeta SD no admite enlaces simbólicos.

Solo para aclarar (y como se refleja en la pregunta respuestas de SU que vinculé): el sistema operativo Android admite enlaces simbólicos, pero el sistema de archivos FAT en la tarjeta SD no lo hace.

0 votos

Siempre puedes formatear tu tarjeta SD con un sistema de archivos moderno (si no lo usas en un sistema operativo arcaico, por supuesto)

6voto

Jus12 Puntos 121

Es posible hacer esto a través del comando mount -o bind /old/dir /new/dir como se discute aquí https://superuser.com/a/377737/45344

Supongo que necesitas permisos de root.

2 votos

Este es el tipo de cambios que se perderían al reiniciar.

3 votos

Esta no es un enlace simbólico; es un montaje de unión.

4voto

historystamp Puntos 1

Estabas lidiando con /storage/emulated/0/Videos

Android suele hacer uso de la partición /dev/fuse. No creo que puedas crear un enlace simbólico en este sistema de archivos. En mi htc desire 510, veo esto:

/busybox df /storage/emulated/0                                          
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/fuse              1057284   1040844     16440  98% /mnt/shell/emulated

#

Hay algunas cosas extrañas ocurriendo con /storage

1 votos

¿Se supone que esta es una respuesta a la pregunta?

0 votos

/dev/fuse no es una partición, es un dispositivo de caracteres que los programas utilizan para comunicarse con el kernel con el fin de montar Filesystem en UserSpacE. @FindOutIslamNow sí, respuesta parcial, porque la implementación de FUSE en Android no admite enlaces simbólicos.

0 votos

¡Muchas gracias por esta respuesta!

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android 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