• -n
. Данная опция сообщает о том, что сообщения групп, с которыми пользователи перестали работать, должны по-прежнему копироваться с сервера.
• -f.
Если вы считаете, что список групп, предоставляемых внешним сервером, устарел, вы можете задать с помощью данной опции обновление списка. (По умолчанию программа автоматически копирует с сервера новый список групп один раз в 90 дней.) Для выполнения этой операции может потребоваться достаточно длительное время.
• -P
. Данная опция указывает программе fetchnews
на то, что сообщения, составленные локальными пользователями, должны быть переданы на внешний сервер, но копировать с сервера материалы групп не следует.
В обычных условиях, для того, чтобы пользователь увидел в составе группы переданное им сообщение, необходимо дважды вызвать программу fetchnews
. Чтобы новые сообщения стали доступны после очередного выполнения fetchnews
, надо предварительно вызвать fetchnews
с опцией -P
. В Leafnode 2.0 задержка при получении собственных сообщений не возникает, поэтому предварительный вызов fеtchnews
не требуется.
Принимая меры для организации работы Leafnode, необходимо решить, каким способом следует вызывать программу fetchnews
. Вы можете задать периодическое выполнение данной программы посредством инструмента либо включить вызов в состав сценария, посредством которого устанавливается PPP-соединение (примером такого сценария является ppp-on-dialer
, рассмотренный в главе 2). Вызов fetchnews
посредством cron
имеет смысл, если у вас есть постоянное соединение с Internet либо если вы хотите автоматически устанавливать соединение с Internet и получать данные с внешнего сервера новостей в то время, когда этот сервер наименее загружен, например рано утром. Ответить на вопрос о том, насколько часто следует вызывать программу fetchnews
, можно лишь, зная потребности ваших пользователей и возможности внешнего сервера по предоставлению данных. Вызывая fetchnews
посредством сценария установки PPP-соединения вы предоставите вашим пользователям наиболее новые сообщения (насколько это позволяет график установления соединений с Internet).
Программа texpire
анализирует сообщения, хранящиеся на компьютере, и удаляет те из них, которые в соответствии с установками в файле /etc/leafnode/config
считаются устаревшими. Удаление старых сообщений должно проводиться регулярно, иначе жесткий диск компьютера переполнится. Как правило, программа texpire
вызывается с помощью инструмента cron
. В некоторых пакетах Leafnode предусмотрен специальный сценарий, который помещается в /etc/cron.daily
или другой подобный каталог. Если такого сценария нет, вам надо создать его самостоятельно или спланировать вызовы texpire
с помощью утилиты crontab
.
Принимая решение об удалении сообщений, программа texpire
учитывает данные о потоках. (Потоком называется исходное сообщение и все ответы на него.) Сообщение удаляется только в том случае, если в течение времени, превышающего срок действия сообщения, не было обращений к потоку. Если кто-либо из пользователей недавно просматривал содержимое потока, к которому принадлежит сообщение, оно может храниться на компьютере дольше, чем это предусмотрено в конфигурационном файле.
Подобно fetchnews
, при вызове texpire
может быть указано от одной до четырех опций -v
. Среди других опций следует особо отметить опцию -f
. В обычных условиях, чтобы убедиться в том, что данные потока не просматривались, texpire
анализирует время последнего обращения к файлам. Опция -f
сообщает texpire
о том, что эту информацию следует игнорировать. Дело в том, что многие программы-архиваторы, в частности tar, изменяют дату последнего доступа к архивируемым файлам. Если вы часто архивируете материалы групп новостей, создается неверное впечатление о том, что сообщения недавно просматривались. Избежать этого позволяет опция -f
.
Фильтрация сообщений
Leafnode позволяет удалять сообщения, соответствующие определенным критериям. Решение об удалении принимается исходя из информации, содержащейся в заголовке сообщения. Предположим, например, что в статьях, получаемых от пользователя [email protected]
постоянно встречаются высказывания, оскорбляющие ваших пользователей. Указанное имя присутствует в заголовке в качестве значения поля From. На основе этой информации Leafnode может 'отфильтровать' сообщения данного пользователя. Для этого вам надо включить соответствующее выражение в файл /etc/leafnode/filters
, содержащий правила фильтрации. Правила в файле /etc/leafnode/filters
имеют вид регулярных выражений. Например, если вы хотите удалять сообщения, поступающие от пользователя [email protected]
, необходимое для этого выражение будет иметь следующий вид:
^From:.*[email protected]
Данное выражение начинается с символа ^
, за которым следует имя заголовка (в данном случае From:
). Символы .*
, используемые совместно, означают любое число произвольных символов. Строка [email protected]
указывается непосредственно, но так как точка имеет в языке регулярных выражений специальное значение, перед ней указывается обратная косая черта ().
Более подробно регулярные выражения будут рассмотрены в главе 19.
Для фильтрации сообщений вам надо указать Leafnode расположение файлов фильтров. Для этого можно использовать опцию filterfile
в файле /etc/leafnode/config
, о которой шла речь ранее в данной главе. Несмотря на то что фильтры обычно располагаются в каталоге /etc/leafnode/filters
, вы можете указать любое имя файла и любой путь к нему.
Резюме
Серверы новостей потребляют значительные ресурсы. Для поддержки групп новостей Usenet необходимо ежедневно передавать большой объем данных, кроме того, эти данные приходится хранить в течение нескольких дней. Чтобы инсталлировать полнофункциональный сервер новостей, необходим отдельный компьютер с дисковым пространством в десятки и даже сотни гигабайт. Если ваши потребности более скромны, вы можете установить сервер новостей, не реализуя взаимодействие его с Usenet. С помощью такого сервера можно обеспечить работу нескольких локальных групп новостей и даже групп, доступных для всего мира. Как для поддержки Usenet в полном объеме, так и для организации локальных групп используется сервер INN, который может выполняться в среде Linux. Функционирование этого сервера обеспечивает несколько взаимодействующих друг с другом программ; для их настройки используется несколько конфигурационных файлов. С помощью этих файлов вы можете описывать группы новостей, которые должны поддерживаться на сервере, задавать политику взаимодействия с другими серверами и клиентами, а также определять прочие характеристики сервера.