Cuando llega el momento de borrar, hacer una copia de seguridad o restaurar datos en Linux, hay varias aplicaciones que puede elegir. GParted es una de las opciones más probadas que existen. GNOME Disks es una alternativa más moderna que se ve muy bien en el entorno de escritorio de GNOME. Pero no importa qué sistema operativo Linux ejecute, hay una opción que siempre funciona: dd .
Puede usar Linux sin necesidad de sumergirse en la terminal. Pero una vez que agregue ciertos comandos a su repertorio, no solo ahorrará tiempo, sino que también aprenderá habilidades que puede usar en cualquier versión de Linux.
¿Por qué usar dd?
Ya sea que esté en una computadora de escritorio o en un servidor, dd simplemente funciona. dd comenzó como un comando de Unix, por lo que, además de Linux, es compatible con otros sistemas operativos similares a Unix, como FreeBSD y macOS.
dd también tarda unos segundos en iniciar un borrado o crear una imagen de disco. Una vez que sepa qué escribir, puede abrir una terminal y borrar una unidad en el tiempo que le lleva escribir una búsqueda de instrucciones en línea.
Con un gran poder viene una gran responsabilidad. El comando para clonar una unidad no es tan diferente del comando para borrar una. Debe prestar especial atención a lo que escribe cuando trabaja con comandos que pueden eliminar archivos.
¿Estás nervioso? Bueno. Incluso una vez que sea un experto en dd, siempre querrá escribir los comandos con cuidado. Una mente distraída puede, en el peor de los casos, arruinar el hardware y, lo más probable, provocar la pérdida de datos. Ahora, comencemos.
Clonación de una unidad con dd
La clonación de una unidad es una forma segura de hacer una copia de seguridad de su computadora. Puede hacer una copia de seguridad de los datos en un disco duro portátil o Dropbox, pero esto solo guarda sus archivos.
Para guardar sus aplicaciones, debe aprender cómo hacer una copia de seguridad de cada aplicación individual. Para algunos, eso significa exportar un archivo específico. Para otros, eso significa copiar una carpeta oculta. Luego están esas aplicaciones de las que no puedes hacer una copia de seguridad.
dd soluciona esto creando una copia exacta de todo su disco duro o partición. Cuando restaura esta copia, devuelve su computadora exactamente a como estaba. Recuperará sus archivos, sus aplicaciones, su historial de navegación e incluso la configuración de su sistema. Todo.
Para clonar su unidad, necesitará una segunda unidad que tenga más espacio que la que está copiando. Probablemente, será un disco duro portátil o una unidad flash grande.
Comience abriendo la terminal. Necesitará derechos de administrador para ejecutar cualquier comando dd. Puede escribir su para iniciar sesión como administrador o escribir sudo al principio del comando dd.
Cuando esté listo para copiar, escriba el siguiente comando. Tenga en cuenta que borrará todos los datos preexistentes en la segunda unidad, así que asegúrese de hacer una copia de seguridad de los datos de antemano.
dd if=/dev/sdX of=/dev/sdY
Ahora, vamos a dar sentido a lo que está pasando. dd es el comando. si es la entrada, como en la ubicación que desea copiar. de es la salida o la ubicación que está reemplazando con su copia.
sdX y sdY se refieren a las unidades con las que está interactuando. Las unidades a menudo reciben un nombre como /dev/sda , /dev/sdb o /dev/sdc . Puede encontrar los nombres usando un editor de particiones. O, dado que ya está en la terminal, puede usar el comando lsblk .
Creación de una imagen de disco
Otra forma de clonar una unidad es crear una imagen de disco que pueda mover y restaurar como lo haría con un USB de arranque.
La creación de archivos de imagen le permite guardar varias copias de seguridad en un solo destino, como un disco duro portátil grande. Nuevamente, este proceso solo requiere un comando:
dd if=/dev/sdX of=path/to/your-backup.img
Para ahorrar espacio, puede hacer que dd comprima su copia de seguridad.
dd if=/dev/sdX | gzip -c > path/to/your-backup.img.gz
Este comando reduce su copia de seguridad a un archivo IMG.GZ , uno de los muchos formatos de compresión que Linux puede manejar.
Restaurar una unidad con dd
¿De qué sirven las copias de seguridad si no puedes usarlas? Cuando esté listo para restaurar una imagen con dd, tiene dos opciones. Si utilizó el primer enfoque, simplemente intercambie los dos destinos.
dd if=/dev/sdY of=/dev/sdX
Al restaurar desde un archivo de imagen, se aplica el mismo concepto:
dd if=path/to/your-backup.img of=/dev/sdX
Si su archivo de imagen está comprimido, entonces las cosas se ponen un poco diferentes. Utilice este comando en su lugar:
gunzip -c /path/to/your-backup.img.gz | dd of=/dev/sdX
Para ser claros, gunzip es "g unzip", como lo contrario de "g zip". Este comando descomprime su copia de seguridad. Luego, dd reemplaza la unidad existente con esta imagen.
Parámetros a considerar
Puede modificar su comando pegando un parámetro al final. De forma predeterminada, dd puede tardar un tiempo en transferir datos. Puede acelerar el proceso aumentando el tamaño del bloque. Hágalo agregando bs= al final.
dd if=/dev/sdX of=/dev/sdY bs=64
Este ejemplo aumenta el tamaño de bloque predeterminado de 512 bytes a 64 kilobytes.
conv=noerror le dice a dd que continúe a pesar de cualquier error que ocurra. El comportamiento predeterminado es detenerse, lo que da como resultado un archivo incompleto. Tenga en cuenta que ignorar los errores no siempre es seguro. El archivo resultante puede estar dañado.
conv=sync agrega bloques de entrada con ceros cada vez que hay errores de lectura. De esta manera, las compensaciones de datos permanecen sincronizadas.
Puede combinar estos dos últimos como conv=noerror,sync si así lo desea. No hay espacio después de la coma.
Conociendo a dd
En caso de que esté interesado, el nombre de dd se refiere a una declaración en el lenguaje de control de trabajos de IBM . Si no entiendes lo que está pasando allí, no te preocupes. Eso no hace que el comando sea más difícil de usar.
¿Necesita más información para ayudar con dd? La página wiki es bastante completa. También hay un excelente artículo en la wiki de Arch Linux . De nuevo, no importa si estás usando Arch o no. dd funciona de la misma manera independientemente de su sistema operativo Linux.