Hace poco hablaba con un amigo de si las distribuciones GNU/Linux estaban tendiendo a homogeneizarse o más bien todo lo contrario. Él opiniba que si, pero creo que se refería más bien a la utilización de determinados estándares. Yo desde hacía algún tiempo venía pensando en las "pequeñas diferencias".
Por motivos de mi PFC tengo montada una mini-red en casa con dos PC's de sobremesa y un portátil. Utilizo tres distribuciones, Gentoo, Fedora y Debian. Bien, pues salvando las diferencias obvias, como pueden ser los gestores de paquetes y demás, hay "otras pequeñas diferencias" que a veces pueden hacernos deterner un buen rato nuestro desarrollo para ver cómo se hace tal cosa en tal distribución o tal otra... Estoy seguro que muchos pensareis, ¿pero y por qué no usas la misma distribución en los tres?. Si, claro, pero ¿y la curiosidad?.
Esas pequeñas diferencias son del tipo:
dhclient ¿dónde está? Ah! dhcpcd, vale. ¿Y por qué se me ha modificado el /etc/fstab? Ah vale... fstab-sync.
Recientemente me encontré con lo que creo que es otra. Como decía antes estoy inmerso en mi PFC. Estoy utilizando JGroups, herramienta basada en Java orientada a los sistemas distribuidos. Precisamente por el hecho de estar basado en Java, se hace uso del contenido de /etc/hosts para determinar la información de red. Si esta información no está disponible las aplicaciones corriendo en diferentes hosts (mis tres PC's) no podrán verse e intercambiarse la información necesaria para que todo funcione como un sistema distribuido.
Un esquema tipo del archivo /etc/hosts sería de la forma:
127.0.0.1 localhost
[192.168.1.1] [<HOSTNAME>.example.org] [HOSTNAME]
No se si por torpeza o por puro desconocimiento aquí me he encontrado con una de esas pequeñas diferencias. Copiando tal cual el contenido del archivo de un PC en el de otro (cambiando las IPs evidentemente), no conseguía que se vieran.
Después de varios intentos por el archiconocido método de prueba-error conseguí que las aplcaciones obtuvieran correctamente la información de red y pudieran verse.
Hay una prueba de fuego para ver qué información de red están interpretando vuestras aplicaciones Java del contenido de /etc/hosts:
import java.net.InetAddress;
public class ipcheck
{
public static void main(String[] args) throws Exception
{
System.out.println(InetAddress.getLocalHost());
}
}
Si todo va bien os devolverá la IP y el alias de máquina establecido. Si no, bienvenidos a 127.0.0.1/localhost.
Es el mundo de las pequeñas diferencias, a veces nos hacen detenernos en nuestros trabajos y perder un tiempo con el que contábamos. Por otro lado yo pienso ¡benditas diferencias!, ¡son las que nos permiten elegir!
Vosostros, ¿qué pensais? ¿Se os ocurren más pequeñas diferencias?
P.D: Esta es mi primera entrada al diario. Un saludo y agradecimientos a todos los usuarios ¡Sed buenos!