Category Archives: ubuntu

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 😉

Extensión dbase con PHP5 en Ubuntu de 64bits

Hoy intentando acceder a un fichero .dbf desde php he visto que hacía falta activar la extension dbase. En un principio es suficiente con poner la librería dbase.so en /usr/lib/php5/20060613/ y añadir al fichero /etc/php5/apache2/php.ini esta línea:

extension=dbase.so

El problema lo he encontrado al buscar una versión de la librería que fuese de la misma rama de php que la que yo uso, en este caso la 5.2 (PHP 5.2.3-1ubuntu6.3) y que además fuera para 64bits. Después de mucho buscar, lo he encontrado aquí.

Por si acaso lo subo también en: aquí (está renombrado con .odt porque si no, no me dejaba subir el fichero ;)).

Basta con bajarse el rpm, extraerlo y ya tenemos el dbase.so. Ahora reiniciamos apache… y ya tenemos soporte para dbase en php!!

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.”