24.3. Configuración de nn

nn, escrito por Kim F. Storm, proclama ser un lector cuya última finalidad es no leer noticias. Su nombre significa “No News,”[1], y su lema es “no news is good news. nn is better”.[2]

Para alcanzar su ambiciosa meta, nn viene equipado con una gran cantidad de herramientas de mantenimiento que no sólo permiten la creación de hilos, sino también comprobaciones extensivas de la consistencia de tales bases de datos, contabilidad, recopilación de estadísticas, y restricciones de acceso. Existe también un programa de administración llamado nnadmin, que permite llevar a cabo estas tareas interactivamente. Es muy intuitivo, por lo que no profundizaremos en sus aspectos, sino que nos limitaremos a la creación de los ficheros índice.

El programa encargado de manejar las bases de datos para nn se llama nnmaster. Generalmente trabaja en modo demonio, el cual se inicia en el fichero rc en el proceso de arranque. Se le invoca de la siguiente manera:
    /usr/local/lib/nn/nnmaster -l -r -C

Esto habilita la indexación para todos los grupos presentes en el fichero active.

De manera equivalente, se puede ejecutar nnmaster periódicamente desde cron,pasándole la lista de grupos sobre la que actuar. Esta lista es muy parecida a la lista de suscripciones del fichero sys, salvo que usa espacios en blanco en vez de comas. En vez del nombre all, se debe usar un argumento vacío de "" para referirse a todos los grupos. Un ejemplo es:
    # /usr/local/lib/nn/nnmaster !rec.games.go rec comp

Tenga en cuenta que el orden es significativo: la especificación de grupo que concuerde y esté más a la izquierda es la que vale. Por tanto, si se pone !rec.games.go después de rec, los artículos de este grupo se indexarían de todos modos.

nn ofrece varios métodos para borrar los artículos caducados de su base de datos. El primero es actualizar la base comprobando los directorios de los grupos, y desechando la entradas cuyo artículo correspondiente ya no esté disponible. Éste es el método predeterminado obtenido al invocar nnmaster con la opción –E. Es razonablemente rápido, a menos que se haga vía NNTP.

El segundo método actúa exactamente como la opción predeterminada de mthreads; sólo elimina las entradas referidas a artículos cuyo número está por debajo de la línea de flotación en el fichero active. Puede ser habilitado con la opción –e.

Finalmente, el tercer método consiste en desechar toda la base de datos y catalogar todos los artículos de nuevo. Esto puede hacerse pasándole la opción –E3 a nnmaster.

La lista de grupos sobre los que actuar se especifica mediante la opción –F, del mismo modo que se describió anteriormente. Sin embargo, si nnmaster está ejecutándose como demonio, hay que matarlo (con la opción –k) antes de proceder a purgar, y reiniciarlo después con las opciones originales. Por lo tanto, los comandos apropiados para purgar los índices de todos los grupos usando el primer método es:
    # nnmaster -kF ""
    # nnmaster -lrC

Hay muchas más opciones que pueden ser utilizadas para ajustar el comportamiento de nn. Si le interesa saber cómo eliminar artículos erróneos o agrupar los artículos en un compendio, lea la página de manual de nnmaster.

nnmaster se guía usando un fichero llamado GROUPS, situado en /var/lib/nn. Si no existe inicialmente, se crea. Para cada grupo, contiene una línea que comienza con el nombre del mismo, opcionalmente seguido de una anotación de tiempo y diversos indicadores. Es posible editar dichos indicadores para habilitar un determinado comportamiento para el grupo en cuestión, pero no se debe cambiar el orden en que aparecen los grupos [3] Los indicadores permitidos y sus efectos también vienen detallados en la página de manual de nnmaster.

Notas

[1]

N. del T.: Sin Noticias

[2]

N. del T.: Algo así como si no hay noticias es buena noticia, nn es mejor

[3]

Esto se debe a que el orden debe coincidir con el del fichero binario MASTER