Ya sabes lo qué son las news, los novatos podemos aprender mucho preguntando o simplemente leyendo diariamente los mensajes. Y sabes que existen programas como knews, Netscape y también emacs por medio de los cuales puedes bajarte los mensajes para leerlos. Ahora bien, con estos clientes de news podemos leer los mensajes que seleccionemos siempre y cuando estemos conectados a nuestro servidor de news en internet, y esto tal y como están los precios de timofónica te puede costar un riñón, por lo tanto se hace del todo imprescindible un sistema para leer las news off-line.
Primero, te diré que en la web de Monkiki tienes información sobre un lector de news off-line, aparte de un help para instalar leafnode. También te puedo dar la dirección de una página en inglés que contiene un how-to sobre leafnode. Además, aunque Netscape, aparentemente, no tiene ninguna opción para offline, hay un truco en la sección de trucos que explica cómo se pueden obtener las news off-line con Netscape.
Te hablo de leafnode, que es un servidor de news local. Es decir que te bajas todos los mensajes de una vez a tu HD y después cuando quieres leer las news con tu cliente favorito no hace falta que estés conectado a internet si no que te conectas a tu servidor local y te puedes tirar horas y horas leyendo tranquilamente. También hay otros servidores como inn+suck pero no lo he probado y no tengo ni idea de cómo se configura aunque tengo entendido que es un poquito mas complicado.
Antes de nada te cuento mis problemas con la versión 1.0-3 de leafnode:
Al principio instalé la versión 1.0-3 que es la que viene con mi distribución Debian 1.3.1. Esta versión me ha dado muchos problemas:
Conseguí bajarme los grupos, pero después no conseguí bajarme ningún post por más que lo intenté. Que conste que me había suscrito a un grupo con knews y aún así no me bajaba nada y tampoco me daba ningún error. Otro problema es que no podía acceder a los grupos con el Netscape, me daba siempre el error 'sintax error'. A todo esto, venga post a es.comp.os.linux explicando el problema y en las respuestas me hablaban de ficheros de configuración y etc. que yo no tenía. Y hete aquí que esto es debido a que los de Debian compilan el programa para que tome unas librerías distintas a las que vienen en las fuentes oficiales y que son las que utilizan el resto de las distribuciones.
Así que, si tienes Debian los ficheros de la configuración son : fichero de configuración : /etc/leafnode.conf fichero catálogo de grupos : /var/lib/leafnode/groupinfo ejecutable : /usr/sbin/leafnode ... Mientras que las librerías oficiales son : fichero de configuración : /usr/lib/leafnode/config fichero catálogo de grupos : /usr/lib/leafnode/groupinfo ejecutable : /usr/local/sbin/leafnode ...En fin, un lío impresionante, es posible que todo se debiera a una mala instalación o error por mi parte, así que, ya sabes, en estos casos lo mejor es reinstalar todo de nuevo. Me enteré de que leafnode iba ya por la versión 1.4 y pensé que ya que iba a reinstalar, mejor hacerlo con esta versión. Al final conseguí mi objetivo y esta es la versión que tengo instalada actualmente y que me funciona perfectamente.
Ahora cómo instalé leafnode 1.4
En el fichero Makefile de las fuentes es donde se pueden modificar las librerías arriba mencionadas. Yo las dejé igual que estaban.
Hay que crear un usuario llamado 'news'. Yo lo tenía ya creado, me lo creó cuando instalé el paquete .deb con el dselect de Debian. Si no con adduser ...
Ejecutar el comando make install que compila e instala los programas del paquete: leafnode, fetch, texpire y checkgroups
Me creo el fichero de configuración /usr/lib/leafnode/config copiándome el config.example que se ha generado al instalar y modificándolo para dejarlo así :
server = news.redestb.es expire = 7 maxcount = 2000 (server = pon tu servidor de noticias expire = tiempo de expiración de un thread en idas; el thread se mantendrá mientras tenga un mensaje que no haya expirado; los mensajes solo se borran cuando se ejecuta la utilidad texpire. maxcount = máximo numero de mensajes de un grupo que se deben bajar del servidor en una sola ejecución de fetch )Ahora, si quieres, puedes planificar una ejecución periódica de texpire (utilidad para borrar mensajes antiguos), yo no lo tengo planificado, simplemente lo ejecuto de vez en cuando, pero si quieres puedes hacerlo utilizando el demonio cron. Este demonio se encarga de ejecutar procesos periódicos.
Para planificar texpire o cualquier proceso periódico con cron es necesario ejecutar el comando crontab que sirve para actualizar los ficheros crontabs que es por los que se guía el demonio cron (jo... que rollo). Bueno, pues tienes que ejecutar el siguiente comando :
crontab -u news -eCon esto vas a editar (-e) el fichero crontabs del usuario (-u) news. Pero, ojo con este comando, te abre el editor vi, y si te pasa como a mi que no le cojo el tranquillo es mejor que antes, ejecutes un comando para que el crontab utilice otro editor, por ejemplo a mi me gusta emacs,
export VISUAL=/usr/bin/emacsY ahora si, ahora ejecutas crontab -u news -e, te abre el emacs e introduces las líneas :
# arranca texpire todos los días a las 4 de la mañana 0 4 * * * /usr/local/sbin/texpire si sustituyes el tercer * por un 1 se arrancará una vez por semana los lunes (man cron y crontab)Ahora modificamos el fichero /etc/inetd.conf incluyéndole la siguiente línea :
nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnodeCon esto se consigue que se lance automáticamente leafnode cada vez que un cliente de news se intenta conectar al puerto nntp. Para que coja la modificación es necesario ejecutar el comando kill -HUP o desconectarse y volverse a conectar.
Por último, el funcionamiento del servidor es el siguiente :
Vamos a bajarnos las news desde nuestro servidor de internet a nuestro disco duro, para ello, ejecutamos fetch -v una vez para que nos baje el catálogo de news-groups (esto te lo hará además cada 7 días), después con un cliente de news como Netscape, Knews o cualquier otro, tenemos que suscribirnos a los grupos que queramos, y finalmente, volvemos a ejecutar fetch -v que esta vez nos bajará las news de los grupos que hayamos seleccionado.
Ya tienes tu servidor de news funcionando, cada vez que ejecutes fetch -v (-v es para que veas lo que está haciendo, puedes meter varias -vvvv para que te dé mas información) te bajará todos los posts generados desde la ultima vez que lo hiciste.
Observarás que se te han creado un montón de subdirectorios en /var/spool/news, y también que tienes posts en grupos a los que no estás suscrito, es normal, esto se debe al crooss-post (se escribe así?) o sea, mensajes que además de dirigirse al grupo al que tu estas suscrito se dirigen a otros grupos.
Una cosa que se me olvidaba, entre novatos : para poder acceder a nuestro propio servidor de news tenemos que apuntar en el cliente de news que utilicemos a nuestro servidor de noticias local, o sea, donde antes teníamos news.redestb.es, noticias.ibernet.es, o cualquier otro servidor ahora ponemos localhost o 127.0.0.1.