Como fazer um arquivo esparso no Android com o Terminal

0

Estou tentando criar um arquivo esparso no android. Para isso estou usando o Android Terminal Emulator. Eu instalei o Busybox para poder usar o comando dd. Outros comandos como truncar não estão instalados. Minha pergunta: alguém sabe como fazer um arquivo esparso com o terminal do Android?

Eu tentei alguns comandos que encontrei na internet:

dd if=/dev/zero of=/sdcard/file.img bs=1 count=0 seek="wanted size"    

Mas nenhum arquivo seria criado. Eu também tentei:

dd if=/dev/zero of=/sdcard/file.img bs="wanted size" count=1.   

Mas eu recebo o seguinte erro:

dd "path of if" invalid argument    

Alguém sabe como acertar?

    
por Jaïr Paalman 14.07.2015 / 12:45

1 resposta

1

Eu já encontrei a resposta.

dd if=/dev/zero of=/sdcard/file.img bs=1 count=0 seek="wanted size"    

Não criaria um arquivo, pois o tamanho na unidade é determinado pelo tamanho e pela contagem do bloco. Ao definir a contagem como 0, o arquivo teria 0 bytes e, sendo assim, não existiria.

dd if=/dev/zero of=/sdcard/file.img bs="wanted size" count=1    

Daria o seguinte erro:

dd "path of if" invalid argument    

O problema aqui é que há um limite para o tamanho do bloco. Não pode ser tão grande assim. Eu precisava calcular a contagem para o tamanho do bloco desejado. Eu escolhi 64k. Este é o comando de trabalho para criar um arquivo esparso de 512 MB:

dd if=/dev/zero of=/sdcard/file.img bs=64k count=8192    

Usar a busca é opcional.

    
por 14.07.2015 / 13:22