Wenn ich auf meinem gerooteten Android 4.4.2 Samsung Galaxy S4-Telefon mit armv7l-Chipsatz eine Shell starte, kann ich den stat
Befehl verwenden, aber einige Geräte melden seltsame Meldungen. Insbesondere /
zeigt das Gerät Nullgröße, Nullblöcke, wo /system
gültige Zahlen gemeldet werden:
root@jfltevzw:/ # stat /
stat /
File: /
Size: 0 Blocks: 0 IO Block: 4096 directory
Device: 1h/1d Inode: 1 Links: 31
Access: (0755/drwxr-xr-x) Uid: ( 0/ UNKNOWN) Gid: ( 0/ UNKNOWN)
Access: 1970-01-01 00:00:00.000000000
Modify: 2015-04-25 00:48:54.000000000
Change: 2015-04-25 00:48:54.000000000
root@jfltevzw:/ # stat /system
stat /system
File: /system
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: b310h/45840d Inode: 2 Links: 25
Access: (0755/drwxr-xr-x) Uid: ( 0/ UNKNOWN) Gid: ( 0/ UNKNOWN)
Access: 1970-01-01 00:00:00.000000000
Modify: 2015-01-10 01:52:27.000000000
Change: 2015-01-10 01:52:27.000000000
Wenn ich auf meine Reittiere schaue, sehe ich diese beiden Einträge:
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 rw,seclabel,relatime,data=ordered 0 0
rootfs / rootfs rw,relatime 0 0
Warum zeigt meine Root-Partition via an stat
, dass kein Speicherplatz verfügbar ist, und gibt es eine Möglichkeit, zuverlässig zu bestimmen, wie viel Speicherplatz über einen Shell-Befehl oder über einen C-Einstiegspunkt verfügbar ist, der statvfs()
meiner Anwendung auch keinen verfügbaren Speicherplatz meldet?
stat
meldet 0 space/blocks on / weil / = ramdisk die im ram lebt, ram ist kein blockgerät. Ihr tatsächliches Ramdrive lebt im Speicher mit Ihrem Kernel und dt.img auf einer bestimmten emmc-Partition mit der Bezeichnung boot .
Die Kombination aus Ramdisk, Kernel-Binärdatei und dt.img (Gerätebaum-Binärdatei) wird gemeinsam als boot.img bezeichnet
Das Boot-Image enthält auch einige tatsächliche Verzeichnisse [real], die als Platzhalter fungieren, normalerweise sind dies /data /dev /proc /system
Außerdem enthält Ihre Ramdisk die erforderlichen *.rc- und *.sh-Konfigurations- und Shell-Skripte, die zum Booten Ihres Geräts und zum Einrichten/Hochfahren Ihres Betriebssystems erforderlich sind. Die Ramdisk enthält auch die Selinux-Richtlinienkonfiguration, Sepolicy- und Kontextdateien Ihres Geräts. Schließlich enthält Ihre Ramdisk das /sbin-Verzeichnis, in dem sich der adb-Daemon befindet, und normalerweise die Binärdateien von Charger, healthd und ueventd sowie alle herstellerspezifischen Binärdateien, die sich auf Dienste beziehen Sicherheit. Die Ramdisk/das Ramdrive ist temporär und wird beim Herunterfahren oder Neustarten aus dem Arbeitsspeicher gelöscht und beim erneuten Hochfahren des Geräts an die vorgesehene Stelle im Arbeitsspeicher geladen.
Betrachten Sie es als Windows. Auf der gleichen 1 TB Festplatte. Sie können C:\ und D:\ gleichzeitig auf demselben Laufwerk verwenden. Sie können nicht einfach nach dem freien Platz von allen suchen.
Auf Android gibt es Partitionen auf mmc
/cache /data /system usw.
jeder hat seine eigene Informationsansicht für jeden.
Ich werde einige Screenshots von meinem 16 GB N7000 und seinen Partitionen anhängen. Vielleicht führen dich diese Bilder irgendwohin.
(Klicken Sie auf das Bild, um es zu vergrößern)
WilliamKF
stat
kein Speicherplatz gemeldet wird, aber ich kann Dateien in das Root-fs schreiben, es ist nicht voll, weit davon entfernt.Abbas Elmas
Feuerlord