Depende de para qué es exactamente la partición y para qué sirve la copia. Sin embargo, diré que, en general, dd
es una herramienta inapropiada para hacer copias de seguridad de los sistemas de archivos . Eso no es para lo que estaba destinado, tampoco.
Perderá mucho tiempo copiando secciones vacías de la partición.
Puede generar inconsistencias si el sistema de archivos está montado actualmente, en parte porque es una entidad a nivel del sistema operativo y puede estar fuera de sincronización con el dispositivo de bloque subyacente. Llamar sync
inicialmente no ayudará mucho con esto, ya que el proceso no es instantáneo.
Uso cp -a
o en su rsync
lugar. Luego, debe crear la partición de destino, por supuesto, por lo que no es tan fácil, pero es mucho más seguro y más flexible. Si necesita crear una imagen del sistema de archivos , consulte a continuación.
Si tiene la intención de copiar el sistema de archivos raíz, absolutamente no lo use dd
. Debe usar algo como rsync -ax
(o cp -ax
en directorios individuales de nivel superior), porque hay un montón de cosas que NO deben estar en la copia . En Linux, esto incluye:
/dev
/lost+found
/mnt
/proc
/run
/sys
/tmp
Algunos de estos son en realidad interfaces del kernel y no directorios reales en el disco. Si los copia, está copiando un montón de información que no se aplicará en la copia; Si intenta ejecutar un sistema con él, solo equivaldrá a un espacio desperdiciado, ya que la interfaz real se montará en la parte superior. Otros contienen información temporal en uso mediante procesos en ejecución y esos son más un problema, ya que el sistema no podrá resolver la basura si copia eso.
Si desea crear un archivo de imagen del sistema de archivos raíz (o cualquier sistema de archivos), cree un archivo de imagen vacío; este es un uso apropiado para dd
:
dd if=/dev/zero of=whatever.img bs=1024 count=1000000
Esa es una imagen de 1024 MB (1000000 * 1024). Ajuste count
si lo desea de otro tamaño. Cree, por ejemplo, un ext
sistema de archivos en el archivo :
mke2fs whatever.img
Te advertirá que este no es un dispositivo de bloque real. Continuar. Ahora monte el archivo de imagen:
mount whatever.img /mnt/img
/mnt/img
debe existir pero podría cualquier cosa. Ahora puedes rsync
(o cp -a
) entrar /mnt/img
. El contenido permanecerá adentro whatever.img
cuando lo desmontes.
Sin embargo...
Para que quede claro, solo use el método de imagen del sistema de archivos que se acaba de describir si necesita un archivo de imagen por cualquier motivo. Si su objetivo es copiar la partición a otro disco duro, no necesita una imagen : cree una nueva partición con un sistema de archivos vacío en esa unidad, móntela y cópiela allí. En su lugar, podría simplemente poner el contenido del sistema de archivos en un directorio vacío y archivarlo:
tar -czf myarchive.tar.gz [the directory path]
Luego puede implementar esto en una partición existente (vacía o no) colocándola en el nivel superior y usando:
tar -xzf myarchive.tar.gz
Tenga en cuenta que sobrescribirá los archivos existentes si sus rutas coinciden con algo en el archivo. De lo contrario, dejará la jerarquía de directorios existente igual.