Qual o valor do "bs", para um zero fill?

1. Qual o valor do "bs", para um zero fill?

andre luiz
xiloba

(usa Slackware)

Enviado em 29/12/2013 - 17:09h

Galera, estou querendo saber qual o valor devo colocar junto ao "bs" para fazer um zero fill de um dispositivo de:

2gigas=?(pendrive)
4gigas=?(pendrive)
16 gigas=?(pendrive)
320 gigas=?(hd)

dd if=/dev/zero of=/dev/sdb bs=?M

Pergunto isto para não aumentar aleatoriamente o valor, tipo 8M, e não fazer o zero fill direito; ou diminuir muito a ponto de levar uma eternidade para completá-lo.


  


2. Re: Qual o valor do "bs", para um zero fill?

andre luiz
xiloba

(usa Slackware)

Enviado em 29/12/2013 - 17:10h

Na verdade, eu estou usando o comando dcfldd, no lugar do comando dd.

dcfldd if=/dev/zero of=/dev/sdb bs=?M


3. Re: Qual o valor do "bs", para um zero fill?

andre luiz
xiloba

(usa Slackware)

Enviado em 29/12/2013 - 17:19h

Faltou ainda acrescentar o comando "count"= algum_valor?


4. Re: Qual o valor do "bs", para um zero fill?

Buckminster
Buckminster

(usa Debian)

Enviado em 30/12/2013 - 03:10h

Veja isto:
http://eriberto.pro.br/blog/?p=284

e isto:
http://linux.die.net/man/1/dcfldd


5. Re: Qual o valor do "bs", para um zero fill?

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 30/12/2013 - 10:00h

xiloba escreveu:

Galera, estou querendo saber qual o valor devo colocar junto ao "bs" para fazer um zero fill de um dispositivo de:

2gigas=?(pendrive)
4gigas=?(pendrive)
16 gigas=?(pendrive)
320 gigas=?(hd)

dd if=/dev/zero of=/dev/sdb bs=?M

Pergunto isto para não aumentar aleatoriamente o valor, tipo 8M, e não fazer o zero fill direito; ou diminuir muito a ponto de levar uma eternidade para completá-lo.


Deixa default, sem o bs. Mesmo porque quando for formatar, o sistema de arquivos é que determina o tamanho dos blocos.


6. Re: Qual o valor do "bs", para um zero fill?

andre luiz
xiloba

(usa Slackware)

Enviado em 30/12/2013 - 10:04h

Obrigado, a todos que responderam. Mas, Rei_astro, isto não fará com que demore mais o processo?

Se não fosse pedir demais, você poderia me dizer qual a função dos operadores bs e count ?



7. Re: Qual o valor do "bs", para um zero fill?

Buckminster
Buckminster

(usa Debian)

Enviado em 30/12/2013 - 11:48h

xiloba escreveu:

Obrigado, a todos que responderam. Mas, Rei_astro, isto não fará com que demore mais o processo?

Se não fosse pedir demais, você poderia me dizer qual a função dos operadores bs e count ?


bs=BYTES force ibs=BYTES and obs=BYTES
obs=BYTES write BYTES bytes at a time
ibs=BYTES read BYTES bytes at a time
count=BLOCKS copy only BLOCKS input blocks

Mas que cara preguiçoso. Está nos links que te enviei antes.

bs=BYTES força ibs e obs;
obs=BYTES, escreve a quantidade de bytes por vez;
ibs=BYTES, lê a quantidade de bytes por vez;

Ou seja, se você colocar bs=1MB, vai escrever e ler 1MB por vez.

count, copia somente a quantidade de blocos de entrada.
Ou seja, se você colocar count=128 ele irá copiar 128 blocos de cada vez.


8. Re: Qual o valor do "bs", para um zero fill?

andre luiz
xiloba

(usa Slackware)

Enviado em 30/12/2013 - 12:22h

Buckminster, parece-me então que se eu colocar um valor maior no bs, digamos 4M, demorará menos o processo, não é? Mas ele ficará tão bem feito quanto se o valor fosse 1M?

Estava fazendo isso em um pendrive de 16 gigas.


9. Re: Qual o valor do "bs", para um zero fill?

Buckminster
Buckminster

(usa Debian)

Enviado em 30/12/2013 - 13:36h

Veja bem, isso é uma relação e muda de sistema de arquivos para sistema de arquivos.

Basicamente, em bs, o limite superior desse parâmetro é o valor do blocksize, daí vem bs (blocksize).
Ou seja, por exemplo, se o teu pendrive foi formatado com FAT32 com 4096 Bytes (4MB) de tamanho de alocação, esse é o limite superior que deve ser colocado em bs. Mas pode colocar menos.

Por exemplo, os comandos abaixo gerarão a mesma saída com os mesmos valores:

dcfldd if=/dev/sda bs=1234 count=1 | md5sum
dcfldd if=/dev/sda bs=1 count=1234 | md5sum

O count você deve calcular da seguinte maneira:

tamanho_total_a_ser copiado / bs

Por exemplo, se você vai copiar 5GB com bs=4MB, então:

5GB = 5120MB (5 x 1024)

5120/4 = 1280 << esse é o valor a ser colocado em count com bs=4MB.

Lembre-se das conversões de Byte para MB, GB, etc.

Para medir o tempo, antes do comando dcfldd coloque time:

# time dcfldd ...


10. Re: Qual o valor do "bs", para um zero fill?

andre luiz
xiloba

(usa Slackware)

Enviado em 30/12/2013 - 15:18h

Então, para um pendrive de 16 gigas eu faria:

16X1024=16384

16384/4=4096

dcfldd if=/dev/zero of=/dev/sdb1 bs=4M count= 4096 Seria este o melhor modo de formatar o pendrive?


11. Re: Qual o valor do "bs", para um zero fill?

Buckminster
Buckminster

(usa Debian)

Enviado em 30/12/2013 - 16:55h

xiloba escreveu:

Então, para um pendrive de 16 gigas eu faria:

16X1024=16384

16384/4=4096

dcfldd if=/dev/zero of=/dev/sdb1 bs=4M count= 4096 Seria este o melhor modo de formatar o pendrive?


O dcfldd até formata, mas não foi feito para isso, ele apaga os dados, ou copia dados, etc.
Formatar, basicamente, é escrever um sistema de arquivos.

Se você quer apagar completamente teu pendrive faça o seguinte:

dcfldd pattern=00 of=/dev/sdb1

Esse comando acima colocará tudo 0 (zero) no pendrive apagando completamente os dados.
Daí você precisará formatar ele de novo, pois apagará tudo em baixo nível.

# mkfs.vfat /dev/sdb1


Ou use o teu comando acima, ele também serve. Acredito que até é mais rápido do que com pattern.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts