SystemImager

Se trata de una herramienta que facilita la instalación y administración de toda una red local con máquinas Linux. Los cambios hechos en un PC concreto se actualizan en el resto de la red. Incluso podemos crear un disquete de arranque que permite la clonación de un equipo, de forma que hasta se particiona y formatea el disco duro de forma automática

Notas

Instalando systemimager-server

Este paquete lo instalaremos, en principio, en un único equipo de nuestra red que actuará como servidor de imágenes y servirá para que otros equipos se actualicen o instalen desde él. Lo ideal es utilizar como servidor un equipo aparte de los que se estén usando en el aula (un viejo PC por ejemplo).

En el momento de escribir este tema el repositorio de Guadalinex Edu 2.0 no permite la instalación de este paquete con todas sus dependencias, por lo que tendremos que editar el fichero /etc/apt/sources.list y ampliarlo con el repositorio de Debian testing (sarge). A continuación ejecutaremos
apt-get update

Ahora ya podemos instalar el paquete systemimage-server usando synaptic o con el comando
apt-get install systemimager-server

Una vez finalizada la instalación, podemos volver a dejar el fichero /etc/apt/sources.list tal como estaba en un principio y ejecutar nuevamente apt-get update.

Instalando systemimager-client en el golden-client

La documentación (y los comandos) del SystemImager se refieren al golden-client como a un equipo de nuestra red (que está perfectamente instalado y actualizado) que queremos utilizar como modelo para que los demás se sincronicen con él. Se trata de un equipo distinto al que hemos llamado servidor.

Al igual que hemos hecho en el servidor, en el golden-client tendremos que actualizar el fichero /etc/apt/sources.list y ejecutar a continuación apt-get update

En el golden-client instalaremos el paquete systemimager-client (con synaptic o con el comando apt-get install systemimager-client)

Creando una imagen del golden-client en el servidor

El golden-client es el ordenador que queremos usar como imagen para que todos los demás se sincronien con él.

  • En el golden-client ejecutaremos el comando
    prepareclient –server ip_del_servidor
    Por ejemplo prepareclient –server 192.168.0.78
    Si ejecutamos simplemente preparaclient se nos mostrará una ventana de ayuda recordándonos los otros parámetros.
    Durante el proceso de creación de la imagen (que se almacena en el servidor) es recomendable no ejecutar ningún programa en el golden-client salvo prepareclient
  • En el servidor ejecutamos el comando
    getimage -golden-client ip_del_golden-client -image _nombre_que_elijamos_para_la_imagen
    por ejemplo getimage -golden-client 192.168.0.13 -image equipos_nuevos_glinex2.0
    Si ejecutamos simplemente getimage se nos mostará una ventana de ayuda recordándonos los otros parámetros. Dependiendo de la distribución que usemos, puede que el programa getimage se llame si_getimage
  • Nota: Si en nuestra red tenemos dos (o más) tipos de equipos (por ejemplo equipos antiguos y nuevos) podemos utilizar el mismo servidor para crear las distintas imágenes, usando distinto nombre al ejecutar getimage (por ejemplo getimage -golden-client 192.168.0.13 -image equipos_antiguos_glinex2.0). Naturalmente necesitaremos un golden-client para los equipos nuevos y otro golden-client (un equipo antiguo) para los equipos antiguos.

Una vez creada la imagen en el servidor se nos preguntará si queremos crear/actualizar los scripts de autoinstalación (clonación). Respondemos afirmativamente y seleccionamos a continuación la opción 2 (los equipos usan IP estática), o de lo contrario tendremos que instalar un servidor DHCP en nuestra red y configurarlo especialmente para el systemimager.

Se nos preguntará si queremos ejecutar addclients. En principio responderemos negativamente y sólo ejecutaremos este comando si queremos usar la imagen para clonar equipos en nuestra red

Actualizando un equipo (cliente) de la red local

Ahora queremos actualizar, usando la imagen del golden-client que hemos salvado en el servidor, otro equipo de la red local. Para ello en primer lugar tendremos que instalar el paquete systemimager-client de la misma forma que lo hicimos en el golden-client

Una vez instalado el paquete, sólo necesitamos ejecutar el comando
updateclient -server ip_del_servidor -image nombre_de_la_imagen
Por ejemplo updateclient -server 192.168.0.78 -image equipos_nuevos_glinex2.0
Es muy conveniente reiniciar el PC una vez haya sido actualizado, lo que se consigue automáticamente si ejecutamos
updateclient -server 192.268.0.78 -image equipos_nuevos_glinex2.0;reboot
Si ponemos halt en lugar de reboot, el equipo se apagará tras la actualización.

  • Al actualizar un equipo de la red local desde la imagen de otro, por defecto se respeta (no se actualiza) el directorio /home y una serie de ficheros que contienen información específica de cada PC (por ejemplo /etc/hostname, /etc/network/interfaces). Estas opciones son configurables.

¿Y si falla el comando updateclient?

  • El comando updateclient nos sirve entre otras cosas para reparar nuestro sistema a partir de una imagen sana. Sin embargo si el propio paquete systemimager-client o cualquier otro vinculado a él está estropado u obsoleto, es muy posible que el comando falle.
  • Para reparar o actualizar el systemimager-client, ejecutaremos como root:
    apt-get update
    apt-get install updateclient
  • Después de actualizar el systemimager-client en el golden-client es recomendable actualizar la imagen en el servidor.

Instalando desde cero un equipo de la red (clonación con un disquete)

Queremos ahora instalar desde cero un PC de la red local, con hardware idéntico al equipo usado como golden-client, cuya imagen ha sido salvada en el servidor de imágenes.

Necesitamos configurar el servidor de imágenes para esta opción, ejecutando el comando
addclients
Tendremos que rellenar una serie de datos sobre los nombres y las IPs de los PC que vamos a generar por clonación

  • domain name Nombre de dominio (domain name). Podemos usar cualquier nombre de dominio inexistente en Internet, como aula o el que nos haya indicado nuestro proveedor de Internet.
  • base host name Prefijo por el que empiezan los nombres de nuestros PCs. Algo típico sería poner como prefijo pc
  • número inicial y número final. Si ponemos 12 y 27 respectivamente, el servidor esperará que se instalen los equipos llamados pc12, pc13, … pc27

Necesitamos también un diskette de 1.44 MB, que insertaremos en la disquetera del servidor de imágenenes para ejecutar a continuación el comando
mkautoinstalldiskette

Tenemos ahora un disquete de arranque que nos serviría tal como está si instalamos (y configuramos adecuadamnete) en el servidor de imágenes un servidor DHCP. En general esto no es conveniente, pues lo normal es que ya estemos usando nuestro router ADSL como servidor DHCP.

Montamos el disquete (que todavía está en la disquetera)
mount /floppy y creamos (o copiamos) en él un fichero llamado local.cfg cuyo contenido sea similar al siguiente (es imprescindible asignar valor a todas las variables)

HOSTNAME=pc23
DOMAINNAME=aula
DEVICE=eth0
IPADDR=192.168.0.23
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
GATEWAY=192.168.0.1
GATEWAYDEV=eth0
IMAGESERVER=192.168.0.78

Por último desmontamos el disquete ejecutando
umount /floppy (si estamos en /floppy tendremos que salir antes de poder desmontar el disquete ejecutando, por ejemplo, cd)

Ahora ¡basta arrancar con este disquete el PC que queremos clonar! y esperar un tiempo que dependerá de lo grande que sea la imagen.

¿Qué pasa si no funciona el disquete o no tenemos disquetera?

Si el fichero local.cfg es correcto y el disquete de arranque no logra activar la tarjeta de red o acceder al disco duro se debe a que tenemos harware poco común (o demasiado reciente) y es necesario actualizar el núcleo.

Una forma de solucionar el problema es clonar el PC con PartitionImage en lugar de SystemImager. En este caso podemos crear un CD de arranque que contenga la imagen de la partición.

También podemos arrancar el sistema con el KnoppixCD y utilizar rsync para descargar los ficheros, para a continuación reconfigurar el gestor de arranque (Lilo en GuadaLinex Edu). Los pasos a seguir una vez iniciado el sistema con el KnoppixCD (que podemos usar en modo texto, escribiendo knoppix 2 en el momento del arranque) son:

  1. Ejecutamos cfdisk y particionamos según nuestras necesidades. No es necesario que la partición donde vamos a instalar el sistema tenga el mismo tamaño que la correspondiente del golden-client
  2. Formateamos la partición donde vamos a clonar el sistema (aunque es posible que Knoppix nos obligue a reiniciar el sistema antes de hacer esto). Si la partición que vamos a usar en /dev/hda2 es tipo ext3, tendremos que ejecutar mkfs -t ext3 /dev/hda2
  3. Montamos la partición, por ejemplo en /mnt/hda2, ejecutando mount /dev/hda2 /mnt/hda2
  4. Comprobamos que la red está correctamente configurada y que tenemos acceso al servidor SystemImager.
  5. Ejecutamos el siguiente comando, escribiendo la IP del servidor y el nombre de la imagen que correspondan:
    rsync -av –exclude=lost+found/ –numeric-ids 192.168.0.78::equipos_nuevos_glinex2.0/ /mnt/hda2/
  6. Una vez termine la transferencia de ficheros, ejecutamos chroot /mnt/hda2 para iniciar sesión en el sistema recien transferido. Si hemos transferido el sistema a una partición diferente a la que usamos en el golden-client, tendremos que modificar los ficheros /etc/fstab y /etc/lilo.conf. Finalmente ejecutamos el programa lilo
  7. Ejecutamos exit para salir de la jaula chroot
  8. Reiniciamos el sistema y arrancamos con el sistema transferido (tendremos que sacar el KnoppixCD del lector de CD).

Enlaces de interés

Aca una guí­a de ubuntu en español

http://ubuntuguide.org/wiki/Ubuntu_dapper_es

Respladar archivos por la red en forma fá¡cil

Alguna vez les ha sucedido que quieren cambiar de servidor, pero hay una limitante, sacar respaldos de los archivos de usuarios, correos, y demás. Algunos diran, pero si solo es copiar de un disco a otro y ya! Eso mismo pense yo, pero al hacerlo como root era un completo problema cambiar los grupos de usuarios y permisos para cada archivo. Este metodo me parece super sencillo y poco tedioso. Supongamos que quiero copiar /var/spool/mail desde una pc a otra y preservar los permisos y privilegios de usuario en cada uno de los archivos. Haciendo un simple scp podre tener el respaldo, pero debere modificar la permisologia a mano, eso estaria bien si tuviese pocos usuarios (menos de dos ) pero que sucede si tengo 300/500/1500 etc ..etc ? Basicamente lo que tenemos que hacer es utilizar la salida de tar enviada a través de una tubería por ssh.

El comando quedaría de esta manera :

# tar -cvf – /ruta/de/archivos/a/copiar | ssh root@la.otra.pc ‘cd /; tar xvf -’

Migrar una base de datos MySQL de un servidor a otro.

paseando por internet me encontré este comando que me ayudo a migrar las bases de datos via SSH en línea sin necesidad de hacer un DUMP al disco duro y luego tener que restaurarlo en el destino, Este comando lo hace por tí directamente.

Se los comparto:
mysqldump -ux -px database | ssh yo@nuevo_server “mysql -ux -px database”

Clonar Computadoras a través de la red

Si tienen computadoras genéricas conectadas a la red, se las puede clonar de una manera muy simple. No importa si la computadora tiene windows, linux o más de un sistema operativo instalado. La idea es copiar byte a byte los discos duros

En la computadora de destino lo más recomendable es tener un live cd corriendo. knoppix que tiene todas las herramientas necesarias. En esta computadora ponemos la siguiente línea:

# nc -l -p 9898 | dd of=/dev/destino bs=1M

nc, lo que hace es escuchar en el puerto 9898 (mayor que 1024). Sí algo llega a ese puerte lo envía a standard output. Con dd escribimos lo que nos llega al dispositivo de destino. Generalmente /dev/hda.

En la computadora de origen escribimos byte a byte al puerto 9898 de la computadora de destino. Para esto utilizamo nc.

# dd if=/dev/origen bs=1M | nc ip.destino 9898

Listo de ahí sí esperar un buen rato hasta que se copien las máquinas. Es recomendable hacerlo con redes rápidas y utilizando switches en lugar de hubs.

Para clonar dos discos duros conectados a la misma máquina:

]# dd if=/dev/origen of=/dev/destino bs=1M

Por ejemplo

# dd if=/dev/hda of=/dev/hdb bs=1M

Como instalar ntfs-3g para escribir datos en particiones ntfs en ubuntu dapper 6.06

El programa ntfs-3g ( por ahora compatible solo con arquitecturas de 32 bits y little endian ) nos permite escribir datos en particiones ntfs de manera mas rápida segura y fácil que cualquier otro (acá mas info http://www.vivalinux.com.ar/soft/ntfs-3g.html ). Se lo puede tener instalado y funcionando a la perfección en pocos minutos y con bajos conocimientos.

Nota: Se tiene en cuenta que ya se tienen instalados los paquetes kernel-headers y build-essential.

Paso1: Instalar el módulo fuse 2.5.3:
Descargarlo desde aquí http://prdownloads.sourceforge.net/fuse/fuse-2.5.3.tar.gz?download (el fuse que hay en los repositorios de ubuntu es una versión anterior a la necesaria), lo descomprimimos, entramos en el directorio desde la consola y lo compilamos de ésta forma:

$ ./configure
$ make
$ sudo make install

Editar el /etc/modules:

$ sudo gedit /etc/modules

y agregar “fuse” (sin las comillas) al final de éste.

Paso2: Descargar el ntfs-3g desde aquí http://mlf.linux.rulez.org/mlf/ezaz/ntfs-3g-20070714-BETA.tgz descomprimirlo entrar en la carpeta y compilarlo con:

$ ./configure
$ make
$ sudo make install

Paso3: Abrir el /etc/fstab:

$ gksu gedit /etc/fstab

y montar de esta forma la particion ntfs:

/dev/hda1 /media/windows ntfs-3g silent,umask=0,locale=es_AR.utf8 0 0

Los parámetros “/dev/hda1 /media/windows” dependen de donde tienen y donde quieren montar la partición y el parámetro “es_AR.uft8″ depende de la codificación de su sistema, por ejemplo si son de españa sería “es_ES.utf8″.

Paso4: Finalmente reiniciar, para que se cargue el módulo fuse y se vuelva a montar la partición, o si no pueden reiniciar hacer un “modprobe fuse” y luego remontar la partición si ya lo estaba

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s