Файл sys

Файл sys, расположенный в /etc/news, управляет иерархией получения и передачи статей другим сайтам. Хотя имеются инструментальные средства addfeed и delfeed, я думаю, что лучше править этот файл вручную.

Файл sys содержит записи для каждого сервера, на который Вы передаете новости, и описание групп, которые Вы принимаете. Запись выглядит так (запись ME обозначает Ваш сайт):

ME:all/all::
Можно добавить по строке для каждого сайта, с которого Вы принимаете новости:

site[/exclusions]:grouplist[/distlist][:flags[:cmds]]

Записи могут быть продолжены на следующей строке, используя наклонную черту влево (\). Знак (#) обозначает комментарий.

site

Является именем сервера к которому применяется запись. Обычно для этого выбирается имя UUCP-сервера. Должна быть запись для Вашего сервера, или Вы не будете получать статьи самостоятельно.

Специальное имя ME обозначает Ваш сервер. Запись ME определяет все локальные группы новостей. Статьи, не подходящие под определение строки ME, попадут в группу junk.

Так как C-News проверяет имена серверов в поле заголовка Path: на основе имен записей, Вы должны удостовериться, что они соответствуют действительности. Некоторые абоненты используют полное имя домена в этом поле или специальное, подобно news.site.domain. Чтобы предотвратить возврат статей к этому абоненту, Вы должны добавить их к списку исключения, отделяя их запятыми.

Для записи о машине moria поле имени сервера (site) содержало бы moria/moria.orcnet.org. Если moria также имеет псевдоним news.orcnet.org, поле site будет содержать moria/moria.orcnet.org,news.orcnet.org.

grouplist

Представляет собой разделенный запятыми список групп и иерархий для данного конкретного сервера. Иерархия может быть определена заданием префикса иерархии (comp.os для всех групп, чьи имена начинаются с этого префикса), необязательно сопровождаемого ключевым словом all (например, comp.os.all).

Иерархия или группа исключается из пересылки приписыванием восклицательного знака. Если группа новостей проверяется по списку, применяется самое длинное соответствие. Например, если grouplist содержит:

!comp,comp.os.linux,comp.folklore.computers
то никакие группы из иерархии comp, за исключением comp.folklore.computers и всех групп из иерархии comp.os.linux, не будут поданы этому серверу.

Если сервер просит послать все новости, которые Вы получаете, впишите all в grouplist .

distlist

Содержит список областей распространения, которым будут посланы статьи. Вы можете исключать некоторые области, ставя перед ними восклицательный знак. Все области обозначены all. Отсутствие distlist подразумевает рассылку всем.

Например, Вы можете использовать список all,!local, чтобы предотвратить рассылку новостей для локального использования отдаленному абоненту.

Обычно имеются по крайней мере две области: world, которая является часто заданным по умолчанию, используемым значением для случая, когда ничего не определено пользователем, и local. Могут иметься другие области. В заключение, имеются две области, используемые только C-News: это sendme и ihave, они используются для протокола sendme/ihave.

flags

Здесь описывются некоторые параметры для feed. Их может не быть, или они могут быть комбинацией следующего:

F

Этот флаг дает возможность пакетированию.

f

Почти идентичен флагу F, но позволяет C-News вычислять размер исходящих пакетов более точно.

I

Этот флаг заставит C-News создать список статей, подходящих для использования ihave/sendme. Дополнительные изменения файлов sys и batchparms требуются, чтобы дать возможность работать ihave/sendme.

n

Это создает командные файлы для активных клиентов передачи NNTP (например, nntpxmit). Командные файлы содержат имя файла статьи наряду с id сообщения (см. главу 22).

L

Предписывает C-News передать только статьи, зарегистрированные на Вашем сервере. Этот флаг может сопровождаться десятичным числом n, которое заставит C-News передать статьи, зарегистрированные только внутри n переходов с Вашего сервера. C-News определяет число переходов по полю Path:.

u

Разрешить C-News принимать только статьи из групп unmoderated.

m

Разрешить C-News принимать только статьи из групп moderated.

Вы можете использовать не больше одного из F, f, I или n.

cmds

Это поле содержит команду, которая будет выполнена для каждой статьи, если пакетирование не допускается. Статья будет подана на стандартный ввод команды. Это должно использоваться для очень малых потоков, иначе нагрузка на обеих системах будет слишком высока.

Заданная по умолчанию команда:

uux - -r -z remote-system!rnews

Она вызывает rnews на удаленной системе, подавая статью на стандартный ввод.

Заданный по умолчанию путь поиска для команд, заданных в этом поле, /bin:/usr/bin:/usr/lib/news/batch. Последний каталог содержит ряд команд оболочки, чьи имена начинается с via. Они будут кратко описаны позже в этой главе.

Если пакетирование допускается использованием флагов F, f, I или n, C-News ожидает найти в этом поле имя файла, а не команду. Если имя файла не начинается с наклонной черты вправо (/), оно воспринимается относительно /var/spool/news/out.going. Если поле пусто, то значение по умолчанию remote-system/togo.

При установке C-News Вам, возможно, придется написать собственный файл sys. Чтобы помочь Вам с этим, я даю типовой файл для vbrew.com ниже, с которого Вы могли бы скопировать то, в чем Вы нуждаетесь:

# We take whatever they give us.
ME:all/all::
# We send everything we receive to moria, except for local and
# brewery-related articles. We use batching.
moria/moria.orcnet.org:all,!to,to.moria/all,!local,!brewery:f:
# We mail comp.risks to [email protected]
ponderosa:comp.risks/all::rmail [email protected]
# swim gets a minor feed
swim/swim.twobirds.com:comp.os.linux,rec.humor.oracle/all,!local:f:
# Log mail map articles for later processing
usenet-maps:comp.mail.maps/all:F:/var/spool/uumaps/work/batch