Я пытаюсь создать символические ссылки /data/sdext2/app/*
на /data/app
.
Это то, что я сделал в оболочке adb.
ln -sf /data/sdext2/app/* /data/app/
Но он говорит : «Ошибка ссылки Нет такого файла или каталога» .
Обратите внимание, что ни один из разделов не имеет формата FAT32.
И без опции -f он говорит: «ссылка не удалась, файл существует» .
ln принимает максимум 2 аргумента (не считая опций), однако подстановочный знак ../* распространяется на все имена файлов в папке. Просто поместите эхо перед ln, чтобы посмотреть, что произойдет.
Делайте это один за другим следующим образом:
cd /data/sdext2/app
для i in *; do ln -s /data/sdext2/app/"$i" /data/app/;готово
или
для i в /data/sdext2/app/*; do ln -s "$i" /data/app/$(базовое имя "$i"); готово
РЕДАКТИРОВАТЬ
Хорошо, вот как это работает на моем устройстве:
me@workstation:~$ adb shell
shell@android:/ $ id
uid=2000(оболочка) gid=2000(оболочка) groups=1003(графика),1004(ввод),1007(журнал),[...]
оболочка @android:/ $ su
shell@android:/ # id
uid=0(root) gid=0(root) groups=1003(графика),1004(ввод),1007(журнал),[...]
shell@android :/ # cd /data/
shell@android:/data # ln -s /data/sdext2/app/banana.app /data/app/cucumber.app
shell@android:/data # ls -l /data/app/ cucumber.app
lrwxrwxrwx root root 06.11.2012 22:30 /data/app/cucumber.app -> /data/sdext2/app/banana.app
Я сделал это таким образом
cp -a /sdcard/olivetree /sdcard/sdcard-disk/olivetree
rm -rf /sdcard/olivetree
ln -sf /sdcard/sdcard-disk/olivetree /sdcard/olivetree
Но по проводным причинам это не сработало или у меня в «Эмуляторе терминала» для Android, но без проблем работало с моего ПК через Putty и Android «SSH Droid».
Мэтью Рид
се4
2991засада
се4
2991засада