Diferencia entre revisiones de «ReceTas61-70»

De GhostWiki
Saltar a: navegación, buscar
(PhpWikiMigration)
 
Línea 519: Línea 519:
 
''''6)''''Y por último, ejecutamos fetchmail:
 
''''6)''''Y por último, ejecutamos fetchmail:
 
  yuki@okinawa:~$ fetchmail
 
  yuki@okinawa:~$ fetchmail
 +
----
 +
[[Categoría:Recetas]]

Revisión del 21:21 1 sep 2010

Secciones

HomePage¿Qué es e-ghost?ProyectosHerramientasDocumentosRecetasCursos ReunionesEnlacesHumorGhostLogAlternativas LibresContactoEuskaraz

Las Recetas de la Abuela (61 a 70)

En esta sección podremos ver los típicos truquillos que todo el mundo sabe pero nadie recuerda. Si quieres incluír una receta, infórmate en nuestra lista de correo cómo hacerlo. Si ya conoces cómo, introduce una nueva receta aquí.

Recetas, de la 61 a la 70


#Receta_70

'Título:' Cómo ver vídeos en Google Video desde linux-ppc (extensible para otros propósitos)

'Autor/a:' Alvaro Uría (Fermat).

Los usuarios de GNU/Linux sobre PowerPC tenemos un problema muy curioso: no tenemos soporte para Flash (a día 2005/12/20).

Por ello, cada vez que nos pasan el enlace a un super-vídeo de Google Video nos tendríamos que joder... si no fuera porque los vídeos están codificados en un formato (.FLV) recodificable a MPEG-1 con el programa ffmpeg.

Y por último, y para que no tengamos que buscar la URL al vídeo de descarga a través del HTML donde está incrustado el Flash en cuestión, he escrito este programilla de nada, que limita la salida de texto por consola a unos pocos mensajes informativos.

Básicamente, para utilizar este script, tenemos que pasarle por parámetro la URL completa a la página desde donde veríamos el vídeo. A partir de aquí, el script busca la URL al vídeo, lo baja y lo recodifica a MPEG, para que podamos verlo con mplayer, por ejemplo. Si ocurre algún fallo durante este proceso, el script nos avisa.

Este script me imagino que será mejorable, así que si te apetece... hazlo ;-P (y si quieres puedes enviármelo a mailto:fermat en rigel.deusto.es )

Buen provecho :-)


#Receta_69

'Título:' Soporte UTF-8 para VIm

'Autor/a:' Iker Sagasti Markina (aktor).

Esta receta explica como dar soporte a vim para codificación de caracteres UTF-8 (y así poder editar archivos con caracteres como ñ, €, tíldes, diéresis... que no están soportados por la codificación tradicional ISO-8859-1 ó ISO-8859-15).

Para ello basta con añadir al archivo de configuración /etc/vim/vimrc (para todos los usuarios en debian) o ~./vimrc (para un usuario en particular) la siguiente línea:

set fileencodings=utf-8,latin1


#Receta_68

'Título:' Detectar desde el pc el cambio de dirección ip en el router y avisar por mail.

'Autor/a:' Fernando Urien, con la ayuda del e-ghost.

Se trata de un pequeño script que desde un ordenador de la red detecta si el router ha cambiado de dirección ip externa. Si la dirección ip ha cambiado, envía un mail al destinatario especificado. Es necesario disponer del programa mailx que es el que se usa para envíar el mail.

1) Creamos el fichero del script con el siguiente contenido. Asegurandonos de especificar bien la dirección de correo.

#====/bin/bash====
DIRECCION_CORREO="miDireccionDeCorreo"
IPNEW=`wget www.whatismyip.com > /dev/null 2> /dev/null && cat index.html|grep "<TITLE>"|cut -d " " -f3|cut -d "<" -f1`
rm index.html
IPOLD=`cat direccion_ip`
echo "dirección IP antigua: $IPOLD"
echo "dirección IP nueva: $IPNEW"
if [[ "$IPNEW"  = "$IPOLD" ]]
then
echo "la direccion ip no ha cambiado"
else
echo "la direccion ip ha cambiado"
echo "$IPNEW" > direccion_ip
mailx $DIRECCION''CORREO  < direccion''ip
fi
echo "fin"


2) Le damos permiso de ejecución: mitico chmod a+x script (así, siendo un poco bruto con los permisos ;-)
3) Yo añadiría la tarea en el cron para que hiciera la comprobación cada 10 minutos (o el tiempo que se estime oportuno


#Receta_67

'Título:' Renovar a mano el certificado SSL autofirmado de Apache.

'Autor/a:' Pablo Garaizar, del debian-apache-ssl-howto.

Es fácil, siguiendo estos pasos:

1) Creamos una nueva clave para el certificado y la protegemos:

cd /etc/apache-ssl
openssl genrsa -out txipinet.com.key 1024
chmod 600 txipinet.com.key

2) Creamos el certificado, indicando el número de días en el que expirará (3650 = 10 años):

openssl req -new -key txipinet.com.key -out txipinet.com.csr
openssl x509 -req -days 3650 -in txipinet.com.csr -signkey txipinet.com.key -out  txipinet.com.crt

3) Cambiamos el certificado antiguo por el nuevo, y reiniciamos apache:

mv apache.pem apache.pem.old
cp txipinet.com.key apache.pem
cat txipinet.com.crt >> apache.pem
chmod 600 apache.pem
/etc/init.d/apache-ssl restart

#Receta_66

'Título:' Abrir una URL en una nueva pestaña de Mozilla Firefox, desde consola

'Autor/a:' Alvaro Uría

Si queremos abrir desde consola una URL , y más concretamente en una pestaña del Mozilla Firefox que tenemos ya abierto, ejecutaremos:

        ~$ firefox -remote "openURL("http://www.e-ghost.deusto.es/",new-tab)"

Esta opción ( new-tab ) está disponible en Firefox a partir de las versiones 1.0.1 y 1.1

Más información

Un ejemplo rápido: abriendo todas las URLs que tenemos en los bookmarks.

    #====/bin/sh====
    dir=`ls ~/.mozilla/firefox/default.*/bookmarks.html`
    for a in $(lynx -dump file://$dir | sed -e 's/ +[[[0-9]]+. (http.+)/1/' | grep ^http)
     do
       firefox -remote "openURL("$a",new-tab)" || echo $a FALLÓ
     done

#Receta_65

'Título:' Listar un directorio ordenado por tamaño

'Autor/a:' Alvaro Uría

Muchos de nosotros conocemos el comando sort, pero al igual que otros comandos como cut, tr, grep, sed, etc. no lo explotamos demasiado. Justo justo, lo utilizamos para ordenadar por la primera columna. Pues bien, para ordenar por tamaño de ficheros, utilizaremos el siguiente comando:

      ~$ ls -l | sort +4n

Tenemos que recordar que se empieza a contar por la columna 0 (la primera de todas). Así que el tamaño de fichero, que corresponde con la 5ª columna, será la número 4.

Si queremos, además, decirle un segundo orden a seguir, por ejemplo, el nombre de los ficheros, haremos,

      ~$ ls -l | sort +4n +7

Puesto que la 8ª columna contiene los nombres de ficheros, y se númera como 7.

Si queremos ordenarlo de mayor a menor tamaño, tendremos que invertir la salida del resultado, y por tanto, utilizaremos el flag -r aplicado a los comandos anteriores. Es decir,

      ~$ ls -l | sort +4nr

'Nota': 'Autor/a:' Jon Valdés

También podemos usar el propio comando ls, que tiene una opción para ordenar por tamaño :) Por ejemplo, el comando

      ~$ ls -Ssh

nos mostrará los archivos ordenados por tamaño, junto con su tamaño correspondiente. La 'h' es para que el tamaño nos salga en formato "humano" :P

Si queremos invertir el orden, ls tiene también una opción: el flag -r. Así, el siguiente comando nos mostraría los archivos con su tamaño, ordenados de menor a mayor:

      ~$ ls -Sshr

'Nota': 'Autor/a:' Alvaro Uría

Parece que el comando "sort" ha cambiado un poquito (a Feb08), y la mejor forma de llamarlo es (ambas valen):

      ~$ ls -l | sort -k 5 -nr
      ~$ ls -l | sort -nrk 5

Siendo "-k" el número de columna, empezando por el valor "1" (esta opción tiene posibilidades más avanzadas: man sort).


#Receta_64

'Título:' Como guardar un flujo multimedia (streaming) en disco

'Autor/a:' Pablo Garaizar Sagarminaga

Cuando queremos grabarnos alguna charla/programa/video del neng que solo emiten en streaming o a través de un applet que nos redirige a una mms://recurso, podemos hacerlo así:

 mplayer mms://server/video.wmv -dumpfile video.raw -dumpstream

#Receta_63

'Título:' Instalar Java en Ubuntu (Debian)

'Autor/a:' Eagle y Maski

Objetivo: Lograr una satisfactoria instalación de Java(TM) 2 SDK, que incluye la Virtual Machine.

Utilizaremos java-package que es un paquete de Debian que sirve para crear un paquete .deb a partir de los binarios de instalación. Basicamente sigue los pasos de Eagle pero de forma automática. Funciona con los Java Runtime Environments (JRE) y Java Development Kits (JDK) siguientes:

  • Sun Microsystems(TM) 1.4 y 1.5 Standard Edition
  • IBM(TM) 1.3 y 1.4 Standard Edition
  • Blackdown Java-Linux 1.3 y 1.4 Standard Edition

Pasos para la instalación:

  • Instalar el paquete java-package y sus dependencias
# sudo apt-get install fakeroot java-package java-common
  • Descargar el binario autoextraíble para Linux de la web de Sun (http://java.sun.com/downloads/), por ejemplo jdk-150_03-linux-i586.bin
  • Ejecutar como usuario normal lo siguiente:
$ fakeroot make-jpkg jdk-150_03-linux-i586.bin
  • Instalar el paquete .deb que se crea:
# dpkg -i sun-j2sdk1.51.5.0+update03i386.deb

Si estamos en Ubuntu (o puede que también en otros sistemas) tenemos que seleccionar la máquina de Sun en lugar de GIJ:

# sudo update-alternatives --config java

Y elegir la que deseemos.

Eso es todo. Si alguien tiene que hacer alguna corrección, no tiene más que editar el wiki.

On egin diezaizuela========

Si el metodo anterior no os funcionara, a continuación se muestra una forma manual de hacerlo:

'Como y donde lograr los programas necesarios:'

  • Visitaremos http://java.sun.com/downloads/ y seleccionaremos Java 2 Platform, Standard Edition (J2SE) y una vez en esa página la opción J2SE 1.4.2 (o superior si la hubiera). Si hemos seguido bien los pasos llegaremos a una nueva página donde elegiremos el enlace Download J2SE SDK for Other Platforms que nos llevará a una última página donde, ahora ya sí, podremos descargar el programa (previo paso de aceptar la licencia, uf...). Elegiremos self-extracting file (j2sdk-142_07-linux-i586.bin, 34.72 MB) o superior si lo hubiera.
  • Instalaremos los paquetes java-common y equivs. Podemos usar el Synaptic Package Manager que nos simplificará notablemente nuestra tarea. Es imprescindible que hayamos habilitado todos los servidores de apt-get. . Esto se realiza modificando el archivo /etc/apt/sources.list cuyo contenido es (en Ubuntu):

deb cdrom:Ubuntu 4.10 Warty Warthog - Preview i386 Binary-1 (20041020)/ unstable main restricted deb http://archive.ubuntu.com/ubuntu warty main restricted deb-src http://archive.ubuntu.com/ubuntu warty main restricted ## Uncomment the following two lines to add software from the 'universe' ## repository. ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## universe WILL NOT receive any review or updates from the Ubuntu security ## team. ##deb http://archive.ubuntu.com/ubuntu warty universe ##deb-src http://archive.ubuntu.com/ubuntu warty universe deb http://security.ubuntu.com/ubuntu warty-security main restricted deb-src http://security.ubuntu.com/ubuntu warty-security main restricted Hemos de modificar las líneas ##deb http://archive.ubuntu.com/ubuntu warty universe ##deb-src http://archive.ubuntu.com/ubuntu warty universe Dejándolas tal que así deb http://archive.ubuntu.com/ubuntu warty universe deb-src http://archive.ubuntu.com/ubuntu warty universe Guardamos los cambios y listos. Una vez instalado equivs podéis dejar el archivo como estaba.

'Proceso de instalación:'

  • Creamos una carpeta temporal en /var/install/java
  • Copiamos el archivo j2sdk-142_07-linux-i586.bin (o superior) a ésta carpeta
  • Le damos atributos de ejecutable con:

chmod a+x j2sdk-142_07-linux-i586.bin

  • Ejecutamos el programa:

./j2sdk-142_07-linux-i586.bin

  • Leemos (karkarkar) la licencia y la aceptamos. Esto creará una carpeta llamada j2sdk1.4.2_07.
  • -Moveremos esta carpeta a /usr/local/lib
  • Crearemos un link que nos permitirá acceder más fácilmente:

ln -s /usr/local/lib/j2sdk1.4.2_07 /usr/local/lib/jdk

Hasta aquí “fácil”, ahora llega la madre del cordero:

  • Como Ubuntu (Debian) no tiene instalador de paquetes para Sun's J2SE tenemos que crear unos paquetes “engañosos” para que el sistema reconozca Java.
  • Creamos otra carpeta temporal:

cd /var/install/java mkdir pkg

  • Copiaremos unos archivos que se instalaron junto a java-common para crear los paquetes mencionados anteriormente:

cp /usr/share/doc/java-common/dummy-packages/*.control /var/install/java/pkg

  • Utilizamos equivs para la creación:

equivs-build java1-runtime-dummy.control equivs-build java2-compiler-dummy.control equivs-build java2-runtime-dummy.control equivs-build java-compiler-dummy.control equivs-build java-virtual-machine-dummy.control

Nótese que los nombres pueden variar ligeramente de una instalación a otra (consultar los archivos copiados a var/install/java/pkg). También es importante que observemos las indicaciones del sistema ya que podrían surgir errores debido a que el orden citado arriba no sea el adecuado a su máquina (contratiempo menor y de fácil solución con el método prueba error).

  • Instalamos uno a uno todos los paquetes creados con el comando:

dpkg -i nombrePaqueteCreado.deb

Ya casi hemos terminado, sólo nos falta hacer los enlaces para que todo funcione:

  • Ejecutar los siguientes comandos:

update-alternatives --verbose --install /usr/bin/java java /usr/local/lib/jdk/bin/java 500 update-alternatives --verbose --install --slave /usr/share/man/man1/java.1 java.1 /usr/local/lib/jdk/man/man1/java.1

  • Verificamos todo con la orden:

java -version Y el sistema nos contestará con algo similar a: java version "1.4.2_07" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_07-b05) Java HotSpot(TM) Client VM (build 1.4.2_07-b05, mixed mode)

  • Ahora podemos eliminar la carpeta temporal que usamos para la instalación (/var/install/java)

On egin diezaizuela========


#Receta_62

'Título:' Configurar una tarjeta de red Wi-fi Intel(R)/Wireless 2100 (muchos portátiles centrino)

'Autor/a:' Cymo

Esta tarjeta es la que tienen la mayoría de los centrino antiguos (primera generación) y funcionan para 802.11b (11Mbps) Mi portátil en concreto es un Compaq presario x1005 (por si a alguien le sirve, que no es para fardar).

Intel no ha liberado las especificaciones hard de la tarjeta y "dicen" estar desarrollando un driver... Je je je.

Estos pasos son los que he seguido bajo Debian 3 testing (es decir, sarge), con kernel 2.6.3. El driver está hecho por voluntarios, se llama IPW2100, y no está soportado dentro del kernel (al menos, no que yo sepa).


'0ºRequisitos:'

  • Kernel 2.6 La serie 2.4 ya no están soportados por el driver (versiones antiguas, sí. En todo caso, buscan voluntarios para hacer backports : )
  • Saber recompilar el kernel (y querer hacerlo).

'1º Instalar las fuentes del driver y el hotplug:'

# apt-get install ipw2100-source hotplug

Esto además instalará otro paquete, module-assistant, que nos vendrá bien luego. También hay que instalar el hotplug que necesitaremos luego.

Si no tenemos debian, o no queremos usar apt-get ¿? podemos descargar el driver desde la página:http://ipw2100.sourceforge.net/

'2º Comprobaciones de campo' Es necesario tener sysfs montado para que esto funcione. Puedes comprobarlo

# cat /etc/fstab | grep sysfs

Deberías tener una línea como esta:

none            /sys            sysfs   defaults                0       0


'3º Recompilar el kernel'

Hay una receta (la número 13) que explica como hacerlo. Debería cambiarla porque los núcleos 2.6 son un poco distintos, pero... :P

Quizá no tengas que recompilar TODO el kernel si ya tenías las opciones que comentaremos activadas o, al menos las que no tienes, las puedes poner como módulos. Eso es cosa tuya. Yo lo pongo "para todo el mundo".

Recompilaremos el kernel, pero asegurándonos de activar todo esto primero:

Hay que activar el soporte para módulos. Existe una forma de empotrar el código del módulo dentro del kernel, de modo que se configure como una opción más del mismo. Yo no me he metido en esos fregados, si alguien se anima, puede mirar el documento en el que se basa esta receta, que allí lo mencionan: http://ipw2100.sourceforge.net/INSTALL

Para activar el soporte para módulos:

Loadable module support -->
 Enable loadable module support

Hay que activar el soporte para wireless. En mi kernel está en:

Device Drivers-->
   Networking Support
     Wireless Lan (non-hamradio) -->
      Wireless LAN drivers (non-hamradio) & Wireless Extensions

Si eres friki, puedes comprobarlo/modificarlo en el fichero .config, el "tag" es: CONFIGNETRADIO=y

Deberíamos activar la api criptográfica, puesto que los drivers querrán tirar de ella:

Cryptographic Options -->
  ARC4 cipher algorithm (CONFIGCRYPTOARC4)
Library routines -->
  CRC32 (CONFIG_CRC32)

Si además queremos WPA:

Cryptographic Options -->
 Michael MIC (CONFIGCRYPTOMICHAEL_MIC)
 AES (CONFIGCRYPTOAES_586)

Los drivers de la tarjeta necesitan cargar en la misma, el firmware o código. Tranquilo, que no vas a romper nada, esto es lo "normal": se cargan en la tarjeta siempre. Pero al apagar el ordenador, se va dicho firmware. No es permanente. Luego diremos como se hace esto, de momento... hay que añadir soporte para hotplug en el kernel:

Device Drivers ->
 Generic Driver Options ->
   Hotplug firmware loading support

Vale, ahora toca recompilar el kernel.

/usr/src/linux# make

Probablemente quieras poner el nuevo kernel, con algo como esto (depende de si usas lilo o grub, o de donde guardes el kernel, etc...)

/usr/src/linux# cp arch/i386/boot/bzImage /vmlinuz
lilo

'4º: Bajar el firmware y configurarlo '

Lo tenéis en: http://ipw2100.sourceforge.net/firmware.php Debéis tener una tarjeta Intel bla bla bla para poder descargarlo, y aceptar el acuerdo de licencia y bla bla bla. Si has llegado hasta aqui, podrás soportar una restricción más :(

Vale, con eso os bajáis un ficherito muy majo, algo como "ipw2100-fw-1.3.tgz". Hay que descomprimirlo en el directorio de firmware de hotplug (acordaos que hablamos de él antes). La ruta será normalmente esta:

/usr/lib/hotplug/firmware/

Para corroborarlo, podéis mirar el fichero

#less /etc/hotplug/firmware.agent

Cuando lo tengas claro:

/usr/lib/hotplug/firmware# tar zxvfp RUTAipw2100-fw-1.3.tgz

Donde "RUTA" es la ruta donde está el fichero de marras que os habéis descargado.

'5º: Compilar e instalar el nuevo módulo '

# cd /usr/src
usr/src# tar zxvfp ipw2100-source.tar.gz

Nota: z = descomprimir gzip x = extraer v = verbose f = de un fichero p = permisos

Ahora la compilación en si:

usr/src# module-assistant ipw2100

Este mágico programa compila e instala el módulo, el solito.

Nota: a mi me dio un error al compilar la versión 1.0.5 que es la que traía Debian (fichero ipw2100.c, línea 183, algo de una constante string...). En la página antes comentada, se puede descargar la 1.1.0, que está marcada como "estable". Debian sid, ahora mismo, trae esa versión... :P

Para solucionar el problema de compilación hice lo siguiente:

'Solo si te da el mismo error que a mi :P '

/usr/src# mv ipw2100-source.tar.gz ipw2100-source.tar.gz.ceguera

Para que el module-assistant no me la liase Editar el fichero

/usr/modules/ipw2100/driver/ipw2100.c

Comentar la línea 183:

//MODULEVERSION(DRVVERSION);

Al parecer mi compilador no sabía que macro era MODULE_VERSION... ¿?

' Fin de como corregí el error que me dio'

'6º: Probar el driver: '

Crear las dependencias por si acaso

# depmod -a

'NOTA IMPORTANTE:' El nombre del dispositivo wireless no es wlan0, sino eth1 (suponiendo que ya tengas en eth0 la ethernet... :P)

Por ejemplo yo he añadido a /etc/network/interfaces

auto eth1
iface eth1 inet static
         address        192.168.2.101
         netmask        255.255.255.0
         broadcast      192.168.2.255
         gateway        192.168.2.1


Reiniciar (por el tema del kernel, y tal)

# reboot

En principio se habrá cargado solito, si no:

# modprobe ipw2100

Probar con un ping

# ping 192.168.2.1 (o lo que sea)

#Receta_61

'Título:' Crear una lista de correo con una cuenta POP o IMAP.

'Autor/a:' Rubén Gómez (Yuki)

Llevaba bastante tiempo queriendo hacer una lista de correo para los amigos, ya que si queriamos mandar un mail a tod@s teníamos que escribir todas las cuentas, no olvidarnos de nadie y era un poco lio. Por lo que decidí investigar en cómo hacer una lista de correo facil y sencilla XD

'Nota:'

  • Yo he usado los paquetes de Debian Testing, por lo que si los compilais tendreis que mirar bien el configure.
  • A partir de ahora "yuki" será el nombre de usuario que ejecutará todo esto.

'Nota para gmail:'

Si usamos gmail tendremos que configurar la cuenta para que se pueda usar POP3 para coger los mails. Vamos a Settings -> Forwarding and POP -> Enable POP for all mail, y en "2. When messages are accessed with POP" ponemos "archive Gmail's copy" o "trash Gmail's copy" (la otra opción no vale).


'Qué necesitamos?'

  • Una cuenta de correo en algún servidor donde poder acceder por POP3 o IMAP (mis ejemplos serán con una cuenta de euskaltel y las tán conocidas gmail)
  • Exim : Servidor SMTP (An MTA (Mail Transport Agent))
  • Fetchmail : Para coger el correo del servidor. (SSL enabled POP3, APOP, IMAP mail gatherer/forwarder)
  • Fetchmail-ssl : Para que fetchmail use SSL.
  • Fetchmailconf : Para configurar fetchmail facilmente :D
  • Procmail : Para procesar los correos que nos llegan. (Versatile e-mail processor)

'Qué vamos a hacer?'

Voy a explicar por encima cómo funcionan los emails en GNU/Linux (se aceptan correcciones ;-) Cuando cogemos un mail desde una cuenta de POP3 con fetchmail se lo pasa generalmente a /usr/sbin/sendmail, que en nuestro caso es Exim, para que este lo deje en /var/mail/yuki. Antes de que los deje, es el momento en que aprovecharemos para filtrar los mails con el propio Exim (si, Exim tiene posibilidad de filtrar los mails :-o). Algunos los dejaremos en ~/Mails/guardar , y otros se pasarán a procmail. Los que se pasen a procmail serán distribuidos de nuevo. Aprobechando el filtro de Exim lo que hacemos es no tener que pasar todos los mails a Procmail, por lo que puede ser más rapido, y no complicarnos con las reglas de filtrado de Procmail.

'Empezamos: '

'1)'Empezaremos con la configuración del Exim. Como root editamos /etc/exim/exim.conf y cambiamos la variable qualify_domain para que sea de este estilo

qualify_domain = euskalnet.net

Con ello hacemos que los mails que salgan del ordenador lleven este dominio en vez de "yuki@hostname". (puede que haya otra manera de hacerlo, pero no lo sé :p)


'2)'Exim mira la configuración que tenemos en ~/.forward para ver qué tiene que hacer con los mails. Pondremos lo siguiente en este fichero:

# Exim filter
if error_message then finish endif
if $headerto: contains "micorreo@gmail.com"
then
  pipe "$home/.lista_correo.sh"
else
  save /home/yuki/Mails/guardar
 endif

Importante la primera linea "# Exim filter", que sirve para que Exim lo reconozca. Luego lo que hace es comprobar si el "To:" del mail contiene "micorreo@gmail.com". Si es así se ejecutará /home/yuki/.listacorreo.sh, y si no se guardará en /home/yuki/Mails/guardar.

'3)'~/.lista_correo.sh es un shell script que contiene

#====/bin/bash====
formail -i "Mail-Followup-To: micorreo@gmail.com" | formail -i "Reply-to: micorreo@gmail.com" | procmail ~/.procmail-mi_correo

Lo que hace es añadirle al mail que se le pase la cabecera "Mail-Followup-To" y "Reply-to", para que al responder el mail lo responda a la lista y no a la persona que lo ha mandado. Y despues se le pasará a procmail, que será ejecutado con el fichero de configuración ~/.procmail-mi_correo.

'4)'El fichero ~/.procmailrc-mi_correo contiene lo siguiente

:0c
==== merry@hobitton.com====
:0c
==== pippin@hobitton.com====
:0c
==== sam@hobitton.com====
:0
==== bilbo@hobitton.com====

Que lo que hace es mandar una copia del mail (por eso la 'c') a cada cuenta de correo que hemos puesto.

'5)'El fichero de configuración de fetchmail para que recoja los mails del servidor de correo. El fichero es ~/.fetchmailrc

set logfile "/home/yuki/.fetchmail.log" # fichero de log
set postmaster "yuki"
set daemon 300 #para que se compruebe el correo cada 5 minutos
#ejemplo para gmail
poll pop.gmail.com with proto POP3 port 995
   user 'mi_correo@gmail.com' there with password 'password' options fetchall ssl
#ejemplo para euskaltel
poll correo.euskaltel.es with proto IMAP
   user 'mi_correo' there with password 'password'

La opción "daemon" es para que se ejecute como demonio cada 5 minutos, y "postmaster" es para enviar un mail con los fallos al usuario especificado.

'6)'Y por último, ejecutamos fetchmail:

yuki@okinawa:~$ fetchmail