Disco duro Firewire – Linux

Hace poco me he comprado el my book pro edition II de western digital, este que tiene 2 discos de 1000Gb en RAID1 (también se puede configurar con el software que viene en el disco en RAID0 para tener una sola unidad de 2000Gb, casi nada ahora mismo jejeje).


El trasto este (que por cierto trabaja de maravilla), permite usar usb 2.0, firewire 400 y firewire 800.

Así que lo puse en un antiguo servidor que se dedica a hacer las copias de seguridad, pero al ser antiguo los puertos usb son lentos (USB 1.0), así que tuve que optar para firewire.

El equipo se trata de un ubuntu server con el kernel 2.6.22, desde el kernel 2.6.24 el firewire debería estar activado por defecto, pero todo depende de la configuración del kernel precompilado del sistema operativo.
La carga de módulos que explico en este post es igual para todos los linuxes (debian/ubuntu, redhat/fedora, suse, gentoo, etc.)

Al momento de conectar el disco al ordenador vi que con fdisk -l no lo detectaba, así que empezé a investigar… se necesitaban cargar los módulos para poder conectar un disco duro firewire.

El firewire es como un scsi, puede ser un disco, un cd-rom, una tarjeta de red, cualquier cosa. Por esto tenemos que cargar los módulos scsi_mod y ide_scsi, sd_mod para decirle que es un disco, sg (no me acuerdo), y los del firewire ieee1394, ohci1394 y sdb2; pero sorpresa, el sdb2 no estaba por ningún sitio, así que empezé a …

Apache + SSL

Aumentar la seguridad en nuestros servidores es una tarea a veces ardua, pero necesaria. En este pequeño manual encontraréis como configurar un servidor apache con certificados SSL.

Primero de todo será necesario instalar algunos paquetes, gracias a apt, no será necesario recompilar el programa:

# apt-get install apache2 libapache-mod-ssl

Una vez instalado el módulo lo podremos ver en /etc/apache2/mods-available, ahora necesitaremos habilitar el módulo, así que usaremos a2enmod, para deshabilitarlo usaríamos a2dismod. Una vez activado el módulo estará en /etc/apache2/mods-enabled.

# a2enmod ssl

Ahora tendremos que decirle al apache que escuche al puerto del https por defecto, el 443, y le diremos que use el módulo ssl:

# vi /etc/apache2/ports.conf
Listen 80

Listen 443

Tendremos que añadir estas líneas para que quede el fichero de esta forma, añado que si deseamos que nuestro apache escuche a mas puertos, tendremos que definirlo aquí.

A continuación tendremos que decirle al apache que cada vez que alguien entre por el puerto 443 use el certificado.
Copiaremos el fichero que está por defecto en sites-enabled a otro que se llamará por ejemplo ssl (el nombre da igual, ya que apache carga todos los ficheros que se encuentren en el directorio).

Haremos las siguientes modificaciones:

# cd /etc/apache2/sites-enabled/
# cp 000-Default ssl

# vi ssl
NameVirtualHost *:443


ServerAdmin webmaster@localhost
SSLEngine On

En esta primera parte tendremos que dejar el fichero así, le indicamos a apache que esta configuración se aplica a todos las conexiones que vengan del puerto 443 (podrías hacer distintas configuraciones y redirecciones …

Lenovo 3000 v100

Vamos siguiendo investigando como configurar las cosas con debian en el lenovo 3000 v100, debido a un pequeño accidente el grub desapareció del MBR al intentar recuperarlo no era posible, parecía que el fichero /boot/grub/stage1 estaba mal o que grub funciona distinto ante discos sata, al final tiré por lo recto y formatée, como aún no tenia nada configurado pues no me hizo nada…

Así que ahora me dispongo a hacer la configuración mas rapida de mi sistema por el momento.

Solo arrancar instalo algunos paquetes:

# apt-get install firmware-iwlwifi mesa-utils libgl1-mesa-dri xserver-xorg-video-intel

firmware-iwlwifi: wireless, no hace falta instalar nada mas
mesa-utils: para comprobar la configuración de la gráfica
libgl1-mesa-dri: para que el direct rendering diga si
xserver-xorg-video-intel: driver de la gráfica

luego hago algunas modificaciones en el xorg.conf, weno, directamente copio el ultimo xorg.conf, ahí tengo la configuración para xgl, el touchpad y algunos ajustes de la pantalla:

[xorg.conf]

Section “InputDevice”
Identifier “Generic Keyboard”
Driver “kbd”
Option “XkbRules” “xorg”
Option “XkbModel” “pc105”
Option “XkbLayout” “es”
EndSection

Section “InputDevice”
Identifier “Configured Mouse”
Driver “mouse”
Option “CorePointer”
Option “Device” “/dev/input/mice”
Option “Protocol” “ImPS/2”
Option “ZAxisMapping” “4 5”
Option “Emulate3Buttons” “true”
EndSection

Section “InputDevice”
Identifier “Synaptics Touchpad”
Driver “synaptics”
Option “SendCoreEvents” “true”
Option “Device” “/dev/psaux”
Option “Protocol” “auto-dev”
Option “HorizScrollDelta” “0”
EndSection

Section “ServerLayout”
Identifier “Default Layout”
screen 0 “Default Screen” 0 0
Inputdevice “Generic Keyboard”
Inputdevice “Configured Mouse”
Inputdevice “Synaptics Touchpad”
EndSection

Section “Device”
Identifier “Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller”
Driver “intel”
BusID “PCI:0:2:0”
EndSection

Section “Monitor”

Debian lenny – Lenovo 3000 v100

En fin, empiezo diciendo que estoy encantadíssima!!! :D mi espera para sustituir el portátil por el lenovo thinkpad x62 va a ser mas livianita…

Depende de las notícias que me traigan el lunes (la fecha aproximada de salida al mercado de los x62), voy a pillarme un cargador para los lenovo y los thinkpad de 12v, al tener bastante claro no cambiar de gama de portátiles en unos años (esperemos que lenovo no manche el magnífico potencial que les ha dado IBM a los thinkpad).

Así que vamos a lo que vamos, ayer al hacer la actualización de ubuntu gnome dejó de funcionar en condiciones de repente! no se abrían los programas, no respondía el network-manager, al salir sólo cerraba el nautilus y las barras de herramientas, y un par de cosas mas que no permitían trabajar bien, así que como el estilo que me caracteriza, este mediodía (y aprovechando que tenía en mano una conexión a internet decente) he formateado la partición de gnu/linux y le he puesto una debian lenny.

He usado un netinstall que bajé a inicios del mes pasado, y en una media hora aproximada, con los repositorios de debian en alemania, he tenido el sistema instalado (plis plas!).

Al iniciar he visto que los controles de audio y brillo de pantalla funcionaban correctamente.

La gráfica la había detectado también perfectamente, ha detectado que estaba usando una widescreen (buah las vueltas que tuve que dar hace un par de años para configurar esta feature en una …

comandos bash

aquí tenéis un comando bash que sirve para eliminar las líneas contenidas en un fichero las cuales contengan una cadena de texto determinada:

$ sed -i ‘/cadenadetexto/d’ fichero…

smartmoontools

Vamos con otra herramienta que nos servirá para tener nuestro servidor controladito de errores.

Smartmoontools es un conjunto de herramientas que nos empezarán a molestar cuando detecten que los discos estén chungos. Normalmente los discos tienen un tiempo de vida limitado, al ser un aparato mecánico las piezas dejan de girar correctamente, se llenan de polvo y dejan de funcionar, normalmente los discos antes de morirse del todo avisan, pero como manda murphy los discos también pueden tener muertes súbitas sin ningún tipo de aviso. Con esta herramienta tendremos estos errores controlados y a la que aparezca uno ya podemos empezar a buscar en la red o en una tienda un nuevo disco duro para nuestro ordenador.

# apt-get install smartmontools

# vi /etc/default/smartmontools
mantenemos comentadas todas las lineas excepto una, que la dejamos así

start_smartd=yes

luego deberemos ver cuales son nuestros discos físicos, así que usaremos fdisk.

# fdisk -l
Disk /dev/sda: 251.0 GB, 251000193024 bytes
255 heads, 63 sectors/track, 30515 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x10003f1f

Device Boot Start End Blocks Id System
/dev/sda1 1 24107 193639446 83 Linux

Disk /dev/sdb: 251.0 GB, 251000193024 bytes
255 heads, 63 sectors/track, 30515 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb2101f85

Device Boot Start End Blocks Id System
/dev/sdb1 1 30515 245111706 83 Linux

Disk /dev/sdc: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk

RAID com mdadm

Visto el post del otro día Crear RAID en Linux he decido hurgar mas en el tema. El hecho de usar RAIDs es un seguro para no perder tus datos en la muerte súbita de un disco duro.

Esta vez he creado el RAID desde la instalación de GNU/Linux Debian.

Partimos de una maquina con dos discos duros IDE de 250 Gb vacíos.

Arrancamos con el CD de instalación y seguimos los pasos de toda la vida. Al momento de crear los discos, seleccionamos configuración manual y creamos las particiones deseadas, pero con la única diferencia que en lugar de definir ext3 como sistema de ficheros usamos “Physical volume for RAID”.

Una vez creadas las particiones en ambos discos volvemos al menú principal de la creación de particiones (ahí dónde tenemos las particiones de cada disco), en total tendremos 4 particiones para cada disco (hda1, hda2, hda3, hda4, hdb1, hdb2, hdb3 y hdb4), las particiones hda2 y hdb2 las dejaremos como swap, y no las usaremos en RAID, al haber siempre datos aleatorios no nos interesará guardar su contenido en caso de desastre.

Ahora faltará decirle a mdadm, el programa que administra los RAID en linux cuál partición tiene que estar en RAID con la otra; para esto en el menú principal, arriba del todo tenemos “Configure Software RAID”. Ahí nos preguntará si queremos crear un RAID y con qué discos:

* Create MD device
* Multidisk device type = RAID 1
* Number of active devices for the RAID1

java + iceweasel

Pequeño manual de como instalar java en iceweasel.

Descargamos el fichero de la página web de sun

$ chmod +x jre-6u3-linux-i586.bin

y ahora vinculamos la librería en el iceweasel

$ cd /usr/lib/iceweasel/plugins/

# ln -s /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/plugin/i386/ns7/libjavaplugin_oji.so

Reiniciamos el iceweasel y ya tenemos el java funcionando en nuestro navegador :)

Para los otros plugins es mas de lo mismo, instalas el programa, buscas su librería y la vinculas en el directorio de plugins del iceweasel.…

thinkfinger lenovo 3000 v100

Tras mucho buscar por la red he encontrado la web de un gavacho que tenia en su portátil el mismo lector de huella dactilar, así que lo he seguido y ahora tengo el lector de huellas dactilares funcionando :D

si consideráis que me explico fatal aquí tenéis la versión original en francés, pero weno, intentaré hacerlo lo mejor que pueda en castellano:

http://www.geekplanet.fr/index.php?option=com_content&task=view&id=25&Itemid=35

Anteriormente he hecho algunas pruebas con otro driver pero no funcionaba, no reconocía el dispositivo, así que la siguiente uri no es válida:

http://thinkfinger.sourceforge.net/

Para instalar este dispositivo necesitaremos algunos paquetes.

libusb-dev:
# apt-get install libusb-dev

Imagemagick:
ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz

Lo descargamos y lo instalamos

# tar xvzf ImageMagick.tar.gz
# cd ImageMagick-6.3.7
# ./configure –prefix=/usr
# make
# make install

Fprint:
La web del proyecto es la siguiente
http://www.reactivated.net/fprint

y aquí se encuentran los ficheros a descargar
http://sourceforge.net/project/showfiles.php?group_id=208521

Los bajamos todos, los descomprimimos y los instalamos, en este orden

# cd libfprint-0.0.5
# ./configure –prefix=/usr
# make
# make install

nos fijamos si en /usr/lib/pkgconfig/ se ha copiado libfprint.pc, si no es así, lo copiamos
# cp libfprint.pc /usr/lib/pkgconfig/

seguimos con pam_fprint
# cd pam_fprint-0.2
# ./configure –prefix=/usr
# make
# make install

y luego con fprint_demo, el programa para gestionar las huellas
# cd fprint_demo-0.4
# ./configure –prefix=/usr
# make
# make install

si en algun momento da algun problema de librerías probar con:

# ldconfig

o

# ln -s /usr/local/lib/libWand.so.10 /usr/lib/libWand.so.10
# ln -s /usr/local/lib/libMagick.so.10 /usr/lib/libMagick.so.10

luego ejecutamos como root

# fprint_demo

si todo ha ido bien, …

grandioso SSH!

Ya se nos termina el año y pronto uno nuevo empezará, como no, este año he vuelto a Berlín al 24C3.

Estos días los estoy pasando con una gente que me da 10mil vueltas en temas de informática, así que no es raro que aparezca un artículo en este blog.

Hoy vamos a hablar de SSH.

Problema: estamos en el albergue y no tenemos los puertos de ssh, ni jabber, ni irc, ni imap, ni pop, etc. la cosa está chunga, así que vamos a ver como lo hemos solucionado para conectarnos remotamente con nuestras maquinas saltando la protección de puertos y dirigiéndolos hacia otro sitio…

ssh -D 1080 laura@213.xxx.xxx.xxx -p 443 -N -n

-D : esto hace que el puerto que indicamos justo después de la D, pase por el puerto ssh. Así no tendremos que tener abierto este puerto para poder acceder a él, porqué lo hacemos desde el servidor el cual nos conectamos por ssh el cual si tiene los puertos abiertos/filtrados. 1080 es jabber.
-p 443: debido a que el puerto por defecto del ssh (22) está capado he creado una configuración para el usuario (ahora lo cuento mas abajo), así que he dicho que ssh escuche al puerto 443.
Para hacer esto debemos tener el router con el puerto 443 abierto (después cuento como lo he hecho para abrirlo sin tener acceso desde el exterior!).

-N: para que no muestre shell
-n: para que no muestre output, todo lo que sale lo manda a /dev/null…