O dd para quando o disco está cheio?

O dd para quando o disco está cheio?

Se eu emitir o seguinte comando para apagar completamente um disco, ele irá parar automaticamente quando o disco estiver cheio ou preciso especificar a countopção?:

sudo dd if=/dev/zero of=/dev/disk7 bs=64m

Devo mencionar isso no OS X 10.9.

Responder1

apagar completamente um disco

Se o seu objetivo é fazer um disco mecânico (HDD)com segurançaapagado de forma que seja impossível, mesmo em princípio, que alguém coloque as mãos nele e recupere os dados, você não deve usá-lo /dev/zerocomo fonte e deve escrevê-lo mais de uma vez. VerWikipédiaeabout.com.

Se você não se preocupa com segurança, /dev/zerotudo bem, mas então é só colocar uma nova tabela de partições no dispositivo.

Realmente não consigo ver um caso de uso válido para gravação /dev/zeroem mídia física, porque:

  1. É muito inseguro se você se preocupa com segurança;
  2. Demora muito e desperdiça tempo e ciclos de gravação se você não fizer isso (porque você pode simplesmente substituir quaisquer estruturas de dados que estejam no disco por novas, o que significa que apenas um programa de recuperação de dados teria esperança de recuperar fragmentos dos dados antigos , e tudo bem porque você acabou de dizer que não se importa com segurança ou, se se importa, não deveria estar lendo isso).

parar automaticamente

Claro. O que você acha que vai acontecer, continuar escrevendo no próximo arquivo?

Você especifica especificamente a ofopção, que significa "arquivo de saída". Ele abrirá esse dispositivo de bloco e escreverá até chegar ao final do dispositivo de bloco e depois sairá. Este é um comportamento normal para dd.

preciso especificar a countopção?

Você só faria isso se quiser parar de gravar em algum momento antes de chegar ao final do dispositivo de bloco ou se estiver gravando em um arquivo normal (ou seja, não em um dispositivo de bloco) e quiser que ele pare antes de preencher o sistema de arquivos em que o arquivo está.

Algumas notas finais:

  • Este comportamento não é específico para (qualquer versão específica do) OS X, ou mesmo para o OS X. Funciona da mesma forma no Linux, Android, nos BSDs e provavelmente em outros que implementam os padrões POSIX.
  • Você poderia ter respondido sua própria pergunta criando um pequeno arquivo de imagem (2 MB) e usando dd-o após montá-lo em um dispositivo de loopback e, em seguida, executá dd-lo.
  • Deve-se notar que sem countespecificado, ddirá parar quandoo primeiroocorre uma das seguintes condições: ou o if(arquivo de entrada) lança um EOF(fim do arquivo) ou o sistema operacional lança um sinal indicando que o último bloco de of(arquivo de saída) foi alcançado.

Responder2

Ele irá parar quando o disco estiver cheio

informação relacionada