. Если вы встретились с проблемами при копировании материалов групп, вызов программы с указанием данной опции позволит скопировать сообщения с предшествующими номерами.
•
– 1
. Как было сказано ранее, Leafnode позволяет получать материалы групп с различных серверов. Данная опция указывает на то, что данные должны быть скопированы только с первого сервера.
•
– 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 позволяет удалять сообщения, соответствующие определенным критериям. Решение об удалении принимается исходя из информации, содержащейся в заголовке сообщения. Предположим, например, что в статьях, получаемых от пользователя
obnoxious@annoying.com
постоянно встречаются высказывания, оскорбляющие ваших пользователей. Указанное имя присутствует в заголовке в качестве значения поля From. На основе этой информации Leafnode может "отфильтровать" сообщения данного пользователя. Для этого вам надо включить соответствующее выражение в файл
/etc/leafnode/filters
, содержащий правила фильтрации. Правила в файле
/etc/leafnode/filters
имеют вид регулярных выражений. Например, если вы хотите удалять сообщения, поступающие от пользователя
obnoxious@annoying.edu
, необходимое для этого выражение будет иметь следующий вид:
^From:.*obnoxious@annoying\.edu
Данное выражение начинается с символа
^
, за которым следует имя заголовка (в данном случае
From:
). Символы .
*
, используемые совместно, означают любое число произвольных символов. Строка
obnoxious@annoying.edu
указывается непосредственно, но так как точка имеет в языке регулярных выражений специальное значение, перед ней указывается обратная косая черта (
\
).
На заметку
Более подробно регулярные выражения будут рассмотрены в главе 19.
Для фильтрации сообщений вам надо указать Leafnode расположение файлов фильтров. Для этого можно использовать опцию
filterfile
в файле
/etc/leafnode/config
, о которой шла речь ранее в данной главе. Несмотря на то что фильтры обычно располагаются в каталоге
/etc/leafnode/filters
, вы можете указать любое имя файла и любой путь к нему.
Резюме
Серверы новостей потребляют значительные ресурсы. Для поддержки групп новостей Usenet необходимо ежедневно передавать большой объем данных, кроме того, эти данные приходится хранить в течение нескольких дней. Чтобы инсталлировать полнофункциональный сервер новостей, необходим отдельный компьютер с дисковым пространством в десятки и даже сотни гигабайт. Если ваши потребности более скромны, вы можете установить сервер новостей, не реализуя взаимодействие его с Usenet. С помощью такого сервера можно обеспечить работу нескольких локальных групп новостей и даже групп, доступных для всего мира. Как для поддержки Usenet в полном объеме, так и для организации локальных групп используется сервер INN, который может выполняться в среде Linux. Функционирование этого сервера обеспечивает несколько взаимодействующих друг с другом программ; для их настройки используется несколько конфигурационных файлов. С помощью этих файлов вы можете описывать группы новостей, которые должны поддерживаться на сервере, задавать политику взаимодействия с другими серверами и клиентами, а также определять прочие характеристики сервера.
Если число пользователей, которым необходим доступ к материалам групп новостей, невелико и если в круг их интересов попадает лишь небольшое число групп, с задачей обслуживания этих пользователей может справиться сервер с ограниченными функциональными возможностями. В качестве такого сервера можно использовать пакет Leafnode. Он копирует с внешнего сервера лишь материалы тех групп, которые интересуют локальных пользователей, и применяет для передачи сообщений подмножество протокола NNTP. Такой сервер хорошо подходит для небольших офисов и даже для домашнего использования. Leafnode и другие подобные продукты обладают важным преимуществом: они могут работать при отсутствии постоянного соединения с Internet. Во время сеанса связи с провайдером они копируют с внешнего сервера требуемые материалы и предоставляют пользователям возможность работать с группами новостей в автономном режиме.