Qual é a diferença entre ddrescue, gddrescue e dd_rescue?

57

O ddcomando é comumente usado para fazer backup de imagens de uma unidade ou partição . No entanto, ele apresenta um desempenho ruim se a unidade de origem não for confiável ou falhar. Eu li que ddrescue/ dd_rescueé uma boa ferramenta a ser usada para recuperar uma imagem de uma unidade ruim, pois ela tenta reler de maneira inteligente os setores que não foram lidos pela primeira vez.

Mas nos repositórios do Ubuntu, vejo dois diferentes ddrescueprogramas, com 3 nomes diferentes, mas semelhantes aparecendo em lugares diferentes: ddrescue, gddrescue, dd_rescue. Qual é a diferença?

Caracol mecânico
fonte

Respostas:

71

ddrescue, confusamente, pode se referir a dois programas completamente separados, dd_rescuede Kurt Garloff, e GNU ddrescue . Ambos têm o mesmo objetivo e são desenvolvidos ativamente.

O programa de Garloff dd_rescueé a primeira tentativa de melhorar dd; O GNU ddrescue é mais recente e foi criado para solucionar as falhas dodd_rescue .

Várias fontes preferem o GNU ddrescue dd_rescue. Por exemplo,

  • http://lwn.net/Articles/430000/

    O ddrescue vence (no meu livro) porque é um programa autônomo eficiente escrito em C ++ (não um shell script kludge), produz uma saída muito mais limpa no console / terminal e (o mais importante) lida com blocos ilegíveis de maneira graciosa e inteligente .

  • http://www.toad.com/gnu/sysadmin/index.html#ddrescue

    O GNU ddrescue é seu melhor amigo.

    É modelado após os dois programas anteriores, dd_rescue (com uma barra inferior) e dd_rhelp. Mas o GNU ddrescue é muito melhor do que ambos - eu tentei todos os três, na mesma unidade, além de tentar usar o "dd" antigo e simples.

    O ddrescue GNU de Antonio Diaz Diaz aprendeu com essas experiências. Ele combina a capacidade do dd_rescue de ler grandes blocos e depois mudar de marcha, com a capacidade do dd_rhelp de lembrar quais partes do disco já foram examinadas. Ele mantém essas informações em um formato de arquivo de log realmente simples e atualizadas a cada 30 segundos ou sempre que para ou é interrompido. Está escrito em C ++ e é pequeno e rápido.

Uma vantagem do GNU ddrescue é que ele faz o backup da maioria dos dados mais rapidamente, pulando primeiro os blocos defeituosos (que demoram a recuperar) e retornando a eles somente após o backup de bons blocos. Uma desvantagem do GNU ddrescue é que ele não suporta saída canalizada, o que significa que você não pode compactar a imagem de saída com gzipoulzop .

Pacotes do Ubuntu

Infelizmente, os nomes dos pacotes nos repositórios do Ubuntu são confusos; dd_rescueé empacotado sob o nome ddrescuee ddrescuesob gddrescue! Nos resumos dos pacotes:

  • gddrescue pacote:

    Observe que esta é a versão GNU ddrescue que fornece o executável / sbin / ddrescue. Se você está procurando a versão ddrescue de Kurt Garloff, verifique o pacote ddrescue.

  • ddrescue pacote:

    Observe que esta é a versão dd_rescue do Kurt Garloff, que fornece o executável / bin / dd_rescue. Se você está procurando a versão GNU ddrescue, verifique o pacote gddrescue.

Resumo dos nomes:

Program name     Ubuntu package name     Executable name    Name in URL
GNU ddrescue     gddrescue               ddrescue           ddrescue
dd_rescue        ddrescue                dd_rescue          ddrescue
Caracol mecânico
fonte
2
Dois anos atrasado, mas: post muito bom para um problema que ainda afeta as pessoas, e não apenas no Ubuntu! Vou colocar meus próprios dois centavos, como é mencionado apenas na resposta acima: uma das vantagens do GNU ddrescue é seu recurso de arquivo de log. Não apenas permite retomar recuperações parciais e tentar novamente mais tarde, mas como é legível por humanos e por computador, humanos e computadores podem usá-lo para uma recuperação de dados mais avançada posteriormente. Eu tive que fazer isso recentemente em uma unidade danificada; sem o arquivo de log, eu não saberia por onde começar!
precisa saber é
4
Recentes Ubuntu (14.04 e acima) aparecem só para ter gddrescue, uma pesquisa de pacotes do Ubuntu para ddrescue únicos shows gddrescue(e ddrescueview) agora, Kurt Garloff de ddrescueé apenas em 12,04
Xen2050
2
O motivo para "ignorar primeiro os blocos defeituosos" é salvar os dados ainda intactos antes de tentar recuperar os dados incorretos. A atividade na unidade pode destruir mais bits, principalmente as tentativas repetidas de restaurar áreas ruins.
Jonas Stein