¿Es posible hacer enlaces simbólicos en el sistema de archivos de Android? (¿y cómo?)

32

¿Es posible hacer enlaces simbólicos en el sistema de archivos de Android? (¿y cómo?)

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

castarco
fuente
Android no es un sistema de archivos. ¿Cuál es el sistema de archivos en el que intentas crear el enlace simbólico? Se puede utilizar mounten el emulador de terminal para recopilar esta información
RDS
2
@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.
castarco
pero todavía no puede decir lo que el sistema de archivos subordinado que haya montado
RDS
2
@rds Supongo que todos los androides usan el mismo sistema de archivos. Si no, supongo que el sistema de archivos depende de la versión del sistema operativo. Si estas suposiciones son incorrectas, por favor diga. ¿Es específico del teléfono?
Annan

Respuestas:

16

Android admite enlaces simbólicos, pero ciertos sistemas de archivos (por ejemplo, FAT o RFS) no lo hacen y no puede crear enlaces simbólicos en esas particiones. Si su dispositivo utiliza un sistema de archivos que admite enlaces simbólicos (por ejemplo, ext2, ext3, ext4, yaffs2), entonces debería poder usarlo ln -sdesde el emulador de terminal.

Lie Ryan
fuente
3
Traté de crear un enlace simbólico desde mi almacenamiento interno dirigido a una carpeta en la tarjeta SD, pero lo conseguí Operation not permitted.
user2284570
2
@ user2284570: debe hacer una pregunta por separado, y allí debe proporcionar más información: de dónde está creando el enlace, dónde está creando el enlace, cómo crea el enlace simbólico, si está o no rooteado, qué son el sistema de archivos interno, y qué dispositivo estás usando y si estás usando modificaciones personalizadas.
Lie Ryan
No rootearé antes de 2020. El sistema de filmación interno usa exr4 y la tarjeta SD exfat, pero como es 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 probé con la versión busybox de ln y terminé con el mismo resultado. Tengo todos los derechos de acceso a / storage / emulated / 0. Lo estoy haciendo desde un emulador de terminal en el dispositivo. Yo uso Android 4.4, pero no necesito escribir en la tarjeta SD, ya que esto es para usar ln -s.
user2284570
1
@ user2284570: cree una nueva pregunta
Lie Ryan
5

Creo que esta pregunta en superusuario responde a su 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 las preguntas / respuestas SU que vinculé): el sistema operativo Android admite enlaces simbólicos, pero el sistema de archivos FAT en la tarjeta SD no.

Argalatyr
fuente
Siempre puede formatear su tarjeta SD con un sistema de archivos moderno (si no la usa en un sistema operativo arcaico, por supuesto)
rds
2

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

Necesitas root, supongo.

Jus12
fuente
1
Este es el tipo de cambios que se perderían al reiniciar.
user2284570
1
Este no es un enlace simbólico; Es una montura fija.
endolito
0

Estabas tratando con /storage/emulated/0/Videos

A Android le gusta hacer uso de la /dev/fusepartición. No creo que pueda hacer 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 raras sucediendo con / almacenamiento

sello histórico
fuente
1
¿Se supone que esto es una respuesta a la pregunta?
FindOutIslamNow
/dev/fuseno es una partición, es un dispositivo de caracteres qué programas utilizan para comunicarse con el núcleo con el fin de montar F ilesystem en U Ser S pac E . @FindOutIslamNow sí respuesta parcial, porque la implementación FUSE de Android no admite enlaces simbólicos.
Irfan Latif