martes, 13 de octubre de 2009

Amarok + MySQL


Bueno despues de una larga ausencia en mi travesia por Mac OS X he vuelto...

Vamos al tema..

Amarok es mi reproductor favorito, si te gusta la música sabrás apreciar todo lo que esconde esta belleza de programa. Yo suelo estar continuamente escuchando música, si no es en casa en el compu, en el celular o en cualquier cosa.

Amarok de serie usa SQLite, un sistema de gestión de bases de datos relacional compatible con ACID, y que está contenida en una relativamente pequeña librería en C, pero su potencia no es suficiente para mover bases de datos de más de 4.000 o 5.000 elementos, y mi biblioteca de musica supera ese número con creces. Así, usar Amarok, puede ser un poco frustrante, el programa se bloquea unos segundos entre canción y canción, entre otras cosas, que convierten el uso de Amarok en un sufrimiento, más que un placer, como podría parecer al ver sus características y funciones.

Así que si tenemos una biblioteca de ese tamaño lo ideal es dejar SQLite a un lado y meter nuestra biblioteca en una base de datos de MySQL, un sistema de gestión de base de datos relacional, multihilo y multiusuario, que manejará con total soltura bibliotecas enormes como la mía u otras más grandes. Lo que pasa es que dar soporte de MySQL a Amarok, requiere la instalación de varios paquetes y cierta configuración del sistema. Así que pongámonos a trabajar.


Partiremos con la idea de que ya tenemos instalado Amarok, así que lo siguiente será instalar el servidor de MySQL:

apt-get install mysql-server


o bien buscarlo en synaptic

Durante la instalación se abrirá una ventana en la terminal que nos pedirá la contraseña de acceso del usuario root a MySQL, aqui le ponemos lo q querramos pues no tiene nada que ver con la clave root del sistema. Pero guardala en un lugar seguro que la necesitaremos más adelante para gestionar nuestras Bases de Datos de MySQL.

Llegados a este puntos tenemos dos opciones de crear y gestionar nuestras Bases de Datos de MySQL, una por medio de terminal relativamente más complicada que nos obliga a recordar comandos y otra mucho más visual, ya que se gestiona desde el navegador con una WEBUI, y que nos facilitará mucho tareas de backup o de importar y exportar bases de datos, que nos puede servir muchisimo en un futuro, para llevarnos nuestra base de datos de Amarok a otro PC o que sobreviva a un formateo. La utilidad que hace todo esto es PHPMyAdmin, así que vamos a instalarla.

apt-get install phpmyadmin

Ahora que ya tenemos configurado el programa vamos a arrancarlo. Para ello abrimos nuestro navegador web favorito, por ejemplo IceWeasel o Firefox o mejor aun si usamos Chrome (en otra entrada voy a hablar de el), y escribimos la siguiente direcciónen la barra de dirección, http://127.0.01/phpmyadmin/

Nos mostrará la ventana de Login del programa PHPMyAdmin, elegimos Español – Spanish (UTF8) accederemos como root y como contraseña pondremos la que configuramos al instalar mysql-server, al principio de este documento. Y nos llevará a una pantalla como la que vemos en la captura:



Ahora que ya tenemos control sobre el servidor de MySQL vamos a ponernos al lío para crear la base de datos de Amarok, así que vamos a la sección Crear nueva base de datos, como vemos en la captura de abajo: (yo ya la tenia creada asi q yo la llamare Amarok DB2)


Como veis en la captura he puesto como nombre de la Base de Datos, amarok-DB y como codificación he elegido utf8_unicode_ci, que nos asegura que no tendremos problemas con los caracteres especiales de ningún idioma, como la Ñ o los acentos del español, elegir otro tipo de configuración puede darnos problemas con el nombre de algún grupo. Y cuando lo tenemos listo, le damos a Crear y nos mostrará la siguiente ventana:


Ahora toca crear un usuario que tenga acceso a la Base de Datos, podríamos usar al usuario root y su contraseña, que tiene acceso total a todas las Bases de Datos que ya existen o creemos. Pero ya que estamos, y por seguridad, crearemos un usuario que solo tenga acceso a la Base de Datos de Amarok, así que nos vamos a la página de Inicio de PHPMyAdmin y pinchamos en el enlace de abajo que se llama Privilegios, justo entre Cargar los privilegios nuevamente y Log Binario. En la ventana que se nos muestra podemos ver un listado de todos los usuarios del sistema, y debajo tenemos un enlace llamado, Agregar un nuevo usuario.



Ahora nos mostrará la pantalla para configurar el nombre del usuario, servidor, contraseña y los privilegios globales. En nombre de usuario ponemos un nombre identificativo, por ejemplo: amarok. En servidor ponemos Local, y luego escribimos la contraseña que queramos ponerle, dos veces. En permisos globales no le indicamos nada, pues queremos especificarle permisos para una sola base de datos, y si no para eso ya teníamos al usuario root.




Tras configurar esto, damos clic en continuar y nos mostrará la siguiente pantalla:



En el paso anterior quiero aclarar que hay q seleccionar la base de datos a la que va a tener acceso este usuario, para el caso es Amarok-DB2


Si quieren asegurase de que han añadido al usuario correcto en la base de datos correcta, pueden entrar en la Base de Datos de Amarok, amarok-DB, haciendo clic en la izquierda en la lista de bases de datos. Y una vez dentro de ella, arriba a la derecha clic en Privilegios y deberían ver algo así:



Pero ahora ya nos vamos a Amarok, abrimos el programa y entramos en la configuración pdando clic en Herramienta->Configuración.Y en la ventana que se nos abre, clicamos en la sección Colección, y veremos lo siguiente:

Aqui colocamos los datos q pusimos en nuestra base y listo ya tendremos nuestro amarok controlado por una base de datos MySQL







sábado, 21 de febrero de 2009

Configuracion basica de Samba





# smbpasswd -a usuario
# smbpasswd -e usuario

Añadir Impresora a SAMBA:

Tendrías que montar la unidad con smbmount de la siguiente manera:

Primero crea un directorio donde montarlo, por ejemplo:

# mkdir /mnt/windoze

Luego monta la unidad con:

# smbmount //ip_del_windoze/nombrecarpeta /mnt/windoze -o username=usuario dmask=777 fmask=777

Esto te debería dejar el directorio de windows accesible en /mnt/windoze. Para ver que carpetas o impresoras tiene para compartir, usa

# smbclient -L /ip_del_windows

Y para configurar una impresora compartida por windows, lo puedes hacer directamente de la interfaz gráfica. Le dices que es una impresora por Samba y llenas los datos.

Aclaración: "usuario" sería el usuario en windows que tenga acceso a dicho directorio compartido. Cuando le das enter te pregunta el password y luego te monta la unidad en el directorio que le digas.
Acceder de GNU/Linux a Windows:

Si quieres conectar un cliente linux a un servidor Windows, no necesitas "unirte" al dominio para acceder archivos, impresoras o servidor exchange.

Aclaración: Existe un cliente de samba excelente llamado xffm4 que nos permite navegar la red como el famoso "entorno de red" de guindos. Se instala con:

# apt-get install xffm4
o
# yum install xffm

Necesitas tener samba instalado para poder hacer smbmount (montar unidades windows) y acceder a impresoras compartidas.

Sin embargo, si lo que quieres es montar un PDC en linux y autenticarlo a través de un servidor Windows existente, ahí si tienes que "unirlo" al dominio. Los pasos son los siguientes:

# smbpasswd -j nombredominio -r nombrepdc -UNombreDelAdmin%ClaveDelAdmin

Esto te mostrará el mensaje:

# Joined domain nombredominio

Luego haz lo siguientes cambios al archivo smb.conf:

# security = domain
# workgroup = nombredominio
# encrypt passwords = yes
# password server = nombrepdc

Acceder a una carpeta Windows por GNU/Linux:

Para montar una carpeta windows desde linux, el comando es el siguiente:

# smbmount //192.168.0.10/compartido /mnt/windows -o username=pedro

Donde 192.168.0.1 es la dirección IP del Windows, "compartido" es el nombre de la carpeta compartida, "pedro" es el nombre de usuario en windows que tiene acceso a dicha carpeta y /mnt/windows es un directorio existente en linux donde se montará dicha carpeta.

La clave del usuario se pregunta en la consola luego de presionar ENTER.
Acceder de Windows a GNU/Linux:

Para acceder de windows a linux, tienes que tener el Samba Server corriendo en linux.

La clave está en el archivo de configuración /etc/samba/smb.conf. Te doy un ejemplo que te compate la carpeta /tmp bajo el nombre compartir usando el usuario local de linux pedro:

[global]
workgroup = grupo
netbios name = samba
server string = Servidor Samba
encrypt passwords = yes
null passwords = yes
log file = /var/log/samba/log.%m
max log size = 50
name resolve order = bcast lmhosts
preferred master = yes
dns proxy = No
guest account = pedro
preserve case = No
short preserve case = no
load printers = yes
browseable = yes
printing = cups

printcap name = /etc/printcap.cups
print command = /usr/bin/lpr -o raw -P%p -r %s
lpq command = /usr/bin/lpstat -o%p
lprm command = /usr/bin/cancel %p-%j
queuepause command = /usr/bin/disable %p
queueresume command = /usr/bin/enable %p

security = user
password level = 0
local master = yes
os level = 99
;domain master = yes
preferred master = yes

map to guest = bad user
wins support = no
dead time = 0
debug level = 0
socket options = TCP_NODELAY
unix password sync = true

passwd program = /usr/bin/passwd %u

passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .

[compartir]
comment = %U home
path = /tmp
guest ok = yes

public = yes
browseable = yes
create mode = 0777

Simplemente haz:

# /etc/init.d/samba restart

para reiniciar al servicio y conéctate desde tu PC con Window$ ejecutando \\ipdelsamba

De paso, los acentos no deberían causarte problemas. Si por le contrario los tienes sigue leyendo.
Reconocimiento de Acentos:

Si no te reconoce los caracteres tales como la ñ o los acentos al hacer:

# mount -t vfat -o iocharset=utf8,codepage=932 /dev/hda1 /windows

La causa era que SAMBA estaba leyendo los archivos de la partición como si estuviesen codificados en UTF8 cuando en realidad estaban codificados en iso8859-15.

La solución consiste en ajustar los siguientes parámetros (yo lo he hecho utilizando SWAT): "dos charset => CP850" y "unix charset => iso8859-15"

miércoles, 11 de febrero de 2009

Debian Lenny stable

Qué hay de nuevo en Lenny?




Y con Debian GNU/Linux 5.0 "Lenny" a sólo días de su lanzamiento definitivo, aquí tenemos una lista de sus principales novedades con respecto a su anterior versión "Etch", extraídas del wiki del proyecto y otras fuentes:

* Kernel 2.6.26
* GNOME 2.22
* X.org 7.3
* LXDE (Lightweight X11 Desktop Environment)
* OpenOffice.org 2.4 con soporte para .docx
* Iceweasel/Firefox 3
* MySQL 5.1
* Nagios3
* Nuevo tema MoreBlue Orbit.

Las novedades en virtualización merecen destacarse, e incluyen a Xen 3.2.1, KVM, virt-manager y libvirt, los frontends qtemu y qemulator para Qemu. Algunas otras cosas también dejarán de soportarse:

* Kernel 2.4
* Arquitectura Sparc32
* Apache 1.x (reemplazado por Apache2)
* XMMS 1.x (reemplazado por XMMS2)
* Algunos firmwares ya no están en el repositorio principal, pero sí en non-free.
* FlashPlayer disponible sólo como backport (pero swfdec-mozilla instalado por defecto)

La lista completa de paquetes nuevos, eliminados y actualizados puede verse aquí.

viernes, 3 de octubre de 2008

Java en Linux Debian sarge/etch/lenny/sid






Para lograr hacer funcionar muchas aplicaciones para linux como openoffice, netbeans, azureus, logosoft, etc. Necesitamos la maquina virtual de java la cual la podemos descargar de Aqui.

Una vez descargado cambiamos los permisos del *.bin de Java que bajamos, de la siguiente manera:

Luego cambiamos los permisos del *.bin de Java que bajamos, de la siguiente manera:

chmod a+x jre-6u7-linux-i586.bin

luego simplemente ponemos en nuestra consola ./jre-6u7-linux-i586.bin

y se instalara la maquina virtual de Java.

Bien pero q pasa si al hacer este test no lo puede completar?

La solucion es simple:


update-alternatives --config java

lo cual nos mostrara lo siguiente:

Hay 3 alternativas que proveen `java'.

Selección Alternativa
-----------------------------------------------
* 1 /usr/lib/jvm/java-6-sun/jre/bin/java
2 /usr/bin/gij-4.3
+ 3 /usr/lib/jvm/java-gcj/jre/bin/java

Pulse para mantener el valor por omisión [*] o pulse un número de selección:

Si no esta seleccionada la maquina de Sun simplemente hay q seleccionarla..

Bajar sitios completos con wget y linux

wget: Bajando sitios enteros facilmente

Unos trucos para lograr bajar automaticamente los sitios que necesites desde el internet a tu pc.

Wget es una herramienta que viene en cualquier linux, es usada para bajar archivos desde internet. Su forma basica de uso es: wget http://www.thesevenangel.blogspot.com/debian.iso

Esta es la manera en la cual wget se utiliza normalmente, pero tambien puede ser utilizado recursivamente, esto es su poder escondido. wget puede conectarse a los sitios y recursivamente bajar todas las paginas (imagenes y otro tipo de datos) que esten linkeadas en la pagina principal:

wget -r http://www.thesevenangel.blogspot.com/

Sin embargo, existen muchos sitios los cuales nos deniegan poder bajar el sitio completo. Para prevenir esto, los sitios verifican la identificacion de los navegadores. Para evitar estas molestias wget tiene la opcion -U.

wget -r -p -U Mozilla http://www.thesevenangel.blogspot.com/

Seria bueno que agregaran las opciones –limit-rate= y –wait=. Lo anterior es para hacer pausa entre cada pagina, ya que de lo contrario el dueno del sitio puede darse cuenta que con un simple comando wget le estamos bajando el sitio completamente. Sin embargo, nadie se dara cuenta si limitan la velocidad de descarga y hacen pausa entre archivos.

wget --wait=20 --limit-rate=20K -r -p -U Mozilla http://www.thesevenangel.blogspot.com/

martes, 30 de septiembre de 2008

Configuracion de Wireless sin Ndiswrapper para tarjetas Broadcom 43xx





Si tienes un kernel linux-2.6.24 aqui estan las instruciones:
vamos a usar la version 011 de b43-fwcutter, bajamos, la descomprimimos y compilamos

wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2
tar xjf b43-fwcutter-011.tar.bz2
cd b43-fwcutter-011
make
cd ..

Usamos la version 4.80.53.0 de Broadcom propietario driver, lo bajamos, lo descomprimimos el firware para poderlo extraer

export FIRMWARE_INSTALL_DIR="/lib/firmware"
wget http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2
tar xjf broadcom-wl-4.80.53.0.tar.bz2
cd broadcom-wl-4.80.53.0/kmod
../../b43-fwcutter-011/b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" wl_apsta.o


Ahora bien el kernel linux tiene soporte para esta tarjeta pero no tiene el firmware el cual tambien lo podemos obtener mediante synaptic como?:

asi

Abrimos nuestro sinaptyc y buscamos el paquete B43 (la busqueda se puede hacer por palabras clave como por ejemplo Wireless, Broadcom, etc)

una vez descardo el automaticamente empezara la instalacion y nos pedira extraer el firmware no q nosotros tengamos q hacer mayor cosa y ya tenemos funcionando nuestra tarjeta inalambrica.

Repositorios multimedia en Debian Lenny

Bien ahora que ya tenemos nuestro escritorio 3D funcionando vamos por otra cosa muy util, al menos para mi; la musica.

Debian nativamente no reproduce .mp3, .avi, ni ningun formato no libre asi q aqui esta la solucion:

gedit /etc/apt/sources.list

y agregamos este repositorio

#Repositorio MultiMedia
deb http://www.debian-multimedia.org/ testing main

guardamos y cerramos

luego si intentamos hacer un apt-get update nos dara un error porq no tenemos la llave publica asi q en un terminal como root escribimos esto o lo copiamos si asi se prefire

gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys 07DC563D1F41B907

luego

gpg --armor --export 07DC563D1F41B907 | apt-key add -


Y ya tenemos soporte para archivos no libres