Depende para o que exatamente serve a partição e qual é o objetivo da cópia. No entanto, direi que, em geral, dd
é uma ferramenta inadequada para fazer backup de sistemas de arquivos . Não foi para isso que ele foi planejado.
Vai perder muito tempo copiando seções vazias da partição.
Pode levar a inconsistências se o sistema de arquivos estiver montado no momento, em parte porque é uma entidade no nível do SO e pode estar fora de sincronia com o dispositivo de bloco subjacente. Ligar sync
inicialmente não ajudará muito com isso, pois o processo não é instantâneo.
Use cp -a
ou em rsync
vez disso. Você precisará criar a partição de destino, é claro, para que não seja tão fácil, mas é muito mais seguro e flexível. Se você precisar criar uma imagem do sistema de arquivos , veja abaixo.
Se você pretende copiar o sistema de arquivos raiz, absolutamente não o utilize dd
. Você deve usar algo como rsync -ax
(ou cp -ax
em diretórios individuais de nível superior), porque há várias coisas que NÃO devem estar na cópia . No Linux, isso inclui:
/dev
/lost+found
/mnt
/proc
/run
/sys
/tmp
Algumas delas são realmente interfaces de kernel e não diretórios reais no disco. Se você copiá-los, estará copiando um monte de informações que não serão aplicadas na cópia; se você tentar executar um sistema com ele, isso representará apenas espaço desperdiçado, pois a interface real será montada no topo. Outros contêm informações temporárias em uso pela execução de processos e esses são mais um problema, pois o sistema não poderá resolver o lixo se você o copiar.
Se você deseja criar um arquivo de imagem do sistema de arquivos raiz (ou qualquer sistema de arquivos), crie um arquivo de imagem vazio - este é um uso apropriado para dd
:
dd if=/dev/zero of=whatever.img bs=1024 count=1000000
Essa é uma imagem de 1024 MB (1000000 * 1024). Ajuste count
se você quiser outro tamanho. Crie, por exemplo, um ext
sistema de arquivos no arquivo :
mke2fs whatever.img
Ele avisará que este não é um dispositivo de bloco real. Continuar. Agora monte o arquivo de imagem:
mount whatever.img /mnt/img
/mnt/img
deve existir, mas poderia qualquer coisa. Agora você pode rsync
(ou cp -a
) entrar /mnt/img
. O conteúdo permanecerá dentro whatever.img
quando você o desmontar.
Contudo...
Só para esclarecer, use o método de imagem do sistema de arquivos descrito acima apenas se você precisar absolutamente de um arquivo de imagem por qualquer motivo. Se seu objetivo é copiar a partição para outro disco rígido, você não precisa de uma imagem : crie uma nova partição com um sistema de arquivos vazio nessa unidade, monte-a e copie nela. Você pode simplesmente colocar o conteúdo do sistema de arquivos em um diretório vazio e arquivá-lo:
tar -czf myarchive.tar.gz [the directory path]
Você pode implantar isso em uma partição existente (vazia ou não), colocando-a no nível superior e usando:
tar -xzf myarchive.tar.gz
Cuidado que substituirá os arquivos existentes se seus caminhos corresponderem a algo no arquivo morto. Caso contrário, deixará a hierarquia de diretórios existente a mesma.