Este conteúdo foi organizado a pensar nos utilizadores, iniciantes ou não, do sistema operativo Linux, qualquer que seja a Distro que utilizam. Iremos explicar e dar exemplos de utilização do comando dd, por exemplo no que respeita à criação de backups de ficheiros, dispositivos ou sistemas, bem como a recuperação ou restauro dos dados.
Claro que você sabe bem que a perda de dados é dos piores pesadelos dos Administradores de sistemas, não só em Linux, mas em qualquer organização ou empresa. Consequentemente, a existência de backups deve merecer toda a atenção, sendo um aspeto crítico.
No que respeita a sistemas operativos Linux, há várias formas de realizar uma cópia de segurança dos dados, sendo uma delas através do comando
rsynk conforme pode verificar no nosso artigo
Sincronizar em linux com rsync .
O comando dd é na realidade uma ferramenta muito simples, mas muito eficaz. Trata-se de uma ferramenta poderosa que permite copiar dados da origem para um destino, independentemente do sistema de ficheiros ou sistema operativo em causa. Para exemplificar a simplicidade e eficácia deste comando basta dizermos que uma das formas mais convenientes de utilização deste comando é a sua utilização através de um ambiente Live CD.
Dica: Atenção porque uma incorreta utilização do comando dd pode levar à perda de dados de todo um disco rígido. Certifique-se, portanto, que tem cuidado quando for aplicar estes conteúdos.
Mas passemos à prática. Das diversas utilizações possíveis deste comando, vamos cobrir a cópia integral de um disco rígido, criação de imagem de um disco rígido, fazer um backup de uma partição apenas e, por fim, fazer um backup de um drive de CD.
Utilização básica
A utilização básica do comando
dd é a seguinte:
dd if=[/origem/dados/backup] of=[/destido/do/backup] [opções]
Vamos agora decompor o comando dado:
if Input File: É o ficheiro de origem a copiar.
of Output File: É o ficheiro de saída, onde estará disponível uma cópia exata do Input File dado.
[opções] Existem várias opções que são dadas no formato
[opção] =
[parâmetro] . Nos exemplos que se seguem iremos utilizar algumas opções.
BackUp de disco rígido completo
A cópia de um disco rígido completo pode ser feita conforme passamos a exemplificar. Vamos supor que nosso disco é o device
/dev/hda e queremos copiá-lo para nosso disco com o nome
/dev/hdc . Esta ação é feita da seguinte forma:
dd if=/dev/hda of=/dev/hdc conv=noerror, sync
Mais uma vez, vamos decompor este comando:
if=/dev/hda Input File, ou seja, ficheiro de origem é o disco
hda que se encontra na localização /dev/…
of=/dev/hdc Output File, ou seja, ficheiro de destino onde estarão disponíveis os dados após o backup.
conv=noerror, sync Parâmetros da conversão. Significa que deverão ser ignorados erros na leitura dos dados de origem (noerror) e que os dados devem manter a sincronização (sync), apesar de estarem dados ausentes. O sistema preenche os espaços em branco com zeros.
Criar uma imagem de um disco rígido completo
Pode parecer que estamos a falar do mesmo, mas não. Uma imagem de um disco rígido é diferente de um backup. Frequentemente uma imagem tem vantagens sobre o backup por ser mais rápido de executar e bastante simples de recuperar os dados.
Vejamos o comando em causa:
dd if=/dev/hda of=~/ imagem.img
Passemos à decomposição do comando:
if=/dev/hda Input File, ou seja, ficheiro de origem.
of=~/imagem.img Output File, ou seja, ficheiro de destino que neste caso é uma imagem e ficará no diretório home (~) do nosso utilizador.
Restaurar uma imagem criada previamente de um disco rígido.
Claro que depois de termos visto como criamos uma imagem convém saber como restauramos esta imagem, por exemplo após uma catástrofe em nosso sistema. Partindo do princípio que temos a imagem criada no exemplo anterior, vamos então restaurar nosso disco:
dd if=~/imagem.img of=/dev/hda
Simples, não? Neste caso o código é ilustrativo, de tão simples. Não vamos portanto decompor. A imagem armazenada em nosso diretório home será restaurada para o disco
/dev/hda .
Pronto. Terminamos nossa abordagem experimental ao comando
dd . Claro que esta não é uma abordagem aprofundada. Cobrimos só o essencial para que o utilizador consiga dar os primeiros passos. Depois de estar minimamente enquadrado com as vantagens do comando e de saber utilizá-lo minimamente, não deixe de consultar a man page no seu sistema Linux para se inteirar de todas as funcionalidades e potencialidades do comando.
Divirta-se!
A equipa Linuxando.