Tengo un problema extraño con la compresión tar gz.
Solía tener una tarjeta SD montada como una partición fat32. Sin embargo, ahora lo cambié para que la tarjeta SD externa se monte en /data/media/0 y esté formateada en ext4 (o f2fs; no hay diferencia, porque este error ocurre en cualquiera de los dos).
En la configuración anterior, podía ejecutar
tar cvzf
en una carpeta en esta partición sin ningún problema.
Sin embargo, en esta nueva configuración, si la ejecuto, obtengo
tar cvzf
Segmentation fault.
Descubrí que si elimino el parámetro z, funciona bien. Pero el archivo tar resultante no está comprimido con gz y, por lo tanto, no es apto para mis aplicaciones.
Confirmé este comportamiento en dos ROM diferentes hasta ahora: CarbonRom JB 4.3.1 y CarbonRom KK 4.4.4.
¿Alguien tiene alguna idea de lo que podría estar mal aquí? ¿Android no puede almacenar archivos tar.gz en particiones que no sean fat32, o se debe a algún otro problema?
Todavía no tengo idea de qué está causando el problema, pero encontré una solución que hace lo mismo.
En lugar de llamar directamente a gzip desde tar así:
tar cvzf
Canalizo la salida de tar a gzip así:
tar -cv directory/ | gzip > archive.tar.gz
y la falla de segmentación ya no existe.
dan hulme
tar
binario? Probablemente la biblioteca zlib no se compiló correctamente o falta.bloqueo