sábado, abril 30, 2011

como clonar linux y no morir en el intento, o como dirian otros Howto clone Linux

En este articulo explico los pasos a seguir para clonar un sistema linux y conseguir que la copia sea iniciable.

1) Clonando el sistema
Hay muchas formas de realizar una clonación, yo voy a hablar de las que considero mas útiles:
  • El comando cp sirve para copiar volumenes locales:
  • cp -av /directorio_raiz_origen/* /directorio_raiz_destino/

  • El comando rsync permite copiar tanto directorios locales, como directorios remotos por medio de conexiones SSH, por lo tanto para que funcione tiene que estar corriendo un demonio SSH en el otro extremo y este nos pedirá la password:

  • rsync -azv usuario@ip:/directorio_raiz_origen/* /directorio_raiz_destino/

2) Borrado de ficheros conflictivos:
Al realizar la copia del sistema de archivos, se copian algunos ficheros que nos pueden dar problemas y es aconsejable borrarlos, se trata de los ficheros de dispositivos:
rm -rf /directorio_raiz_destino/dev/*

3) Cambios en la configuración:
Modificamos el fichero /etc/fstab, así que editamos el fichero /directorio_raiz_destino/etc/fstab. Este fichero sigue la estructura:
dispositivo punto de montaje formato opciones

en este fichero hay que actualizar los dispositivos, normalmente cambian.
Se puede hacer dos cosas, o ponerlos en el formato /dev/identificador o poner un identificador numerico que podemos sacar con el comando blkid.

un ejemplo de fichero fstab es:
proc /proc proc nodev,noexec,nosuid 0 0
UUID=e64945ef-0fa4-4db5-a6e1-8dca0687dfd3 / ext4 errors=remount-ro 0 1
UUID=70c75b15-5e82-424f-b3e9-9f832164ec7c /home ext4 defaults 0 2
UUID=4a56536f-5687-4a26-a04e-8b99c9535f73 none swap sw 0 0


Modificamos en el fichero /boot/grub/grub.conf
en cada entrada (menuentry) hay una línea que pone "set root='dispositivo' " hay que actualizar esa línea, hay que poner el dispositivo donde esta el sistema raiz '/', puede estar en dos formatos:
(hd0,0) disco duro maestro del primer ide, primera particion
(hd1,3) disco duro esclavo del primer ide, cuarta particion
...

o en el formato:
(hd0,msdos1)
(hd1,msdos3)
que son los equivalentes a la explicación del primer formato.

Por ultimo hay que rehacer el fichero initrd de carga del inicio, para ello ejecutaremos un dpkg-reconfigure dentro de un chroot:

for i in /proc /dev /dev/pts /sys; do mount -o bind $i /directorio_raiz_destino${i}; done
chroot /directorio_raiz_destino

reconfiguramos los paquetes del nucleo instalados:

for i in `dpkg -l |grep linux-image-2|cut -d ' ' -f3|tr '\n' ' '`
do dpkg-reconfigure $i
done

Instalamos el grub:
grub-install dispositivo

debemos poner el dispositivo donde está el directorio raiz.
salimos del chroot:

exit

desmontamos el directorio:

for i in /proc /dev /dev/pts /sys; do umount /directorio_raiz_destino${i}; done
umount /directorio_raiz_destino

y ya tenemos el sistema, puede que de problemas para desmontar el dispositivo porque hayan procesos usandolo, se pueden matar los procesos, o ejecutar sync y luego reiniciar el ordenador.

Saludos.

No hay comentarios: