Existem alternativas para 'dd'?

12

Quais outras ferramentas devo usar para ler e gravar arquivos com truncamento, procurando e pulando. As opções de linha de comando do dd parecem inconvenientes e estranhas e eu não gosto de escolher entre o modo de busca lento, mas preciso ( bs=1 ) e o modo rápido, mas inflexível ( bs=4k ou qualquer outro).

Existem ferramentas mais modernas para ler 555 bytes de um arquivo (pipe ou socket ou dev) da posição 31337 e gravá-los no outro arquivo na posição 128205 (usando os blocos 512 + 43), com ou sem truncamento? / p>     

por Vi. 31.07.2012 / 20:49

3 respostas

4

Existe a ferramenta ddrescue (cuidado, também há dd_rescue , que é um programa diferente com quase a mesma funcionalidade). Ele usa a sintaxe mais familiar com o traço único para traço curto ou duplo para opções longas. Na página do manual:

   -i, --input-position=<bytes>
          starting position in input file [0]

   -K, --skip-size=<bytes>
          initial size to skip on read error [64 KiB]

   -M, --retrim
          mark all failed blocks as non-trimmed

   -o, --output-position=<bytes>
          starting position in output file [ipos]
    
por 31.07.2012 / 20:54
2

dcfldd é outra alternativa dd. Ele não aborda a questão do OP sobre flexibilidade de busca de entrada / saída, mas pode ser útil para outras pessoas que chegam aqui através da pesquisa do google.

Ele é baseado no gnu dd, com os seguintes recursos adicionais:

  • Hashing on-the-fly - dcfldd pode hash os dados de entrada como está sendo transferido, ajudando a garantir a integridade dos dados.
  • Saída de status - dcfldd pode atualizar o usuário de seu progresso em termos da quantidade de dados transferido e quanto tempo a operação levará.
  • Disco flexível wipes - o dcfldd pode ser usado para limpar discos rapidamente e com um padrão se desejado.
  • Image / wipe Verify - o dcfldd pode verificar se um unidade de destino é uma correspondência bit-a-bit do arquivo de entrada especificado ou padronizar.
  • Múltiplas saídas - o dcfldd pode gerar vários arquivos ou discos ao mesmo tempo.
  • Dividir saída - o dcfldd pode dividir a saída para vários arquivos com mais configurabilidade que o comando split.
  • Saída e logs canalizados - o dcfldd pode enviar todos os seus dados de log e saída para comandos, bem como arquivos nativamente.
por 14.09.2015 / 16:14
2

Uma boa alternativa é pv . Não só calcula automaticamente o tamanho de bloco mais eficiente, essencialmente acelerando as coisas, mas também fornece progresso, entre outras coisas. Seu uso é simples:

pv < /dev/sda > sda.img

Joga bem com compressão também. Uma maneira rápida de fazer backup e compactar um disco em um movimento é o seguinte:

pv < /dev/sdb | pigz -9 > disk.img.gz

Você pode saber mais aqui .

    
por 23.03.2016 / 04:05