Erudeando con Duker

Tecnologías de la Información, de las Otras y la cosas de la vida…

QuickHowTo: Instalar Jenkins en CentOS 5.5

Aquí les dejo una crónica de la instalación de Jenkins en CentIOS 5.5 por si les interesa empezar a utilizarlo para sus soluciones de CI.

Acá pueden encontrar las instrucciones oficiales, yo decidí instalarlo standalone, es decir sin tener un Tomcat corriendo.

El primer paso es agregar los repositorios de Jenkins y su firma a nuestro yum, para ello ejecutamos los siguientes comandos como root:

# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
# rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
# yum update && yum install jenkins

El siguiente paso es configurar el servicio en caso de que no nos sirva alguno de los parámetros por defecto del mismo, para eso necesitamos editar el archivo/etc/sysconfig/jenkins

En mi caso cambie el puerto por defecto de 8080 a 5353 ya que tengo el 8080 ocupado por otros servicios. Esto lo hice modificando la variable JENKINS_PORT de la siguiente manera:

JENKINS_PORT="5353"

El siguiente paso es arrancar el servicio, para ello como root corremos

# /etc/init.d/jenkis start

Es muy común que en este paso se produzca una excepción similar a la siguiente:

Starting Jenkins Exception in thread "main" java.lang.reflect.InvocationTargetException
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:616)
 at Main._main(Main.java:127)
 at Main.main(Main.java:96)
 Caused by: java.lang.UnsatisfiedLinkError: /tmp/jna/jna7112420072244666734.tmp: /tmp/jna/jna7112420072244666734.tmp: failed to map segment from shared object: Operation not permitted
 at java.lang.ClassLoader$NativeLibrary.load(Native Method)
 at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1750)
 at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1646)
 at java.lang.Runtime.load0(Runtime.java:787)
 at java.lang.System.load(System.java:1022)
 at com.sun.jna.Native.loadNativeLibraryFromJar(Native.java:745)
 at com.sun.jna.Native.loadNativeLibrary(Native.java:674)http://blog.mibanez.com.ar/wp-admin/post.php?post=193&action=edit
 at com.sun.jna.Native.<clinit>(Native.java:115)

El problema se debe a que jenkins crea una librería en el directorio temporal /tmp y trata de ejecutarla, pero generalmente dicha partición esta montada con el bit noexec por seguridad.

La solución es muy simple, lo que tenemos que hacer es instruir a la maquina virtual de java para que use un directorio temporal diferente, en mi caso decidí usar

/usr/local/java/tmp

Para crearlo y darle los permisos adecuados ejecutamos:

# mkdir -p /usr/local/java/tmp
# chmod 777 /usr/local/java/tmp

Y luego modificamos el script que arranca Jenkins para que use esta nuevo directorio como temporal. Para ello editamos el script /etc/init.d/jenkins y modificamos la variable JENKINS_JAVA_CMD para que quede de la siguiente forma:

JENKINS_JAVA_CMD="$candidate -Djava.io.tmpdir=/usr/local/java/tmp"

Con esto ya deberíamos poder arrancar el servicio y configurarlo yendo con el navegador a http://miserver.com:5353

Una ver que hacemo esto Jenkins se va a autoconfigurar. Noten que en ningun momento configuramos usuarios o privilegios, para crear un usuario y que solamente ese usuario se pueda loguear vamos a Manage Jenkins, luego a Configure System. Una vez en esa pantalla elegimos Enable Security luego en Security Realm pueden elegir el sistema que prefieran, en mi caso elegi Jenkin’s own user database. Una vez hecho esto, guardamos los cambios con el boton Save.

En ese momento tendremos que crear un usuario, y recien ahi tenemos seguridad habilitada para nuestro Jenkins.

En proximos posts, vamos a ir configurando la pequeña bestia que es este sistema de Continuous Integration.

Share

Sin sonido en Linux con una HP DV6

Hace ya un par de meses tuve que adquirir una nueva laptop ya que el bug de la bios finalmente aniquiló a la vieja y querida Compaq v3000.

Compré una HP DV6 con la esperanza de poder seguir usando la batería de larga duración que tenía en la Compaq y el cargador universal, pero obviamente los muchachos de HP cambiaron de lugar la ficha de la batería cosa de vender toda una nueva serie. Bien por ellos, pero mal para mí.
Si lo hubiera sabido me compraba una Dell.

El caso es que nunca pude hacer funcionar el sonido en mi Sabayon 4.2 y por lo que pude investigar había que pasarse a alsa 1.0.20. Luego de un par de instalaciones inútiles, y ahora que encontré la solución innecesarias, finalmente hace breves momentos di con la solución.

No hacía falta instalar nada, bastaba con agregar la siguiente línea al final del archivo /etc/modprobe.d/alsa:

options snd-hda-intel model=hp-dv5

Luego corremos un update-modules, reiniciamos y voliá! Sonido para todo el mundo.

Hay un pequeño glitch que hace un ruido punzante como si se encendieran los parlates cada un par de minutos si no se está usando la placa de sonido, ahora bien si estamos mirando una peli o reproduciendo música, desaparece el bugcito.

Supongo que eso si se solucionará para la nueva actualización de alsa.

Saludos!

Share

Control de cursor mejorado con Poderosa/Bash

Para los que suelen usar la shell como herramienta de trabajo, existe una terminal open sorce muy buena para la plataforma Windows llamada Poderosa. Se las recomiendo ya que es una leve mejora sobre Putty al permitir el uso de pestañas, dividir la pantalla en diferentes partes y demás goodies que irán conociendo a medida que la usen.

El problema viene cuando nos logueamos a un servidor y descubrimos horrorizados que las teclas Inicio y Fin no funcionan como deben, sino que insertan extraños caracteres.

La solución por suerte es muy simple. En el home de sus usuarios en el servidor remoto, agreguen las siguientes lineas al archivo .initrc, en caso de que no exista, creenlo:

# poderosa/xterm
"\e[7~": beginning-of-line
"\e[8~": end-of-line
"\e[D": backward-word
"\e[C": forward-word

Y ready the chicken. No solo ahora funcionan las teclas de Inicio y Fin, sino que además las teclas de cursor izquierda y derecha saltan palabras completas!

Share

Instalando Arch en una Asus Eee 701 – Parte I

Bueno, este post va a ser un poco una bitácora de la instalación de Arch Linux en mi Eee.

Como primera medida nos descargamos la última versión del instalador de Arch para pendrives desde acá. Deben buscar el archivo .img para i686 USB. Si pueden usar bitorrent, los mirrors de Arch lo agradecerán.

Una vez que tenemos la imagen procedemos a “grabarla” en un pendrive con el comando

dd if=arch-version.img of=/dev/pendrive (reemplazando pendrive por el dispositivo correspondiente)

Y procedemos a bootear la maquina con el pen. Una vez que se nos presenta el login, ingresamos root como nombre de usuario y arch como contraseña.

Ahora simplemente invocamos el instalador propio de la distribución con el comando

/arch/setup

En la primer pantalla que se presenta se nos informa de que el proceso es bastante sencillo y de que  podemos ver la salida de los diferentes comandos que el instalador ejecuta presionando Alt-F5. Para volver a la instalación propiamente dicha, presionamos Alt-F1.

Presionamos OK para pasar a la pantalla de selección de origen de la instalación. La opción CD-ROM or OTHER SOURCE que nos va a permitir instalar los paquetes base desde el USB, en contraposición con la opción 2 que nos permite instalar todo desde una conexión a Internet. Como los drivers para la red los instalaremos más adelante es conveniente elegir la opción 1.

Ahora viene el particionamiento. Yo voy a borrar todo el SSD y crear una única partición de 100 megas para el /boot y el resto para /. Para ello elegimos la opción Prepare Hard Drive y luego la opción Partition Hard Drives nuevamente para que haga un particionamiento automático. Luego el instalador nos informa que existen 2 dispositivos (el SSD y el Pendrive) en los que se puede instalar. Elegimos obviamente el SSD y creamos las particiones correspondientes con el cfdisk. En este punto es importante no olvidar marcar como activa la partición boot y no crear una particion de swap para que la vida útil de la memoria SSD no se vea drásticamente acortada.

Una vez concluido el particionamiento seteamos los puntos de montaje con Set Filesystem Mountpoints.

Ahora llego el momento de elegir los paquetes que instalaremos. Yo instalé, adicionalmente a lo que venía preseleccionado en la categoría base-devel:

  • dnsutils
  • gpm
  • iproute
  • iptables
  • sudo
  • wireless_tools (estes si o si para hacer funcionar luego el wifi)

Luego seleccionamos la opción Install Packages y nos tomamos unos matecitos mientras hace su trabajo (no tarda mas de 5 minutos).

Luego vamos a Configure Installation y de todas vamos seleccionando las opciones que se presentan según correspondan a los dispositivos desde los que queremos ser capaces de arrancar el sistema. Yo solo elegí dispositivos USB. Una vez finalizado ese paso se nos pregunta que editor preferimos, nuevamente a gusto del lector (yo elegí vi)

El último paso antes de arrancar nuestro flamante Arch es configurar el sistema. En mi caso hice los siguientes cambios:

/etc/locale.gen

es_AR.UTF-8 UTF-8
es_AR ISO-8859-1

Este paso nos crea las locales que usaremos en el siguiente.

/etc/rc.conf

LOCALE="es_AR.UTF-8"
TIMEZONE="America/Cordoba"
HOSTNAME="duker-eee"
eth0="dhcp"
#gateway ...
#ROUTES

Luego configuramos la clave de root y los mirrors para Pacman (el gestor de paquetes de Arch). Yo elegí el de ibiblio, pero hay un par de mirrors en Brasil que pueden ser más rápidos.

Al elegir volver al menú principal se generarán los kernels del sistema para el arranque con las opciones que elegimos durante la configuración.

Cuando ya termina eso podemos finalizar la instalación instalando el bootloader. Nuevamente cada uno elegirá el que más le guste. En mi caso elijo GRUB. Antes de instalarse se abre en nuestro editor por defecto el archivo de configuración que se usará. Siempre es bueno revisarlo, pero en general no le erra con las opciones. Yo lo guardé como venía. El último paso consiste en elegir en donde lo vamos a instalar, que en nuestro caso es el SSD principal /dev/sda .

Una vez finalizada la instalación del GRUB el instalador nos devuelve a la línea de comandos. Reiniciamos nuestro nuevo sistema con el comando reboot.

Bien esto ha sido la instalación de Arch linux para la eee. En próximos post iremos viendo el tema de instalar los diferentes paquetes.

Les dejo una lista los links en los que me basé:

http://wiki.eeeuser.com/installingarchlinux

http://wiki.archlinux.org/index.php/Installing_Arch_Linux_on_the_Asus_EEE_PC

Godspeed!

Share

  Wordpress Themes Juegos Fotos