Sep 05

Introducción.

No había notado la necesidad de instalar las fuentes complementarias en GNU/Linux hasta que me dí cuenta que el contenido de mi blog no se estaba viendo bien desde mi netbook con el sistema operativo recién instalado.  En él utilizo bastante la fuente Courier New para el código fuente, los comandos del shell y la salida estándar.  Esta no estaba apareciendo de ancho constante sino que aparecía de manera muy similar al resto del texto.

La solución por supuesto fue instalar las fuentes adicionales (MS Core Fonts) y el contenido del blog empezó a aparecer correctamente.

Instalación del paquete de fuentes.

Para hacer esto es necesario que se encuentre activo el componente Universe de los repositorios.

$ sudo aptitude install msttcorefonts

Regenerar el caché de las fuentes.

$ sudo fc-cache -fv

Tagged with:



En September 5 de 2010, Jorge Iván Meza Martínez escribió acerca de Como instalar las fuentes adicionales en GNU/Linux Ubuntu 10.04.
Aug 23

Introduccion.

Después de bastante tiempo, hay una nueva versión de uno de mis juegos preferidos: Burbujas.  Esta vez para el escritorio y la web, desarrollado con Processing.  Por este motivo es necesario contar con la máquina virtual de Java para su ejecución.

Bubbles 2

El código del pequeño juego ha sido publicado bajo la licencia Attribution-NonCommercial motivo por el cual su código fuente puede ser obtenido, estudiado y modificado.

Misión.

El juego se trata de la mayor cantidad de burbujas posibles.  Al hacer esto se debe tener en cuenta que sólo es posible explotar grupos de burbujas que reunan a por lo menos dos burbujas del mismo tipo en cualquiera de las cuatro direcciones: norte, sur, oriente y occidente.

El primer disparo selecciona las burbujas del mismo tipo que se encuentren adyacentes y el segundo disparo las hace explotar.  La selección de las burbujas puede hacerse con el ratón o con las flechas del teclado y los disparos pueden hacerse con el clic derecho del ratón o con la barra de espacio del teclado.

Otras teclas útiles en el juego son R (reset) reinicia el juego, H (hint) modo de ayuda y Q (quit) termina la sesión de juego.

Enlaces.

Tagged with:



En August 23 de 2010, Jorge Iván Meza Martínez escribió acerca de Burbujas 2, ahora en el escritorio con Processing.
Aug 04

Introducción.

Después de instalar OpenSim 0.7 el paso siguiente es verificar su funcionamiento.  Para esto se probaron los siguientes 4 visores compatibles con Second Life/OpenSim.

  1. Second Life Client (1.23.5.136262).
  2. Second Life Client (2.1.0.207030).
  3. SnowGlobe (2.0.2.3576).
  4. Hippo OpenSim Viewer (0.6.3).

Second Life Client v1

Second Life Client v2

SnowGlobe v2

Hippo OpenSim Viewer v0.6

Instalación y ejecución.

Todos, a excepción del Hippo, para instalarse deben simplemente descomprimirse en el directorio donde residirán finalmente.  Por el contrario, cuando se descomprime Hippo se obtiene un instalador, el cual al ejecutarse pregunta a través de diálogos la ubicación final donde se instalará el visor.

De manera similar, todos, a excepción de Hippo, se ejecutan de la siguiente manera.

$ ./<visor> -loginuri http://<host>:<port>

Donde <visor> es el archivo ejecutable (secondlife o snowglobe), <host> es el nombre o dirección IP del servidor de OpenSim y <port> es el puerto donde se está ejecutando el servicio (9000 por defecto).

Nuevamente Hippo se diferencia del resto ya que incluye desde su interfaz grafica (Edit > Preferences > Grids) la capacidad de administrar las grids a las cuales se va a realizar conexiones.

Hippo OpenSim Viewer, grid configuration

Conclusiones.

En una revisión rápida se encuentran las siguientes conclusiones.

  • Aparentemente Second Life Client v1 y Hippo OpenSim Client se encuentran basados sobre la versión del software base, mientras que les sucede lo mismo al Second Life Client v2 y al SnowGlobe.
  • Los clientes Second Life Client v2 y SnowGlobe presentan problemas para descargar y manipular el skin del avatar, así que en su defecto muestran una nube o un huevito (en gráficos con calidad menor).
  • Debe tenerse en cuenta que la prueba se realizó desde un portátil con una tarjeta gráfica de muy bajo perfil (Intel 965) y que con una mejor configuración de hardware los resultados pueden variar.

Enlaces.

Tagged with:



En August 4 de 2010, Jorge Iván Meza Martínez escribió acerca de Probar OpenSim 0.7 en GNU/Linux Ubuntu 10.04 x64.
Aug 02

Introducción.

OpenSimulator es un servidor de aplicaciones 3D que puede ser utilizado para crear ambientes o mundos virtuales los cuales pueden ser accedidos a través de una variedad de clientes y  protocolos. Permite realizar los desarrollos con las tecnologías mas habituales gracias a un diseño flexible, fácilmente extendible mediante módulos cargables para crear con ellos configuraciones completamente personalizadas.  Este software se licencia bajo la BSD License, lo que permite que sea incluído en paquetes de código abierto o comerciales.   Por defecto, OpenSimulator puede simular un entorno virtual de Second Life™ (incluyendo la compatibilidad con su cliente). Otros ambientes, protocolos y características pueden ser soportadas mediante módulos añadidos.

Tomado de http://opensimulator.org/.

Instalar Mono.

# pacman -S mono unzip

# mono --version

Mono JIT compiler version 2.6.7 (tarball Sun Jul 25 19:50:39 CEST 2010)
Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com
TLS:           __thread
GC:            Included Boehm (with typed GC and Parallel Mark)
SIGSEGV:       altstack
Notifications: epoll
Architecture:  amd64
Disabled:      none

# vi /etc/rc.conf

DAEMONS=(... mono)

Crear usuario opensim.

# /usr/sbin/useradd -m -g users -s /bin/bash -c “OpenSimulator” opensim

# passwd -l opensim

Instalar OpenSim.

# wget http://dist.opensimulator.org/opensim-0.7-bin.tar.gz

# tar zxvf opensim-0.7-bin.tar.gz

# mv opensim-0.7-bin /home/opensim/0.7

# chown -R opensim:users /home/opensim/0.7

# ln -s /home/opensim/0.7 /opt/opensim

Iniciar OpenSim.

# su -c /opt/opensim/bin/opensim-ode.sh opensim

Configurar OpenSim por primera vez.

=====================================
We are now going to ask a couple of questions about your region.

You can press ‘enter’ without typing anything to use the default

the default is displayed between [ ]: brackets.
=====================================

New region name []: Playing Region
Region UUID [18d5fc00-1452-4876-bb46-6f75c06387a6]:
Region Location [1000,1000]:
Internal IP address [0.0.0.0]:
Internal port [9000]:
Allow alternate ports [False]:
External host name [SYSTEMIP]:

Your region is not part of an estate.
Do you wish to join an existing estate? [no]:
New estate name [My Estate]: Playing Estate

The current estate has no owner set.
Estate owner first name [Test]: Master
Estate owner last name [User]: Player
Password: testing
Email []:

Enlaces.

Tagged with:



En August 2 de 2010, Jorge Iván Meza Martínez escribió acerca de Instalar OpenSim 0.7 en ArchLinux 2010.05 x64.
Aug 02

Introducción.

Una de las características interesantes de ArchLinux es que la instalación básica incluye únicamente los paquetes realmente necesarios para su funcionamiento inicial, siendo responsabilidad del administrador instalar los demás paquetes que se requieran.  Esto es muy importante ya que, a diferencia de otras distribuciones, se disminuye el tiempo de instalación, el consumo de recursos y se reducen los riesgos de seguridad.

ArchLinux inclusive no incluye por defecto el servicio de SSH el cual debe ser instalado manualmente.  En ese artículo se describe el proceso de instalación y configuración del servicio de SSH en ArchLinux.

Instalación.

# pacman -S openssh

Configuración.

Configuración del cliente.

# vi /etc/ssh/ssh_config

Port 22
Protocol 2
HashKnownHosts yes
StrictHostKeyChecking ask

Configuración del servidor.

# vi /etc/ssh/sshd_config

Port 22
Protocol 2
LoginGraceTime 2m
PermitRootLogin no

Configuración del servicio.

Configurar el inicio automático con el sistema operativo.

# vi /etc/rc.conf

DAEMONS=(... sshd)

Iniciarlo, detenerlo o reiniciarlo manualmente.

# /etc/rc.d/sshd {start|stop|restart}

Permitir el acceso al servicio desde otros equipos.

# vi /etc/hosts.allow

sshd: 192.168.1.

Enlaces.

Tagged with:



En August 2 de 2010, Jorge Iván Meza Martínez escribió acerca de Instalar y configurar el servicio sshd en ArchLinux 2010.05 x64.
Aug 01

Introducción.

ArchLinux es una distribución que me sigue pareciendo interesante, especialmente por su rapidez y transparencia en términos de los paquetes que instala: únicamente los solicitados.  Por ahora es la distribución que estoy utilizando para hacer las pruebas y experimentos que se me ocurren, a excepción del proyecto de Grid que requiere explícitamente utilizar nodos con Scientific Linux.

Aparentemente esta distribución no se encuentra basada en ninguna otra que haya utilizado anteriormente, esto trae para mi un agradable obstáculo ya que desconozco como realizar la mayoría de los procedimientos habituales como cambiar el hostname, activar sudo o actualizar sus paquetes entre muchas otras cosas.  Así que todo es nuevo y todo debe ser explorado y experimentado lo que me hace evocar recuerdos de hace mas de 10 años cuando cuando me iniciaba en el uso de Linux.

En este artículo se describe como realizar la configuración de una dirección IP dinámica gracias a DHCP y su contraparte estática, la cual tiene un detalle muy pequeño pero importante con su puerta de enlace.

Procedimiento.

Configuración de la IP dinámica.

# vi /etc/rc.conf

eth0=”dhcp”
INTERFACES=(eth0)

Configuración de una IP estática.

# vi /etc/rc.conf

eth0=”eth0 192.168.1.222 netmask 255.255.255.0 broadcast 192.168.1.255
INTERFACES=(eth0)
gateway=”default gw 192.168.1.1
ROUTES=(gateway)

Nótese que se removió el símbolo (!) de la variable gateway en la asignación de ROUTES, si esto no se realiza, el enrrutador por defecto no será agregado a las rutas estáticas definidas al inicio del sistema operativo.

Tagged with:



En August 1 de 2010, Jorge Iván Meza Martínez escribió acerca de Asignar una dirección IP estática en ArchLinux 2010.05 x64.
Jul 21

Introducción.

Para hacer unas pruebas esta tarde necesito un proxy que haga caché sobre los datos descargados; inicialmente iba a instalar Squid sobre un Scientific Linux pero decidí hacerlo sobre ArchLinux, con el cual estoy jugando desde el día de ayer.  Leyendo la documentación del wiki de ArchLinux, que por cierto es muy buena, encontré que hacen referencia a Polipo, un software similar en funciones a Squid pero con mayores limitaciones y destinado a servidores con muy pocos usuarios.  Ese es mi caso, así que procedí a instalarlo en una máquina virtual con VirtualBox y 512MB de RAM.  Espero que aguante.

Instalación de los paquetes.

Desafortunadamente lo paquetes de Polipo no están disponibles en los repositorios, sin embargo estos pueden ser creados utilizando una facilidad interesante del sistema operativo.

Los siguientes pasos deben realizarse como un usuario sin privilegios.

Descargar la versión mas reciente de los archivos (sección de files) de Polipo de la siguiente ubicación.

http://aur.archlinux.org/packages.php?ID=14579

$ wget http://aur.archlinux.org/packages/polipo/polipo/PKGBUILD

$ wget http://aur.archlinux.org/packages/polipo/polipo/polipo.install

$ wget http://aur.archlinux.org/packages/polipo/polipo/polipo

Generar el paquete.

$ makepkg -s

Instalar el paquete recién generado.

$ sudo pacman -u polipo-1.0.4.1-1-x86_64.pkg.tar.xz

Configuración de Polipo.

Crear un archivo básico de configuración a partir de la plantilla.

$ sudo cp /etc/polipo/config-sample /etc/polipo/config

Permitir las conexiones externas, además de localhost.

$ sudo vi /etc/polipo/config

proxyAddress = “0.0.0.0″

Si se desea permitir el uso del caché por equipos diferentes del mismo (localhost)  es necesario especificar las redes autorizadas en la siguiente variable del mismo archivo config.  Nótese que, a diferencia del ejemplo en el mismo archivo, fue necesario remover las comillas dobles que encerraban las direcciones de red.

allowedClients = 127.0.0.1, 10.0.0.0/16, 192.168.1.0/24

Actualizar el archivo de inicio de Polipo.  Nótese en el script que por razones de seguridad se utilizará al usuario nobody para ejecutar el servicio.

$ sudo cp /etc/rc.d/polipo /etc/rc.d/polipo.orig

$ sudo vi /etc/rc.d/polipo

#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
DAEMON=polipo
ARGS="daemonise=true pidFile=/var/run/$DAEMON/$DAEMON.pid"
PID=`pidof -o %PPID /usr/bin/$DAEMON`
case $1 in
    start)
        stat_busy "Starting $DAEMON"
        rm /var/run/$DAEMON/$DAEMON.pid 2> /dev/null
        install -d /var/run/$DAEMON
        ## /usr/bin/$DAEMON $ARGS >/dev/null 2>&1
        sudo -u nobody /usr/bin/$DAEMON $ARGS >/dev/null 2>&1
        if [[ $? != 0 ]]; then
            stat_fail
        else
            add_daemon $DAEMON
            stat_done
        fi
    ;;
    stop)
        stat_busy "Stopping $DAEMON"
        kill $PID >/dev/null 2>&1
        if [[ $? != 0 ]]; then
            stat_fail
        else
            rm_daemon $DAEMON
            stat_done
        fi
    ;;
    purge)
        stat_busy "Purging polipo"
        [[ ! -d /var/run/polipo ]] && mkdir /var/run/polipo
        if ! ck_daemon polipo; then
            kill -USR1 $DAEMON >/dev/null 2>&1 || stat_die $?
            sleep 1
            /usr/bin/$DAEMON -x $ARGS >/dev/null 2>&1 || stat_die $?
            kill -USR2 $PID >/dev/null 2>&1 || stat_die $?
            stat_done
        else
            /usr/bin/$DAEMON -x $ARGS >/dev/null 2>&1 || stat_die $?
            stat_done
        fi
    ;;
    restart)
        $0 stop
        sleep 1
        $0 start
    ;;
    *)
        echo "usage: $0 {start|stop|restart|purge}"
    ;;
esac

Ajustes al sistema operativo.

Crear un proceso cron para purgar el servicio.

$ sudo vi /etc/cron.weekly/polipo

#!/bin/sh
/etc/rc.d/polipo purge >/dev/null 2>&1

$ sudo chmod +x /etc/cron.weekly/polipo

Crear las rutas necesarias para los archivos del proxy.

$ sudo touch /var/log/polipo

$ sudo chown nobody:nobody /var/log/polipo

$ sudo mkdir /var/run/polipo

$ sudo chown nobody:nobody /var/run/polipo

$ sudo mkdir /var/cache/polipo

$ sudo chown nobody:nobody /var/cache/polipo

Configurar el inicio automático de Polipo con el sistema operativo.

$ sudo vi /etc/rc.conf

DAEMONS=(syslog-ng network netfs polipo crond)

Prueba del caché.

Configure el proxy de Firefox o de cualquier otro cliente y acceda a los recursos que desee, estos deberán almacenarse en el caché por lo cual futuros accesos (recuerde limpiar el caché local de ser necesario para hacer mas confiable la prueba) deberían ser más rápidos.  Como ubicación del servidor de caché utilice la IP del servidor donde se instaló Polipo y el puerto -por defecto- 8123.

Enlaces.

Tagged with:



En July 21 de 2010, Jorge Iván Meza Martínez escribió acerca de Instalar Polipo, un proxy web/caché en ArchLinux 2010.05 x64.
Jul 21

Introducción.

Después de instalar ArchLinux su hostname es, si no fue modificado durante el proceso de instalación, myhost el cual no dice mucho de la destinación del servidor.  A continuación se presentan los breves pasos necesarios para configurar adecuadamente el hostname del servidor.

Configurar el hostname.

# vi /etc/rc.conf

HOSTNAME=”cache.jorgeivanmeza.com

Actualizar el archivo de hosts para que refleje los cambios del nuevo nombre.  En mi caso la dirección se obtiene por DHCP así que asocio el hostname a la dirección local, si fuera estática sería conveniente hacerlo a esta.

# vi /etc/hosts

127.0.0.1     cache.jorgeivanmeza.com cache localhost.localdomain localhost

Reiniciar el servidor para que los cambios sean tenidos en cuenta.

# reboot

Enalces.

Tagged with:



En July 21 de 2010, Jorge Iván Meza Martínez escribió acerca de Configurar el hostname en ArchLinux 2010.05 x64.
Jul 21

Introducción.

Después de ver lo fácil que fue instalar LXDE en mi máquina con ArchLinux, hoy quise tomarme unos minutos para probar otro de los manejadores de ventanas que me llaman la atención porque a pesar de su funcionalidad son bastante livianos: XFCE.  El procedimiento es, de igual manera, muy simple y rápido.

Instalación.

Instalar los paquetes necesarios.

# pacman -S xfce4 gnome-icon-theme dbus gamin

Configurar el inicio automático de los demonios requeridos.

# vi /etc/rc.conf

DAEMONS=(syslog-ng network netfs dbus hal crond)

Configurar la sesión del usuario.

# vi ~/.xinitrc

exec ck-launch-session startxfce4

# startx

XFCE4 corriendo en ArchLinux

XFCE4 corriendo en ArchLinux

Enlaces.

Tagged with:



En July 21 de 2010, Jorge Iván Meza Martínez escribió acerca de Instalación de XFCE4 en ArchLinux 2010.05 x64.
Jul 21

Introducción.

Para el uso cotidiano del servidor es conveniente crear un usuario sin privilegios que acceda temporalmente a los privilegios de root unicamente en los momentos exactos en que se vayan a desarrollar tareas administrativas.  Para hacer esto es necesario instalar y configurar el comando sudo tal y como se muestra a continuación.

Crear un usuario sin privilegios.

Crear al usuario jimezam en el sistema operativo.  Modifique el nombre de usuario y nombre real de acuerdo a sus necesidades.

# /usr/sbin/useradd -m -g users -s /bin/bash -c “Jorge Ivan Mezajimezam

Asignar una contraseña para el usuario recién creado.

# passwd jimezam

Instalar y configurar sudo.

El comando sudo tiene varias ventajas sobre el uso directo del usuario root: autoriza a usuarios específicos, los registros se realizan según el usuario que lo invocó, utiliza la contraseña del mismo usuario así que no es necesario divulgar la contraseña explícita del usuario root, entre otras.

Instalar el paquete de sudo.

# pacman -S sudo

Configurar a sudo para que autorice su uso a todos los usuarios que pertenezcan al grupo wheel.

# visudo

%wheel      ALL=(ALL) ALL

Editar la usuario recién creado para que pertenezca al grupo wheel y por ende, pueda utilizar sudo.

# usermod -G wheel jimezam

Configurar los insultos de sudo.

Una opción adicional pero divertida que descubrí revisando la documentación de ArchLinux es que es posible indicarle al sudo que insulte al usuario cuando este ingresa incorrectamente su contraseña, esto en lugar del simple y plano mensaje de “wrong password“.

Para hacer esto es necesario indicarle a la configuración de sudo que estamos interesados en activar los insultos.

# visudo

Defaults insults

Algunos de los insultos que recibí cuando intenté utilizar sudo pero ingresé mal mi contraseña, fueron los siguientes.

  • It’s your word against mine.
  • My pet ferret can type better than you!
  • BOB says:  you seem to have forgotten your passwd, enter another!
  • It can only be attributed to human error.
  • Sorry about this, I know it’s a bit silly.
  • You silly, twisted boy.
  • ... and it used to be so popular ...
  • Have a gorilla ...
  • You do that again and see what happens...

Enlaces.

Tagged with:



En July 21 de 2010, Jorge Iván Meza Martínez escribió acerca de Crear un usuario sin privilegios y activar sudo en ArchLinux 2010.05 x64.