En mi teléfono Android 4.4.2 Samsung Galaxy S4 rooteado con chipset armv7l, si inicio un shell, puedo usar el stat
comando, pero algunos dispositivos informan de manera extraña. En particular, el /
dispositivo muestra tamaño cero, bloques cero, cuando /system
informa números válidos:
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
Mirando mis monturas, veo estas dos entradas:
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 rw,seclabel,relatime,data=ordered 0 0
rootfs / rootfs rw,relatime 0 0
¿Por qué mi partición raíz muestra stat
que no tiene espacio disponible y hay una manera de determinar de manera confiable cuánto espacio hay disponible desde un comando de shell o mediante un punto de entrada C como el que statvfs()
también informa cero espacio disponible para mi aplicación?
stat
informa 0 espacios/bloques en / porque / = ramdisk que vive en ram, ram no es un dispositivo de bloque. Su ramdrive real vive almacenado con su kernel y dt.img en una partición emmc especificada etiquetada como boot .
El ramdisk combinado, el binario del kernel y el dt.img (binario del árbol de dispositivos) se conocen colectivamente como su boot.img
La imagen de arranque también contiene algunos directorios reales [reales] que funcionan como marcadores de posición, generalmente son /data /dev /proc /system
Además, su ramdisk contiene la configuración necesaria *.rc y *.sh y los scripts de shell necesarios para iniciar su dispositivo y establecer/activar su sistema operativo. El ramdisk también contiene la configuración de la política selinux de su dispositivo, los archivos sepolicy y de contexto, por último, su ramdisk contiene el directorio /sbin, que es donde reside el daemon adb y, por lo general, los binarios de cargador, salud y ueventd y cualquier binario específico del fabricante relacionado con los servicios, generalmente seguridad. El ramdisk/ramdrive es temporal y se descarga de la memoria cuando apaga o reinicia, y se vuelve a cargar en su lugar designado en la memoria cuando su dispositivo se reinicia.
Piense en ello como Windows. En el mismo disco duro de 1TB. Puede usar C:\ y D:\ al mismo tiempo en la misma unidad. No puedes simplemente buscar el espacio libre de todos.
En android hay particiones en mmc
/caché/datos/sistema, etc.
cada uno tiene su propia búsqueda de información para cada uno.
Adjuntaré algunas capturas de pantalla de mi N7000 de 16 GB y sus particiones. Tal vez estas fotos te lleven a alguna parte.
(Haga clic en la imagen para ampliar)
WilliamKF
stat
los informes no tienen espacio, pero puedo escribir archivos en la raíz fs, no está llena, ni mucho menos.Abbas Elmas
Señor del Fuego