Loading




Enviar respuesta 
 
Calificación:
  • 2 votos - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
[guia] El comando DD
 
28-05-2005, 01:15 AM
Mensaje: #1
myBB [guia] El comando DD
Introducción:

El comando dd (duplicate disk) es un comando bastante útil para transferir datos desde un dispositivo/archivo hacia un dispositivo/archivo/etc.
En este mini-howto vamos a ver las diferentes utilidades que se le pueden dar al comando

La sintaxis básica del comando es la siguiente:

dd if=origen of=destino

donde if significa "input file", es decir, lo que querés copiar y
of significa "output file", o sea, el archivo destino (donde se van a copiar los datos); origen y destino pueden ser dispositivos (lectora de CD, diskettera, etc.), archivos, etc.


Copiando Diskettes:
primero insertamos el diskette origen y escribimos lo siguiente en una consola:
dd if=/dev/fd0 of=~/diskette.img

después insertamos el diskette destino (en blanco) y escribimos lo siguiente:
dd if=~/diskette.img of=/dev/fd0

nos queda eliminar la "imagen" que creamos y listo...
rm -f ~/diskette.img

NOTA: El ~ significa "tu directorio home", es similar a escribir $HOME


Manejo de errores durante la copia:
Es posible que durante la copia o duplicación de un diskette se encuentren errores en la superficie del mismo. Para evitar que este error nos impida copiar los datos "buenos" del disco podemos hacer lo siguiente:

dd conv=noerror if=/dev/fd0 of=~/imagen_disco_con_errores.img

NOTA: la opción noerror hace que se continúe con la copia aunque se produzcan errores de lectura


Haciendo imágenes ISO de un CD:
La forma mas fácil y efectiva de crear nuestras "imagenes" de CD es la siguiente:

dd if=/dev/cdrom of=micd.iso


El comando dd también sirve para copiar particiones o discos completos unos sobre otros. Básicamente podemos decir que mediante dd podemos "clonar" particiones o nuestro disco rígido completo. Para hacer esto hacé lo siguiente:

dd if=/hdxa of=/hdyb (copia una partición en otra)
dd if=/hdx of=/hdy (copia de un disco duro en otro)

donde: x: disco rígido origen, y: disco rígido destino, a: partición origen, b: partición destino.

NOTA: Es necesario que sepas como se definen los discos y particiones en Linux antes de mandarte con estos comandos


RECOMENDACIONES:
* tené mucho cuidado con lo que haces porque los datos de la partición o disco destino serán destruidos por completo.
* Tenes que tener en cuenta también que la partición o disco destino debe ser igual en tamaño (o en todo caso mayor) que la partición o disco origen.
* Es conveniente que hagas una copia de seguridad de los datos importantes y tener a mano un disco de arranque de linux por si las moscas (je je! 1-grin ).


Por último:
Tené presente que el tamaño de la imagen resultante va ser exactamente el mismo que el del dispositivo original. Es decir: dd te guarda también el espacio no utilizado.
Podés redirigir la salida con una tubería (pipe) y comprimirlo con gzip, bzip o bzip2 (lo que voy a dejar para otro artículo, je! 1-wink ), pero aún así vas a necesitar bastante espacio libre para poder guardar las imágenes que generes.


Mas información:

man dd
San Google!


Espero que les sirva.
Saludos!!! 1-wink
Visita su sitio web Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
24-03-2009, 12:27 PM
Mensaje: #2
RE: [guia] El comando DD
No sabes si esto se podria hacer con memorias flash, de saberlo me podrias decri como?
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
24-03-2009, 01:53 PM
Mensaje: #3
RE: [guia] El comando DD
(24-03-2009 12:27 PM)rrsarzo escribió:  No sabes si esto se podria hacer con memorias flash, de saberlo me podrias decri como?
Es posible, las memorias flash deben ser del mismo tamaño y solo tenés que indicar los dispositivos correctos.

dd if=/dev/sda of=/dev/sdb
si tus dos pendrives fueran sda y sdb

Reglas del Foro | : ? : | Doragonraidā
Visita su sitio web Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
01-06-2009, 08:26 AM
Mensaje: #4
RE: [guia] El comando DD
Hola, tu post me ayuda en varias cosas. Pero tengo una consulta que hacerte sobre este comando. Como se puede cortar un archivo utilizando unicamente este comando, porque lo estoy tratando de aplicar en un script, pero la verdad es que no se me ocurre, salvo con el split.

Gracias
Ariel.[/align]
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
01-06-2009, 07:48 PM
Mensaje: #5
RE: [guia] El comando DD
# man dd

La única forma para cortar un archivo sería con las siguientes opciones:
# dd if=archivo_entrada count=1024 ibs=1024 obs=1024 skip=0 of=archivo_salida
lo cual tomaría el primer megabyte, haciendo variar skip podrías ir tomando el siguiente mega y así sucesivamente.

Ahora, si vas a hacer un script, mejor usa split que para ello se ha inventado ese comando. Será más eficiente y rápido.
Luego con cat puedes volver a unir todas las partes.

No vale la pena usar dd para dividir un archivo.
En cambio si es correcto utilizar dd para tomar los n bytes de un archivo a partir de la posición x (usando los parámetros skip y count)
Esto lo he visto usarse al eliminar la cabecera que genera Nero cuando se crean imágenes NRG para convertirlas en ISO.

Reglas del Foro | : ? : | Doragonraidā
Visita su sitio web Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
09-11-2009, 11:34 AM
Mensaje: #6
RE: [guia] El comando DD
Truco para hacer imagen de un Disco Duro sin tomar el espacio vacío

Dado que dd copia absolutamente todo, si tuvieramos un disco de 80Gb, la imagen resultante sería de 80Gb. Pero si quisiéramos emular el comportamiento de Norton Ghost, el cual clona solo los datos, tendríamos que realizar lo siguiente:

montar la partición del disco a clonar (en este caso un disco con NTFS)
Código:
# mount -t ntfs-3g -o rw /dev/hda1 /punto_montaje

crear dentro del disco un archivo que ocupe todo el espacio libre y que contenga solo ceros:
Código:
# dd if=/dev/zero of=/punto_montaje/BORRAME.000

Cuando termine dd simplemente elimina este archivo:
Código:
# rm -rf /punto_montaje/BORRAME.000

ahora hay que desmontar el disco, realizar la copia y comprimir:
Código:
# cd /
# umount /punto_montaje
# dd if=/dev/hda of=/ruta/disco.img
# gzip disco.img

otra forma sería realizar estos dos últimos pasos en uno solo:
Código:
# dd if=/dev/hda | gzip > /ruta/disco.img.gz

Con este método pude clonar un disco de 80GB con 29Gb de información en un archivo comprimido de 12Gb.

Reglas del Foro | : ? : | Doragonraidā
Visita su sitio web Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
09-11-2009, 02:01 PM
Mensaje: #7
RE: [guia] El comando DD
hola a todos trabajo habitualmente con el comando dd para tapes o cintas magneticas pero lo aprendi sobre la marcha me gustaria saber en detalles todas sus opciones quien me podria dar un manual completo del comando dd o explicarme para que sirve cada una de sus componentes como ibs, cbs, count, bs, etc........ agradeceria enormemente
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
Enviar respuesta 


Posibles temas similares...
Tema: Autor Respuestas: Vistas: Último mensaje
  [guia] LXC - Linux Containers dragonauta 2 3.177 17-04-2013 12:05 PM
Último mensaje: lg_max
myBB [guia] Tareas automatizadas con Cron Hermes 1 5.644 30-06-2010 05:11 PM
Último mensaje: martinezalberto
  [guia] Ejecutables y Tipos de archivos en Linux dragonauta 2 49.174 03-01-2010 11:36 AM
Último mensaje: Lovelace
  [guia] WakeOnLan dragonauta 1 2.427 11-10-2008 12:05 AM
Último mensaje: p_eter

Salto de foro:


Usuario(s) navegando en este tema: 1 invitado(s)
Contáctanos | Portal de Noticias | Volver arriba | Volver al contenido | Archivo (Modo simple) | Sindicación RSS