El sitio personal de David Colmenero (D_Skywalk)

Posts en la categoria 'Artículos'

Tutorial: Recuperación e Instalación rápida de Terminales con Software Libre

Dicen que ante la presión la mente se agudiza, en mi caso ha sido así ya que hace unos meses se decidió cambiar todo el parque de ordenadores del centro donde trabajo y la cantidad de curro que se me avecinaba tenía pinta de querer acabar conmigo Smiley: guiño

Realmente esto que deseo contar en el artículo dudo que sea muy novedoso, es más seguramente rebuscando por internet otros lectores hayan terminado haciendo algo parecido a lo que voy a contar. Pero no divago más y os cuento la idea.

El problema es que tengo casi 50 terminales que instalar y lo peor de todo: quieren tenerlos YA, por que los viejos se caen a cachos Smiley: HA HA HA ...

Así que me he preparado un pequeño sistema de montaje de ordenadores usando software libre. Si, todos conocemos norton ghost, pero que queréis que os diga viendo como funciona esto que le den mucho al ghost xDDD

WARNING: Este artículo requiere conocimientos básicos de Linux y redes

Necesitamos:
- SysTemRescueCD en Memoria USB o en un CD canonizado.
- Red Ethernet Gigabit, si es posible.
- Servidor SSH bajo linux, (sino no sería SL xD).
- Estación de trabajo que hará de Base.

Vamos que 3 cositas que todo buen administrador debe tener, nada complicado :-)

El primer paso es crear una configuración base del sistema, por ejemplo en mi trabajo íbamos a tener dos configuraciones: Windows Administración y Windows Tutores y Alumnos. En mi caso todos los ordenadores comparten prácticamente la misma configuración de licencias, programas y drivers. Seguramente algún lector no tenga tanta suerte, pero puedes crear una configuración base, sin drivers y luego simplemente instalas en 5 minutos los drivers de la CPU y listo ^_^

Una vez tenemos el terminal con todo lo que necesitamos instalado como base, desfragmentamos (si esa cosa rara que necesitan los windows) y en la máquina servidor nos aseguramos que tenemos instalado el servidor SSH.

sudo apt-get install ssh

Y creamos una carpeta en nuestro home que albergará las imágenes, y se encuentra en /home/david/Images, ya cada uno que la cree donde quiera :-)

Con el terminal preparado, reiniciamos la máquina con el SysRescue introducido, aparecerá la típica ventana de los viejos Linux y simplemente pulsamos [INTRO]. Configuramos la red y conectamos al servidor usando fuse ssh, algo tan simple como:

sshfs usuario@ip_server:/path/a/montar /path/local

Si nuestro servidor es 192.168.1.1, nuestro usuario fuera “david” y deseamos montar en el terminal el directorio que nombramos antes, sería algo como:

sshfs david@192.168.1.1:/home/david/Images /mnt/windows

Uso el directorio de windows dentro de mnt, por simple y llana comodidad.

Con esto ya podemos trabajar en /mnt/windows como si estuviéramos físicamente en el directorio del servidor, esto nos valdrá para crear la imagen de una forma muy simple ya veréis Smiley: contento!

La automatización del proceso viene a cargo de un par de scripts que guardaremos en el servidor y que se podrían convertir perfectamente en uno, si alguno se anima a modificarlo (recordad enviad las modificaciones). Pero que para la labor que se les encomienda son perfectamente útiles…

Os presento a mBackup.sh y mInstall.sh, que pueden ser libremente usados bajo licencia GNU v2

mBackup.sh

#!/bin/sh
##
#     GPL v2 (c) 2008 - D_Skywalk
##           version 0.5             

#### CONFIG
$HD=/dev/Xda # Hardisk
$PRT=/dev/Xda1 #Partition
$NET_PATH=/mnt/windows/Images

#### CODE
#
if [ -z "$1" ]; then
 echo " usage: $0 "
 exit 1
fi
echo -n " Script Running - Sleep Time for Secure STOP "
sleep 1
echo -n "."
sleep 1
echo -n "."
sleep 1
echo "."
sleep 1

echo "Loading partimage for SYS - Rev $1"
sleep 2
partimage -z1 -o save $PRT $NET_PATH/Image-SYS_r$1.partimg.gz
echo "Saving MBR-DAT - Rev $1"
dd if=$HD of=$NET_PATH/backup-mbr_r$1.bin count=1 bs=512
echo "Saving MBR-STRUCT - Rev $1"
sfdisk -d $HD > backup-mbr_r$1.sf
echo "FINISH!!!"
sleep 1
echo " "
echo " Script by D_Skywalk GPL vc (c) 2008"
exit 0

mInstall.sh

#!/bin/sh
##
#     GPL v2 (c) 2008 - D_Skywalk
##           version 0.5             

#### CONFIG
$HD=/dev/Xda # Hardisk
$PRT=/dev/Xda1 #Partition
$NET_PATH=/mnt/windows/Images

#### CODE
#
if [ -z "$1" ]; then
 echo " usage: $0 "
 exit 1
fi
echo -n " Script Running - Sleep Time for Secure STOP "
sleep 1
echo -n "."
sleep 1
echo -n "."
sleep 1
echo "."
sleep 1

echo "Install MBR-DAT - Rev $1"
dd if=$NET_PATH/backup-mbr_r$1.bin of=$HD
sleep 2
echo "Install MBR-STRUCT - Rev $1"
sfdisk $HD < $NET_PATH/backup-mbr_r$1.sf
sleep 2
echo "Loading partimage for Install Win2k - Rev $1"
sleep 2
partimage restore $PRT $NET_PATH/Win2k-UNED_r$1.partimg.gz.000
echo "FINISH!!!"
sleep 1
echo " "
echo " Script by D_Skywalk GPL vc (c) 2008"
exit 0

Como veis nada del otro jueves, estos pueden ser unificados fácilmente pero yo no me puse por no verlo realmente necesario para mis simples propósitos. Los scripts además guardan unos segundos de espera, por si te equivocaste al configurarlo, ya que una vez en proceso esté “corriendo” lo mejor es no pararlo Smiley: guiño

Lo importante de los scripts es la configuración, debéis completar las variables de HD, PRT y NET_PATH, con los valores que os correspondan (recordad que podéis arrancar gparted desde las X – startx en sysrescue- si no sabéis si es hda, hdb, sda, sdb…)

El penúltimo paso es guardarlos en el servidor en vuestra carpeta de imágenes. Los scripts sólo permiten señalar un parámetro, la REVISIÓN, que yo la uso para diferenciar versiones y demás. Para lanzarlos simplemente hacemos desde el terminal con sysrescue:

/mnt/windows/mBackup.sh BASE-WINDOWS-1

Esto creará una estructura de disco exactamente igual, tanto la tabla de particiones como el mbr y por supuesto el sistema operativo; guardándolo todo (en mi caso) en /home/david/Images Smiley: Muy contento!

Una vez hecho esto (no dura más de 4 minutos para un par de gigas de SO). Apagamos el terminal base y disponemos una nueva máquina en la mesa, que recibirá nuestro clon guardado.

Arrancamos Sysrescue en el nuevo terminal y realizamos de nuevo los pasos que hicimos en el terminal BASE, es decir, configuramos la red y montamos de nuevo el path en red por ssh. Una vez hecho esto lanzamos la instalación con:

/mnt/windows/mInstall.sh BASE-WINDOWS-1

Recordad el nombre que le disteis a la revisión, por que debe ser la misma

En menos de 2 minutos tienes el nuevo terminal preparado para ser mangoneado por el personal Smiley: guiño

Espero que os sea útil, os salve u os de ideas para hacerlo aún mejor, si eso es posible Smiley: burla

TODO / MEJORAS

Lo suyo sería que el script mirando el /proc/partitions comprobara las particiones del sistema y guardara todo sin tener que configurar a mano nada más que el path de destino en red. E incluso que mirando en proc luego dejara marcar las que deseas guardar/recuperar :-?
… Para otro año Smiley: burla Smiley: guiño


Script para bajar videos del youtube

Te habrá pasado como a mi que seguramente ibas mirando topics de foros con montones de vídeos interesantes,
de musica o juegos que te gustaría tener en tu ordenador y se hace pesado ir de uno en uno…
Pues bien, con este programejo por fin podrás bajarte todos los vídeos que se postean en foros vBulletin y verlos cómodamente en tu ordenador! Smiley: Muy contento!

El robot por defecto, se baja los vídeos del hilo de los vídeos setetenteros de marcianitos.org, pero se puede configurar para cualquier otro topic de foros vBulletin.

El script convierte los vídeos a AVI para poder usarlos sin problemas y los renombra al titulo del vídeo propiamente quedando algo como: You_are_beautifull-_marianico_el_corto.avi

Advierto que es sólo esta comprobado 100% con foros vBulletin en castellano (como marcianitos), aunque se supone que con cualquier vBulletin debería de funcionar también…

Problemas conocidos:
- Seguramente de problemas en foros ingleses

Dependencias:
Para poder usar el script necesitas instalar las siguientes dependencias:
- php5-cli, ffmpeg
(en debian/ubuntu puedes instalarlo fácilmente usando synaptic o herramientas similares)

VERSIÓN
0.5 – Primera versión pública.

Get Tube

Subido: 2010-08-19 04:05:03 Versión 0.5 - Stable

Mira el fichero LEEME, para más información.

Look the file readme, for more info!


Wine-Launcher: Como jugar con Wine+Compiz en Ubuntu

Si hay dos cosas que puedo considerarme a mi mismo es ser un “pijo de los escritorios” y un “jugón empedernido”, esta bien que uno lo admita, pero la simbiosis en Ubuntu tiene un problema añadido si lo que intentamos es jugar usando Wine cuando tenemos activo nuestro escritorio 3D.
No sólo lo digo por su estado poco maduro, sino por que Compiz en sí, dado que usa muchos efectos y filtros, enlentece el desarrollo normal del juego.

Al principio lo que hacía era desactivar Compiz cuando iba a jugar, pero claro uno viendo que se volvía una tarea repetitiva me puse manos a la obra a crear un pequeño script que me facilitara la labor. El lanzador esta pensado para Ubuntu Gutsy (o posterior), para saber como usarlo en versiones anteriores he dejado unas notas al final del artículo.

La base de Wine Launcher

La base del script es muy simple, la idea era mantener nuestro escritorio inicial (con compiz activo) y lanzar uno nuevo (en el terminal 9 por defecto) que simplemente lanzara nuestro juego.

Aunque alguno pueda pensar que estamos gastando recursos tontamente, mis pequeños tests han puesto de manifiesto que el escritorio inicial (incluso con compiz activo) se queda prácticamente descansando mientras toda la carga se va para nuestro nuevo escritorio activo. Además el tener un nuevo escritorio da pie a poder configurarlo con una profundidad de 16bits, o cualquier cosa que necesitemos que podría dar problemas de otro modo. Por último la RAM consumida por el nuevo escritorio es de unos 3megas, una cantidad insignificante hoy día Smiley: contento!

Como instalar Wine Launcher

Como primer paso comprobad que tenéis wine instalado simplemente ejecutando “winecfg”, sino ya podéis ir a synaptic a instalarlo y repetir el comando para comprobar que todo fue bien.

Comenzamos, abrid un terminal y en el directorio donde hayáis descomprimido el paquete haced:

sudo mv wine-launch /usr/local/bin/

Y para comprobar que funciona sólo debemos hacer:

wine-launch

Listo!

Como usar Wine Launcher

Para usar el lanzador de forma normal simplemente debéis:
- Instalar vuestro programa normalmente con Wine.
- Una vez tengáis en el escritorio el acceso directo debéis cambiar wine por wine-launch.
- Ejecutar el juego normalmente desde ESE acceso directo modificado y jugad Smiley: guiño

Pero el lanzador soporta argumentos y un modo “safe” o alternativo si el modo normal os diera problema en alguna ocasión (a mi no me ha ocurrido pero nunca se sabe).

Espero que os sea tan útil como lo esta siendo para mi! Smiley: guay!

Wine Launcher en Dapper, Feisty…

Parece que el escritorio por defecto en estas versiones de Ubuntu sólo puede lanzarlo el administrador (root) asi que vamos a modificarlo para que cualquier usuario de nuestro PC pueda hacerlo.

Ejecutad en un terminal:

sudo dpkg-reconfigure x11-common

Después de pedir vuestra contraseña y validarla, aparecerá una ventana en modo texto de configuración con 3 valores posibles, nosotros elegiremos “Cualquiera” y los demás valores dejadlos tal cual.

Esto es todo!! Smiley: Muy contento!

Wine Launcher

Subido: 2010-08-19 03:57:00 Wine Launch (Stable) v 1.0

Como unir Eclipse y nuestra negrita!

Aunque personalmente siga usando Kdevelop para desarrollar en GP2x, estoy empezando a usar Eclipse para programar en otros lenguajes y me va gustando, asi que previa petición del foro de gp32spain, vamos a explicar como configurar un entorno de desarrollo para GP2x bajo Linux usando un proyecto que he creado como base común.

Como características el proyecto incluye un test de ejemplo y permite crear ejecutables de SDL SDL_mixer SDL_Image para GP2x (Debug/Release) y Linux (Debug).
Puede ser Fácilmente ampliado, ver más abajo.

Pasos previos

Lo primero que necesitamos es Eclipse, para ello nada más fácil que ir al “Gestor de paquetes Synaptic” e instalarlo, una vez instalado entraremos por primera vez en Eclipse, apareciendo una ventana que nos pedirá la ubicación de la carpeta de trabajo (donde descansarán nuestros proyectos), la seleccionamos y listo Smiley: contento!

El siguiente paso previo que se requiere es la instalación del plugin que nos permitirá usar la configuración “custom” que he preparado para la GP2X. Si seguís estos pasos no tendréis problema.
Pulsad en: HELP -> Software Updates -> Find and Install… -> Search for new features -> New Remote Site.

Ahora en Name ponemos “CDT” y en URL:
“http://download.eclipse.org/tools/cdt/releases/callisto”
Pulsamos en “Finish”, para que aparezca la lista de mirrors (Rec. Uk).
Finalmente seleccionamos las actualizaciones, esperamos a que se instalen y permitimos que Eclipse se reinicie. Como último paso debemos asegurarnos que *la perspectiva C/C * está seleccionada (Window->Open perspective->Other).

Instalando el proyecto base de GP2x

Una vez descargado (ver abajo), lo descomprimimos en una carpeta que no se encuentre dentro de nuestro directorio de trabajo seleccionado en Eclipse. Por ejemplo mi directorio de trabajo en eclipse es “/home/david/desarrollo” y he descomprimido el fichero en “/home/david/descargas/gp2x”, espero que haya quedado claro, por que es importante Smiley: guiño

Bien, pues empieza el show: File -> New -> Project… Y seleccionad la opción tal y como aparece en la imagen.

Aparece el diálogo para importar nuestro proyecto de GP2x en Eclipse, seleccionad [Browse]

Seleccionamos la carpeta descomprimida del proyecto que acabamos de bajar y pulsamos [Aceptar]
Imagen del articulo

Si todo ha ido bien debería de aparecer algo similar a esto…
Imagen del articulo

Que no se os olvide marcar “Copy project…”
Imagen del articulo

Y poco más, al pulsar [Finish] el proyecto nos aparecerá en la lengüeta de proyectos Smiley: contento!

Modificando el proyecto base de GP2x

Lo más normal es que cada desarrollador use las herramientas (toolchain) que más le apetezcan. Yo en esta ocasión lo he configurado para que funcione de primeras con el DevKit de Uncanny, pero para que ninguno se tenga que complicar mucho, si desea usar su entorno de desarrollo con Eclipse, dejo unas instrucciones, que seguro también valdrán para que los desarrolladores de Windows puedan adaptar el proyecto base.

Pulsando con el botón derecho encima de nuestro nuevo proyecto de GP2x, seleccionad “Properties” (propiedades) y C/C Build…
Imagen del articulo
En el diálogo que aparece por defecto podemos modificar muchos aspectos como agregar librerías o cambiar las opciones de compilación.

Pero para cambiar cosas como el prefijo del compilador (prefix) o la ruta de trabajo he preferido usar variables de entorno que tenéis a vuestra disposición desde la lengüeta “Environment”…
Imagen del articulo

Como se puede observar con cambiar GPPATH y/o PREFIX-TOOL, lo tendríais configurado para la mayoría de entornos de desarrollo Smiley: contento!

Por Hacer

Seguro que algún fleco se me ha quedado suelto, así que iremos mejorando este tutorial, poco a poco Smiley: Muy contento!
La verdad que lo suyo sería hacer una especie de perspectiva para desarrollar en GP, y que pudieramos crear también ejecutables de GP32, etc…

Bueno, es un comienzo Smiley: guiño

gp2x-eclipse-templates-linux

Subido: 2010-05-15 00:48:00 Eclipse template GP2x for Linux
Version 0.1 Beta