Tuesday, July 20, 2010

Crear un servicio para Linux

Crear un servicio para Linux es muy sencillo. Pero dado que hoy no tengo tiempo para escribir, os dejo este link que lo explica todo de categoría: http://websenior.wordpress.com/2009/01/13/crear-servicio-el-linux/.

Tuesday, July 13, 2010

Empaquetar un TAR en Linux (o comprimir)

Muy sencillo en Linux:

  • Empaquetar: tar -cvf fichero.tar /directorio/a/comprimir/
  • Empaquetar en otra extensión muy común: tar -zcvf fichero.tar /directorio/a/comprimir/
  • Desempaquetar en el directorio actual: tar -xvf fichero.tar
  • Desempaquetar en el directorio actual otra extensión muy común: tar xvzf archivo.tar.gz
  • Ver contenido tar -tf fichero.tar

Thursday, July 8, 2010

Configurar una versión de Java por defecto en Linux

Quién trabaje en desarrollos normalmente se habrá encontrado con la problemática siguiente:

Necesito ejecutar mi programa con la versión 1.5.x de Java, pero tengo instalada la 1.6.x


¿Significa esto que debemos desinstalar la 1.6 y poner la 1.5? Hay una solución más simple. Si instalamos la versión de Java que queremos, en este caso la 1.5, podemos establecerla como la versión por defecto de Linux con la orden
$> # alternatives --config java
Esta orden nos permitirá escoger entre las diferentes librerias instaladas en nuestro sistema. Por ejemplo, en el mio:
Hay 2 programas que proporcionan 'java'.

Selección Comando
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
2 /usr/lib/jvm/jre-1.5.0-sun/bin/java

Presione Intro para mantener la selección actual[+], o escriba el número de la selección: 2
Con esto, cuando tecleemos java -version obtendremos que el sistema llama a la 1.5.

¡Un saludo!

Fte.: Wiki Centos

Monday, July 5, 2010

Cambiar el puerto de OC4J

Si necesitamos cambiar el puerto de acceso HTTP del OC4J, la solución es bien sencilla:

  1. Acceder al fichero path_to_0c4j/j2ee/home/config/http-web-site.xml.
  2. Localizar la linea con el siguiente contenido:
    <web-site port="8888" 
    name="" > </web-site>
  3. Cambiar el valor del atributo port.
  4. Reiniciar el OC4J
Y ya está :)

Friday, July 2, 2010

Unknown assembly root-tag attribute: version en OC4J

Imaginad que estáis trabajando en un proyectito web y a mitad de desarrollo os sueltan: "Lo tienes que ejecutar en OC4J 10.1.2. Ya sabes, ése que usaban nuestros abuelos"

Sin problemas, creas un WAR, lo colocas en el directorio de applicacions, configuras el application.xml y el http-web-site.xml, reinicias y...
$> gt; gt; gt; gt; gt; gt; gt; gt; Unknown assembly root-tag attribute: version
¿Y qué narices significa? ¬¬

Retrocedamos en el tiempo. Si creaste el proyecto con un asistente, en algún momento debió pedirte que escogieses el Dynamic web module version.



Últimamente, con los tiempos modernos, el que se escoge es el 2.4 o el 2.5, lo cual crea un fichero web.xml con la siguiente cabecera:



La segunda línea es la que molesta al OC4J pues el 2.4 o superior no está soportado. De modo que tendríamos que corregir dicho parámetro en el proyecto al 2.3 por lo menos.

El cómo hacerlo, depende de lo que estéis haciendo y de cómo lo hagáis, si usáis Eclipse, JDeveloper, NetBeans... Pero os garantizo que no es sencillo y puede traer problemas. Un saludo.

Cuando OC4J no encuentra a JAVA

Al instalar un servidor OC4J podemos encontrarnos con el problema/aviso/puñetería de que nos sale un mensaje que indica: Exception javac not found under $PATH, please use a valid jdk or specify the location of your java compiler in server.xml using the tag.

Esto viene a significar que la configuración del OC4J está buscando el bin javac (Linux) o el java.exe (Wondows) en el lugar equivocado.

La solución es sencilla una vez que se sabe. En primer lugar debemos buscar dónde está el ejecutable de marras y apuntarnos su PATH. En mi caso /usr/lib/jdk1.4/bin

Luego buscamos el fichero server.xml dentro de nuestra instalación oc4j. Dicho fichero suele estar en este path: /opt/oc4j/j2ee/home/config/server.xml

Lo abrimos y añadimos la siguiente línea: <java-compiler name="javac" bindir="/usr/lib/jdk1.4/bin"> tras la etiqueta web-site.

Al reiniciar, el error habrá desaparecido.

Fte.: Database Journal

Manejo de enlaces simbólicos

En Linux, los que solemos llamar un acceso directo se conocen realmente como enlaces simbólicos.

En Linux puede venir bastante bien para acortarnos el camino. Aquí voy a dejar un par de cosas básicas:


  • Crear un enlace simbólico:
    $> ln -s directorio_real nombre_del_enlace
    El primer argumento es el directorio al que queremos apuntar y el segundo el nombre del nuevo en lace, que se creará en la carpeta en la que estamos trabajando.

  • Eliminar un en lace simbólico:
    $> unlink nombre_del_enlace
    Esto eliminará el enlace, aunque el directorio original seguirá existiendo.


Como indicación final, hay que asegurarse de que el usuario del enlace simbólico tenga permisos para trabajar en la carpeta destino, como mínimo 'r' y 'x', sino, el sistema no nos permitirá acceder.

En esta referencia hay un artículo mucho más completo, y que me ha gustado mucho: Informático de Guardia.

Un saludo a todos.