Network Manager: Facilitando el manejo de redes inalámbricas

NetworkManager En la entrada previa, Establecer red inalámbrica en Dell m1210, comencé a describir el proceso que seguí para lograr hacer funcionar la tarjeta Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 01) en una portátil Dell m1210. El motivo de esta entrada se debe a que muchos usuarios hoy día no les interesa ni debe interesarles estar lidiando con la detección de redes inalámbricas, por eso les pasaré a comentar acerca de NetworkManager.

NetworkManager es una aplicación cuyo objetivo es que el usuario nunca tenga que lidiar con la línea de comandos o la edición de ficheros de configuración para manejar sus redes (ya sea cableada o inalámbrica), haciendo que la detección de dichas redes simplemente funcione tanto como se pueda y que interrumpa lo menos posible el flujo de trabajo del usuario. De manera que cuando usted se dirija a áreas en las cuales usted ha estado antes, NetworkManager se conectará automáticamente a la última red que haya escogido. Asimismo, cuando usted esté de vuelta al escritorio, NetworkManager cambiará a la red cableada más rápida y confiable.

Por los momentos, NetworkManager soporta redes cifradas WEP, el soporte para el cifrado WPA está contemplado para un futuro cercano. Respecto al soporte de VPN, NetworkManager soporta hasta ahora vpnc, aunque también está contemplado darle pronto soporte a otros clientes.

Para hacer funcionar NetworkManager en Debian los pasos que debemos seguir son los siguientes. En primera instancia instalamos el paquete.

# aptitude -r install network-manager-gnome

Que conste que NetworkManager funciona para entornos de escritorios como GNOME, KDE, XFCE, entre otros. En este caso particular estoy instalando el paquete disponible en Debian para GNOME en conjunto con sus recomendaciones.

De acuerdo al fichero /usr/share/doc/network-manager/README.Debian NetworkManager consiste en dos partes: uno a nivel del demonio del sistema que se encarga de manejar las conexiones y recoge información acerca de las nuevas redes. La otra parte es un applet que el usuario emplea para interactuar con el demonio de NetworkManager, dicha interacción se lleva a cabo a través de D-Bus.

En Debian por seguridad, los usuarios que necesiten conectarse al demonio de NetworkManager deben estar en el grupo netdev. Si usted desea agregar un usuario al grupo netdev utilice el comando adduser usuario netdev, luego de ello tendrá que recargar dbus haciendo uso del comando /etc/init.d/dbus reload.

Es necesario saber que NetworkManager manejará todos aquellos dispositivos que no estén listados en el fichero /etc/network/interfaces, o aquellos que estén listados en dicho fichero con la opción auto o dhcp, de esta manera usted puede establecer una configuración para un dispositivo que sea estática y puede estar seguro que NetworkManager no tratará de sobreescribir dicha configuración. Para mayor información le recomiendo leer detenidamente el fichero /usr/share/doc/network-manager/README.Debian.

Si usted desea que NetworkManager administre todas las interfaces posibles en su ordenador, lo más sencillo que puede hacer es dejar solo lo siguiente en el fichero /etc/network/interfaces.

$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

Una vez que se ha modificado el fichero /etc/network/interfaces reiniciamos NetworkManager con el comando /etc/dbus-1/event.d/25NetworkManager restart. El programa ahora se encargará de detectar las redes inalámbricas disponibles. Para ver una lista de las redes disponibles, simplemente haga clic en el icono, tal como se muestra en la figura al principio de este artículo.

Había mencionado previamente que NetworkManager se conectará automáticamente a las redes de las cuales tiene conocimiento con anterioridad, pero usted necesitará conectarse manualmente a una red al menos una vez. Para ello, simplemente seleccione una red de la lista y NetworkManager automáticamente intentará conectarse. Si la red requiere una llave de cifrado, NetworkManager le mostrará un cuadro de dialogo en el cual le preguntará acerca de ella. Una vez ingresada la llave correcta, la conexión se establecerá.

Para cambiar entre redes, simplemente escoja otra red desde el menú que le ofrece el applet.

Establecer red inalámbrica en Dell m1210

Hace ya algunos días Ana me comentaba que no le estaba funcionando la configuración que tenía para su red inalámbrica, eso ocurrió una vez que actualizó la versión del kernel de linux, espero entrar en detalle acerca de los pasos que seguí para configurarle todo como se debe bajo Debian Etch.

Lo primero que debía saber era el tipo de componente PCI al que me estaba enfrentando.

$ lspci -nn | grep Wireless
0c:00.0 Network controller [0280]:
Broadcom Corporation Dell Wireless 1390
WLAN Mini-PCI Card [14e4:4311] (rev 01)

Lo anterior dice que nos estamos enfrentando ante una Broadcom cuyo chipset id es el 4311, debemos saber que el módulo para linux de estos chips es el bcm43xx y ha sido incluido al kernel de linux desde la versión 2.6.17-rc21, al revisar la lista de dispositivos soportados me percaté que el soporte para este chipset id aún es inestable, así que el siguiente paso era eliminar su presencia si aplicaba.

$ lsmod | grep bcm43xx
bcm43xx               148500  0
ieee80211softmac       40704  1 bcm43xx
ieee80211              39112  2 bcm43xx,ieee80211softmac

Como se puede observar en este caso aplica, así que comenzamos a eliminar su presencia.

# grep -q '^blacklist bcm43xx' /etc/modprobe.d/blacklist \\
|| tee -a 'blacklist bcm43xx' /etc/modprobe.d/blacklist

La inclusión de la línea blacklist bcm43xx al fichero /etc/modprobe.d/blacklist si aplica me permite indicar que dicho módulo no debe cargarse como resultado de la expansión de su alias, es decir, bcm43xx, esto se hace con el propósito de evitar que el subsistema hotplug lo carge, aunque esto no evita que el módulo se carge automáticamente por el kernel.

Luego verifique el fichero /etc/modules, el cual contiene los nombre de los módulos que serán cargados a la hora del inicio del sistema, no había entrada para el módulo bcm43xx, ahora es necesario remover dicho módulo, para lo cual hacemos:

# modprobe -r bcm43xx

Una vez culminado este proceso es necesario hacer uso de ndiswrapper, el cual es un módulo que me permite cargar y ejecutar drivers propietarios de Windows para tarjetas inalámbricas.

# aptitude -r install build-essential \\
module-assistant ndiswrapper-common
# m-a update
# m-a prepare
# m-a a-i ndiswrapper
# modprobe ndiswrapper

Una vez cargado el módulo ndiswrapper es necesario instalar el nuevo driver propietario, para ello debemos encontrar el fichero con extensión inf, este fichero especifica que ficheros necesitan estar presentes o descargarse para que el componente funcione correctamente, para dicho driver. Al consultar en la lista de tarjetas que funcionan con ndiswrapper me percato que han habido problemas de seguridad en algunos de los drivers recomendados para esta tarjeta, así que para asegurarme de obtener las versiones más recientes ingreso al sitio oficial de Dell, bajo la sección USASupport search: “m1210″Drivers and DownloadsNetwork & InternetNetwork Driver, ingreso el campo correspondiente al service tag, y finalmente descargo el fichero R151517.EXE.

El siguiente paso es extraer los ficheros que se encuentran dentro de R151517.EXE, para ello:

unzip R151517.EXE

Ahora nos interesa el fichero bcmwl5.inf que está dentro del directorio DRIVER.

$ tree R151517/DRIVER/
R151517/DRIVER/
|-- bcm43xx.cat
|-- bcm43xx64.cat
|-- bcmwl5.inf
|-- bcmwl5.sys
`-- bcmwl564.sys

Una vez extraídos los ficheros, procedemos a cargar el driver, para ello hacemos lo siguiente:

# ndiswrapper -i R151517/DRIVER/bcmwl5.inf

Comprobamos que el driver se ha instalado correctamente.

# ndiswrapper -l
installed drivers:
bcmwl5          driver installed, hardware (14E4:4324) present (alternate driver: bcm43xx)

Luego verificamos nuestro trabajo al ejecutar el comando dmesg, tal como se muestra a continuación:

$ dmesg
[44093.473325] ndiswrapper version 1.27 loaded (preempt=no,smp=yes)
[44095.311236] ndiswrapper (link_pe_images:577): fixing KI_USER_SHARED_DATA address in the driver
[44093.482777] ndiswrapper: driver bcmwl5 (Broadcom,03/23/2006, 4.40.19.0) loaded
[44093.483250] ACPI: PCI Interrupt 0000:0c:00.0[A] -> GSI 17 (level, low) -> IRQ 177
[44093.483367] PCI: Setting latency timer of device 0000:0c:00.0 to 64
[44093.491760] ndiswrapper: using IRQ 177
[44094.162703] wlan0: vendor:
[44094.162708] wlan0: ethernet device 00:18:f3:6b:fc:3b using NDIS driver bcmwl5, 14E4:4311.5.conf
[44094.162772] wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK
[44094.166554] usbcore: registered new driver ndiswrapper
[44094.167390] ndiswrapper: changing interface name from 'wlan0' to 'eth1'

En este preciso instante el comando ifconfig -a debe mostrarnos la nueva interfaz, y el comando iwlist eth1 scan al ejecutarse como superusuario devolverá la lista de redes que han sido detectadas.

Recuerde que para que todo esto siga funcionando aún después de reiniciar el sistema, es necesario cargar el módulo de ndiswrapper, para ello hago uso del comando modconf.

  1. Fuente: http://bcm43xx.berlios.de/[regresar]

Beryl y Emerald en Debian “Etch” AMD64

Sin mucho preámbulo, sólo tengo que decir que voy explicar cómo tener instalado éste famoso escritorio 3D (Beryl) en nuestros sistemas Debian AMD64. El proceso en general es muy fácil y se resume en unos pocos pasos. Antes que nada debo mencionar que la placa de video que uso es nVIDIA y que para poder utilizar el Beryl hay que hacer ciertas modificaciones al xorg.conf.

Lo primero que debemos hacer es modificar nuestro /etc/apt/sources.list para añadir una nueva entrada que va a ser el servidor desde donde se van a instalar Beryl y Emerald. Ésto lo logramos con la siguiente línea de comandos en una terminal:

 # vim /etc/apt/sources.list

La línea que vamos a agregar a nuestro sources.list es la que se corresponde con el repositorio de Beryl para Debian y es la siguiente:

deb http://debian.beryl-project.org/ etch main

Luego, como han de sospechar, hay que actualizar la base de datos del aptitude, lo cual se logra así:

# aptitude update

Una vez actualizada la base de datos procedemos a instalar el Beryl con la siguente línea de comandos:

# aptitude install -ry beryl

Ésta última línea nos va a instalar el Beryl automáticamente con todos los paquetes recomendados y va a asumir “Sí” como respuesta para poder realizar la instalación. Una vez que está instalado podremos ejecutarlo desde Aplicaciones –> Herramientas del sistema –> Beryl Manager y los temas del Emeral los podemos seleccionar en Escritorio –> Preferencias –> Emerald Theme Manager. Las opciones del Beryl pueden ser modificadas con el Beryl Settings Manager, el cual puede ser localizado en la misma ruta que el Beryl Manager.
Si queremos que el Beryl Manager sea ejecutado cada vez que iniciamos sesión debemos añadirlo a la lista de programas al inicio. Ésto lo hacemos ejecutando Escritorio –> Preferencias –> Sesiones y en la pestaña Programas al inicio hacemos click en Añadir y escribimos beryl-manager.
A continuación algunos atajos del teclado para lograr los efectos más comunes:

  1. Modo de movimiento de imagen borrosas = Ctrl + F12
  2. Rotar escritorios como un cubo = Ctrl + Alt + Flechas direccionales
  3. Efecto de lluvia = Shift + F9
  4. Zoom = Super + Scroll
  5. Selector de ventanas escalar = Super + Pausa
  6. Rotar ventana entre espacios de trabajo con el cubo = Ctrl + Alt + Shif + Teclas direccionales
  7. Modificar la opacidad de la ventana actual = Alt + Scroll

Por último un artículo donde explican las virtudes del Beryl 0.2 y dos videos, que a mi criterio son las mejores demostraciones de Beryl que jamas haya visto.

GRUB: Mejorando nuestro gestor de arranque

Anteriormente había comentado en la primera entrega del artículo Debian: Bienvenido al Sistema Operativo Universal que por medidas de seguridad establezco las opciones de montaje ro, nodev, nosuid, noexec en la partición /boot, donde se encuentran los ficheros estáticos del gestor de arranque.

El gestor de arranque que manejo es GRUB. Por lo tanto, el motivo de este artículo es explicar como suelo personalizarlo, tanto para dotarle de seguridad como mejorar su presentación.

Seguridad

Lo primero que hago es verificar el dueño y los permisos que posee el fichero /boot/grub/menu.lst, en mi opinión la permisología más abierta y peligrosa sería 644, pero normalmente la establezco en 600, evitando de ese modo que todos los usuarios (excepto el dueño del fichero, que en este caso será root) puedan leer y escribir en dicho fichero. Para lograr esto recurrimos al comando chmod.

# chmod 600 /boot/grub/menu.lst

Si usted al igual que yo mantiene a /boot como una partición de solo lectura, deberá montar de nuevo la partición /boot estableciendo la opción de escritura, para lo cual hacemos:

# mount -o remount,rw /boot

Después de ello si podrá cambiar la permisología del fichero /boot/grub/menu.lst de ser necesario.

El segundo paso es evitar que se modifique de manera interactiva las opciones de inicio del kernel desde el gestor de arranque, para ello estableceremos una contraseña para poder editar dichas opciones, pero primero nos aseguraremos de cifrar esa contraseña con el algoritmo MD5. Por lo tanto, haremos uso de grub-md5-crypt

# grub-md5-crypt
Password:
Retype password:
$1$56z5r1$yMeSchRfnxdS3QDzLpovV1

La última línea es el resultado de aplicarle el algoritmo MD5 a nuestra contraseña, la copiaremos e inmediatamente procedemos a modificar de nuevo el fichero /boot/grub/menu.lst, el cual debería quedar más o menos como se muestra a continuación.

password --md5 $1$56z5r1$yMeSchRfnxdS3QDzLpovV1

title           Debian GNU/Linux, kernel 2.6.18-3-686
root            (hd0,1)
kernel          /vmlinuz-2.6.18-3-686 root=/dev/sda1 ro
initrd          /initrd.img-2.6.18-3-686
savedefault

title           Debian GNU/Linux, kernel 2.6.18-3-686 (single-user mode)
root            (hd0,1)
kernel          /vmlinuz-2.6.18-3-686 root=/dev/sda1 ro single
initrd          /initrd.img-2.6.18-3-686
savedefault

La instrucción password --md5 aplica a nivel global, así que cada vez que desee editar las opciones de inicio del kernel, tendrá que introducir la clave (deberá presionar la tecla p para que la clave le sea solicitada) que le permitirá editar dichas opciones.

Presentación del gestor de arranque

A muchos quizá no les agrade el aspecto inicial que posee el GRUB, una manera de personalizar la presentación de nuestro gestor de arranque puede ser la descrita en la segunda entrega de la entrada Debian: Bienvenido al Sistema Operativo Universal en donde instalaba el paquete grub-splashimages y posteriormente establecía un enlace simbólico, el problema de esto es que estamos limitados a las imágenes que trae solo ese paquete.

A menos que a usted le guste diseñar sus propios fondos, puede usar los siguientes recursos:

Después de escoger la imagen que servirá de fondo para el gestor de arranque, la descargamos y la colocamos dentro del directorio /boot/grub/, una vez allí procedemos a modificar el fichero /boot/grub/menu.lst y colocaremos lo siguiente:

splashimage=(hd0,1)/grub/debian.xpm.gz

En la línea anterior he asumido lo siguiente:

  • La imagen que he colocado dentro del directorio /boot/grub/ lleva por nombre debian.xpm.gz

  • He ajustado la ubicación de mi partición /boot, es probable que en su caso sea diferente, para obtener dicha información puede hacerlo al leer la tabla de particiones con fdisk -l o haciendo uso del comando mount.

    $ mount | grep /boot
    /dev/sda2 on /boot type ext2 (rw,noexec,nosuid,nodev)
    # fdisk -l | grep ^/dev/sda2
    /dev/sda2            1217        1226       80325   83  Linux

    Por lo tanto, la ubicación de la partición /boot es en el primer disco duro, en la segunda partición, recordando que la notación en el grub comienza a partir de cero y no a partir de uno, tenemos como resultado hd0,1.

También puede darse el caso que ninguno de los fondos para el gestor de arranque mostrados en los recursos señalados previamente sean de su agrado. En ese caso, puede que le sirva el siguiente video demostrativo sobre como convertir un fondo de escritorio en un Grub Splash Image (2 MB) haciendo uso de The Gimp, espero le sea útil.

Después de personalizar el fichero /boot/grub/menu.lst recuerde ejecutar el comando update-grub como superusuario para actualizar las opciones.

Identificar el Hardware de tu PC en Debian GNU/Linux

Bien, lo que vamos a hacer a continuación es muy fácil, tán fácil como instalar un paquete, luego ejecutarlo y leer la información que él nos “escupe” (me encanta como suena :) ). Como sabrán, soy usuario de Debian GNU/Linux en su versión Etch para la arquitectura AMD64, pero ésto en realidad no es tan relevante ya que el paquete se encuentra tanto en Testing como en Stable para la mayoría de las arquitecturas y en la sección main de los repositorios.

Lo que vamos a instalar es el paquete lshw-gtk, que bien como dice en la descripción del paquete: “es una pequeña herramienta que provee información detallada de la configuración de hardware de la máquina. Puede reportar la configuración exacta de la memoria, versión de firmware, configuración de la tarjeta madre, versión del procesador y su velocidad, configuración de la caché, velocidad del bus, etc. en sistemas x86 con soporte DMI, en algunas máquinas PowerPC (se sabe de su funcionamiento en las PowerMac G4) y ADM64″.

Como ya sabrán, para instalar el paquete es tan sencillo como abrir una terminal y escribir en modo superusuario los siguiente:

 # aptitude install lshw-gtk 

El paquete no es muy pesado, de hecho, con todo y dependencias a penas ha de superar el mega de información, por lo que el proceso de instalación es rápido (si se tiene una conexión decente claro).

Una vez instalado el paquete no tenemos que hacer más que ejecutarlo. Para poder ejecutarlo debemos hacerlo desde una terminal, ya que según tengo entendido, no se instala en los menús del Gnome. Así que debemos escribir en una terminal (en modo superusuario):

 # lshw-gtk 

y listo, se ejecutará perfectamente, dejándonos navegar por unos paneles donde se encuentran los distintos componentes de nuestro sistema.

Si lo que quieres es tener un lanzador en los menús del Gnome, es muy sencillo, sólo deberás crear uno de la siguiente manera. Abre una terminal en modo superusuario y escribe lo siguiente:

gedit /usr/share/applications/LSHW.desktop

luego de presionar la tecla Enter se abrirá una ventana con el gedit en la cual deberás pegar el siguiente texto:

[Desktop Entry]
Name=LSHW
Comment=Identifica el hardware del sistema
Exec=gksu lshw-gtk
Icon=(el icono que les guste)
Terminal=false
Type=Application
Categories=Application;System;

Y ya con eso deberías tener tu lanzador en el menú Aplicaciones –> Herramientas del sistema. Vas a necesitar de permisos de superusuario para poder ejecutarlo.

Acá una imagen de como se ve el lshw-gtk:
lshw-gtk

Creando un chroot en Etch AMD64

Bien la cosa es que tratando de instalar el Google Earth en mi Debian me he encontrado que no existe un paquete nativo para AMD64 (¿qué raro no?), por lo que me las he tenido que ingeniar para instalarlo. Nunca tuve la necesidad de hacer un chroot en el sistema ya que lo único que lo ameritaba era el Flash, pero no pensaba hacerme un chroot expresamente para el Flash y malgastar el espacio en mi disco, pero a la final siempre he tenido que hacerme uno!

Para aquellos que dominan el inglés se pueden leer el Debian GNU/Linux AMD64 HOW-TO ya que los pasos para crear el chroot los he seguido de ahí. Claro que para aquellos que no tengan mucho tiempo o no sientan la necesidad de hacer un chroot siempre existe una manera rápida de hacer funcionar las cosas en un apuro.

Para aquellos que todavía no saben qué es un chroot les recomiendo que le echen un ojo a la Guía de referencia Debian, de todas formas acá les cito textualmente de dicha guía lo que ellos definen como un chroot:

…el programa chroot, nos permite ejecutar diferentes instancias de un entorno GNU/Linux en un único sistema, simultáneamente y sin reiniciar…

El chroot en mi caso, está pensado para poder ejecutar aplicaciones a 32bits en un entorno 64 bits. El chroot es necesario ya que no se puede mezclar aplicaciones 32 bits con librerías 64 bits, por lo que se necesitan las librerías a 32 bits para correr dichas aplicaciones.

Lo que se hace en el chroot es instalar un sistema base para la arquitectura x86. Ésto lo puedes lograr haciendo en una terminal:

# debootstrap --arch i386 sid /var/chroot/sid-ia32 http://ftp.debian.org/debian/

…para lo cual, posiblemente, vas a necesitar el paquete debootstrap. Ahora bien, ¿qué hace el debootstrap?; debootstrap es usado para crear un sistema base debian from scratch (es algo como, desde la nada) sin tener que recurrir a la disponibilidad de dpkg ó aptitude. Todo ésto lo logra descargando los .deb de un servidor espejo y desempaquetándolos a un directorio, el cual, eventualmente sera utilizado con el comando chroot. Por lo tanto la línea de comandos que introduciste anteriormente hace todo eso, sólo que lo vas a hacer para la rama unstable ó sid, en el directorio /var/chroot/sid-ia32 y desde el servidor espejo específicado.

El proceso anterior puede demorar según sea la velocidad de tu conexión. No pude saber cuánto demoro el proceso en mi caso porque cuando empecé a hacerlo eran altas horas de la madrugada y me quedé dormido :( . Lo que tienes que saber es que cuando éste proceso finalice, ya tendrás un sistema base x86 o 32 bits en un disco duro en el directorio /var/chroot/sid-ia32. Una vez finalizado deberías instalar algunas librerías adicionales, pero para hacerlo deberás moverte al chroot y hacerlo con aptitude:

# chroot /var/chroot/sid-ia32

…y luego instalas las librerías adicionales:

# aptitude install libx11-6

Para poder ejecutar aplicaciones dentro del chroot deberás tener también algunas partes del árbol de tu sistema 64 bits, lo cual puedes hacerlo mediante un montaje enlazado. El ejemplo a continuación, enlaza el directorio /tmp a el chroot para que éste pueda utilizar los “sockets” del X11, los cuales están en el /tmp de nuestro sistema 64 bits; y también enlaza el /home para que podamos accesarlo desde el chroot. También es aconsajable enlazar los directorios /dev, /proc y /sys. Para lograr ésto deberás editar tu fstab que se encuentra en /etc y añadir lo siguiente:

# sid32 chroot
/home /var/chroot/sid-ia32/home none bind 0 0
/tmp /var/chroot/sid-ia32/tmp none bind 0 0
/dev /var/chroot/sid-ia32/dev none bind 0 0
/proc /var/chroot/sid-ia32/proc none bind 0 0

…y luego montarlas:

# mount -a

Bien ya vamos llegando a final, unos cuántos pasos más y listo. Lo que necesitamos hacer a continuacióne es establecer los usuarios importantes en el chroot. La forma más rápida (sobretodo si tienes muchos usuarios) es copiar tus directorios /etc/passwd, /etc/shadow y /etc/group al chroot, a menos claro que quieras tomarte la molestia de añadirlos manualmente.

ADVERTENCIA! Cuando enlazas tu directorio /home al chroot, y borras éste último, todos tus datos personales se borrarán con éste, por consiguiente serán totalmente perdidos, por lo tanto debes recordar desmontar los enlaces antes de borrar el chroot.

Corriendo aplicaciones en el chroot

Después de hacer todos los pasos anteriores, ya deberías poder ejecutar aplicaciones desde el chroot. Para poder ejecutar aplicaciones desde el chroot debes hacer en una terminal (en modo root):

# chroot /var/chroot/sid-ia32

Luego deberás cambiarte al usuario con el que quieres ejecutar la aplicación:

# su - usario

Establecer $DISPLAY:

# export DISPLAY=:0

Y finalmente ejecutar la aplicación que quieras, como por ejemplo, el firefox con el plugin de flash! Por supuesto deberás instalar la aplicación antes de ejecutarla, recuerda que lo que has instalado es un sistema base y algunas librerías adicionales.

Compilar aMSN en Debian Etch AMD64

Bien, sin mucho preámbulo, lo primero que debemos hacer es descargar el tarball de la página de amsn. Luego deberás descomprimirlo en la carpeta de tu preferencia, en mi caso está en ~/Sources/amsn-0.96RC1/. Una vez que lo descomprimes abre una terminal y obtén derechos de administrador (modo root); cuando tengas privilegios de root ubícate en el directorio donde descomprimiste el tarball y escribe lo siguiente:

$ ./configure

$ make

$ make install

Debes asegurarte de cumplir todos los requisitos cuando haces el ./configure, ya que te pide varias “dependencias” por así decirlo, como por ejemplo, tls y tk. Una vez que hayas hecho el make install quedará automágicamente instalado el amsn en tu sistema. Deberás poder verlo en Aplicaciones –> Internet –> aMSN. Bien eso es todo en lo que respecta al proceso de compilado, ¿nunca antes fué tan fácil verdad?.

Un problema que me dió una vez que lo compilé y lo ejecuté fué que no me permitía iniciar sesión porque me decía que no tenía instalado el módulo TLS. Entonces abrí una terminal e hice lo siguiente:

$ aptitude install tcltls

…pero ésto no me solucionó el problema, entonces me puse a indagar por la web y me encontré con la siguiente solución: editar el archivo /usr/lib/tls1.50/pkgIndex.tcl y ubicar la línea que dice algo como: package ifneeded tls 1.5 para entonces modificarla por package ifneeded tls 1.50 y listo :D

Smartmontools: aprendiendo a chequear tu disco duro…

Los discos duros modernos (y no tan modernos) vienen equipados con una tecnología conocida como S.M.A.R.T., el cual le permite al disco monitorear de manera contínua su propio estado de “salud” y alertar al usuario si es detectada alguna anormalidad, para que luego pueda ser corregida.

ADVERTENCIA: antes de continuar, sería recomendable hacer una copia de respaldo de todos sus datos importantes a pesar de todo lo que diga el S.M.A.R.T. Éste sistema es muy confiable pero no obstante, ésta información en alguno de los casos podría ser imprecisa, de hecho, los discos duro se dañan de manera inesperada, inclusive si el S.M.A.R.T te ha dicho que algo anda mal, posiblemente no tengas tiempo para respaldar tus datos o moverlos a un lugar más seguro.

¿Cómo instalar SMARTMONTOOLS?

Lo primero que debemos hacer, preferiblemente antes de instalar el SMT es chequear si nuestro disco duro soporta éste tipo de tecnología, lo cual puedes hacer visitando la página del fabricante de tu disco. De todas formas, si lo compraste después del año 1992, lo más seguro es que posea ésta tecnología.

Lo segundo, y no menos importante, es activar o asegurarte que en el BIOS de la tarjeta madre este activada ésta función. Lo puedes conseguir ya que luce algo como:

 S.M.A.R.T for Hard Disk:	Enable

Algunos BIOS no tienen ésta opción y reportan el S.M.A.R.T como inactivo, pero no te preocupes que el smartcl, uno de los dos programas de utilidad que tiene el Smartmontools, puede activarlo. Una vez que estemos seguros de todo ésto podemos proceder a instalar el Smartmontools, el cual, en la distribución que uso, Debian, es tan fácil como escribir en una terminal:

 $ aptitude install smartmontools

Y de esa manera ya queda automágicamente instalado el paquete el sistema. Si quieres verificar si ya lo tienes instalado, entonces tendrías que escribir en una terminal lo siguiente:

 $ aptitude show smartmontools

Y verificar que el atributo Estado se corresponda con Instalado. Una vez hecho ésto procedemos a verificar si nuestro disco soporta S.M.A.R.T con la siguiente línea de comandos:

$ smartctl -i /dev/hda

En caso que tu disco sea SATA tendrías que escribir la siguiente línea:

$ smartctl -i -d ata /dev/sda

La información se vería algo así:

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar family
Device Model:     WDC WD1200BB-00RDA0
Serial Number:    WD-WMANM1700779
Firmware Version: 20.00K20
User Capacity:    120,034,123,776 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   7
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Sun Sep 24 22:27:09 2006 VET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Si tu disco es SATA pero tiene el soporte S.M.A.R.T desactivado, entonces deberás usar la siguiente línea de comandos para activarlo:

$ smartctl -s on -d ata /dev/sda

Aprendiendo a usar SMT

Estado de “salud” de nuestro disco duro

Para leer la información que SMT ha recopilado acerca de nuestro disco, debemos escribir la siguiente linea de comandos:

$ smartctl -H /dev/hda

Para discos SATA no es suficiente con sustituir hda con sda, sino que debemos añadir las opciones extras que usamos anteriormente para obtener la información del disco. La línea de comandos entonces quedaría así:

$ smartctl -d ata -H /dev/sda

Si lees PASSED al final de la información, no tienes que preocuparte. Pero si lees FAILED deberías empezar a hacer respaldo de tus datos inmediatamente, ya que ésto quiere decir que tu disco ha presentado fallas anteriormente o es muy probable que falle dentro de un lapso de aproximadamente 24 horas.

Bitácora de errores de SMT

Para chequear la bitácora de errores de SMT debemos escribir la siguiente línea de comandos:

$ smartctl -l error /dev/hda

De manera análoga al caso anterior, añadimos los comandos extras si nuestro disco es SATA. La línea de comandos quedaría así:

$ smartctl -d ata -l error /dev/sda

Si leemos al final de la información No errors logged todo anda bien. Si hay varios errores pero éstos no son muy recientes, deberías empezar a preocuparte e ir comprando los discos para el respaldo. Pero si en vez de ésto hay muchos errores y una buena cantidad son recientes entonces deberías empezar a hacer respaldo de tus datos, inclusive antes de terminar de leer ésta línea. Apurate! :D

A pesar que smartctl nos da una información muy valiosa acerca de nuestros discos, el tan solo revisar ésta no es suficiente, realmente se deben hacer algunas pruebas específicas para corroborar los errores que conseguimos en la información anterior, dichas pruebas las menciono a continuación.

Pruebas con SMT

Las pruebas que se van a realizar a continuación no interfieren con el funcionamiento normal del disco y por lo tanto pueden ser realizadas en cualquier momento. Aquí solo describiré como ejecutarlas y entender los errores. Si quieres saber más te recomiendo que visites ésta pagina o que leas las páginas del manual.

Lo primero sería saber cuáles pruebas soporta tu disco, lo cual logramos mediante la siguiente línea de comandos:

$ smartctl -c /dev/hda

De ésta manera puedes saber cuáles pruebas soporta tu disco y también cuanto tiempo aproximadamente puede durar cada una. Bien, ahora ejecutemos Immediate Offline Test ó Prueba Inmediata Desconetado (si está soportada, por supuesto), con la siguiente línea de comandos:

$ smartctl -t offline /dev/hda

Como ya sabemos, los resultados de ésta prueba no son inmediatos, de hecho el resultado de ésta linea de comandos te dirá que la prueba ha comenzado, el tiempo que aproximadamente va a demorar la prueba en terminar con una hora aproximada para dicha finalización, y al final te dice la línea de comandos para abortar la operación. En uno de mis discos, un IDE de 120Gb, demoró 1 hora, para que tengan una idea. Por los momentos sólo te queda esperar por los resultados. Ahora te preguntarás ¿Cómo puedo saber los resultados?, pues tan sencillo como ejecutar la línea de comandos para leer la bitácora del SMT y seguir las recomendaciones.

Ahora vamos a ejecutar Short self-test routine ó Extended self-test routine, Rutina corta de autoprueba y Rutina extendida de autoprueba, respectivamente (de nuevo, si están soportadas). Éstas pruebas son similares, sólo que la segunda, como su nombre lo indica, es más rigurosa que la primera. Una vez más ésto lo logramos con los siguientes comandos:

$ smartctl -t short /dev/hda
$ smartctl -t long /dev/hda

Luego vamos a chequear el Self Test Error Log ó Bitácora de errores de autopruebas:

$ smartctl -l selftest /dev/hda

Luego ejecutamos Conveyance Self Test ó Autoprueba de Transporte:

$ smartctl -t conveyance /dev/hda

Y por último chequeamos Self Test Error Log de nuevo.

Algo que tengo que resaltar es que el SMT tiene dos bitácoras, una de las cuales es la Bitácora de errores y la otra es la Bitácora de Errores de Autopruebas.

¿Cómo monitorear el disco duro automáticamente?

Para lograr ésto tendrás que configurar el demonio smartd para que sea cargado cuando se inicia el sistema. A continuación un pequeño HOWTO.

ADVERTENCIA: el siguiente HOWTO es para monitorear un disco IDE, programar todas las pruebas cada viernes de la semana, de 11:00 a.m a 2:00 p.m, y luego ejecutar un script de Bash si algún error es detectado. Éste script escribirá un reporte bien detallado y luego apagará el equipo para su propia protección.

El archivo de configuración de smartd se encuentra en /etc/smartd.conf, si éste no existe,
el cual sería un caso poco común, deberás crearlo en tu editor de elección.

...
#DEVICESCAN
...
/dev/hda \
-H \
-l error -l selftest \
-s (O/../../5/11|L/../../5/13|C/../../5/15) \
-m ThisIsNotUsed -M exec /usr/local/bin/smartd.sh

El script en Bash también puedes hacerlo en un editor de tu elección, y tendrá la siguiente forma:

#!/bin/bash
LOGFILE="/var/log/smartd.log"
echo -e "$(date)\n$SMARTD_MESSAGE\n" >> "$LOGFILE"
shutdown -h now

Luego de crear el script deberás hacerlo ejecutable cambiando sus atributos con la siguiente línea de comandos:

$ chmod +x /usr/local/bin/smartd.sh

Para probar todo, puedes agregar al final de tu /etc/smartd.conf la línea

-M test

y luego ejecutar el demonio. Nota que ésto apagará tu equipo, hayan errores o no. Luego si algo sale mal deberás chequear la bitácora del sistema en /var/log/messages con:

$ tail /var/log/messages

Y así corregir el problema. Ahora tendrás que quitar la línea

-M test

y guardar los cambios. Por último debes hacer que smartd sea cargado al momento del arranque, lo cual lo logras con la siguiente línea:

$ rc-update add smartd default

Algunos enlaces de interés:

Nota: Ésta artículo está basado en un HOWTO del Wiki de Gentoo

Audigy SE en Etch AMD64

Hace días me hice con una tarjeta de sonido Audigy SE de la marca Creative y la verdad tuve que dar bastante golpes para dar con la configuración correcta. ¿Cómo lo logré? Muy fácil: Googleando :) .

Resulta que el sistema (Debian, of course) reconoce bien el dispositivo y carga de manera perfecta los módulos necesarios; de hecho el alsa-mixer me mostraba todos los canales de la tarjeta pero el único que parecía funcionar era el Analog Front y los otros parecían estar muertos. Casi daño el mouse de tando hacer clicks y darle hacia arriba y hacia abajo :) . No podía creer que no funcionara!.

Googleando llegué a la página de la gente de Alsa y me encontré una manera de configurar los drivers. Ahi confirmé que el sistema me estaba cargando el módulo correcto, el snd-ca0106. Entonces, después de ver la pequeña lista de instrucciones, no voy a decir que me espanté y maldije a Creative, no, no lo hice, en ése momento miré al cielo y pregunté: ¡¿Acaso no existe una manera más fácil de lograr que suenen la benditas cornetas?! y la respuesta a mi pregunta vino del wiki de Gentoo, ¿qué cosas no? imagínense todo lo que googleé; bueno específicamente de la sección que dice VIA Envy24HT (ice1724) chip. Ahora se preguntarán.. ¿VIA? éste tipo está loco…. pues sí, VIA. ¿Y qué fué lo que hice? Abrí una terminal e hice lo siguiente:

$ gedit .asoundrc

Luego lo que hice fué copiar el contenido del segundo .asoundrc y pegarlo al mío, luego guardar los cambios y voilá, sistema de sonido 5.1 andando ;) . Se preguntarán ¿Cómo hizo éste loco para saber que ese .asoundrc funciona con la Audigy SE?, bueno, con el proceso estándar, prueba error. Copiando y pegando cada uno de los ficheros.

Ahora que el sistema suena perfectamente bien me ha surgido una nueva interrogante, debido a que para poder graduar el volumen del sistema tengo que graduar los tres controles, y la pregunta es: ¿Habrá alguna forma de graduar el volumen para los tres controles al mismo tiempo? Que lo disfruten…

Debian GNU/Linux 4.0

Según puede verse en el sitio oficial del Proyecto Debian, en una noticia aparecida el día de hoy, Upcoming Release of Debian GNU/Linux 4.0, se confirma que el próximo mes de diciembre del presente año será la fecha de publicación de la siguiente versión 4.0 de Debian GNU/Linux, cuyo código nombre es “etch”.

Entre las novedades que podremos observar en esta nueva versión se encuentran las siguientes:

  • Será la primera versión que ofrezca soporte oficial a la arquitectura AMD64. De manera simultánea, esta versión se publicará para 11 arquitecturas.
  • La versión 4.0 ofrecerá la versión 2.6.17 del núcleo linux de manera predeterminada. Además, esta misma versión se utilizará en todas las arquitecturas y a su vez en el instalador.
  • Debian GNU/Linux 4.0 presentará la colección de compiladores de GNU versión 4.1.
  • Debian GNU/Linux deja de utilizar XFree86 como implementación de X11 (sistema de ventanas X) para darle paso a X.Org.
  • Al menejador de paquetes APT seguramente se le añadan algunas mejoras en cuanto a seguridad, admitiendo criptografía modo paranoico y firmas digitales.

Reuniones para eliminar fallos

En la misma noticia podemos enterarnos que el Proyecto Debian está planeando algunas reuniones previas al nuevo lanzamiento en búsqueda de fallos y establecer las debidas correcciones, de esta manera, se ofrecerá al público una versión que presente la mínima cantidad de errores críticos de programación.

Estas reuniones se llevarán a cabo en varias ciudades alrededor del mundo. Por lo tanto, podrá participar el mayor número de personas en la búsqueda y corrección de estos errores de programación.

Si usted está interesado en participar pero no puede reunirse personalmente con los desarrolladores en las distintas ciudades que se describen en BSPMarathon, puede conectarse al canal #debian-bugs en el servidor irc.debian.org y de esta manera participar.

La situación en Venezuela

En mi humilde opinión, considero oportuno que la comunidad Debian Venezuela debe tomar las riendas en este asunto, organizar reuniones para eliminar fallos en nuestra distribución favorita, aprovechando la cercanía del Día Debian para organizar actividades de este tipo. ¿Qué opinan en este sentido?.