Archivos de la categoría ‘howto’

h1

HowTo: Elinks con MLDonkey y Windows Vista

25/10/09

Desde que instalara hace ya tiempo el MLDonkey en un servidor dedicado (bueno, casi), Makeda me ha perseguido porque su Vista no reconocía los enlaces ed2k. La verdad es que es una jodienda tener que andar copipasteando cada enlace…

Hoy, después de no pocas pruebas, he encontrado la solución:

Descargamos el DonkeyInput de esta web (lo subo a Megaupload por si las moscas).

La primera vez que lo ejecutamos debemos hacerlo como administrador para que pueda modificar el registro:

donkeyinput1

Aprovecho para mostrar el genial fondo de escritorio de Makeda xD

Ahora rellenamos los direrentes campos con los datos de nuestro MLDonkey:

donkeyinput2

Y pinchamos OK.

Ya está. Sólo queda reiniciar nuestro navegador y probarlo. Cada vez que pinchemos un enlace ed2k se nos abrirá la ventanita esta y con un simple OK enviará los enlaces a nuestro MLDonkey.

Bibliografía: Wiki de MLDonkey, Program It.

h1

Despues de instalar Ubuntu

7/10/09

Hace poco instalé Ubuntu en el portátil y aunque todavía me sigue sorprendiendo poder instalar un Linux en plan “siguiente, siguiente, siguiente, …”, como cualquier sistema operativo necesita unas pequeñas personalizaciones para ajustarlo a máquina y a mi gusto.

Copiando descaradamente el post que vi en Mundo Geek, voy a enumerar las 6 cosas que siempre hago nada más terminar la instalación:

1. Actualizar

Sin comentarios:

aptitude update

aptitude safe-upgrade

2. Instalar PAE

Hoy en día sigo usando la versión de 32 bits ya que sobre todo busco facilidad de configuración y no tengo ganas de andar batallando con los 64 bits. La principal desventaja de esto es que no me reconoce los 4 gigas de RAM así que tengo que instalar el kernel con PAE:

aptitude install linux-headers-server linux-image-server linux-server

Últimamente estoy leyendo muy buenas críticas sobre los 64 bits así que puede que próximamente me tire a la piscina :P

ubuntu-logo-3d

3.Eliminar kernels antiguos

Este paso no siempre es necesario pero es posible que al actualizar se instalara un nuevo kernel por lo que nos habremos juntado con tres:

  • El kernel de la instalación.
  • El kernel de la actualización.
  • El kernel con PAE (server).

Personalmente, siempre dejo el que uso (PAE) más otro como backup.

En la Guía Ubuntu explican muy bien como borrar kernel antiguos.

4. Drivers de Nvidia.

No vienen por defecto ya que son propietarios. Basta con ir al menú:

Sistema –> Administración –> Controladores de hardware

Activamos la versión recomendada y listo.

5. Instalar software propietario

Cosas como el flash, codecs, …

aptitude install ubuntu-restricted-extras w32codecs

6. Instalar Firefox 3.5

aptitude install firefox-3.5 firefox-3.5-gnome-support

También actualizar el acceso directo de la barra para que apunte a “firefox-3.5″. No olvides tus complementos favoritos.

h1

HowTo: Sockso en Ubuntu Server

27/07/09

¿Recordáis aquel ordenador que tengo debajo del sofá con el MLDonkey? Pues he decidido exprimirlo un poco más: le he instalado el Sockso. Este programita no es otra cosa que un servidor que almacena y organiza tus emepetreses. No tiene GUI. Para acceder a la colección de música solo necesitas acceder al servidor por medio de un navegador web por lo que puede ser accesible desde cualquier ordenador que tenga Internet.

Al lío.

Instalación de MySQL y Java

El propio programa trae una BBDD embebida pero parece que cuando maneja colecciones grandes de música se ralentiza bastante por lo que me he decantado por usar MySQL:

root@elburro:~# aptitude install mysql-server sun-java6-bin sun-java6-fonts sun-java6-jre

Durante la instalación te pedirá la contraseña del usuario root de MySQL.

Ahora nos conectamos al MySQL para crear la BBDD. No es necesario crear ninguna elemento de la BBDD, el propio programa los creará la primera vez que arranca::

root@elburro:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.51a-3ubuntu5.4 (Ubuntu)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> create database socksodb;
Query OK, 1 row affected (0.00 sec)

mysql>

Instalación del Sockso

root@elburro:~# wget http://sockso.pu-gh.com/downloads/sockso-latest.zip

root@elburro:~# unzip sockso-latest.zip

root@elburro:~# cp -r sockso-1.1.8/ /opt/sockso

root@elburro:~# mkdir /var/sockso

root@elburro:~# chmod -R 0755 /var/sockso

Con estos comandos lo que hemos hecho es: bajarnos la última versión, descomprimir el zip, copiarlo a “/opt/sockso”, crear el directorio “/var/sockso” y darle premisos de ejecución.

Al ser nuestra instalación con MySQL necesitamos descargar e instalar unas librerías adicionales:

root@elburro:~# wget http://sockso.pu-gh.com/downloads/sockso-optionals.zip

root@elburro:~# unzip sockso-optionals.zip -d /opt/sockso/lib-opt

Ahora nos vamos a editar el script de arranque para acondicionarlo a nuestro entorno:

root@elburro:~# cd /opt/sockso/scripts/init.d/

root@elburro:/opt/sockso/scripts/init.d# cp -p sockso sockso.pl

root@elburro:/opt/sockso/scripts/init.d# vi sockso.pl

Basicamente, hay que editar las siguientes líneas para que queden así (cambiando micontraseña por la contraseña que pusiste en el MySQL):

use constant SOCKSO_DIR => “/opt/sockso/”;

system( ’sh linux.sh –nogui –datadir /var/sockso –dbtype=mysql –dbhost=localhost –dbuser=root –dbpass=micontraseña –dbname=socksodb > /dev/null 2>&1 &’ );

Pego el script completo para que quede más claro:


#!/usr/bin/perl

###########################################################
###########################################################
#
#  Edit this constant to point to your Sockso directory
#

use constant SOCKSO_DIR => "/opt/sockso/";

#
###########################################################
###########################################################

use strict;

my $cmd = shift();

if ( $cmd eq "start" ) { start(); }
elsif ( $cmd eq "stop" ) { stop(); }
elsif ( $cmd eq "restart" ) { restart(); }
else { usage(); }

sub start {

chdir( SOCKSO_DIR );
system( 'sh linux.sh --nogui --datadir /var/sockso --dbtype=mysql --dbhost=localhost --dbuser=root --dbpass=micontraseña --dbname=socksodb > /dev/null 2>&1 &' );

}

sub stop {

my $pid = `ps x | grep sockso.jar | grep -v grep`;
$pid =~ s/^\s*(\d+) .*/$1/;

if ( $pid ) {
`kill -9 $pid`;
}

}

sub restart {
stop();
sleep( 2 );
start();
}

sub usage {
print <<EOF;

Usage: sockso (start|stop|restart)

EOF
}

Pues ya está todo lo básico. Vamos a probar si funciona:

root@elburro:~# cd /opt/sockso/scripts/init.d

root@elburro:/opt/sockso/scripts/init.d# ./sockso.pl start

Si todo ha ido bien debemos poder acceder desde el navegador al puerto 4444 de nuestra máquina:

http://IP:4444

Y veremos el home del Sockso:

Sockso Home

¡A disfrutar! :)

Añadiendo repositorios de música

Para decirle al Sockso donde está nuestra música tenemos que hacerlo desde la consola. Primero nos aseguramos de que está parado:

root@elburro:~# cd /opt/sockso/scripts/init.d/

root@elburro:/opt/sockso/scripts/init.d# ./sockso.pl stop

Y ahora arrancamos el Sockso “manualmente” para acceder a la consola (ojo a la contraseña):

root@elburro:/opt/sockso/scripts/init.d# cd /opt/sockso/

root@elburro:/opt/sockso# sh linux.sh –nogui –datadir /var/sockso –dbtype=mysql –dbhost=localhost –dbuser=root –dbpass=micontraseña –dbname=socksodb

La línea de comandos del Sockso es muy sencilla (teclea help para ver los comandos). Para añadir un directorio en el que estén los MP3 escribimos:

#SoCkSo#> coladd /directorio/de/mis/emepetreses
Directory added!
#SoCkSo#>

Si accedemos ahora al Sockso deberíamos ver nuestra colección de MP3. Ya solo tenemos que salir y arrancar el Sockso de forma normal.

Arrancar / parar Sockso con la máquina

He creado el siguiente script para controlar Sockso como un servicio:

#!/bin/sh
#
### BEGIN INIT INFO
# Provides:          Sockso
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Servidor de musica Sockso.
# Description:       Servidor de musica Sockso.
### END INIT INFO

perl /opt/sockso/scripts/init.d/sockso.pl $1

exit 0

Para instalarlo sólo hay q copiarlo al “/etc/init.d” y añadirlo como servicio:

root@elburro:~# cd /etc/init.d

root@elburro:/etc/init.d# vi sockso

(Pegamos el contenido del script y salimos guardando)

root@elburro:/etc/init.d# update-rc.d sockso defaults
Adding system startup for /etc/init.d/sockso …
/etc/rc0.d/K20sockso -> ../init.d/sockso
/etc/rc1.d/K20sockso -> ../init.d/sockso
/etc/rc6.d/K20sockso -> ../init.d/sockso
/etc/rc2.d/S20sockso -> ../init.d/sockso
/etc/rc3.d/S20sockso -> ../init.d/sockso
/etc/rc4.d/S20sockso -> ../init.d/sockso
/etc/rc5.d/S20sockso -> ../init.d/sockso
root@elburro:/etc/init.d#

Pendiente

Si bien el programa está genial, tiene un pero bastante gordo que si no consigo solucionar lo hará inservible: todos los MP3 que tengan algún carácter raro (acentos, ñ, …) no se almacenan en la BBDD. Esto aplica tanto al nombre del archivo como a los MP3Tag.

Leyendo el foro he encontrado un alemán que solucionó el problema borrando la línea:

update( ” set names utf8 ” );

Del fichero MySQLDatabase.java y recompilando. Después de mucho googlear he conseguido recompilar pero no me funciona la aplicación… A ver si engaño a alguno de esos locos programadores para que me eche una mano…

Cualquier ayuda será bienvenida :)

Biliografía: Sockso, Samiux’s Blog.

root@elburro:~# cp -r sockso-1.1.8/ /opt/sockso
h1

Tuning II: la pantalla OLED

11/07/09

Nota: este documento sólo pretende ser un guiaburros que me sirva de chuleta. Si copipasteas los comandos sin saber lo que significan no aprenderás nada. Tú decides.

Partimos de un Asus G50v con una openSUSE 11.1 y KDE 4.1. Además, necesitamos tener estas aplicaciones instaladas:

  • java-1_6_0-sun (Java 6 Runtime Environment)
  • subversion
  • make
  • gcc
  • netcat-openbsd

Al lío. Nos bajamos la última versión del driver:

cd /usr/src/

svn co svn://svn.berlios.de/lapsus/asus_oled/trunk asus_oled

Y la instalamos:

cd asus_oled

make

sudo su

make install

rmmod usbhid

modprobe asus_oled

modprobe usbhid

dmesg | grep  -i asus

Si todo ha ido bien, el último comando debe devolver algo similar a esto:

[   23.216917] asus-oled 4-4:1.0: Attached Asus OLED device: G50 [width 256, pack_mode 1]
[   23.216933] usbcore: registered new interface driver asus-oled

Ya tenemos el driver instalado. Ahora vamos a instalar el demonio que controlará la pantalla.

cd /opt

wget http://asusg50oled.sourceforge.net/download/asusg50oled.tgz

tar -xzf asusg50oled.tgz

cd asusg50oled

./start.sh

cd utils

./install.sh

Si todo ha ido bien,  nuestra pantallita oled debería tener un aspecto similar a este:

asus_oled_g50

(Imagen tomada de MonALISA)

Amarok y Kafeine en la pantalla OLED

Con los siguientes comandos haremos que tanto el Amarok como el Kafeine muestren lo que están reproduciendo en la pantalla oled:

$ dcop –all-users amarok player title
$ dcop –all-users kaffeine KaffeineIface title

Lo sé, es una pijotada que no sirve para nada… pero es tan chulo… xD

asus_oled_amarok_kaffeine

(Imagen tomada de AsusG50OLED)

Kopete en la pantalla OLED

Nota: aún no he conseguido que el Kopete escriba en la pantalla OLED pero aquí cuento mis avances :)

Hay un problemilla con el script que hará que los nuevos mensajes de Kopete se muestren en la pantalla. Parece que la versión del netcat que usó el que hiciera el script es diferente de la que viene con openSUSE. El netcat original debía tener una opción “-q” q no existe en el que tengo yo. Cuando intento ejecutarlo, me peta porque no reconoce el parámetro “-q”. El script en cuestion es el “notify.sh”, y la única modificación que he hecho es esta:

#!/bin/bash
while [ ! -z "$1" ]; do
 echo "text $1"
 shift
#done | nc -u -q 0 -n 127.0.0.1 1196
done | nc -n 127.0.0.1 1196

Como ves, lo único que he hecho es quitarle el “-q 0″ por lo ya comentado y el “-u”. Este último parámetro sirve para utilizar UDP en vez de TCP pero el script no me devuelve el prompt si está este flag así que lo quitamos y listos.

Puedes comprobar si funciona ejecutando el típico:

./notify.sh Hola Mundo

Ahora vamos al Kopete, menú Preferencias -> Configurar las notificaciones. Buscamos en la columna de la izquierda “Mensaje entrante” y activamos la opción de “Ejecutar la orden” y escribimos:

/opt/asusg50oled/utils/notify_kopete.sh %s

Se supone que con esto debería funcionar pero, como he dicho al principio, a mi no me va. Queda pendiente trastear un poco más el Kopete.

Thunderbird en la pantalla OLED

Por lo visto se puede configurar el Thunderbird para que escriba también la pantalla OLED. Sin embargo yo no uso ningún cliente de correo así que a esta parte le he echado un vistazo rápido y poco más. En el README del demonio tienes más información si te interesa.

Bibliografía: AsusG50OLED, Asus OLED Driver

h1

Tuning I: ¡Mis auriculares no suenan!

22/06/09

Tenía pensado escribir un post contando cómo instalé la openSUSE 11.1 en el portátil Asus G50v pero es que resultó tan sencillo que no merece la pena. Fue meter el CD y poco más que “siguiente, siguiente, siguiente, …”. Así que he pensado escribir unos minipost sobre las diferentes personalizaciones que le vaya haciendo para que todo esté a punto.

Una de las pocas cosas que no funcionan con la instalación por defecto es el conector para los auriculares. En mi caso, al conectarlos, dejaban de sonar los altavoces pero por los cascos sólo se oía un molesto pitido. La solución es bien sencilla:

Editamos el fichero “/etc/modprobe.d/sound” (como siempre, cada uno que use su editor favorito):

supermario:/home/caic # sudo vi /etc/modprobe.d/sound

Deberíamos encontrar algo como esto:

options snd slots=snd-hda-intel
# u1Nb.w3SAN3oGsLA:82801I (ICH9 Family) HD Audio Controller
alias snd-card-0 snd-hda-intel

Y tenemos que añadir la siguiente línea al final del fichero:

options snd-hda-intel model=m51va

Guardamos los cambios, salimos del editor y reiniciamos el audio:

supermario:/home/caic # sudo /etc/init.d/alsasound restart

Y ya tenemos nuestro pequeño problema solucionado.

Es posible que nos desaparezca el control de volumen de la barra de tareas. Yo utilizo el Kmix así que basta con volver a ejecuarlo para que aparezca:

supermario:/home/caic # kmix

O bien, utilizar el siguiente control de volumen que funciona en un terminal:

supermario:/home/caic # alsamixer

De todas formas, cuando reiniciemos volverá nuestro iconito.

Bibliografía: Linux Laptop Wiki.

h1

HowTo: Ubuntu Server + MLDonkey + Sancho

14/06/09

Aprovechando que este fin de semana me he quedado de rodríguez y viendo que tenía tiempo despues de instalar el XP en portátil he decidido llevar a cabo un miniproyecto que tenía pendiente: montar un servidor para el burro.

Desde que me compré el portátil no uso para nada mi anterior sobremesa así que he decidido montarlo y dejarlo en alguna esquina bajando a destajo. Ahora mismo es el portátil de Makeda el que trabaja y no creo que sea bueno…

Los elegidos son:

  • AMD Athlon 64 a 2000 Mhz con 1,5 GB de RAM.
  • Ubuntu Server 8.04: siguiente, siguiente, siguiente …
  • MLDonkey 3.0: ha sido una gran sorpresa saber que aún lo mantienen. Pensaba que estaba descontinuado.
  • Sancho 0.9.4.59: el GUI por excelencia para el MLDonkey.

Comienza el espectáculo.

Instalación de Ubuntu.

Para esta ocasión me he decidido por la versión de 32 bits por una sencilla razón: para la tarea que va a realizar, el hardware va sobrado y los potenciales dolores de cabeza que me traerá el instalar la versión de 64 bits no son compensados por la diferencia de rendimiento.

Como ya apuntaba antes, metemos el cd y siguiente, siguiente, siguiente. Solo tener en cuenta que debemos marcar los servicios openSSH y Samba para que sean instalados. El openSSH nos permitirá acceder al servidor desde una máquina remota utilizando cualquier programa tipo Putty. El Samba nos permitirá compartir por red el directorio donde se bajen las cositas :)

Una vez instalado lo que vamos a hacer es asignarle una IP fija en vez dejar que coja una por DHCP. Más tarde abriremos algunos puertos en nuestro router y así evitaremos tener que cambiar la configuración si al router le da por cambiar la IP de nuestra máquina.

Para ello abrimos el siguiente fichero con nuestro editor favorito (¡Ojo! Siempre hacer backup antes de tocar nada):

/etc/network/interfaces

Debe ser parecido a este:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

Y nosotros lo vamos a dejar similar a este:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static

address 192.168.1.50
netmask 255.255.255.0
gateway 192.168.1.1
nameserver 192.168.1.1 204.74.97.104 209.213.196.218
  • address: Dirección IP que queremos asignarle a la máquina.
  • netmask: Máscara de subred.
  • gateway: IP del router.
  • nameserver: Servidores DNS. En mi caso, con la configuración de ya.com, el router hace de DNS. Los dos últimos son openDNS.

Instalación del MLDonkey:

sudo aptitude install mldonkey-server

Ha sido fácil, ¡eh!

Bueno, las principales opciones de configuración del MLDonkey se encuentran en el fichero:

/var/lib/mldonkey/downloads.ini

Paramos el MLDonkey antes de tocar nada:

/etc/init.d/mldonkey-server stop

Hacemos una copia de seguridad del “downloads.ini” y lo editamos. Los parámetros que nos interesan por ahora son:

allowed_ips = [
 "127.0.0.1";
 "192.168.1.0/24";]

En este parámetro definimos desde qué IPs podremos conectarnos al MLDonkey. En el ejemplo se permite al localhost y a toda nuestra red (suponiendo que nuestro router reparte IPs 192.168.1.*).

temp_directory = "/burro/tmp"

Este es el directorio temporal donde estarán los ficheros mientras se descargan.

shared_directories = [
 {     dirname = "/burro/files"
 strategy = all_files
 priority = 0
};
 {     dirname = "/burro/files"
 strategy = incoming_files
 priority = 0
};
 {     dirname = "/burro/dirs"
 strategy = incoming_directories
 priority = 0
};]

En esta sección definimos los directorios. El primero es el directorio compartido, el segundo donde irán los ficheros descargados y el último donde irán los directorios. No he sido capaz de hacer que funcione poniendo el mismo dirname para ficheros y directorios así que lo he solucionado haciendo que “/burro/dirs” sea un enlace simbólico que apunte a “/burro/files”:

root@elburro:/burro# ls -l
total 24
drwxrwxrwx 2 root root  4096 2009-06-13 11:58 files
drwx------ 2 root root 16384 2009-06-12 19:48 lost+found
drwxrwxrwx 3 root root  4096 2009-06-13 11:28 tmp
root@elburro:/burro#
root@elburro:/burro# ln -s files dirs
root@elburro:/burro# ls -l
total 24
lrwxrwxrwx 1 root root     5 2009-06-13 11:18 dirs -> files
drwxrwxrwx 2 root root  4096 2009-06-13 11:58 files
drwx------ 2 root root 16384 2009-06-12 19:48 lost+found
drwxrwxrwx 3 root root  4096 2009-06-13 11:28 tmp
root@elburro:/burro#

Es una chapucilla, lo sé. Pero funciona :D

Es el momento de abrir los puertos necesarios en nuestro router. Por defecto, necesitamos:

  • 6882 TCP y UDP para el Bittorrent.
  • 9346 TCP para el eMule.
  • 9350 UDP para el eMule.

Ya podemos arrancar:

/etc/init.d/mldonkey-server start

Y comprobar que funciona. Para ello vamos a la siguiente URL:

http://192.168.1.50:4080

Suponiendo que esa es la IP de nuestra máquina, si nos aparece una web tan fea como esta vamos por buen camino:

mldonkey_web

¡Enhorabuena! Ya tenemos nuestro maquinito con el MLDonkey funcionando.

Instalación del Sancho:

Es bastante sencillo de instalar tanto en la versión Windows como en la Linux:

Windows: Descargamos el instalador y siguiente, siguiente, siguiente, …

Linux: Personalmente he instalado el “Native GTK x86 binary” porque así no hace falta el Java ni nada pero es cuestión de gustos. Para instalarlo basta con ejecutar (¡ojo! son dos guiones. Es decir, “menos”"menos”target. No sé por qué pero el WordPress convierte todos los guiones que ponga en una sola línea):

./sancho-0.9.4-59-linux-gtk.sh –target /opt/sancho

Siendo “/opt/sancho” el directorio donde queremos instalarlo. Para arrancarlo:

/opt/sancho/sancho

La primera vez que lo arrancamos nos aparece una ventana para configurar los datos de nuestro MLDonkey. Si hemos dejado todos los valores por defecto con cambiar el HOST por el adecuado nos vale.

Ya solo nos quedaría compartir el directorio de descargas por Samba. Ahí millones de páginas con información sobre esto en Internet así que si no sabes hacerlo solo tienes que googlear un poco. Por aquí un artículo del 4 bit blog donde te muestran como hacerlo. Cortesía de Lek.

Y ya hemos acabado. Como siempre, cualquier corrección o sugerencia a los comentarios.

h1

De Vista a XP en el Asus G50v

12/06/09

Como ya comenté, me dispongo a instalar Windows XP en mi portátil Asus G50v. En principio, la aventura no pinta nada bien: Asus no ofrece drivers para XP de este modelo en su web.

Después de buscar y buscar en Internet he conseguido reunir casi todos los controladores necesarios así que he hecho un paquete y los he subido para uso y disfrute de quien los necesite:

Descargar drivers del Asus G50v para Windows XP

Mirror.

Por cierto, el archivo está comprimido con el 7zip.

Paso 1: BIOS

Este paso es necesario de cara a una futura instalación de Linux. Desconozco si WinXP funciona con la opción por defecto (enhanced).

Reiniciar y entrar en el menú de configuración de la BIOS (nada más arrancar pulsa F2 hasta que entres).  Ir a:

Pestaña Advanced >> IDE Configuration >> SATA Operation Mode >> Compatible

Y ponerlo como Compatible.

Guardar y reiniciar.

Paso 2: Instalar WinXP

Este paso no tiene mucho misterio. Arrancamos desde el CD de WinXP e instalamos.

Atención: a la hora de particionar el disco os encontraréis una partición que no se usa (en mi caso la “Partición 1″). Yo recomiendo no borrarla ya que en ella se encuentra la copia de seguridad del Windows Vista que teníamos instalado originalmente. Si algo sale mal, siempre podemos tirar de esta copia y dejar el portátil como estaba. Además, hay rumores de que el Microsoft regalará una licencia del futuro Windows 7 a los poseedores de un Vista así que…

Paso 3: Los drivers

Empieza el espectáculo. Mete el CD con los drivers del Asus G50v. Te aparecerá un mensajito advirtiendo que los drivers que contiene son para Vista. Pasa de él.

Ahora tienes que ir ejecutando todo esto para ir instalando diferentes drivers. Yo, cada vez que lo pedía, reiniciaba pero no sé si se puede instalar todo y luego reiniciar al final.

  • D:\Software\INFupdate\Setup.exe
  • D:\Driver\ATK0100\Vista32\2KSETUP.exe
  • D:\Driver\KB_FILTER\Vista32\2KSETUP.exe
  • D:\Software\ATKHOTKEY\Setup.exe
  • D:\Software\ATKMEDIA\Setup.exe
  • D:\Software\ATKOSD2\Setup.exe
  • D:\Software\RICOH\Setup.exe
  • D:\Software\BLUETOOTH\WIN32\BRCM\DPINST.exe
  • D:\Software\EXPRESSGATE\Setup.exe
  • D:\Software\TOUCHPAD\WinWDF\x86\Setup.exe
  • D:\Software\WCONSOLE\Setup.exe

Bien, vamos a por la tarjeta gráfica. Podemos instalar los drivers que hay en el directorio “Nvidia” o seguir los siguientes pasos para conseguirlos.

Parece ser que nVidia no se ha dignado a liberar oficialmente drivers de XP para esta tarjeta gráfica (por temas comerciales, supongo). Sin embargo, los drivers están ahí. Lo único que modificaron fue el archivo inf que indica al PC los modelos para los que sirve dicho driver. Como siempre alguien se dio cuenta del juego y compartió con todos su sabiduría:

  1. Vamos a esta página.
  2. Bajamos el driver de nVidia.
  3. Bajamos el inf modificado.
  4. Descomprimimos el driver en un directorio temporal.
  5. Copiamos el inf modificado en el directorio temporal pisando el que ya existe.
  6. Ejecutamos “setup.exe” e instalamos el driver.

Nota: los siguientes dispositivos no recuerdo de donde saqué los drivers así que me guio por el paquete que he creado.

  • Para instalar los drivers de la tarjeta de sonido solo tenemos que ejecutar el “sonido.exe”.
  • Para el WIFI es el “wifi/iProDifX.exe”
  • La tarjeta ethernet debemos actualizar el controlador del dispositivo “Controladora Ethernet” utilizando el que está en el directorio “ethernet”.
  • Por último nos queda instalar el “HD Audio/setup.exe”.

Llegados a este punto, nuestro admistrador de dispositivos debe tener un aspecto parecido a este:

admin

Sinceramente, no tengo ni idea de que son esos dos dispositivos pero parece que no hacen mucha falta para jugar al WoW xD

Rebuscando un poco parece que el “Dispositivo desconocido” es el puerto de infrarrojos. He encontrado este driver en este hilo de los foros de Asus. Pero no va del todo bien…

Pego los detalles del otro dispositivo por si alguien me echa una mano:

PCI\VEN_8086&DEV_444E&SUBSYS_44488086&REV_11\4&1A9C2D41&0&00E0

Y esto es todo amigos. Correcciones y sugerencias a los comentarios por favor.

Bibliografía: NotebookReview, foros de Asus y mil páginas más que no recuerdo.

h1

Monitorizando un RAID en Linux II

10/10/08

¿Recordáis que hace poco contaba cómo monitorizar un software RAID en Linux? ¡Pues no funciona!

Después de una temporada en la que yo me las veía muy feliz porque no recibía ningún correo caí en la cuenta de que la resincronización que tengo programada para los fines de semana tiene que generar algún evento y el script debería haber enviado algún emilio. Vamos, que no me llegaba alertas porque no estaba monitorizando nada.

Debería haber investigado por qué no funcionaba pero la navaja de Occam (y me jefe metiendo prisa) me decía que buscara otra salida.

Así que he decidido monitorizarlo el RAID a lo bruto. Os voy a contar cómo lo he hecho pero aviso que este método tiene un cero en elegancia (aunque un 10 en usabilidad).

Básicamente lo que hacemos es crear una copia del fichero “/proc/mdstat” cuando el RAID está bien. Nuestro script compara el mdstat actual con la copia buena y actúa en consecuencia.

#!/bin/sh
#
# raidmon.sh
#
# Script para monitorizar un SW RAID.
#
# 01/09/2008 - Version inicial (renombrada a raidmon.sh_original).
#
# 29/09/2008 - Viendo el poco exito de la version inicial se
#              pasa ha hacer a lo bruto.
#
################################################################

F_OK=/root/scripts/mdstat.ok
F_LOG=/root/scripts/raidmon.log
F_TMP=/root/scripts/.raidmon.tmp
F_MDS=/root/scripts/.mdstat.ahora
cat /proc/mdstat > $F_MDS

DEST=paco@pepe.com,pepe@paco.com
MAQ="$(hostname)"

###############
function emilio
###############
# $1: Asunto
# $2: Cuerpo
{
  echo > $F_TMP
  echo "$2" >> $F_TMP
  echo >> $F_TMP
  echo "Fichero mdstat:" >> $F_TMP
  echo >> $F_TMP
  cat $F_MDS >> $F_TMP
  echo >> $F_TMP
  /bin/mail -s "$1" -r "BOFH@infierno.com" "$DEST" < $F_TMP
  return 0
}

echo "################" >> $F_LOG
echo "Fecha: $(date)" >> $F_LOG

diff $F_MDS $F_OK

if [ $? -ne 0 ]; then

  if [ "$(grep resync $F_MDS)" ]; then
    # Resincronizacion en marcha:
    emilio "RAID de $MAQ: Mantenimiento" "Se esta resincronizando el RAID de $MAQ."

  else
    # Algo va mal:
    emilio "RAID de $MAQ: Error" "Algo pasa en el RAID de $MAQ."
  fi

  # Hacemos log:
  cat $F_TMP >> $F_LOG

else
  # Todo correcto. Hacemos log:
  echo "OK" >> $F_LOG

fi

rm $F_TMP $F_MDS 2> /dev/null

exit 0

No olvideis crear el fichero bueno:

cat /proc/mdstat > mdstat.ok

Ahora sólo nos quedaría meterlo en el crontab (con que se ejecute cada hora es suficiente) y ya tenemos nuestro RAID monitorizado… o eso espero ;P

h1

Monitorizando un RAID en Linux

2/09/08

Hace poco tuve que montar un RAID con mirroring por software en el curro. Pero no voy a contar cómo se monta el RAID (si googleas un poco encontrarás cantidades industriales de información al respecto) sino cómo monitorizarlo para recibir un correo cada vez que haya algún problema.

Nota: esto está probado en una openSUSE 10.3 pero no creo que difiera mucho, si es que lo hace, con cualquier otra distribución.

Una vez montado el RAID la primera y más simple comprobación es consular el fichero “/proc/mdstat”:

localhost:~/scripts # cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdc1[0] sdb1[1]
312568576 blocks [2/2] [UU]

unused devices: <none>
localhost:~/scripts #

Esto no tiene mucha chicha: tenemos un RAID 1 llamado “/dev/md0″ que utiliza las particiones “/dev/sdc1″ y “/dev/sdb1″ y todo está correcto.

Ahora debemos asegurarnos de tener funcionando el mdadmd. Este demonio se encarga de la monitorización propiamente dicha. La configuración de este demonio se encuentra en el fichero “/etc/sysconfig/mdadm”. A nosotros nos interesan sólo dos parámetros:

  • MDADM_PROGRAM=”/nuestro/script.sh”
  • MDADM_SCAN=yes

En el primero definimos el script al que debe pasarle los eventos que genere y en el segundo le indicamos que obtenga los datos del RAID del fichero “/proc/mdstat” (ahorrándonos el trabajo ;)

Este pequeño script trata los estados recibidos del mdadmd:


#!/bin/sh
#
# raidmon.sh
#
# Script que recoge los eventos generados por el mdadmd y envia
# un correo si hubiera algun problema.
#
# 01/09/2008
#
################################################################

ESTADO=$1
F_LOG=/root/scripts/raidmon.log
F_TMP=/root/scripts/.raidmon.tmp

# Lista de destinatarios separados por comas:
DEST=paco@pepe.com,pepe@paco.com

# Escribimos el correo:
echo "Tipo de evento: $ESTADO" > $F_TMP
echo >> $F_TMP
echo "Fichero mdstat:" >> $F_TMP
echo >> $F_TMP
cat /proc/mdstat >> $F_TMP

# Enviamos el correo para los eventos definidos:
case $ESTADO in

 Fail|DegradedArray|RebuildStarted|RebuildFinished)
   /bin/mail -s "Evento en RAID" "$DEST" < $F_TMP
   ;;

 *)
   ;;

esac

# Hacemos log:
date >> $F_LOG

if [ $ESTADO ]; then
  cat $F_TMP >> $F_LOG
else
  echo "Todo correcto" >> $F_LOG
fi

echo "#################################" >> $F_LOG

rm $F_TMP

exit 0

Copiamos el script en la ruta que hayamos definido en MDADM_PROGRAM y si todo está bien ya debería funcionar: el mdadmd monitoriza el RAID y envía los eventos generados a nuestro script. Si el evento es de tipo Fail, DegradedArray, RebuildStarted o RebuildFinished envía un emilio. Si es de cualquier otro tipo o todo ha ido bien (evento nulo) escribe en un registro en el log.

Para probarlo podemos introducir el siguiente churro en la consola:

mdadm -F -p ./nuestro_script.sh –scan -t -1

Y veremos el el log algo como:

Tue Sep  2 12:10:20 CEST 2008
Tipo de evento: TestMessage

Fichero mdstat:

Personalities : [raid1]
md0 : active raid1 sdc1[0] sdb1[1]
312568576 blocks [2/2] [UU]

unused devices: <none>

A parte de tenerlo vigilado es muy conveniente programar una reconstrucción de vez en cuando. Yo lo he metido en el crontab para que se ejecute todos los sábados. El comando es el siguiente:

echo repair >/sys/block/md0/md/sync_action

Ojo al md0. Puede que el tuyo sea md1, md2, …

Bola extra: buscando información al respecto he llegado al blog de Iván López en el que cuenta cómo hacer esto mismo pero enviando SMS con el API de Google Calendar.

Bibliografía: Web de Novell, Blog de Iván López, Wiki de openSUSE y, por supuesto, los imprescindibles man.

h1

Contraseñas seguras

7/03/08

Hoy voy a contar algo sobre las contraseñas aunque no voy a entrar en la importancia que tienen o en si son o no un método seguro de identificación. Eso lo dejo para los gurús de la seguridad. Yo sólo os voy a dar un consejo y unos trucos para elegir buenas contraseñas.

El consejo: es mejor complejidad que longitud. Es más seguro tener una contraseña no muy larga que incluya mayúsculas, minúsculas, números y caracteres especiales a una larguísima que sólo tiene letras minúsculas. Pero tampoco hay que pasarse: menos de 8 caracteres no vale para nada.

El truco: fijaos en la siguiente contraseña:

pygfaparg

Parece una sucesión de letras sin sentido, ¿verdad?

Pinocho Y Gepeto Fueron A Pescar Al Río Guadalquivir

Ahora ya no es tan dificil recordarla. A partir de aquí podemos complicarlo cuanto queramos. Por ejemplo, podríamos añadir nuestro año de nacimiento al final (o al principio):

pygfaparg1979

También podemos cambiar algunos caracteres por caracteres especiales que se parezcan:

pygf@p@rg!979

¡Listo! Ya tenemos una contraseña aceptable y fácil de recordar.