Algo de Linux: julio 2012

martes, 17 de julio de 2012

Clonación multicast usando DRBL live

Como parece que es momento de clonar, hay muchos compañeros que están usando esta guía y las nuevas versiones de DRBL no permiten usar enlaces como hacíamos antes, la modifico para que el procedimiento quede completamente actualizado. 

Muchas gracias a Francisco Rodrigo y Alfonso Pastor, por hacer las pruebas y transmitirme la información de los cambios a realizar. Estoy completamente ocupado con la revisión de aulas y no había podido echarle un vistazo al problema.

Aprovechando que hay algún compañero que me ha preguntado y sigue habiendo dudas acerca de cómo clonar en modo multicast con DRBL live, voy a publicar este post, ahora que estoy más desahogado de trabajo.
DRBL live, como ya dije en el post anterior, es una utilidad muy versátil que uso principalmente para clonar portátiles en modo multicast mediante Clonezilla Server, pero que además me aporta otras herramientas como gparted o un servidor de terminales. 

Clonar en modo multicast nos va a permitir clonar un gran número de máquinas a la vez (en principio hasta 100) y se va a tardar lo mismo que cuando clonamos una sola. 

Es decir, que si habitualmente tardamos 15 minutos en clonar un portátil en modo unicast, en modo multicast se tardará 15 minutos en clonar 30, 40, 50 o incluso 100 portátiles.  

Por decirlo de algún modo, cuando clonamos en modo multicast, clonezilla sincroniza el inicio del proceso de clonación para que se inicie en todas las máquinas a la vez y envía el mismo datagrama de forma simultánea a todos los equipos.
Habitualmente suelo clonar entre 20 y 30 portátiles a la vez en modo multicast haciendo uso de DRBL live y la verdad es que es una maravilla. Creo que se tarda más en sacar, preparar y guardar los portátiles que lo que dura el proceso de clonación.

Para simplificar el proceso de clonación uso:
  • Un switch al que conecto todos los portátiles que voy a clonar. Por supuesto, no lo conecto a la red del centro para evitar problemas con el dhcp principal.
  • Un portátil que hará de servidor de clonación, que conecto al mismo switch.
  • Un pendrive o disco duro USB con DRBL live conectado al portátil que va a hacer la función de servidor de clonación-.
  • Las imágenes de clonación suelo guardarlas en el directorio /home/partimag del pendrive o disco duro USB.

Alguien me preguntó por qué usaba DRBL live en lugar de un servidor de clonación montado de forma fija en una máquina. 

Mi respuesta es que está muy bien tener montado un servidor de clonación para instalaciones fijas. De hecho, tengo un servidor de clonación para la subred de los ciclos, pero en ocasiones nos va a venir muy bien tener a mano una herramienta como DRBL live, que nos va a permitir clonar una serie de equipos sin tener montada una infraestructura de clonación. 

El servidor de clonación puede caer y caerá tarde o temprano por un fallo físico o por cualquier otra causa (lo digo por experiencia) y si tenemos DRBL live, no nos va a preocupar mucho que esto suceda, siempre que tengamos las imágenes de clonación en algún otro lugar también, claro.

Veamos paso a paso cómo clonar una serie de equipos en modo multicast:

1.- Conectamos todos los portátiles que vamos a clonar al switch. 

2.- Conectamos el portátil que va a ser servidor de clonación también al switch.

3.- Introducimos el pendrive con DRBL live en el portátil que va a actuar como servidor de clonación y lo encendemos de manera que arranque desde él. Se nos mostrará una pantalla como la siguiente:




Elegimos la opción por defecto: DRBL Live (Default settings)

4.- Nos pedirá que elijamos el idioma de teclado. Ya que nos lo pregunta, elegimos Español:


5.- Nos pedirá que elijamos el mapa de teclado. Podemos seleccionarlo de varios modos. Uno de ellos: "Elegir el mapa de teclado de la lista completa":


6.- Elegimos la distribución de teclado querty / Spanish / Standard / Standard:


7.- En la siguiente pantall nos pregunta qué modo gráfico queremos seleccionar. Pulsamos Enter para elegir la opción por defecto (0). Si tuviéramos problemas al iniciarse el servidor gráfico, podríamos probar con uno de los otros dos modos:


8.- Se inicia el sistema gráfico. Pulsamos "Usar configuración predeterminada" en el cuadro de diálogo:


9.- Con ésto ya tendremos arrancado el sistema gráfico. A continuación hacemos doble clic en el icono "Clonezilla Server":


Tan sólo tenemos una tarjeta de red ethernet: eth0. DRBL asume que debemos tener dos tarjetas de red: Una que conectará el servidor de clonación a una red y otra que conectará el servidor de clonación a la subred de los terminales. Como tan sólo contamos con una, creará una tarjeta virtual para tener dos.

10.- Lo primero que nos preguntará será de qué modo se va a configurar la tarjeta de red eth0. Como no hay ningún servidor dhcp, elegiremos "static":


11.-  Introducimos la IP que queremos asignar a la tarjeta de red eth0. Por ejemplo: 192.168.1.1


12.- Introducimos la máscara de red:


13.- Nos pide que introduzcamos la IP de la puerta de enlace. Dejamos la que nos ofrece por defecto porque nos da igual: no la vamos a usar:


14.- Nos pide que introduzcamos las IPs del servidor o servidores de nombres que vamos a usar. Dejamos la que nos ofrece por defecto porque nos da igual: tampoco la vamos a usar:



15.- En la siguiente ventana, pulsamos enter, puesto que la opción por defecto es "Y".



16.- Antes de que nos pregunte dónde se encuentra la imagen de clonezilla, abrimos un terminal y ejecutamos: "sudo -i" para convertirnos en root:




17.- Comprobamos que tenemos las imágenes en uno de los siguientes directorios del disco duro USB o pendrive:
  • /live/image/home/partimag
  • /lib/live/mount/medium/home/partimag
Por lo que me ha comentado el compañero Francisco Rodrigo, en versiones más recientes, como la 2.2.2.19-i686-pae, la antigua ubicación ha cambiado y el directorio /home/partimag  ahora se encuentra en: /lib/live/mount/medium/home/partimag

Como en versiones más antiguas de DRBL el directorio /home/partimag se encontraba montado en /live/image/home/partimag y en versiones más recientes se encuentra montado en /lib/live/mount/medium/home/partimag, comprobad si las imágenes se encuentran en una de las dos ubicaciones:

# ls /live/image/home/partimag
# ls /lib/live/mount/medium/home/partimag


18.- Montamos el directorio donde guardamos las imágenes.
Como en el pendrive y en el disco duro que uso para realizar clonaciones tengo montado clonezilla y drbl, habitualmente guardo mis imágenes en /home/partimag.

Anteriormente borrábamos el directorio /home/partimag de DRBL y lo sustituíamos por un enlace al directorio donde se encontraban las imágenes. Pero como esta solución ya no funciona (al menos en versiones más recientes de DRBL), siguiendo la idea de Alfonso Pastor, lo que haremos será usar el comando mount con la opción --bind que permite todo o parte de un sistema ya montado en otra ubicación diferente:
 
Si tenéis una versión más antigua de DRBL, donde localizábamos el directorio /home/partimag en la siguiente ubicación: /live/image/home/partimag realizad el montaje de la siguiente manera:

# mount --bind /live/image/home/partimag   /home/partimag

Y si utilizáis una versión reciente de DRBL, en la que el directorio /home/partimag se encuentra montado en /lib/live/mount/medium/home/partimag:

# mount --bind /lib/live/mount/medium/home/partimag   /home/partimag


19.- Una vez realizado el montaje, volvemos al asistente de configuración de DRBL que nos pregunta dónde se encuentra la imagen de clonezilla. Esto es porque clonezilla está pensado para montar el dispositivo en /home/partimag a la hora de usarlo. Como tengo guardadas las imágenes en el directorio /home/partimag dentro de la misma partición donde se encuentra DRBL live y he montado el directorio donde se guardan las imágenes, elijo la última opción (skip Usar /home/partimag existente) y pulso "Aceptar":


20.- Nos informa de que se va a ejecutar un script llamado drblpush que va a configurar el servidor de clonación. Pulsamos "Intro" para continuar:


21.- Comienza el proceso de configuración del servidor de clonación:




22.- Una vez configurado el servidor y arrancados los servicios, nos pregunta si queremos elegir todos los clientes o tan sólo algunos por IP o MAC. Seleccionamos "All Elegir todos los clientes" y pulsamos "Aceptar":


23.- Elegimos el modo principiante aceptando las opciones por defecto. Si tuviéramos algún problema, podemos volver a iniciar el proceso de nuevo cambiando al modo experto:



24.- Puesto que lo que queremos hacer es restaurar una imagen en todos los clientes, elegimos la opción "restore-disk" y pulsamos "Aceptar":


25.- Nos preguntará qué queremos hacer en cada equipo cuando se termine la clonación. En este caso, he elegido apagar los equipos porque me interesaba. Si quisiéramos configurarlos justo después de clonarlos, podríamos elegir, por ejemplo, reiniciar:


26.- Nos muestra todas las imágenes que tenemos almacenadas en la ubicación que seleccionamos anteriormente para que elijamos la imagen que vamos a restaurar. Elegimos la imagen y pulsamos "Aceptar".


27.- Nos pide que elijamos el disco donde queremos restaurar la imagen:


28.- IMPORTANTE: Puesto que queremos restaurar todos los equipos a la vez, seleccionamos el modo de restauración "multicast" y pusamos "Aceptar":


29.- Nos pregunta qué método queremos usar para la clonación multicast:
  • clients+time-to-wait
  • time-to-wait
  • clients-to-wait
Siempre uso la primera opción: clients+time-to-wait. De este modo, el proceso de clonación comenzará cuando suceda una de las dos cosas:
  • Que arranque el número de clientes que indiquemos.
  • O que transcurra el tiempo que especifiquemos.
Con ésto nos garantizamos que si, por cualquier cosa, alguno o algunos de los equipos son incapaces de arrancar, el resto se clonarán.


30.- Nos preguntará cuántos clientes vamos a restaurar. Indicamos el número y pulsamos "Aceptar".


31.- Como hemos elegido clients+time-to-wait, nos preguntará también cuánto tiempo debe esperar antes de comenzar el proceso de restauración:


32. Pulsamos "Intro" para continuar:


33. Pulsamos "Intro" para continuar:


34.- Y listo. Nos avisa de que no debemos cerrar la ventana hasta que los clientes terminen de clonar:


35.- A continuación comenzaremos a encender los equipos y arrancarlos vía PXE, bien configurándolo en la BIOS de cada uno de ellos o pulsando la tecla que tengan asignada para arrancar vía PXE:


36.- Poco a poco irán arrancando y quedando a la espera de que se inicie el proceso de clonación, bien porque se haya arrancado el número de equipos indicado o porque haya transcurrido el tiempo elegido:


37.- Por último, comienza el proceso de clonación:


Veréis que la clonación se hace partición a partición y que el proceso de clonación de cada partición se inicia en todos a la vez. Esto es porque estamos clonando en modo multicast.

viernes, 13 de julio de 2012

Montar DRBL live en un pendrive

Hoy en día es cada vez más últil disponer de herramientas en pendrive porque en la gran mayoría de los netbooks no disponemos de unidad de DVD.

Una de las herramientas que tengo montadas pendrive es DRBL live, una utilidad muy versátil que uso principalmente para clonar portátiles en modo multicast mediante Clonezilla Server, pero que además me aporta otras herramientas como gparted o un servidor de terminales.

Clonar en modo multicast nos proporciona un gran beneficio: Clonar un número grande de portátiles (en principio hasta 100) en el tiempo en que clonamos uno. Es decir, que si habitualmente tarda 15 minutos en clonarse un portátil en modo unicast, en modo multicast tardará 15 minutos en clonarse 30, 40, 50 o incluso 100 portátiles. Habitualmente suelo clonar entre 20 y 30 portátiles a la vez en modo multicast haciendo uso de DRBL live.

Montar DRBL live en un pendrive es muy sencillo si hacemos uso de UNetbootin. Veamos como hacerlo:

Primero.- Descargamos la ISO de DRBL live desde su web: http://drbl.sourceforge.net/download/sourceforge/

Segundo.- Introducimos el pendrive en el que queremos instalar DRBL live.

Tercero.- Arrancamos UNetbootin.


Cuarto.- Seleccionamos la opción "Disco/Imagen" y hacemos clic sobre los puntos suspensivos para seleccionar la imagen:


Quinto.- Se nos abre una ventana para que seleccionemos el archivo ISO:


Sexto.- Una vez elegido el archivo, la pantalla nos quedará más o menos así:



Dejaremos marcada la opción "Unidad USB" y en Unidad: debe aparecer el dispositivo usb correspondiente a nuestro pendrive (en mi caso ha sido /dev/sdc1) Tened cuidado en este punto si tenéis introducido otro dispositivo de almacenamiento USB.


Séptimo.- Pusamos el botón "Aceptar" y comenzará el proceso:




Se copiarán los archivos a la unidad y se instalará el cargador de arranque:



Una vez terminada la instalación pulsaremos el botón "Salir" y ya tendremos preparado nuestro pendrive con DRBL live.



IMPORTANTE: Si tenemos archivos en el pendrive, no se borrarán, pero debemos tener cuidado si ya tenemos otro sistema live en él porque seguro que se sustituirán los archivos de configuración de syslinux.

Mr. Icons: Un buscador de iconos gratuitos

Mr. Icons es un buscador de iconos gratuitos en el que vamos a encontrar una gran cantidad de imágenes para usar en nuestras páginas web o aplicaciones.

A la hora de descargar un icono, podemos hacerlo en formato "png" o "ico". 

Los iconos están clasificados mediante tags.
 
Además, podemos ver informaciones como el nombre del diseñador, el tamaño o la licencia del icono. 

Mr. Icons es uno de esos recursos que debemos tener siempre a mano.

Crear y utilizar mirrors de Debian Squeeze

Ya tenemos cuatro scripts para crear los siguientes mirrors de Debian Squeeze: squeeze, debian-security, debian-backports y debian-multimedia.

Creo este post como recopilatorio y dejo un enlace a cada uno de los artículos y a los scripts por si alguien quiere descargarlos directamente haciendo clic sobre el icono correspondiente:

squeeze



debian-security



debian-backports



debian-multimedia


Una vez creados los mirrors es muy sencillo utilizarlos, añadiendo al archivo /etc/apt/sources.list de cada una de las máquinas de nuestra red una línea por cada mirror que queramos usar :

# cat /etc/apt/sources.list

deb http://mirror/debian squeeze main contrib non-free
deb http://mirror/debian-security squeeze/updates main contrib non-free
deb http://mirror/debian-backports squeeze-backports main contrib non-free
deb http://mirror/debian-multimedia squeeze main non-free


Donde debemos sustituir la palabra mirror por la ip o el nombre (si tenemos dns) de nuestro servidor mirror.

En la máquina servidora también podemos usar su propio mirror, de dos modos: 

* Indicando como servidor el localhost:

deb http://localhost/debian squeeze main contrib non-free
deb http://localhost/debian-security squeeze/updates main contrib non-free
deb http://localhost/debian-backports squeeze-backports main contrib non-free
deb http://localhost/debian-multimedia squeeze main non-free


* Haciendo uso del protocolo file:


deb file:/var/www/debian squeeze main contrib non-free
deb file:/var/www/debian-security squeeze/updates main contrib non-free
deb file:/var/www/debian-backports squeeze-backports main contrib non-free
deb file:/var/www/debian-multimedia squeeze main non-free




jueves, 12 de julio de 2012

Crear un mirror de debian-multimedia

Se me olvidaba. Añado ya también el script para crear el mirror de debian-multimedia de squeeze.
Como en casos anteriores, si no tenemos instalado debmirror en el equipo que va a realizar la función de mirror, lo primero que debemos hacer es instalarlo:

# apt-get install debmirror

Una vez instalado, montamos el script que creará nuestro mirror:

ldap:/var/www# cat mirror-debian-multimedia-squeeze.sh
#!/bin/bash

## Debian-multimedia Squeeze
debmirror --debug \
--progress \
--verbose \
--diff=none \
--host=deb-multimedia.org \
--root=/ \
--method=http \
--dist=squeeze \
--arch=i386,amd64 \
--nosource \
--section=main,non-free \

--getcontents \
--ignore-release-gpg \
--ignore-missing-release \
/var/www/debian/debian-multimedia

Veamos ahora los detalles que considero más importantes y que he marcado con colores:
  • --host=deb-multimedia.org: Con este parámetro, indicamos a debmirror qué servidor vamos a utilizar para crear nuestro mirror. 
  • --root=/: Indicamos a debmirror cuál es la raiz del mirror. 
  • --method=http: Estamos diciendo a debmirror que use http como método de descarga. 
  • --dist=squeeze: Indicamos cuál es la distribución de la que vamos a crear el mirror.
  • --arch=i386,amd64: Estamos diciendo a debmirror que queremos replicar paquetes i386 y amd64.
  • --section=main,non-free: Le decimos a debmirror que queremos replicar las dos secciones: main y non-free.
  • /var/www/debian/debian-multimedia: Por último tenemos que decirle, dónde vamos a guardar los paquetes que descargue.

Crear un mirror de debian-security de Squeeze

Ya puestos, añado el script para crear el mirror de debian-security de squeeze.
Por supuesto, si no tenemos instalado debmirror en el equipo que va a realizar la función de mirror, lo primero que debemos hacer es instalarlo:

# apt-get install debmirror

Una vez instalado, montamos el script que creará nuestro mirror:

ldap:/var/www# cat mirror-debian-security-squeeze.sh
#!/bin/bash

## Debian-security Squeeze

debmirror --debug \
--progress \
--verbose \
--diff=none \
--host=ftp.es.debian.org \
--root=debian-security \
--method=http \
--dist=squeeze/updates \
--arch=i386,amd64 \
--nosource \
--section=main,contrib,non-free \

--get-contents \
--ignore-release-gpg \
--ignore-missing-release \
/var/www/debian/debian-security

Veamos ahora los detalles que considero más importantes y que he marcado con colores:
  • --host=ftp.de.debian.org: Con este parámetro, indicamos a debmirror qué servidor vamos a utilizar para crear nuestro mirror. Podemos elegir uno cualquiera entre todos los que hay en http://backports-master.debian.org/Mirrors/
  • --root=debian-security: Indicamos a debmirror cuál es la raiz del mirror. Está indicado también en http://backports-master.debian.org/Mirrors/
  • --method=http: Estamos diciendo a debmirror que use http como método de descarga. Podemos usar cualquiera de los siguientes métodos, siempre y cuando estén soportados por el servidor: ftp, hftp (ftp over http proxy), http o rsync. Podemos verlo también en http://backports-master.debian.org/Mirrors/
  • --dist=squeeze-updates: Indicamos cuál es la distribución de la que vamos a crear el mirror.
  • --arch=i386,amd64: Estamos diciendo a debmirror que queremos replicar paquetes i386 y amd64.
  • --section=main,contrib,non-free: Le decimos a debmirror que queremos replicar las tres secciones: main, contrib y non-free.
  • /var/www/debian/debian-security: Por último tenemos que decirle, dónde vamos a guardar los paquetes que descargue.

Crear un mirror de Debian Squeeze

En el artículo "Crear un mirror de Debian squeeze-backports" vimos cómo crear un mirror de squeeze-backports. Si queremos crear un mirror de squeeze, tan sólo tenemos que tomar como modelo el script anterior y modificarlo

Por supuesto, si no tenemos instalado debmirror en el equipo que va a realizar la función de mirror, lo primero que debemos hacer es instalarlo:

# apt-get install debmirror

Una vez instalado, montamos el script que creará nuestro mirror:

ldap:/var/www# cat mirror-squeeze.sh
#!/bin/bash

## Debian Squeeze

debmirror --debug \
--progress \
--verbose \
--diff=none \
--host=ftp.de.debian.org \
--root=debian \
--method=http \
--dist=squeeze \
--arch=i386,amd64 \
--nosource \
--section=main,contrib,non-free \

--get-contents \
--ignore-release-gpg \
--ignore-missing-release \
/var/www/debian/squeeze

Veamos ahora los detalles que considero más importantes y que he marcado con colores:
  • --host=ftp.de.debian.org: Con este parámetro, indicamos a debmirror qué servidor vamos a utilizar para crear nuestro mirror. Podemos elegir uno cualquiera entre todos los que hay en http://backports-master.debian.org/Mirrors/
  • --root=debian: Indicamos a debmirror cuál es la raiz del mirror. Está indicado también en http://backports-master.debian.org/Mirrors/
  • --method=http: Estamos diciendo a debmirror que use http como método de descarga. Podemos usar cualquiera de los siguientes métodos, siempre y cuando estén soportados por el servidor: ftp, hftp (ftp over http proxy), http o rsync. Podemos verlo también en http://backports-master.debian.org/Mirrors/
  • --dist=squeeze: Indicamos cuál es la distribución de la que vamos a crear el mirror.
  • --arch=i386,amd64: Estamos diciendo a debmirror que queremos replicar paquetes i386 y amd64.
  • --section=main,contrib,non-free: Le decimos a debmirror que queremos replicar las tres secciones: main, contrib y non-free.
  • /var/www/debian/squeeze: Por último tenemos que decirle, dónde vamos a guardar los paquetes que descargue.

miércoles, 11 de julio de 2012

Solucionar problema tarjeta gráfica Acer Aspire 5520

Este artículo es para mi cuñado German. Creo que con ésto, la próxima vez que te vuelva a dar problemas la gráfica del portátil, podrás solucionarlos tú mismo.

Este portátil ha salido "no malo", sino lo siguiente. Y por lo que pude leer en su día, cuando buscaba información acerca de cuál era el problema, el Acer Aspire 5520 cojea casi siempre del mismo pie: La tarjeta gráfica. 

El equipo arranca perfectamente, pero no muestra nada en pantalla. La solución publicada en muchos sitios es la que me ha funcionado siempre con este equipo: dar calor al chip de la gráfica y colocar una pequeña moneda sobre el chip gráfico.

Para solucionarlo, lo primero que hacemos es quitar la tapa inferior, como se muestra en la siguiente pantalla:


Una vez abierto, desatornillamos el ventilador (lleva 3 tornillos) y lo desconectamos de su conexión de alimentación:


Una vez quitado el ventilador, desmontamos el conducto que lleva el aire a la gráfica y al procesador. Como podéis ver, no lleva más que 4 tornillos:


Bien, pues una vez desatornillado, lo sacamos y apartamos a un lado:


En la imagen siguiente podéis ver el chip gráfico a la derecha de la imagen (es el que tiene un plástico cuadrado alrededor) y el procesador a la izquierda:


 Limpiamos la pasta térmica de ambos y aplicamos calor sobre el chip gráfico, por ejemplo con un secador de pelo, con cuidado de no derretir el plástico y demás componentes. Personalmente no he aplicado calor más de dos minutos, aunque supongo que todo dependerá del secador y de su potencia.

Una vez aplicado calor sobre el chip gráfico, le damos pasta térmica nueva y colocamos una moneda encima. Por supuesto, también damos pasta térmica al procesador:



Y listo. Ahora volvemos a montar el conducto de ventilación:


Montamos el ventilador y le conectamos la alimentación:


Por último, cerramos la tapa y, con un poco de suerte, ya estará solucionado el problema.