Ejecutar plugins de nagios en equipos remotos

Ejecutar plugins de nagios en equipos remotos

[toc]

Introducción

En ocasiones queremos monitorizar diferentes parámetros de un servidor remoto de el que tenemos instalado Nagios. Para recuperar esta información necesitamos de una manera en la que el Nagios pueda solicitarla al servidor remoto y este se la diga. Para ello disponemos de Nrpe, que es un servicio que instalado en la máquina remota, ejecuta plugins de Nagios y devuelve el resultado a quien se lo solicite. A continuación vamos a ver que tenemos que hacer para usarlo.

Instalar Nrpe

Lo primero que tenemos que hacer es instalamos el servidor nrpe en la máquina remota. Para ello tendremos que instalar el paquete de nombre nagios-nrpe-server con nuestro gestor de paquetes favoritos o ejecutando la siguiente orden:

>> sudo apt-get install nagios-nrpe-server

Si en esa máquina disponemos de un cortafuegos, tendremos que abrir el puerto en el que escucha nrpe (por defecto 5666) y que se encuentra en el fichero /etc/nagios/nrpe.cfg indicado en el parámetro server_port:

server_port=5666

Otra de las cosas que tenemos que tener en cuenta es indicarle las direcciones ip que podrán solicitarle información. Para ello tendremos que editar el fichero /etc/nagios/nrpe.cfg y cambiar la línea que pone allowed_hosts para poner la ip de nuestro servidor con nagios. Por ejemplo así:

allowed_hosts=152.145.125.145

Ahora podremos instalar cualquier plugin de Nagios y declarar el comando que le ejecute. Para ello tendremos que añadir al final del fichero /etc/nagios/nrpe.cfg una línea por cada plugin con el siguiente formato:

command[NOMBRE_COMANDO]=COMANDO

Por ejemplo:

command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10

Configurar Nagios

En la máquina del servidor de Nagios tenemos que instalar un plugin que será el encargado de pedirle la información a un servidor remoto con nrep. Para ello instalaremos el paquete de nombre nagios-nrpe-plugin a través de nuestro gestor de paquetes favoritos o con el siguiente comando:

>> sudo apt-get install nagios-nrpe-plugin

Los parámetros que soporta el plugin son los siguientes:

>> /usr/lib/nagios/plugins/check_nrpe --help
 
Usage: check_nrpe -H <host> [-n] [-u] [-p <port>] [-t <timeout>] [-c <command>] [-a <arglist...>]
 
Options:
 -n         = Do no use SSL
 -u         = Make socket timeouts return an UNKNOWN state instead of CRITICAL
 <host>     = The address of the host running the NRPE daemon
 [port]     = The port on which the daemon is running (default=5666)
 [timeout]  = Number of seconds before connection times out (default=10)
 [command]  = The name of the command that the remote daemon should run
 [arglist]  = Optional arguments that should be passed to the command.  Multiple
              arguments should be separated by a space.  If provided, this must be
              the last option supplied on the command line.
 -h,--help    Print this short help.
 -l,--license Print licensing information.
 -n,--no-ssl  Do not initial an ssl handshake with the server, talk in plaintext.

Para probar si funciona, por ejemplo para ejecutar remotamente un comando de nombre check_users en un servidor remoto de ip 145.124.124.125 con nrpe instalado, tendremos que ejecutar el siguiente comando:

>> /usr/lib/nagios/plugins/check_nrpe -H 145.124.124.125 -u -c check_users

Los comandos de nagios que el plugin nrpe define están en este fichero /etc/nagios-plugins/config/check_nrpe.cfg y un ejemplo de uso sería la definición del siguiente servicio de nagios:

define service {
        hostgroup_name                remote_linux
        service_description           Users - Usuarios
        check_command                 check_nrpe_1arg!check_users
        use                           generic-service
}

Problemas

Problema

Puede darse el caso de que al intentar ejecutar un plugin en un equipo remoto, nos de el siguiente error:

>> /usr/lib/nagios/plugins/check_nrpe -H 145.124.124.125 -u -c check_users
CHECK_NRPE: Error - Could not complete SSL handshake

Solución

El problema puede ser debido a que no hemos indicado la ip del servidor de nagios en el fichero de configuración del servidor de nrpe en el equipo remoto. Por lo que tendremos que ponerla como se indica en el apartado de instalación del nrpe .

Comprobar una base de datos oracle desde nagios

Comprobar una base de datos oracle desde nagios

[toc]

Introducción

Nagios es un sistema de monitorización de equipos y servicios. Si usamos este software de monitorización y tenemos un servidor de base de datos Oracle, podemos monitorizarla a través de un plugin que se encarga de esto.

Para hacer esto necesitaremos tener instalado un Nagios y el comando sqlplus. Si no tenémos este último tendremos que bajárnoslo de la web de Oracle http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html y e instalarlo /programas/instantclient_11_2.

Instalación

Lo primero será descargamos el plugin que se comunicará con Oracle de esta web: http://labs.consol.de/nagios/check_oracle_health, lo descomprimimos, lo compilamos y lo ponemos en la carpeta /usr/lib/nagios/plugins/check_oracle_health:

>> wget wget http://labs.consol.de/wp-content/uploads/2011/09/check_oracle_health-1.7.3.tar.gz
>> tar -zxvf check_oracle_health-1.7.3.tar.gz
>> cd check_oracle_health-1.7.3
>> ./configure
>> make
>> cd plugins-scripts/check_oracle_health /usr/lib/nagios/plugins/

El plugin nos permite comprobar una multitud de parámetros y cual queremos comprobar se lo indicamos en el parámetro --mode (Una lista de todas cosas que podemos comprobar la podéis encontrar en la web del plugin: http://labs.consol.de/nagios/check_oracle_health/). En nuestro caso, solo queremos comprobar que el servidor de base de datos de Oracle esta vivo. Para ello nos bastará con el modo tnsping.

En la carpeta /etc/nagios-plugins/config creamos un fichero de nombre oracle.cfg en el que definiremos los comandos de Nagios para comprobar el Oracle. El fichero tendrá el siguiente contenido (cuidado con la ruta de instalación de sqlplus que indicamos en la variable ORACLE_HOME, porque si lo tenéis instalado en otra ruta tendréis que cambiarlo):

# Comprobamos el estado del oracle
define command{
    command_name check_oracle_instant
    command_line $USER1$/check_oracle_health --user $ARG3$ --password $ARG4$ --method sqlplus --connect '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$HOSTADDRESS$)(PORT=$ARG1$))(CONNECT_DATA=(SID=$ARG2$)))' --mode tnsping --environment ORACLE_HOME=/programas/instantclient_11_2
}

Uso

Una vez que ya tenemos instalado el plugin que nos permite comprobar una base de datos Oracle, ya podemos definir un servicio de Nagios para comprobarlo:

define service{
        host_name               YOUR_SERVER
        service_description     ORACLE: check_login_health
        check_command           check_oracle_instant!1521!SID!USERNAME!PASSWORD
        max_check_attempts	5
	check_interval		5
	retry_interval		3
	check_period		24x7
	notification_interval	30
	notification_period	24x7
	notification_options	w,c,r
	contact_groups		USER
}

Por último, reiniciamos nagios para que coja la nueva configuración:

>> sudo /etc/init.d/nagios3 restart

Y ya podemos ver el estado del servicio en nuestro Nagios.

Instalar el servidor Apache Httpd de 64 bits en Windows

Apache httpd de 64 bits

Introducción

Apache no provee una versión para windows de 64 bits, pero como el código es libre cualquiera puede bajárselo y compilarlo para 64 bits. Pero esto implica un esfuerzo que a muchos nos echa para atrás. Por suerte hay comunidades por internet que hacen este paso y nos ofrecen la descarga de los binarios. Una de ellas es la web The Apache Haus, otra es Apache Lounge.

Instalación

Lo primero que tenemos que hacer es bajarnos el apache de 64 bits de su página de descarga http://www.apachehaus.com/cgi-bin/download.plx. Una vez lo hemos descargado solo tenemos que descomprimirlo en la carpeta donde lo queramos tener. Una vez hecho esto, solo nos queda instalarlo como servicio con el siguiente comando:

>> cd CARPETA_APACHE\bin
>> httpd.exe -k install

Ya lo podemos empezar a usar.

Desinstalación

Para desinstalarlo solo tenemos que deshacer los pasos que hemos seguido en la parte de la instalación. Primero desinstalamos el servicio:

>> cd CARPETA_APACHE\bin
>> httpd.exe -k uninstall

Y por último borramos la carpeta que descomprimimos.

Problemas

Librería MSVCR100.dll

Puede darse el caso de que cuando arranquemos el apache, nos aparezca una ventana con el mensaje de error "Error al iniciar la aplicación porque no se encontró MSVCR100.dll. La reinstalación de la aplicación puede solucionar el problema".

Solución

Para solucionar esto tendremos que instalar el componente "Microsoft Visual C++ 2010 Redistributable Package" de Windows. Lo podemos descargar de los siguientes enlaces:

temas: 

Borrado de archivos de forma segura

Borrado de archivos de forma segura

Introducción

En ocasiones en el ordenador tenemos archivos con información delicada (facturas, dni escaneados, contratos, ...) y no pensamos que aunque los borremos, cualquiera que tenga acceso al mismo ordenador puede recuperarlos. Esto es posible porque cuando se borra un fichero, no se escribe encima del contenido del fichero, sino que lo que se hace es quitarlo de la lista de archivos, dejando el contenido de él dentro del espacio libre del disco duro. De esta manera si un programa empieza a leer los datos del espacio libre puede encontrar la información que nosotros creemos que habíamos eliminado.

Por suerte hoy en día existen programas que intentan impedir esto. Lo que suelen hacer es escribir encima del contenido del fichero a borrar datos aleatorios varias veces para asegurarse que ya nadie lo podrá recuperar.

Linux

En linux disponemos de varias herramientas para esto. Yo os voy a enseñar a usar una de estas herramientas de borrado seguro, que aunque solo esta en consola es la que más me ha convencido. Se llama secure-delete.

Lo primero que tendremos que hacer es instalar el paquete de nombre secure-delete desde nuestro gestor de paquetes favoritos o ejecutando el siguiente comando:

>> sudo apt-get install secure-delete

Una vez lo tenemos instalado, para borrar de forma segura un fichero de nombre ejemplo.txt, tendremos que ejecutar el siguiente comando:

>> srm ejemplo.txt

Si por el contrario en vez de borrar un fichero, queremos borrar de forma segura todo lo que tenemos en una carpeta de nombre micarpeta, tendremos que ejecutar el siguiente comando:

 >> srm -r micarpeta

 

temas: 

Pidgin

Pidgin (Programa de mensajería multiplataforma)

Introducción

Pidgin es un cliente de mensajería multiprotocolo (puedes configurar en el múltiples cuentas de mensajería instantánea como MSN, Google Talk, AIM, XMPP, ...) y multiplataforma (esta disponible para linux y windows) el cual recomiendo usar. En este artículo os voy a comentar como instalarlo y configurarlo según mis recomendaciones. Espero que os sirva de guía.

Instalación

Este programa esta en los repositorios de la mayoría de las distribuciones de linux. Por lo tanto solo tendremos que decir que nos lo instale con el siguiente comando o con vuestro gestor de paquetes preferidos.

>> sudo apt-get install pidgin

Plugins

El programa permite ampliar su funcionalidad a través de plugins. Los que yo recomiendo usar son los siguientes:

  • Microblog Purple: te permite configurar tu cuenta de twitter para recibir y enviar las notificaciones a través de este programa.
  • Histórico: muestra en la ventana de conversación sombreada la anterior que tuvimos con ese contacto.

Configuración

Ahora os podré como yo lo suelo configurar a mi gusto.

  • En el menú Herramientas le damos a Preferencias.
    • En la sección Interfaz:
      • En el apartado Icono del área de notificación del sistema en el campo Mostrar icono del área de notificación del sistema ponemos Siempre para que siempre nos muestre el icono del programa al lado del reloj.
    • En la sección Registro :
      • Marcamos Registrar todos los mensajes instantáneos, Registrar todas las charlas y Registrar todos los cambios de estado en el registro del sistema para guardar nuestras conversaciones y poder consultarlas después.
    • En la sección de Sonidos, en el apartado de Eventos de sonido desmarco todo menos las siguientes opciones:
      • Se recibe un mensaje que comienza una conversación
      • Alguien dice su nombre en el chat
      • Recibida atención
    • En la sección Estado / Inactivo, en el apartado Está inactivo :
      • En el campo Mostrar el tiempo de inactividad seleccionamos Nunca para que no muestre información de cuanto tiempo hace que hemos estado en el ordenador.
    • Desactivamos la opción de Cambiar el estado cuando esté inactivo para que no nos cambie el estado.
  • Activamos el plugin Historico: vamos al menú Herramientas, luego en Complementos, lo buscamos en la lista y lo activamos.

Copia de seguridad

Para hacer una copia de seguridad tendremos que guardar los siguientes datos:

  • Guardar el historial de las conversaciones: se encuentra en la carpeta /home/TU_USUARIO/.purple/logs/

Sancho

Sancho (cliente gráfico para mldonkey)

Introducción

Sancho es un cliente gráfico para el servicio de descargas multi-protocolo mldonkey (que es mi servicio de descargas favorito). Pero para usar este servicio necesitamos de un cliente con interfaz gráfica para que sea más fácil configurarlo y gestionar los archivos que te bajas. Y ahí es donde entra en juego Sancho.

Instalación

Antes de comenzar con la instalación os recuerdo que no hace falta que el cliente (Sancho) este instalado en la misma máquina que el servicio (Mldonkey), aunque si no lo están tendremos que configurar el servidor para que acepte peticiones de la máquina donde esté el cliente (Pero eso ya lo veremos en la guía de instalar mldonkey).

Para instalarlo tendremos que ir a la página de sancho (http://sancho-gui.sourceforge.net/). Para linux hay varios instaladores, yo suelo usar el instalador Java GTK x86_64 binary (la cual requiere que tengáis instalado la máquina virtual de java).

Una vez lo tenemos descargado, tendremos que ejecutarlo y entonces nos pedirá un path donde descomprimirlo. Tenéis que tener cuidado de los permisos que tenga la carpeta que pongáis, porque si esta es del sistema, tendréis que ejecutar el comando con permisos de super-usuario (sudo):

>> sh sancho-0.9.4-59-linux-gtk-x86_64-java.sh

Si hemos ejecutado el instalador con permiso de super-usuario (sudo), nos habrá creado la carpeta de preferencias de nuestro usuario sin permisos para él. Para darle permisos y que no de error al abrirlo tendremos que ejecutar el siguiente comando (No os olvidéis de sustituir el nombre de vuestro usuario):

>> sudo chown TU_USUARIO:TU_USUARIO -R ~/.sancho

Ya lo tenemos instalado, pero por defecto no aparece en el menú de programas. Para introducirlo en el menú de ubuntu tendremos que crear un archivo en esta localización /usr/share/applications/sancho.desktop y ponerle el siguiente contenido (no os olvidéis de cambiar las rutas del ejecutable y el icono por donde lo hayáis instalado en vuestra máquina):

[Desktop Entry]
Type=Application
Name=Sancho
Comment=Cliente grafico del servicio de descarga multiprotocolo mldonkey
Icon=/PROGRAMAS/sancho/distrib/sancho-256.png
Exec=/PROGRAMAS/sancho/sancho
Terminal=false
Categories=Network;

Ya tenemos todo listo para ejecutarlo. No os olvidéis de poner la ip de la máquina donde esté instalado mldonkey en la ventana de datos de conexión.

Configurar el chat de facebook en el cliente de mensajería pidgin

Configurar el chat de facebook en pidgin

Hoy en día proliferan los servicios de chats en las redes sociales. Pero no me digáis que es dificil enterarte de cuando te estan hablando, si estas haciendo otras cosas en el ordenador. En el caso del chat de Facebook, gracias a que usa un estandar, podemos configurar el cliente de mensajería Pidgin para usarlo a través de él.

Aunque en este artículo nos centramos en el cliente Pidgin, puedes configurar el chat de Facebook en otros clientes de mensajería (En esta url nos explican los datos necesarios: http://www.facebook.com/sitetour/chat.php). Ahora vamos a lo que nos interesa.

Para configurar el chat de Facebook en el cliente de mensajería de escritorio Pidgin tendremos que abrirlo, vamos al menú Cuentas y le damos a Gestionar cuentas. Nos aparecerá una ventana para introducir los datos de configuración:

  • Protocolo: XMPP
  • Nombre de usuario: (tu nombre de usuario en facebook, no confundir con el email con que te logueas ...)
  • Dominio: chat.facebook.com
  • Recurso: Pidgin

Ahora le damos a la pestaña Avanzadas y rellenamos estos otros datos:

  • Puerto de conexión: 5222
  • Servidor de conexión: chat.facebook.com

Cuando ya tengamos todos estos datos rellenados, le damos al botón Añadir y entonces nos pedirá la contraseña, la ponemos y ya nos aparecerán nuestros contactos que estén conectados en ese momento.

temas: 

Crear bugs en bugzilla a partir de un email

Crear bugs en bugzilla a partir de un email

Introducción

Bugzilla ofrece la posibilidad de poder crear bugs a partir de emails que recibe a través de un ejecutable python que tiene email_in.pl. El email tiene que tener un formato especifico para que bugzilla lo entienda y pueda crear el bug correctamente.

Configuración

Requisitos

Lo primero que tenemos que comprobar es si tenemos todos los módulos de perl necesarios para que funcione. Para comprobarlo tendremos que ejecutar el siguiente comando:

>> ./checksetup.pl --check-modules

Los módulos de perl que he detectado que necesita son los siguientes (si me dejo alguno me lo decís y lo añado)

  • Email-Reply
  • Class-C3
  • Email-MIME-Attachment-Stripper

Si os falta alguno tendreis que instalarlos ya sea con el instalador de perl o si existen los paquetes de estos módulos en el repositorio de vuestra distribución de linux, hacerlo desde ahí.

También necesitaremos un servidor de correo electrónico para que reciba los emails que luego redirigirá a bugzilla. (En esta guía no vamos a entrar a explicar como montar un servidor de correo electrónico, por lo que damos por hecho que ya tenéis un servidor de correo electrónico instalado en la misma máquina que el bugzilla)

Configurar el servidor de email

Para conectar el servidor de correo electrónico con el bugzilla tenemos que redirigir los emails a una cuenta que elijamos (por ejemplo: bug-submit@TU_DOMINIO.COM) al ejecutable de bugzilla que tratará estos emails.

Para ello, en el archivo /etc/aliases añadimos la siguiente línea que indica que los emails recibidos por la cuenta bug-submit@TU_DOMINIO.COM se los envíe al ejecutable email_in.pl de bugzilla para que cree el bug:

# Test para crear un bug desde email en bugzilla
bug-submit: "|/PATH_A_TU_BUGZILLA/email_in.pl -vvv 2>/var/log/bugzilla_emailin.log"

Configurar Bugzilla

Entramos en la Administración de bugzilla, luego le damos a Parámetros y ahora le damos a la sección Correo electrónico (http://yesa.cps.unizar.es/bugzilla4/editparams.cgi?section=mta) y en el campo mailfrom ponemos bug-submit@TU_DOMINIO.COM. Le damos al botón Guardar Cambios y ya esta.

Funcionamiento

Lo primero es simular que recibimos un email pasándole un fichero que describe un email por la entrada al ejecutable que lee los emails de bugzilla.

Guardamos en un fichero (por ejemplo emailTest.txt) un ejemplo de email (acordaros de cambiar en email de destino bug-submit@TU_DOMINIO.COM por la dirección en la que escuche bugzilla, el email del que lo envía USUARIO@SU_DOMINIO.COM por una que corresponda a una cuenta del bugzilla y por último cambiar el producto y componente por uno de vuestro bugzilla donde queráis crear el bug):

Delivered-To:  bug-submit@TU_DOMINIO.COM
Received: by 10.68.47.230 with SMTP id g6cs99712pbn;
        Mon, 4 Jul 2011 02:12:03 -0700 (PDT)
Received: by 10.227.162.129 with SMTP id v1mr3783487wbx.63.1309770722829;
        Mon, 04 Jul 2011 02:12:02 -0700 (PDT)
Return-Path: <USUARIO@SU_DOMINIO.COM>
Received: from isuela.unizar.es (isuela.unizar.es [155.210.1.53])
        by mx.google.com with ESMTPS id ek19si11909570wbb.69.2011.07.04.02.12.02
        (version=TLSv1/SSLv3 cipher=OTHER);
        Mon, 04 Jul 2011 02:12:02 -0700 (PDT)
Received-SPF: pass (google.com: domain of USUARIO@SU_DOMINIO.COM designates 155.210.1.53 as permitted sender) client-ip=155.210.1.53;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of USUARIO@SU_DOMINIO.COM designates 155.210.1.53 as permitted sender) smtp.mail=USUARIO@SU_DOMINIO.COM
Received: from queiles.unizar.es (hordedb.unizar.es [155.210.1.33])
    by isuela.unizar.es (8.13.8/8.13.8/Debian-3) with SMTP id p649BxVm017299
    for bug-submit@TU_DOMINIO.COM; Mon, 4 Jul 2011 11:11:59 +0200
Received: from huecha.unizar.es (huecha.unizar.es [155.210.1.51])
    by queiles.unizar.es (8.13.8/8.13.8/Debian-3) with ESMTP id p649C1tH025070
    (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT)
    for <bug-submit@TU_DOMINIO.COM>; Mon, 4 Jul 2011 11:12:01 +0200
Received: from [155.210.155.156] (filemonpi2.cps.unizar.es [155.210.155.152])
    (authenticated bits=0)
    by huecha.unizar.es (8.13.8/8.13.8/Debian-3) with ESMTP id p649BurT031554;
    Mon, 4 Jul 2011 11:11:59 +0200
Message-ID: <4E1183DB.8050204@unizar.es>
Date: Mon, 04 Jul 2011 11:11:55 +0200
From: =?ISO-8859-1?Q?M=AA_Jos=E9_P=E9rez?= <USUARIO@SU_DOMINIO.COM>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; es-ES; rv:1.9.2.18) Gecko/20110616 Thunderbird/3.1.11
MIME-Version: 1.0
To: =?ISO-8859-1?Q?bugzilla <bug-submit@TU_DOMINIO.COM>
Subject: Prueba
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
X-Mail-Scanned: Criba 2.0 + Clamd & Bogofilter

@product TU_PRODUCTO
@component TU_COMPONENTE
@summary Prueba de bug
@version unspecified
@op_sys Linux
@platform PC

Descripcion del bug

Se lo pasamos al ejecutable de bugzilla que se encarga de reciir los emails para crear los bugs:

>> ./email_in.pl < emailTest.txt

Si todo ha funcionado se habrá creado el bug en el bugzilla a partir del email.

Ahora lo siguiente será probar que enviando un email desde una dirección de email que corresponda con una cuenta del bugzilla. Si sigue funcionando ya tenemos todo hecho.

Para saber como se llaman los campos que tenemos que poner en el email para crear el bug con los datos que queramos podemos mirar la documentación en esta url: http://www.bugzilla.org/docs/4.0/en/html/api/Bugzilla/WebService/Bug.htm...

Errores

Error Can't locate Email/Reply.pm

Al ejecutar el programa que lee los emails que recibe bugzilla, obtenemos el siguiente error:

>> ./email_in.pl --help
Can't locate Email/Reply.pm
...

Solución

El problema esta en que falta el módulo Email-Reply de perl. Para instalarlo tendremos que instalar el paquete de nombre perl-Email-Reply a través de nuestro gestor de paquetes favorito o ejecutando el siguiente comando:

>> sudo yum install perl-Email-Reply

Error Can't locate Algorithm/C3.pm

Al ejecutar el programa que lee los emails que recibe bugzilla, obtenemos el siguiente error:

>> ./email_in.pl --help
Can't locate Algorithm/C3.pm in @INC (@INC contains: . lib/i386-linux-thread-multi lib /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8) at lib/Class/C3.pm line 25.
BEGIN failed--compilation aborted at lib/Class/C3.pm line 29.
Compilation failed in require at lib/MRO/Compat.pm line 27.
BEGIN failed--compilation aborted at lib/MRO/Compat.pm line 44.
Compilation failed in require at lib/Email/Abstract.pm line 7.
BEGIN failed--compilation aborted at lib/Email/Abstract.pm line 7.
Compilation failed in require at lib/Email/Reply.pm line 4.
BEGIN failed--compilation aborted at lib/Email/Reply.pm line 4.
Compilation failed in require at ./email_in.pl line 39.
BEGIN failed--compilation aborted at ./email_in.pl line 39.
...

Solución

El problema esta en que falta el módulo Class-C3 de perl. Para instalarlo tendremos que instalar el paquete de nombre perl-Class-C3 a través de nuestro gestor de paquetes favorito o ejecutando el siguiente comando:

>> yum install perl-Class-C3

Error Can't locate Email/MIME/Attachment/Stripper.pm

Al ejecutar el programa que lee los emails que recibe bugzilla, obtenemos el siguiente error:

>> ./email_in.pl --help
Can't locate Email/MIME/Attachment/Stripper.pm in @INC
...

Solución

El problema esta en que falta el módulo Email-MIME-Attachment-Stripper de perl. Para instalarlo tendremos que instalar el paquete de nombre perl-Email-MIME-Attachment-Stripper a través de nuestro gestor de paquetes favorito o ejecutando el siguiente comando:

>> yum install perl-Email-MIME-Attachment-Stripper

Error Service unavailable

Al enviar un email a la dirección que lee bugzilla, nos muestra el siguiente error en el log:

>> tail -100 /var/log/maillog
...
Jul  6 09:35:33 ia3 smrsh: uid 8: attempt to use "email_in.pl -vvv" (stat failed)
Jul  6 09:35:33 ia3 sendmail[15394]: p667ZX5R015393: to="|/var/www/bugzilla/email_in.pl -vvv", ctladdr=<bug-submit@dominio.com> (8/0), delay=00:00:00, xdelay=00:00:00, mailer=prog, pri=30703, dsn=5.0.0, stat=Service unavailable
Jul  6 09:35:33 ia3 sendmail[15394]: p667ZX5R015393: p667ZX5R015394: DSN: Service unavailable
...

Solución

Este problema puede deberse a que el email se envía desde una cuenta de email que no pertenece a ninguna cuenta del bugzilla. Por lo que tendremos que enviar el email con una dirección email que corresponda a una cuenta de bugzilla.

Instalación y configuración de mldonkey

Mldonkey

Introducción

En esta guía voy a describir como instalar y configurar el servidor de descarga multired llamado Mldonkey.

Instalación

Instalación del servidor

El programa se encuentra en los repositorios oficiales de Ubuntu. Así que para instalarlo solo tenemos que instalar el paquete de nombre mldonkey-server desde nuestro gestor de paquetes favorito o ejecutar el siguiente comando:

>> sudo apt-get install mldonkey-server

Y con eso ya lo tenemos instalado.

Instalación del cliente

Para conectarnos al servidor existen varios clientes. El que más me gusta se llama Sancho. Para instalar el cliente, tendremos que ir a su web y descargarlo.

Configuración

Configuración recomendada

En cuanto a la configuración recomendada, yo os aconsejaría hacer lo siguiente:

Cambiar los puertos de descarga

Al ser un cliente multired, tendremos que ser conscientes que utiliza puertos diferentes para conectarse a cada una de las redes que tengamos activadas. Y estos puertos los tenemos que tener abiertos en nuestro router para que la descarga sea óptima, por lo tanto o tendremos que poner unos puertos qeu tengamos abiertos en el router para nuestro ordenador o tendremos que abrir los puertos que selecciono mldonkey al instalarlo. Los puertos para cada red los encontraremos en:

  • Edonkey: En el archivo /var/lib/mldonkey/donkey.ini en el parámetro port.
  • Bittorrent: En el archivo /var/lib/mldonkey/bittorrent.ini en el parámetro client_port.
  • DirectConnect: En el archivo /var/lib/mldonkey/directconnect.ini en el parámetro client_port.

Desactivar la actualización automática de servidores

Deshabilitar que la lista de servidores se actualice automáticamente. Esto es recomendable, ya que hay muchos servidores que solo tienen fakes para dificultar la descarga de lo que queremos. Para ello tendremos que desactivar estas opciones:

  • ED2K-update_server_list_client : Esta opción añade automáticamente servidores que tienen otros usuarios.
  • ED2K-update_server_list_server : Esta opción añade automáticamente servidores que nos dicen los servidores a los que nos conectamos.

Actualizar la lista de servidores

Antes de empezar, tenemos que estar seguros que se esta ejecutando el servidor y de que este activada la opción update_server_list_server_met. Entonces nos conectamos a la consola del programa por medio de telnet:

>> telnet 127.0.0.1 4000
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Welcome to MLDonkey 3.0.1
Welcome on mldonkey command-line
 
Use ? for help
 
>

Una vez conectados ya podemos ejecutar comandos. El comando que carga los servidores que contiene un archivo server.met se llama servers y se le pasa de argumento la localización en la máquina de este archivo:

> servers /home/intropedro/server.met
158 servers found, 12 new ones inserted

Problemas

update_server_list_server_met is disabled

Al ejecutar el comando para añadir los servidores de un archivo server.met, puede que nos aparezca el siguiente error:

> servers server.met
ED2K-update_server_list_server_met is disabled, ignoring...
Solución

Este error se debe a que no tenemos activada la opción update_server_list_server_met. Para activarla podemos ...

Unable to connect to remote host

Al intentar conectarnos a la consola de mldonkey, nos puede aparecer el siguiente mensaje de error:

>> telnet 127.0.0.1 4000
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
Solución

Esto es porque el programa no se esta ejecutando. Para ello tendremos que encenderlo con el siguiente comando:

>> sudo /etc/init.d/mldonkey-server start

Cargar diccionarios de Babylon en Stardict

Stardict

Introducción

Stardict es un programa que te permite acceder a diccionarios que cargas en él. Lo que me gusta de él es que puedes tenerlo ejecutándose en segundo plano y al seleccionar un texto en cualquier aplicación, te aparecerá un pop-up con el contenido de esa palabra en los diccionarios. Por lo que si tienes un diccionario de Inglés a Español puedes usarlo de traductor.

El problema que tiene es que los diccionarios no vienen con el programa y tienes que buscar algo por internet que pueda usarlo el programa. Esta guía se concentra en facilitar esta tarea.

Instalación

Primero vamos a instalar el programa. Este se encuentra en los repositorios de ubuntu. Por lo tanto solo tendremos que instalar el paquete de nombre stardict-gnome desde nuestro gestor de paquetes preferido o sino ejecutar el siguiente comando desde la consola:

>> sudo apt-get install stardict-gnome

Una vez tenemos instalado el programa, vamos a cargar varios diccionarios en él. Los diccionarios nos los bajaremos de internet y para convertirlos en un formato que pueda usar stardict tendremos que instalar además otro programa. Así que desde nuestro gestor de paquetes preferido instalamos el paquete de nombre stardict-tools o ejecutamos el siguiente comando:

>> sudo apt-get install stardict-tools

Lo siguiente es conseguir por internet los diccionarios que queramos usar. Una de las páginas que proporciona diccionarios gratuitos que nos van a servir es Babylon. Entonces buscamos y descargamos los diccionarios que queramos de la web de Babylon (http://www.babylon.com/free-dictionaries/) (en mi caso me voy a poner uno de Español a Inglés y otro de Inglés a español)

Cuando terminen de descargarse los diccionarios que queremos usar, empezamos el proceso haciendo los siguientes pasos:

  • Abrimos el programa de conversión de formatos  de diccionarios ejecutando el siguiente comando desde una consola:

>> stardict-editor

  • Comprobamos que estamos en la ventana Compile.
  • Le damos al botón Browse...
  • Seleccionamos uno de los archivos de extensión bgl.
  • Cambiamos la selección a BGL file.
  • Le damos al botón Build.
  • Si todo ha ido bien, nos pondrá: Done.
  • Este proceso nos habrá generado un fichero del mismo nombre pero con extensión babylon.
  • Entonces le volvemos a dar al botón Browse...
  • Seleccionamos el fichero de extensión babylon.
  • Cambiamos la selección a Babylon file.
  • Le volvemos a dar al botón Build.
  • Si todo ha ido bien, al final nos pondrá: Done!.
  • Y veremos que nos ha generado unos ficheros de extensión idx, ifo, syn y dz.
  • Por último cerramos el programa.

Repetimos estos pasos con cada diccionario que queramos cargar.

Una vez que tengamos todos los archivos generados (idx, ifo, syn y dz), los copiamos a la carpeta /usr/share/stardict/dic/. Por último abrimos el programa y ya veremos los diccionarios en las preferencias.