Можно ли сделать символические ссылки в файловой системе Android? (и как?)

32

Можно ли сделать символические ссылки в файловой системе Android? (и как?)

(Моя версия Android 2.1, я использую Motorola Defy.)

castarco
источник
Android не является файловой системой. В какой файловой системе вы пытаетесь создать симплинк? Вы можете использовать mountв эмуляторе терминала, чтобы собрать эту информацию
rds
2
@rds Я знаю, что Android не файловая система. Я написал «Файловая система Android» вместо «Файловая система Android», потому что писал слишком быстро.
Castarco
но вы все еще не можете сказать, какую файловую систему вы установили
rds
2
@rds Я предполагаю, что все андроиды используют одну и ту же файловую систему. Если нет, то я бы предположил, что файловая система зависит от версии ОС. Если эти предположения неверны, скажите, пожалуйста. Это конкретный телефон?
Аннан

Ответы:

16

Android поддерживает символические ссылки, но некоторые файловые системы (например, FAT или RFS) не поддерживают, и вы не можете создавать символические ссылки в этих разделах. Если ваше устройство использует файловую систему, которая поддерживает символические ссылки (например, ext2, ext3, ext4, yaffs2), то вы сможете использовать его ln -sиз эмулятора терминала.

Ли Райан
источник
3
Я попытался создать символическую ссылку из своего внутреннего хранилища для папки на SD-карте, но получил Operation not permitted.
user2284570
2
@ user2284570: вам следует задать отдельный вопрос, и там, пожалуйста, предоставьте больше информации: откуда вы создаете ссылку, где вы создаете ссылку, как вы создаете символическую ссылку, независимо от того, являетесь ли вы рутом, что внутренняя файловая система, и какое устройство вы используете и используете ли вы пользовательские моды.
Ложь Райан
Я не получу root до 2020 года. Внутренняя файловая система использует exr4 и exfat SD-карты, но так как это символическая ссылка на каталог, я не думаю, что это имеет значение. Из / storage / emulated / 0 / Videos в / storage / extSDcard / Videos, которая является папкой. Я также попробовал использовать версию ln busybox и закончил с тем же результатом. У меня есть полные права доступа к / storage / emulated / 0. Я делаю это с эмулятора терминала на устройстве. Я использую Android 4.4, но мне не нужно записывать на SD-карту, так как это для использования ln -s.
user2284570
1
@ user2284570: пожалуйста, создайте новый вопрос
Lie Ryan
5

Я думаю, что этот вопрос о суперпользователе отвечает на ваш вопрос, то есть, что файловая система FAT на SD-карте не поддерживает символические ссылки.

Просто чтобы уточнить (и как отражено в вопросе / ответах SU, которые я связал): ОС Android поддерживает символические ссылки, а файловая система FAT на SD-карте - нет.

Argalatyr
источник
Вы всегда можете отформатировать карту памяти SD с современной файловой системы (если вы не используете его на архаичной операционной системы, конечно)
Rds
2

Это можно сделать с помощью mount -o bind /old/dir /new/dirкоманды, как описано здесь /superuser//a/377737/45344

Вам нужен root, я думаю.

Jus12
источник
1
Это те изменения, которые будут потеряны при перезагрузке.
user2284570
1
Это не символическая ссылка; это гора привязки.
эндолит
0

Вы имели дело с /storage/emulated/0/Videos

Android нравится использовать /dev/fuseраздел. Я не думаю, что вы можете сделать символическую ссылку в этой файловой системе. На моем HTC desire 510 я вижу это:

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

#

Есть некоторые странные вещи, происходящие с / storage

historystamp
источник
1
Предполагается ли это ответом на вопрос?
FindOutIslamNow
/dev/fuseне раздел, это символьное устройство , какие программы использовать для связи с ядром для того , чтобы смонтировать F ilesystem в U серы S Pac E . @FindOutIslamNow да частичный ответ, потому что реализация Android FUSE не поддерживает символические ссылки.
Ирфан Латиф