[solved] App auf SD-Karte verschieben verhält sich seltsam

K

knusper

Neues Mitglied
3
Hallo zusammen,

ich habe ein Note mit 32GB internem Speicher.
Damit habe ich 2 GB für Apps, Daten etc. und ca. 25GB sind unter /sdcard gemountet. Eine externe SD-Karte war zu dem Zeitpunkt noch nicht vorhanden.

Als ich nun ein paar installierte Apps auf diese "interne SD-Karte" verschieben wollte, bekam ich die Fehlermeldung, dass zu wenig freier Speicherplatz da sei. Und das bei 25GB freiem Speicher - lach!

Erst als ich eine echte (externe) SD-Karte eingesteckt habe, hat das Verschieben der Apps funktioniert. Allerdings sind die Apps unter /sdcard abgelegt worden, also auf der "internen SD-Karte" und nicht auf der externen SD-Karte.

Daher nun meine Frage:
Woher kommt dieses seltsame Verhalten?
Ist das ein Bug, oder hat das einen sinnvollen Grund?


knusper
 
Zuletzt bearbeitet:
knusper schrieb:
Allerdings sind die Apps unter /sdcard abgelegt worden, also auf der "internen SD-Karte" und nicht auf der externen SD-Karte.
Wieso glaubst du das?
 
Ich nehme an er geht davon aus, weil das bisher immer so war. Allerdings verhält sich die neue JellyBean Firmware XXLSZ von Samsung da möglicherweise anders. Hier wird der .android_secure Ordner, der die auf SD-Karte verschobenen Apps enthält, erstaunlicher Weise auf der externen SD abgelegt. Was passiert, wenn keine SD-Karte im Gerät ist habe ich nicht getestet, aber vermutlich wird sich dann das von knusper beschriebene Verhalten ergeben.
 
Smartsurfer schrieb:
Ich nehme an er geht davon aus, weil das bisher immer so war.
Nee. Seit Beginn werden Apps auf die externe SD verschoben.
 
?? das war bei mir bisher nicht so. Jedenfalls nicht bei CM und auch nicht bei Supernexus. Ok, auf Stockrom war ich länger nicht, aber eigentlich war ich davon ausgegangen dass das .android_secure dort bisher auch auf der internen SD abgelegt wurde.
 
Smartsurfer schrieb:
Jedenfalls nicht bei CM und auch nicht bei Supernexus.
Ok, das mag sein.

Smartsurfer schrieb:
Ok, auf Stockrom war ich länger nicht, aber eigentlich war ich davon ausgegangen dass das .android_secure dort bisher auch auf der internen SD abgelegt wurde.
Nein, nur auf der externen SD. Fehlt die externe SD, kommt es zum Fehler, wie knusper ihn beschreibt.

Deshalb würde mich interessieren, woran er festmacht, dass die Apps nun auf der internen SD liegen. Das wäre sehr merkwürdig.
 
  • Danke
Reaktionen: Smartsurfer
frank_m schrieb:
Wieso glaubst du das?

Weil ich nachgesehen habe...
Auf der ext. SD-Karte sind 2 Verzeichnisse:

- LOST.DIR
- .android_secure

Beide Verzeichnisse sind komplett leer.


knusper
 
Zuletzt bearbeitet:
Wie? Was wurde wo angezeigt?
 
ich bin mit der App "Total Commander" und Root-Rechten auf die externe SD-Karte gegangen und habe nachgesehen was da drauf ist.

Dort sind genau 2 Verzeichnisse:

1) LOST.DIR
2) .android_secure

Beide Verzeichnisse sind leer.

Daraus schließe ich, dass die verschobenen Apps auf dem internen Flash Speicher sein müssen, der unter "/sdcard" gemountet wird.
 
knusper schrieb:
Daraus schließe ich, dass die verschobenen Apps auf dem internen Flash Speicher sein müssen, der unter "/sdcard" gemountet wird.
Ich schließe daraus, dass nichts verschoben wurde.
 
Das Handy zeigt mir aber an, dass die Apps verschoben sind.
Unter Einstellungen / Anwendungen / Auf SD-Karte
haben die Apps, die ich verschoben habe einen Haken.

Und auch bei den Detail-Infos zu der App sagt mir Android,
dass die Apps verschoben sind.
 
Und was sagt der Inhalt der internen SD dazu?
 
auf der internen SD ist ziemlich viel Zeug drauf.
Da kann ich nicht mit Bestimmtheit sagen,
ob und wo die Apps evtl. liegen.

Auf der Systempartition unter /data/app liegen sie auf jeden Fall nicht mehr...

Hm, es scheint als ob sie unter /mnt/asec liegen.

Was wird nach asec gemountet?
Wo kann ich das nachsehen?
Eine /etc/fstab habe ich nciht gefunden.
 
knusper schrieb:
Hm, es scheint als ob sie unter /mnt/asec liegen.
Das ist das neue Verschlüsselungsverfahren für Apps aus dem Market. Das liegt üblicherweise im Gerätespeicher. Möglicherweise auch im .android_secure Ordner.

Gibt es auf der internen SD keinen .android_secure Ordner? Passt die Speicheranzeige der externen SD zu leeren Ordnern?

Ich vermute, dass deine Apps entweder noch im Gerätespeicher liegen, oder auf der externen SD. Mit dem mount Befehl kannst du ggf. die Loopback mounts sehen, die im asec Ordner verwendet werden.
 
frank_m schrieb:
Gibt es auf der internen SD keinen .android_secure Ordner?

Nein, auf der internen SD ist kein solches Verzeichnis.

frank_m schrieb:
Passt die Speicheranzeige der externen SD zu leeren Ordnern?

Unter Einstellungen / Speicher - SD-Karte steht
Gesamtspeicherplatz = 14,83 GB (habe eine 16GB Karte)
Verfügbar = 14,77 GB


frank_m schrieb:
Mit dem mount Befehl kannst du ggf. die Loopback mounts sehen, die im asec Ordner verwendet werden.

Ich habe leider keine shell drauf. Gibt's was empfehlenswertes? Oder gibts 'ne App für den mount-Befehl?
 
Den mount Befehl kannst du in einer Shell ausführen. Das geht in einem TerminalEmulator, oder am PC über ADB.
 
  • Danke
Reaktionen: knusper
Hier die Ausgabe des mount-Befehls via adb

Code:
mount | grep -i asec
tmpfs on /mnt/asec type tmpfs (rw,relatime,mode=755,gid=1000)
/dev/block/vold/179:9 on /mnt/secure/asec type vfat (rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/dm-0 on /mnt/asec/com.ghisler.android.TotalCommander-1 type vfat (ro,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/dm-1 on /mnt/asec/com.joeykrim.rootcheck-1 type vfat (ro,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/dm-2 on /mnt/asec/com.kiragames.unblockmefree-1 type vfat (ro,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/dm-3 on /mnt/asec/com.hrs.android-1 type vfat (ro,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/dm-4 on /mnt/asec/com.ghisler.tcplugins.WebDAV-1 type vfat (ro,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/dm-5 on /mnt/asec/com.rerware.android.MyBackupRoot-1 type vfat (ro,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/dm-6 on /mnt/asec/com.ghisler.tcplugins.LAN-1 type vfat (ro,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/dm-7 on /mnt/asec/com.ghisler.tcplugins.FTP-1 type vfat (ro,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/dm-8 on /mnt/asec/de.kaufda.android-1 type vfat (ro,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/dm-9 on /mnt/asec/taxi.android.client-1 type vfat (ro,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/dm-10 on /mnt/asec/com.bartat.android.elixir-1 type vfat (ro,dirsync,nosuid,nodev,noatime,nodiratime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
~ $

Sehe ich das richtig, dass hier für jede ausgelagerte App ein Mount angelegt wird? Dann müsste es ja auch für jede ausgelagerte App eine eigene Partition geben...
Und wo liegt dann diese Partition physikalisch?

Ich kenne mich zwar mit Linux einigermaßen gut aus, aber das finde ich verwirrend...
 
knusper schrieb:
Sehe ich das richtig, dass hier für jede ausgelagerte App ein Mount angelegt wird?
Ja. Das war schon immer so.

knusper schrieb:
Dann müsste es ja auch für jede ausgelagerte App eine eigene Partition geben...
Nein, das sind Loopback Mounts. Die zeigen auf eine Container Datei.

Ein Loopback Mount auf eine Containerdatei ist der einzige Weg, auf einem Medium mit FAT Dateisystem Inhalte mit den erweiterten Linux Dateirechten zu erzeugen.

Ich bin mir aber noch nicht sicher, ob es sich bei deinen Dateien wirklich um ausgelagerte Apps handelt, oder ob das nur die verschlüsselten Container des neuen Play Stores sind, die ein kopieren der APKs verhindern sollen.
 
  • Danke
Reaktionen: knusper
frank_m schrieb:
das sind Loopback Mounts. Die zeigen auf eine Container Datei.

Ein Loopback Mount auf eine Containerdatei ist der einzige Weg, auf einem Medium mit FAT Dateisystem Inhalte mit den erweiterten Linux Dateirechten zu erzeugen.

Ok, das habe ich verstanden.

frank_m schrieb:
Ich bin mir aber noch nicht sicher, ob es sich bei deinen Dateien wirklich um ausgelagerte Apps handelt, oder ob das nur die verschlüsselten Container des neuen Play Stores sind, die ein kopieren der APKs verhindern sollen.

Und wie kann ich das herausfinden?
Auslagern rückgängig machen, und dann noch mal die mounts anzeigen lassen?
 
Du müsstest rausfinden, wo genau die Containerdateien liegen. In /mnt/asec würde ich anfangen, zu suchen. Und dann muss man herausfinden, wo genau /mnt/asec physikalisch liegt. Da es sich dabei möglicherweise um einen Bind Mount handelt, könnte eine Suche mit "find" nach den Dateinamen helfen.
 
  • Danke
Reaktionen: knusper und MichelFell

Ähnliche Themen

C
Antworten
6
Aufrufe
1.311
juni
J
M
  • mischa2014
Antworten
1
Aufrufe
1.592
Otandis_Isunos
Otandis_Isunos
Z
  • Zitronenlimo
Antworten
5
Aufrufe
6.343
Micha M3
M
Zurück
Oben Unten