Category Archives: linux

Apache Derby en Ubuntu!

Derby es un producto de Apache DB Project y desde la versión 6 de Java viene incluida en el JDK.

Se trata de una base de datos relacional y transaccional que ocupa muy poco espacio en disco y tiene una necesidad mínima de administración. Además soporta el almacenamiento de una base de datos archivada en un archivo JAR, lo que permite distribuir simplemente el archivo JAR.

Para probarlo en ubuntu, primero hay que instalar el jdk

sudo apt-get install sun-java6-jdk sun-java6-javadb

Después hay que configurar las variables de entorno


export JAVA_HOME=/usr/lib/jvm/java-6-sun/
export PATH=$JAVA_HOME/bin:$PATH
export DERBY_HOME=/usr/lib/jvm/java-6-sun/db
cd /usr/lib/jvm/java-6-sun/db/bin
./setEmbeddedCP
export CLASSPATH=$DERBY_HOME/lib/derby.jar:$DERBY_HOME/lib/derbytools.jar:.

Y ya podemos probar a conectarnos a una bd de ejemplo con:

java org.apache.derby.tools.ij
ij> connect 'jdbc:derby:/usr/lib/jvm/java-6-sun/db/demo/databases/toursdb';
ij> select * from countries;

Ahora probamos a crear nuestra propia bd (se crea en el dir desde el que se lanza ij)

java org.apache.derby.tools.ij
ij> connect 'jdbc:derby:DerbyTestDB;create=true';
ij> create table personas(nombre varchar(20), apellido varchar(50), apellido2 varchar(50));
ij> insert into personas values('Manolito', 'Gafotas', 'Pérez');
ij> insert into personas values('Mafalda', 'Mateo', 'González');
ij> select * from personas;
ij> disconnect;
ij> exit;

Por último podemos probar a conectarnos a la bd que hemos creado desde un programa java como el siguiente:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import java.util.Properties;

public class DerbyTestDBClient
{
public static void main (String [] args)
{
DerbyTestDBClient testClient = new DerbyTestDBClient();
testClient.showPersons();
}

public void showPersons()
{
try{
String driver = "org.apache.derby.jdbc.EmbeddedDriver";

Class.forName(driver).newInstance();
Connection conn = null;
conn = DriverManager.getConnection("jdbc:derby:DerbyTestDB");
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("SELECT nombre, apellido FROM personas");
while(rs.next())
{
System.out.println("Nombre : " + rs.getString(1));
System.out.println("Apellido : " + rs.getString(2));
System.out.println();
}
rs.close();
s.close();
conn.close();
}catch(Exception e){
System.out.println("Exception: " + e);
e.printStackTrace();
}
}
}

Actualización de phpmyadmin en Ubuntu Jaunty

Con la última actualización de mi Ubuntu a Jaunty, uno de los paquetes que se ha actualizado ha sido el de phpmyadmin.

Al intentar loguearme con el tipico root/sin passwd me daba fallo. He comprobado a conectarme a mysql desde la línea de comandos e iba bien, así que tenía que ser algo del phpmyadmin. Después de googlear un rato sin mucho exito, he encontrado la solución en el blog de mknix.

Para solucionarlo basta con añadir a /etc/phpmyadmin/config.inc.php la siguiente línea junto al resto de opciones:

$cfg['Servers'][$i]['AllowNoPasswordRoot'] = true;

Aunque esto soluciona el problema coincido con mknix en que lo mejor es que poner una contraseña al usuario root :p

Sonido con ALSA

Receta mágica: crear un fichero dentro de tu $HOME que se llame .asoundrc con el siguiente contenido:

pcm.tarjeta{
type hw
card 0
device 0
}
pcm.salidaTarjeta{
type dmix
ipc_key 9991
slave{
period_time 0
period_size 1024 # must be power of 2
buffer_size 8192 # dito. It
}
slave.pcm "tarjeta"
}
pcm.entradaTarjeta{
type dsnoop
ipc_key 9992
slave {
period_time 0
period_size 1024
buffer_size 8192
}
slave.pcm "tarjeta"
}
pcm.salidaTarjetaPlug{
type plug
slave.pcm "salidaTarjeta"
}
pcm.entradaTarjetaPlug{
type plug
slave.pcm "entradaTarjeta"
}
# Hacer que sea el pcm.default
pcm.default pcm.salidaTarjetaPlug

Si no os funciona bien, podeis jugar a cambiar el card a 1, 2… en el primer bloque.

Flashplayer en firefox 64bits

Con Ubuntu 7.10 ya podemos disponer de flashplayer para firefox de 64 bits. En versiones anteriores para poder tener flash tenía que utilizar switfox 32 bits. Pues bien, ahora basta con entrar a alguna web que requiera flash y salta el mensaje (como en otras ocasiones) de que tiene 2 plugins disponibles para instalar: flashplayer y gnash.

Al instalar flashplayer y reiniciar firefox parece que no ha ocurrido nada ya que seguimos sin visualizar flash. Sin embargo el problema está en que al intentar comparar el md5 que trae el paquete con el de la página de adobe estos no coinciden y no prosigue.

Para solucionarlo tenemos que seguir los siguientes pasos:
1. Editar /var/lib/dpkg/info/flashplugin_nonfree.postinst y borrar las entradas referentes a la comprobación del md5 (3 en total)
2. sudo dpkg-reconfigure flashplugin_nonfree
(indicando cuando nos lo pide la carpeta donde tenemos el paquete)
En mi caso en: /var/cache/flashplugin_nonfree

Y voilá ya podemos ver todos los videos de youtube 😉

Apt 0.6 y firma de paquetes


Hace unos días, después de haber actualizado mi Debian, al hacer un:

# apt-get update

me aparecía el siguiente mensaje:

Ign http://ftp.fr.debian.org unstable Release.gpg
/>Des:1 http://www.stanchina.net ./ Release.gpg [189B]
/>[…]
/>Leyendo lista de paquetes… Hecho
/>W: GPG error: http://www.stanchina.net ./ Release: The following signatures couldn’t be verified
/>because the public key is not available: NO_PUBKEY 3DCCCCACE46F104F
/>W: GPG error: ftp://ftp.nerim.net unstable Release: The following signatures couldn’t be verified
/>because the public key is not available: NO_PUBKEY 07DC563D1F41B907
/>W: GPG error: ftp://mirror.aarnet.edu.au unstable Release: The following signatures couldn’t be
/>verified because the public key is not available: NO_PUBKEY BB5E459A529B8BDA
/>

Me quedé un poco extrañado ya que no había tocado nada en el sources.list ni nada por el estilo. Me puse a googlear un poco y vi que era un problema bastante generalizado. Parece ser que con la última actualización de apt en Debian Unstable han añadido
la posibilidad de comprobar si los paquetes que instalas en tu equipo
son legítimos. Esto significa que cuando te bajas un .deb, apt
comprobará que el autor es quien dice ser y que además nadie lo ha
modificado por el camino.
Para poder usar está nueva utilidad y evitar todos los warnings tuve que hacer lo siguiente:

# apt-get dist-upgrade
[…]
AVISO: ¡No se han podido autenticar los siguientes paquetes!
e2fslibs e2fsprogs findutils grep
¿Instalar estos paquetes sin verificación [s/N]?

Aquí hay que decirle que sí y los paquetes se instalarán sin mayor
problema, y configurar el sistema para que compruebe las firmas:

# apt-get install debian-keyring
# apt-key add /usr/share/keyrings/debian-role-keys.gpg

En este punto ya tenemos las claves para los repositorios oficiales de
debian, para el resto tendrás que buscar las claves en un keyserver y
exportarlas usando apt-key. El id de la clave se puede sacar del warning
que devuelve apt-get update, por ejemplo:

# gpg –keyserver subkeys.pgp.net –recv-keys 3DCCCCACE46F104F
gpg: directory `/root/.gnupg’ created
gpg: creado un nuevo fichero de configuración `/root/.gnupg/gpg.conf’
gpg: AVISO: las opciones en `/root/.gnupg/gpg.conf’ no están aún activas en esta ejecución
gpg: anillo `/root/.gnupg/secring.gpg’ creado
gpg: anillo `/root/.gnupg/pubring.gpg’ creado
gpg: requesting key E46F104F from hkp server subkeys.pgp.net
gpg: /root/.gnupg/trustdb.gpg: se ha creado base de datos de confianza
gpg: key E46F104F: public key “Flavio Stanchina ” imported
gpg: no se encuentran claves totalmente fiables
gpg: Cantidad total procesada: 1
gpg: importadas: 1
# gpg –armor –export 3DCCCCACE46F104F | apt-key add –
gpg: no se encuentran claves totalmente fiables
OK
# apt-key list
/etc/apt/trusted.gpg
——————–
pub 1024D/38C6029A 2002-12-20 [expired: 2004-01-24)]
uid Debian Archive Automatic Signing Key (2003)

pub 1024D/30B34DD5 2003-12-03 [expired: 2004-01-14)]
uid Debian Archive Automatic Signing Key (2003 v2)

pub 1024R/1DB114E0 2004-01-15 [expired: 2005-01-27)]
uid Debian Archive Automatic Signing Key (2004)

pub 1024D/4F368D5D 2005-01-31 [expires: 2006-01-31]
uid Debian Archive Automatic Signing Key (2005)

pub 1024D/E46F104F 2001-11-19
uid Flavio Stanchina
uid Flavio Stanchina
sub 1024g/07A5A604 2001-11-19

Solo quedaría repetir el último paso por cada clave no reconocida.

Una curiosidad: apt-key no es más que un script de bash que llama a gpg,
este gpg almacena el anillo de claves en /etc/apt/trusted.gpg y no tiene
archivos de configuración (todas las opciones se las pasa apt-key en la
línea de comandos).

No recuerdo exactamente la url donde encontre esta información, pero espero que a alguno le pueda servir de ayuda…

VoIPBuster en Linux

Cada vez tengo más claro que VoIPBuster es una pasada. La mayor pega que tenía es que solo nos podíamos descargar el ejecutable para Windows. Pero problema solucionado!!
Parece ser que utiliza el protocolo IAX, que está muy extendido ya que tambien es usado por Asterisk, y hay muchas herramientas que nos permiten usar este protocolo desde un sistema no Windows. En mi caso, para Linux, he utilizado iaxComm.


En está página recomiendan usar kiax, aunque a mi me ha funcionado mejor iaxComm. Es muy sencillo de instalar y utilizar. Basta con descargarse el .tar de su web, descomprimirlo, y ejecutar el fichero iaxComm. Lo único que tenemos que hacer es crear una cuenta nueva con nuestro usuario y password de VoIPBuster, y como host poner “iax.voipbuster.com”.
Una vez creada la cuenta se pueden configurar las preferencias a nuestro gusto. Alguna cosa interesante de configurar son los codecs. Depende de la conexión a Internet que tenga cada uno, en mi caso he optado por utilizar U-LAW.
Bueno, pues ya no queda ninguna excusa para al menos no probarlo!!

Primeras impresiones de Google Talk

Esta mañana medio dormido todavía me encontrado con la publicación de Google Talk. Raudo y veloz, he ido a http://www.google.com/talk/ para descargármelo y me he llevado la decepción de que aún solo estaba disponible para Window$. Para ver como era me lo he descargado y lo he probado. Se descarga rápido (unos 900K) y de primeras me ha sorprendido un poco. Me esperaba una interfaz más llamativa, pero probándolo me ha gustado bastante. Se conecta rápido, chupa pocos recursos, a pesar de ser una beta parace estable y para lo que lo necesito tengo de sobra. Al fin y al cabo lo importante es el servicio que da y no que tenga 20000 emoticonos y 300 temas de fondo. Me he quedado con ganas de probar el sistema de VoIP que por lo que he leído tiene una calidad muy alta, pudiendo superar incluso a la del mismísimo Skype, pero a esas horas de la mañana y en pleno verano, es difícil encontrarse a alguien conectado para experimentar.

Hace media hora he llegado a casa con ganas de encender mi Debian y ver si realmente funciona correctamente sobre jabber. He estado navegando un poco para ver como configurarlo y encontrado algo en art-xtreme.
Yo personalmente uso el Gaim, asi que lo primero que he hecho ha sido añadir una nueva cuenta.


Una vez creada la cuenta solo tenemos que conectarnos y nos aperecerá la lista de contactos que tengamos en gmail.



Todavía no he podido probar, porque tengo que añadir a más contactos y esperar a ver si alguien se conecta, pero la primera impresión ha sido buena. De momento parece que no hay nada para linux para el sistema de VoIP, pero todo se andará…

Venga, todos a probarlo!!!!!

Las distribuciones de Debian se unen para hacer frente a la competencia de Ubuntu, SuSE y Red Hat.

Leo enpresadigitala.net
“Los diferentes actores que respaldan nueve distribuciones de Debian se han unido en un consorcio, el Debian Core Consortium, que pretende hacer frente a sistemas comerciales como Novell SuSE o Red Hat y a la nueva estrella Ubuntu. Entre otras cosas, Knoopix, Credativ, Linex, Linspire, Mepis, Progeny, Sun Wah, Wandros y UserLinux buscan que todas sus programas sean interoperables y que la comunidad no disperse sus esfuerzos.

El Debian Core Consortium no pretende crear una distribución propia sino simplemente coordinar a sus miembros para que su software se pueda reutilizar. Además, la organización intentará implementar algunos estándares, como LSB 3.0 (Linux Standard Base), que certifica algunas reglas comunes para todas las distribuciones de Linux.

Según Netcraft, Debian es la segunda opción más elegida para los servidores web. Esta distribución, como proyecto oficial que es, dispone de una serie de voluntarios que participan en el desarrollo de su código fuente pero que no tienen autoridad sobre las diferentes versiones que se están realizando.Red Hat y Novell SuSE utilizan como principal ventaja el soporte que dan sus empresas matrices. Ubuntu, que también está basado en Linux y es la distribución de Linux que más está creciendo en usuarios en los últimos tiempos, se ha mantenido al margen del Debian Core Consortium.”