LinuxParty
Realice copias perfectas de unidades, particiones y sistemas de archivos de forma segura y confiable con la herramienta Linux dd.
Este artículo es un extracto del capítulo 4 de Linux in Action, publicado por Manning.
Ya sea que esté tratando de rescatar datos de una unidad de almacenamiento moribunda, respaldar archivos en un almacenamiento remoto o hacer una copia perfecta de una partición activa en otro lugar, necesitará saber cómo copiar unidades y sistemas de archivos de manera segura y confiable. Afortunadamente, "dd
" es la herramienta de copia de imágenes simple y poderosa que jamás haya existido, bueno, prácticamente desde siempre. Y en todo ese tiempo, no ha aparecido nada que funcione mejor.
Hacer copias perfectas de unidades y particiones
Hay todo tipo de cosas con las que puedes hacer con "dd
" si investigas lo suficiente, pero donde brilla es en la forma en que te permite jugar con las particiones. Por supuesto, puede usar "tar
" o incluso "scp
" para replicar sistemas de archivos completos copiando los archivos de una computadora y luego pegándolos tal como están encima de una instalación nueva de Linux en otra computadora. Pero, debido a que esos archivos del sistema de archivos no son imágenes completas, requerirán un sistema operativo host en ejecución en ambos extremos para servir como base.
Usar "dd
", por otro lado, puede crear imágenes perfectas byte por byte de, bueno, casi cualquier cosa digital. Pero antes de que empieces a lanzar particiones de un extremo a otro del mundo, debo mencionar que hay algo de verdad en ese viejo chiste de administradores de Unix: "dd significa destructor de discos". Si escribe aunque sea un carácter incorrecto en un comando "dd
", puede eliminar instantánea y permanentemente toda una unidad de datos valiosos. Y sí, la ortografía cuenta.
Recuerda: ¡ Antes de presionar esa tecla Enter para invocar , haz una pausa y piensa con mucho cuidado! "dd
"
Operaciones básicas de dd
Ahora que ha sido debidamente advertido, comenzaremos con algo sencillo. Suponga que desea crear una imagen exacta de un disco completo de datos que ha sido designado como "/dev/
sda
" . Ha conectado una unidad vacía (lo ideal es que tenga la misma capacidad que su sistema "/dev/
sda
" ). La sintaxis es simple: "if=
" define la unidad de origen y "of=
" define el archivo o la ubicación donde desea que se guarden sus datos:
# dd if=/dev/sda of=/dev/sdb
El siguiente ejemplo creará un archivo .img de la unidad "/dev/
" "sda
" unidad y lo guardará en el directorio de inicio de su cuenta de usuario:
# dd if=/dev/sda of=/home/username/sdadisk.img
Esos comandos crearon imágenes de unidades completas. También puede concentrarse en una sola partición de una unidad. El siguiente ejemplo hace eso y también usa "bs
" para establecer el número de bytes para copiar de una sola vez (4096, en este caso). Jugar con el valor de "bs
" puede tener un impacto en la velocidad general de una operación "dd
", aunque la configuración ideal dependerá de su perfil de hardware y otras consideraciones.
# dd if=/dev/sda2 of=/home/username/partition2.img bs=4096
La restauración es simple: efectivamente, invierte los valores de "if
" y "of
" . En este caso, "if=
" toma la imagen que desea restaurar y "of=
" toma la unidad de destino en la que desea escribir la imagen:
# dd if=sdadisk.img of=/dev/sdb
También puede realizar las operaciones de creación y copia en un solo comando. Este ejemplo, por ejemplo, creará una imagen comprimida de una unidad remota usando SSH y guardará el archivo resultante en su máquina local:
# ssh Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. "dd if=/dev/sda | gzip -1 -" | dd of=backup.gz
Siempre debe probar sus archivos para confirmar que funcionan. Si es una unidad de arranque que ha creado, péguela en una computadora y vea si se inicia como se esperaba. Si se trata de una partición de datos normal, móntela para asegurarse de que los archivos existan y se pueda acceder a ellos correctamente.
Limpiando (destruir) discos con dd
Hace años, tenía un amigo que era responsable de la seguridad en las embajadas de su gobierno en el extranjero. Una vez me dijo que cada embajada bajo su supervisión contaba con un martillo oficial emitido por el gobierno. ¿Por qué? En caso de que la instalación estuviera alguna vez en riesgo de ser invadida por hostiles, el martillo se usaría para destruir todos sus discos duros.
¿Que es eso? ¿Por qué no simplemente eliminar los datos? Estás bromeando, ¿verdad? Todo el mundo sabe que eliminar archivos que contienen datos confidenciales de los dispositivos de almacenamiento en realidad no elimina los datos. Con suficiente tiempo y motivación, casi cualquier cosa se puede recuperar de prácticamente cualquier medio digital, con la posible excepción de los que se han martillado bien y correctamente.
Sin embargo, puede utilizar "dd
" para que sea mucho más difícil para los malos acceder a sus datos antiguos. Este comando pasará algún tiempo escribiendo millones y millones de ceros en cada rincón y grieta de la partición "/dev/sda1
" :
# dd if=/dev/zero of=/dev/sda1
Pero se pone mejor. Usando el archivo "/dev/
" "urandom
" como su fuente, puede escribir sobre un disco con caracteres aleatorios:
# dd if=/dev/urandom of=/dev/sda1
Monitoreo de operaciones dd
Dado que el archivado de discos o particiones puede llevar mucho tiempo, es posible que desee agregar un monitor de progreso a su comando. Instale Pipe Viewer ( "
sudo apt install pv
" en Ubuntu) e insértelo en "dd
" . Con "pv
" , ese último comando podría verse así:# dd if=/dev/urandom | pv | dd de=/dev/sda1 4,14 MB 0:00:05 [ 98kB/s] [ <=> ]
¿Posponer las copias de seguridad y la administración de discos? Con dd, no te quedan demasiadas excusas. Realmente no es difícil, pero ten cuidado. ¡Buena suerte!
-
Hardware
- Cómo Imprimir desde la Línea de Comandos en Linux y Solucionar Problemas con Impresoras en Red
- Los 5 mejores comandos de Linux para solucionar problemas (y cómo los uso)
- 5 comandos de Linux para encontrar rápidamente la información de tu Sistema Operativo
- El controlador de gráficos NVIDIA 560 Linux adoptará completamente módulos de kernel de GPU de código abierto
- El 84% de los usuarios de PC no están dispuestos a pagar más por un hardware con soporte para IA, según una encuesta
- ¿PC con Linux o Windows 11 Copilot+? TUXEDO presenta el portátil Snapdragon X Elite ARM
- La startup finlandesa 'Flow' afirma que puede multiplicar por 100 la potencia de cualquier CPU con su chip complementario
- China lanza el buque portacontenedores eléctrico más grande del mundo
- Testar el rendimiento de discos duros en Linux
- ¿Por qué los portátiles están soldando sus RAM a la placa?
- TUXEDO Sirius 16 Gen2, el portátil de juegos Linux completamente AMD, recibe un CPU Ryzen 7 más rápido
- Clonezilla Live ahora está parcheado contra la puerta trasera XZ, con tecnología Linux 6.7
- La computadora de escritorio LXQt 2.0 se lanza en abril con un nuevo menú de aplicaciones y portado a Qt 6
- Lanzamiento del controlador de gráficos NVIDIA 550.54.14 para Linux con muchas mejoras
- El firmware BIOS/UEFI de código abierto Libreboot agrega más soporte de hardware