Clonando partições/HDs com o dd
# dd if=origem of=destino
Tanto a origem como o destino podem ser tanto dispositivos de bloco (partições, HDs, cdroms) quanto arquivos normais. Isso quer dizer que podemos fazer dev -> arq, arq -> dev, dev -> dev, e até arq -> arq (embora esse último não tenha muito sentido). Exemplos:
Cópia partição-partição:
# dd if=/dev/hdc6 of=/dev/hdd1
Cópia hd-hd:
# dd if=/dev/hda of=/dev/hdd
Cria imagem sem compactação:
# dd if=/dev/hdc6 of=/mnt/bck/hdc6.img
Restaura imagem sem compactação:
# dd if=/mnt/bck/i.img of=/dev/hdd3
Cria imagem com compactada pelo 7zip:
# dd if=/dev/fd0 | 7z a -si /mnt/bck/img.7z
Restaura imagem compactada pelo 7zip:
# 7z x /mnt/bck/img.7z -so | dd of=/dev/fd0
Cria imagem compactada pelo gzip:
# dd if=/dev/fd0 | gzip -9f > /mnt/bck/img.gz
Restaura imagem comprimida com o gzip:
# gzip –decompress –stdout img.gz | dd of=/dev/fd0
Para compactar você pode usar qualquer compactador, basta fazer ele receber dados do STDIN ao criar a imagem e enviar para o STDOUT ao restaurar. Na verdade você pode fazer qualquer coisa com as imagens usando o dd com pipes, basta usar a imaginação!