dd copia datos de un flujo de entrada a uno de salida y aplica los tamaños de bloque y las conversiones solicitados. No comprende los sistemas de archivos, los límites de las particiones ni si un destino contiene datos valiosos. Esto lo hace útil para imágenes y dispositivos sin procesar, e inmediatamente destructivo cuando el destino es incorrecto.
Dispositivos · Lección 7
dd
Aprende cómo `dd` copia flujos de bloques y cómo evitar errores destructivos de entrada, salida y tamaño.
Entrada, salida y tamaño de bloque
Una orden tiene esta forma general:
$ dd if=input.img of=output.img bs=4M status=progress
if=selecciona la entrada; sin él,ddlee la entrada estándar.of=selecciona la salida; sin él,ddescribe en la salida estándar.bs=establece el tamaño de los bloques de entrada y salida para una copia ordinaria.status=progresssolicita a GNUddque comunique periódicamente el progreso de la transferencia.
dd copia bloques, no necesariamente un byte cada vez. Un bs mayor puede reducir la sobrecarga de las llamadas al sistema, pero el valor óptimo depende de los dispositivos, la alineación, la caché y la carga de trabajo. No cambia los datos lógicos copiados.
¿Qué operando selecciona el destino en el que escribe dd?
Limitar la copia
count= limita el número de bloques de entrada procesados. Para un archivo de entrada normal:
$ dd if=source.img of=prefix.img bs=1M count=2 status=progress
Esto solicita dos bloques de entrada de hasta 1 MiB cada uno, por lo que copia como máximo 2 MiB. Las lecturas cortas pueden complicar la multiplicación sencilla en flujos como las tuberías; GNU dd ofrece iflag=fullblock cuando se necesitan bloques de entrada completos. Distingue las unidades binarias y la sintaxis de los sufijos conforme a la implementación local.
Para un archivo normal, ¿qué cantidad máxima solicita bs=1M count=2?
Escribir una imagen en un dispositivo de bloques
Una restauración sin procesar puede tener este aspecto:
$ sudo dd if=backup.img of=/dev/sdX bs=4M status=progress conv=fsync
/dev/sdX es deliberadamente un marcador de posición, no una orden que se deba copiar. Antes de sustituirlo:
- Conserva una copia de seguridad probada de todos los datos valiosos.
- Identifica el destino por modelo, número de serie, tamaño, transporte y enlace persistente mediante
lsblk,udevadmo herramientas equivalentes. - Confirma que ninguna partición del destino esté montada, se utilice como intercambio, forme parte de RAID o LVM, o esté abierta por otro servicio.
- Vuelve a comprobar el dispositivo después de cualquier desconexión, reinicio o cambio de topología.
- Asegúrate de que la imagen quepa y de que realmente pretendas escribir en todo el dispositivo.
El dispositivo de salida se sobrescribe desde el principio. Invertir if y of, seleccionar el disco del sistema o utilizar un disco completo cuando se pretendía usar una partición puede destruir datos sin pedir confirmación.
¿Cuál es la razón más importante para verificar el modelo, el número de serie, el tamaño y el uso activo antes de escribir en un dispositivo sin procesar?
Crear una imagen coherente
Leer un dispositivo de bloques activo mientras cambia su sistema de archivos puede producir una imagen internamente incoherente. Prefiere un sistema de archivos desmontado, una instantánea coherente con la aplicación o un flujo documentado de inmovilización e instantáneas. Las bases de datos y las máquinas virtuales pueden exigir sus propios procedimientos de pausa.
Una imagen sin procesar copia bloques, incluidos los metadatos del sistema de archivos y las regiones sin usar, por lo que puede ser mucho mayor que una copia de seguridad basada en archivos y puede reproducir identificadores que deban cambiarse antes de montar un clon junto al original.
¿Por qué puede ser poco fiable crear una imagen de un sistema de archivos montado que está cambiando?
Finalización y verificación
Que la orden termine sin un error de E/S no demuestra que se eligieran la fuente y el destino pretendidos ni que la imagen sea utilizable. Registra las identidades y los tamaños exactos, asegúrate de que la salida almacenada en búfer haya llegado al soporte, compara una lectura posterior limitada adecuadamente o hashes criptográficos y prueba la recuperación conforme al plan de copias de seguridad.
No anuncies pasadas de sobrescritura con dd como un borrado seguro garantizado para SSD, capas de traducción flash, almacenamiento de aprovisionamiento fino, instantáneas o sectores reasignados. Utiliza la sanitización compatible con el dispositivo y la plataforma junto con una política explícita de destrucción de datos.
¿Qué no demuestra por sí solo un estado de salida cero de dd?
Practica únicamente con archivos normales o discos virtuales desechables antes de tocar hardware sin procesar. Los conceptos de particiones y sistemas de archivos de Gestionar particiones y sistemas de archivos de Linux proporcionan contexto esencial.
Lección completada
Has completado dd
Ahora puedes razonar sobre dd como una herramienta de copia de bloques sin conocimiento de la intención.
Distingue
if,of,bsycount.Verifica la identidad persistente del destino y todos sus consumidores activos.
Crea imágenes a partir de un estado de almacenamiento coherente.
Vacía los búferes, verifica y prueba la recuperación después de una copia.
Trata toda salida a un dispositivo sin procesar como potencialmente destructiva.
Guarda tu progreso
Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.
Crear una cuenta gratuita