Czy można tworzyć dowiązania symboliczne w systemie plików Android? (i jak?)

32

Czy można tworzyć dowiązania symboliczne w systemie plików Android? (i jak?)

(Moja wersja Androida to 2.1, używam Motorola Defy.)

castarco
źródło
Android nie jest systemem plików. Na jakim systemie plików próbujesz utworzyć symplink? Można użyć mountw emulatorze terminala do zbierania informacji
RDS
2
@rds Wiem, że Android nie jest systemem plików. Napisałem „system plików Androida” zamiast „systemu plików Androida”, ponieważ pisałem zbyt szybko.
castarco
ale nadal nie wiesz, co to jest podparty system plików, który zainstalowałeś
rds
2
@rds Zakładam, że wszystkie androidy używają tego samego systemu plików. Jeśli nie, to zakładam, że system plików zależy od wersji systemu operacyjnego. Jeśli te założenia są nieprawidłowe, proszę powiedzieć. Czy to zależy od telefonu?
Annan

Odpowiedzi:

16

Android obsługuje dowiązania symboliczne, ale niektóre systemy plików (np. FAT lub RFS) nie obsługują i nie można tworzyć dowiązań symbolicznych w tych partycjach. Jeśli twoje urządzenie korzysta z systemu plików, który obsługuje łącza symboliczne (np. Ext2, ext3, ext4, yaffs2), powinieneś móc korzystać ln -sz emulatora terminali.

Lie Ryan
źródło
3
Próbowałem utworzyć dowiązanie symboliczne z mojej pamięci wewnętrznej, celując w folder na karcie SD, ale udało mi się Operation not permitted.
user2284570,
2
@ user2284570: powinieneś zadać osobne pytanie, a tam proszę podać więcej informacji: skąd tworzysz link, gdzie tworzysz link, jak tworzysz symlink, czy jesteś zrootowany, czy co to wewnętrzny system plików, z jakiego urządzenia korzystasz i czy korzystasz z niestandardowych modów.
Lie Ryan,
Nie będę rootować przed 2020. Wewnętrzny system plików używa exr4 q exfat z karty SD, ale ponieważ jest to dowiązanie symboliczne do katalogu, nie sądzę, żeby miało to znaczenie. Z / Storage / Emulowane / 0 / Wideo do / Storage / extSDcard / Wideo, który jest folderem. Próbowałem też z wersją ln busybox i zakończyłem z tym samym rezultatem. Mam pełne prawa dostępu do / storage / emulation / 0. Robię to z emulatora terminala na urządzeniu. Używam Androida 4.4, ale nie muszę zapisywać na karcie SD, ponieważ jest to do użycia ln -s.
user2284570,
1
@ user2284570: utwórz nowe pytanie
Lie Ryan
5

Myślę, że to pytanie superużytkownika odpowiada na twoje pytanie, tzn. Że system plików FAT na karcie SD nie obsługuje dowiązań symbolicznych.

Tylko dla wyjaśnienia (i jak odzwierciedlono w pytaniu / odpowiedzi SU, które podłączyłem): system operacyjny Android obsługuje dowiązania symboliczne, ale system plików FAT na karcie SD nie.

Argalatyr
źródło
Zawsze możesz swobodnie sformatować swoją kartę SD za pomocą nowoczesnego systemu plików (jeśli nie używasz jej w archaicznym systemie operacyjnym, oczywiście)
rds
2

Można to zrobić za pomocą mount -o bind /old/dir /new/dirpolecenia opisanego tutaj https://superuser.com/a/377737/45344

Chyba potrzebujesz roota.

Jus12
źródło
1
Jest to rodzaj zmian, które zostałyby utracone przy ponownym uruchomieniu.
user2284570,
1
To nie jest dowiązanie symboliczne; to oprawka do wiązania.
endolith,
0

Miałeś do czynienia /storage/emulated/0/Videos

Android lubi korzystać z /dev/fusepartycji. Nie sądzę, aby można było utworzyć dowiązanie symboliczne w tym systemie plików. Na moim HTC Desire 510 widzę to:

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

#

W / storage dzieje się trochę dziwnych rzeczy

historystamp
źródło
1
Czy to ma być odpowiedź na pytanie?
FindOutIslamNow
/dev/fuseNie jest to partycja, to urządzenie znakowe, które programy używać do komunikowania się z jądra w celu zamontowania F ilesystem w U ser S pac E . @FindOutIslamNow tak częściowa odpowiedź, ponieważ implementacja FUSE Androida nie obsługuje dowiązań symbolicznych.
Irfan Latif