15.2.07

Configurar las Versiones de Java con update-alternatives

A veces no hay más remedio que remangarse y trastear con los servidores para poder instalar una aplicación o un nuevo servidor de mapas. Un problema muy común es que las versiones de java que vienen por defecto en los sistemas Linux, no son las oficiales de Sun. Esta es una pequeña guía de cómo configurar java.



Si no hay opción de instalar java a través de los repositorios oficiales de nuestra distribución, que sería la opción recomendada,

también es posible instalar java de forma manual.



Lo primero es descargar de http://java.sun.com la versión de java que queramos utilizar. En el caso de RedHat es

siempre conveniente descargar la versión que acaba con extensión rpm.bin, ya que de esta forma, podremos instalar

java con el comando rpm -i nombre_de_la_version_de_java.rpm. Una vez descargado el archivo cambiaremos los permisos

con chmod +x nombre_de_la_version_de_java.rpm.bin y luego lo ejecutamos ./nombre_de_la_version_de_java.rpm.bin, se generará

un archivo nombre_de_la_version_de_java.rpm, ejecutamos entonces rpm -i nombre_de_la_version_de_java.rpm y tendremos java instalado.

Normalmente estará en /usr/java/nombre_de_la_version_de_java/. Si no está aquí podemos ejecutar como root updatedb y luego hacer un

locate /bin/javac, para ver el directorio donde está java instalado.



Ahora ya está java instalado, pero si ejecutamos java nos saldrá esto:



libgcj-java-placeholder.sh



This script is a placeholder for the /usr/bin/java

master link required by jpackage.org conventions. libgcj's

rmiregistry, rmic and jar tools are now slave symlinks to these

masters, and are managed by the alternatives(8) system.



...




Esta no es la versión de java que necesitamos, para configurarlo lo mejor (tal y como dice el libgcj-java-placeholder.sh) es utilizar alternatives.

Alternatives nos permite tener distintas versiones de un mismo componente e intercambiar entre ellas de forma transparente, sin tocar archivos

de configuración o paths:



[root@equipo /]# update-alternatives

versiones alternativas 1.3.11 - Copyright (C) 2001 Red Hat, Inc.

Este programa puede que sea libremente distribuido bajo los términos de la

licencia pública de GNU.

uso: alternativas --install /> [--initscript /> [--slave /> alternatives --remove /> alternatives --auto /> alternatives --config /> alternatives --display /> alternatives --set />

opciones comunes: --verbose --test --help --usage --version

--altdir --admindir />

Lo que tenemos que hacer es añadir (--install) el nuevo java y para ello necesitamos saber la ruta del ejecutable de java:



[root@equipo /]# locate java | grep bin/java

/usr/sbin/javaconfig

/usr/bin/java

/usr/bin/javac

/usr/bin/java_cup

/usr/bin/java_cup-10.11

/usr/java/j2sdk1.4.2_13/bin/java-rmi.cgi

/usr/java/j2sdk1.4.2_13/bin/java

/usr/java/j2sdk1.4.2_13/bin/javac

/usr/java/j2sdk1.4.2_13/bin/javadoc

/usr/java/j2sdk1.4.2_13/bin/javah

/usr/java/j2sdk1.4.2_13/bin/javap

/usr/java/j2sdk1.4.2_13/jre/bin/java

/usr/java/j2sdk1.4.2_13/jre/bin/java_vm



El que nos interesa es /usr/java/j2sdk1.4.2_13/bin/java. Ahora simplemente hay que ejecutar el comando de instalación en el que le

decimos el nombre del enlace simbólico (/usr/bin/java) el nombre del paquete (java), la ruta del ejecutable java y la prioridad (300 por

defecto):



[root@equipo /]# update-alternatives --install /usr/bin/java java /usr/java/j2sdk1.4.2_13/bin/java 300



Para terminar comprobamos que ahora java utiliza el ejecutable que necesitamos y hacemos un java -version:



[root@equipo /]# update-alternatives --config java



Hay 2 programas que proporcionan 'java'.



Selección Comando

-----------------------------------------------

1 /usr/share/java/libgcj-java-placeholder.sh

*+ 2 /usr/java/j2sdk1.4.2_13/bin/java



Presione Intro para mantener la selección actual[+], o escriba el número de la selección:



[root@equipo /]# java -version

java version "1.4.2_13"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_13-b06)

Java HotSpot(TM) Client VM (build 1.4.2_13-b06, mixed mode)

[root@equipo /]#



Más información en:

http://www.yiluda.net/manual/linux/man/alternatives.html

http://blog.stevenkroon.com/2006/08/29/debian-update-alternatives/





powered by performancing firefox

Share/Save/Bookmark

30.12.06

PostGIS Funcionando

LLevaba bastante tiempo intentando configurar con éxito un PostGIS sin lograrlo, pero hoy por fin lo he conseguido. Hay varios sitios que me han servido de mucha ayuda, pero el que me ha servido de referencia principal ha sido una que se llama "Cómo instalar PostGIS en Kubuntu". Los pasos principales, son los siguientes:

  1. Instalar Postgres, en mi caso fue muy sencillo, simplemente desde synaptic instalé los paquetes necesarios.
  2. Descargar la última versión de Postgis desde su web (http://postgis.refractions.net/).
  3. Crear un usuario de postgres que gestione la bbdd
  4. Crear una base de datos (createdb) para ese usuario
  5. Configurar la base de datos creada para que sea espacial. Esto se hace ejecutando unos simples sql.
  6. Cargar datos con el comando shp2pgsql
  7. Verificar que la carga se ha realizado correctamente desde un cliente. Yo usé gvSIG, y qGIS.





powered by performancing firefox

Share/Save/Bookmark

13.12.06

OpenLayers

Buscando novedades en la página de GeoServer, me he encontrado con una interesante sorpresa, OpenLayers. Se trata de todo un API de JavaScript dedicado a crear clientes web de cartografía. Es de una simpleza brutal. Está todo hecho en cliente, y soporta WMS, WFS, GoogleMaps, YahooMaps, VirtualEarth, etc... Además soporta cualquier proyección. Está completamente documentado y testeado. Por supuesto OpenSource. En fin una maravilla, a priori. En cuanto pueda hago unas pruebas.





powered by performancing firefox

Share/Save/Bookmark

8.11.06

Salvapantallas útiles

Desde hace mucho tiempo se conoce el proyecto SETI, que se encarga de buscar señales en el espacio de vida extraterrestre. Puede que alguien se haya descargado el Home: U.C. Berkeley Space Sciences Laboratory
Area: Astrophysics, astrobiology
Goal: SETI (Search for Extraterrestrial Intelligence) is a scientific area whose goal is to detect intelligent life outside Earth. One approach, known as radio SETI, uses radio telescopes to listen for narrow-bandwidth radio signals from space. Such signals are not known to occur naturally, so a detection would provide evidence of extraterrestrial technology.')">SETI@home
.
Pero además de buscar a ET en la página de BOINC, podemos conectarnos a proyectos más útiles (a corto plazo), como investigación de la malaria (esa enfermedad que solo sufren los pobres) o el cambio climático.
Se trata de un programa que se instala en el ordenador, se conecta al servidor del proyecto en cuestión, descarga unos archivos, los procesa, y los vuelve a enviar al servidor. La gracia está en que lo hacen muchas miles de personas en el mundo, y pensándolo bien, ¿por qué no usar el potencial y el tiempo perdido de los ordenadores en algo útil?.
Además los resultados los muestra en un bonito salvapantallas.


powered by performancing firefox



powered by performancing firefox

Share/Save/Bookmark

7.11.06

Joel Test

12 Pasos para un mejor código
Interesante artículo sobre qué es necesario en una empresa para mejorar la calidad del software. Es curioso ver cómo se incumplen estas normas en general. Por otro lado es muy normal que en pequeñas o medianas empresas sea muy difícil cumplir con todas ellas.

powered by performancing firefox

Share/Save/Bookmark