nn foi escrito por Kim F.Storm e clama ser o leitor de notícias cujo principal objetivo não é disponibilizar artigos. Seu nome significa ``Sem Notícias''27.8 e sua chamada diz ``Sem notícias é uma boa notícia. nn é melhor.''
Para atingir este ambicioso objetivo, nn é distribuído com um conjunto de ferramentas de manutenção que permitem não somente a organização por temas, mas também checagens extensivas da consistência destas bases de dados, contabilidade, estatísticas de uso e restrições de acesso. Há também um programa de administração chamado nnadmin, o qual permite que sejam executadas diversas tarefas interativamente. É bastante intuitivo, então não entraremos em muitos detalhes sobre estes aspectos e focalizaremos a geração dos arquivos de índices.
O gerenciador de banco de dados de temas do programa nn é chamado nnmaster. Normalmente é executado como um programa servidor, inicializado pelos programas rc.news ou rc.inet2, sendo acionado da seguinte forma:
Isso habilita a organização por temas de todos os grupos de notícias presentes no arquivo active.
De forma equivalente, pode-se acionar o programa nnmaster periodicamente a partir do cron, fornecendo-se uma lista de grupos. Esta lista é muito similar à lista de subscrição do arquivo sys, exceto pelo fato de neste caso, os grupos serem separados por espaços em branco no lufar de vírgulas. Ao invés de um nome falso de grupo como all, um argumento vazio de deve ser usado significando todos os grupos. Uma execução simples pode ser acionada da seguinte forma:
Note que a ordem é significativa nestes casos: o grupo mais à esquerda especifica os parâmetros que prevalecem sobre os demais. Ou seja se colocássemos o parâmetro !rec.games.go após rec, todos os artigos para este grupo seriam tratados, independentemente da definição posterior. O programa nn oferece diversos métodos de remoção de artigos expirados da suas bases de dados. O primeiro é a atualização da base de dados através da pesquisa dos diretórios de grupos de notícias, descartando as entradas que correspondam a artigos não mais disponíveis. Esta é a operação padrão ao se acionar o programa nnmaster com a opção -E. Ela á relativamente rápida, a menos que esteja sendo realizada via NNTP. O método 2 comporta-se exatamente como o padrão da execução da expiração do programa mthreads, na qual ele remove as entradas que se referem a artigos cujo número seja inferior ao artigo mais antigo ainda não expirado do arquivo active. Ele pode ser habilitado através da opção -e.
Finalmente, o método 3 consiste em descartar toda a base de dados e reconstruí-la totalmente. Isso pode ser feito através da opção -E3 do programa nnmaster.
A lista de grupos a serem verificados pode ser fornecida através da opção -F no mesmo formato acima. De qualquer forma, caso se tenha o programa nnmaster sendo executado como servidor, deve-se finalizá-lo através da opção -k, antes da opção de verificação de expiração poder atuar e posteriormente ele deve ser reinicializado com as opções originais.
Este é o comando adequado para acionar a opção de verificação de expiração para todos os grupos usando-se o método 1:
Há diversos outros indicadores que podem ser utilizados para refinar o comportamento do programa nn. Caso se deseje remover artigos ou resumos de artigos, sugerimos a leitura da página de manual do programa nnmaster.
O programa nnmaster baseia-se em um arquivo chamado GROUPS, o qual está localizado em uma área denominada /usr/local/lib/nn. Caso ele não exista inicialmente, então será criado. Para cada grupo de notícias, ele contém uma linha que começa com o nome do grupo, seguido opcionalmente por um indicador de data e hora e indicadores, os quais podem ser editados para se obter um certo comportamento personalizado para o grupo em questão. Não se pode alterar a ordem em que os grupos aparecem neste arquivo.27.9 Os indicadores permitidos e seus efeitos são detalhados também nas páginas de manual do programa nnmaster.