clonar linux?

Bueno, el titulo es un poco... pero espero que atraiga la atencion [666]

Mi pregunta es que dentro de poco voy a comprar un nuevo disco duro de mas capacidad y el actual lo voy a pasar a otro ordenador. En el actual lo tengo todo bien puesto y configurado. Se puede pasar el linux que tengo instalado actualmente al otro disco duro? (de ahi lo de clonar jejeje)

Se podria hacer poniendo el nuevo como slave temporalmente y copiar "a saco" todo el linux (si se puede,claro) y despues ponerlo como master y quitar el antiguo para ponerlo en el otro ordenador?Gracias.
Escrito originalmente por Khudsa
Se podria hacer poniendo el nuevo como slave temporalmente y copiar "a saco" todo el linux (si se puede,claro) y despues ponerlo como master y quitar el antiguo para ponerlo en el otro ordenador?


¿Dudas de que se pueda hacer?¿En linux, hombre de poca fe? ;-)

Prueba (suponiendo que montes el nuevo disco en /mirror):

(cd / ; tar cf - -X directorios_excluidos .) | (cd /mirror; tar xvfp -)


directorios_excluidos es un fichero de texto que contiene la lista de directorios de los que no harás copia. Se me ocurren:

/tmp
/proc
/mirror

y no sé si será necesario meter alguno más. Haz la prueba y cuenta, porque yo nunca lo he hecho.
Gracias, en cuanto tenga el hdd nuevo lo pruebo, a ver que tal!
No te olvides de excluir el directior /mnt donde tengas montado el disco duro nuevo, ya que sino entrarias en recursividad al copiar los archivos del disco duro viejo al nuevo, y del nuevo otra vez al nuevo y asi sin parar XD

Aparte tendras que instalar otra vez el grub o el lilo, y editar el archivo de configuración, y lo mismo para el fstab, para indicar cuales son las nuevas particiones.
no bastaria con utilizar el Norton Ghost, el Drive Image o algún software similar???

Ya se que estos son paquetes comerciales, pero como nadie lo propone, entiendo que también valdrian y serian más rápidos ¿no?
Escrito originalmente por BuzzFuzz
No te olvides de excluir el directior /mnt donde tengas montado el disco duro nuevo


Hombre, se supone que lo había montado en /mirror, ¿no? Lo que sí debe hacer después es crear el directorio /proc y el /tmp en la copia.
En linux de ese estilo que comentas existe el partimage, aunque pudiendo hacer lo que comenta auxiliar no se me ocurre porque hacerlo de otra forma.

Saludos
PD: No se deberian excluir /dev y /sys (para 2.6) tambien?
Escrito originalmente por Raharu
No se deberian excluir /dev y /sys (para 2.6) tambien?


Si sus contenidos se generan cada vez que se arranca el núcleo, sí. De todos modos, aunque se tenga el 2.4, si se usa devfs, ocurre eso.
Hombre, se supone que lo había montado en /mirror, ¿no?


Tienes toda la razon, esque no me havia fijado que en el comando que le havias indicado el destino era /mirror
Yo para eso (mi copia de seguridad semanal de todo el sistema) utilizao un pequeño pero potente programilla como es mirrordir:

http://mirrordir.sourceforge.net/

Un saludo
Otra opción es arrancar desde una knoppix y sencillamente copiar todo lo que haya en el disco duro viejo al nuevo. Así te quitas lo de tener que andar montando ambos a mano y tal.

Lo unico que tendrías que hacer despues es un chroot al disco duro nuevo y ejecutar lilo a mano.

Si hay dudas pregunta aqui. ;)
ya sé que esa es la manera típica de *nix pero porqué no hacerlo con cp a secas ?? ( con -a -X file src dst )

es sólo una pregunta, toy poco puesto en esto (la última vez utilicé el método cp+tar)
Porque es más rápido, porque puedes excluir los directorios que quieras...

Si lo haces con cp, debes usar las opciones -dpR, para copiar atributos, permisos, enlaces y directorios
-a ya incluye -dpR y con -X archivo_con_lista_de_exluidos te excluye lo que quieras.

Lo de la rapidez si puede ser un punto a favor.
Escrito originalmente por bitrider
-a ya incluye -dpR y con -X archivo_con_lista_de_exluidos te excluye lo que quieras.

Lo de la rapidez si puede ser un punto a favor.



Cierto, no lo sabía ;)

Aunque man dice que no se preserva la estructura de directorio ein? (para -a y para -dpR)


Lo de la velocidad lo digo por la tubería, auque la verdad es que no se si usa buffers o algo parecido cp o copia síncronamente.

Claro que si copias dentro del mismo dispositivo físico tanto da que da lo mismo.

Saludos
Gracias a todos por responder, en cuanto tenga el disco duro me pondre manos a la obra. Creo que lo primero que probare sera el mirrordir dicho por Din0 ya que es muy facil de hacer funcionar. He hecho un par de ejemplos con unos directorios, destino y directorios excluidos y la verdad es que ha funcionado de maravilla. Creo que con el mirrordir ya me ira todo bien y si no acaba de funcionar entonces probare lo de auxiliar que creo que es lo mismo pero con el tar. Bueno, pues eso, gracias a todos!!!

/* Una pregunta, primero antes de empezar a copiar tendria que crear un par de particiones en el disco duro para el root y para el user montadas en / y /home/ y despues a copiar saco,no? Finalmente reiniciar con el nuevo en master y hacer un rescue lilo con el cd de mandrake, o tambien despues de terminar de copiar y antes de reiniciar ejeculo el lilo del nuevo hdd y despues lo pongo en master?

Otra duda es hasefrosch, que aunque aqui no toque mucho pero tambien lo tengo que pasar. Entro en hasefrosch, lo transfiero todo tal cual a la particion que le cree para el en el nuevo hdd y listos,no? despues entraria en linux y lo transferiria y probaria a ver si funciona. Bueno esa es mi primera idea. Podria hacerlo asi? */

Bueno, creo que me puedo autoresponder mis dos anteriores dudas. Mirando la utilidad de mandrake hardrake ya se (creo) como debo operar para pasarlo todo. Primero al poner el nuevo disco duro con esa utilidad creo la particion para windows montada en /mnt/windows y las particiones para linux montadas en / , /home y el swap y finalmente copiar a saco. Despues restauro el lilo en el nuevo hdd y a cambiar y reiniciar. Asi lo hare, de momento y cuando finalmente tenga el nuevo hdd ya os dire como me ha ido.
Bueno, recupero el hilo para contar mis resultados, aunque aun no haya acabado. Cuento por parte de linux, mas o menos como creia que debia ser. Cree las particiones de windows, root,swap y home con el tamaño deseado y en el mismo orden que en el disco antiguo y copie a saco con mirrordir (me fue muy bien). Despues simplemente hize un rescue lilo con el cd de instalacion de mandrake. Todo muy facil, en linux, pq en windows nada. Ahora tengo que buscar el comando ese de windows que permite recuperar su inicio (y supongo que me machacara el de linux que tendre que volver a recuperar). Bueno, cuando tenga el windows y linux rulando como en el antiguo disco ya os contare, pero de momento el linux a sido asi de facil.
Lo que dices de Win puede ser el "fdisk /mbr"
Buenas. Aqui va mi problema:
He añadido a mi maquina un HD SATA en el que he dejado 40 gb a la particion primaria de linux (tipo reiserfs). Antes tenia una particion de 10 gb para linux tambien del tipo reiserfs con mi sistema gentoo totalmente funcional y configurado a mi gusto.
Lo que pretendia era pasar mi gentoo al disco duro nuevo para no tener que reinstalar nada y primero intente hacer el comando de auxiliar pero no me funciono. Parecia que iba bien pero no se saltaba los directorios a excluir y luego comenzaban a aparecer warnings por todos sitios.
Luego lo intente hacer con el programa partimage y este a priori funciono perfectamente. Mi problema es que en mi particion nueva de 40 gb donde ya tengo funcionando mi linux clonado solo aparecen 10 gb!!
Esta mañana me he encontrado el mldonkey pausado y al hacer un df me encuentro esto:
taty@kur taty $ df
S.ficheros         Bloques de 1K   Usado    Dispon Uso% Montado en
/dev/hdg3              9951956   9934688     17268 100% /
/dev/hdb1             39084912  35876908   3208004  92% /extra
none                    257776         0    257776   0% /dev/shm

Si hago un qtparted o un cfdisk veo que la particion /dev/hdg3 es de un tamaño de 40 gb como deberia ser. Que esta pasando? como puedo habilitar el resto del espacio?
Saludetes
ESTIMULO escribió:primero intente hacer el comando de auxiliar pero no me funciono. Parecia que iba bien pero no se saltaba los directorios a excluir y luego comenzaban a aparecer warnings por todos sitios.


¿Cómo escribiste los escritorios a excluir? Cuando yo hago la copia del arbol de subdirectorios desde / y quiero excluir tmp, no debo poner /tmp, sino ./tmp.

Por cierto, que un programa que me gusta mucho para hacer réplicas de un sistema es dar.
auxiliar escribió:
¿Cómo escribiste los escritorios a excluir? Cuando yo hago la copia del arbol de subdirectorios desde / y quiero excluir tmp, no debo poner /tmp, sino ./tmp.

Por cierto, que un programa que me gusta mucho para hacer réplicas de un sistema es dar.

Vale ahi estaba el fallo xddd no ponia el punto delante de la barra. Gracias auxiliar. Alguna sugerencia sobre algo que pueda probar para intentar recuperar el espacio libre en reiserfs sin tener que volver a clonar?
ESTIMULO escribió:Alguna sugerencia sobre algo que pueda probar para intentar recuperar el espacio libre en reiserfs sin tener que volver a clonar?


No conozco ese partimage. Suponiendo que haga una cosa parecida a dd, te habrá copiado (tal cual) el sector de arranque de la partición, que contendrá información de su tamaño (supongo). Digo supongo porque he estado buscando información y sólo logro encontrar del sector de arranque global del disco y no de la partición en particular. Imagino que para este sector de arranque particular se reservarán 446 bytes para el gestor de arranque y 64 para información. Yo haría los siguiente un poco a ciegas y para hacerme un poco el friki.

1) Me copio todo el sector de arranque de esa partición en un ficherito:

$ dd < /dev/hdg3 > arranque-hdg3.img bs=512 count=1


2) Me meto en cfdisk y vuelvo a crear esa partición con 40 gigas. ¡Ojo! Sólo crear la partición, nada de formatearla para no perder los datos.

3) Con el paso anterior, se supone que habré arreglado los 64 bytes que hacían creer al ordenador que tu partición tenía 10 gb. Sin embargo nos hemos cargado los 446 primeros bytes que sí estaban bien. Pues los restituyes:

$ dd < arranque-hdg3.img > /dev/hdg3 bs=446 count=1


Esto puede que funcione, puede que no y sobre todo, es bastante peligroso, porque estás actuando sobre el disco a bajo nivel.

Si tienes ganas de cacharrear, hazlo. Pero que sepas que es peligroso y puedes perder información.
Nada, como tenia aun el disco duro original no tenia mucho que perder. Hice lo que me pusiste y el resultado fue el mismo, seguia teniendo solo 10 gigas.
Al final lo he formateado, he arrancado con un live y lo he hecho a saco copiando todo con cp de uno a otro. Luego he chrooteado y arreglado el lilo. Ya parece que esta todo funcionando bien con los 40 gigas disponibles. Gracias otra vez auxiliar y saludetes!
22 respuestas