WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Одним из наиболее популярных пакетов программ для Netnews является C-News.
Он было разработан для сайтов, которые работают с новостями через UUCP. C-News хранит файлы настроек в /etc/news,
большинство исполняемых модулей лежит в иерархии
/usr/lib/news. Статьи хранятся в иерархии
/var/spool/news. Все файлы в этих каталогах должны принадлежать
пользователю news или группе
news. Большинство проблем возникает из-за
того, что C-News не имеет прав доступа к своим файлам. Прежде чем что-то
править в них, используйте команду su, чтобы стать
пользователем news. Исключением является
программа setnewsids, которая используется для
установки реального user ID для программ работы с новостями. Она должна
принадлежать пользователю root и иметь бит
setuid. В этой главе я подробно опишу все файлы конфигурации C-News и покажу, что
именно нужно делать для поддержания пакета в рабочем состоянии. Статьи могут быть поданы C-News разными способами. Когда локальный
пользователь отправляет по почте статью, newsreader (программа для работы с
новостями) обычно вручает ее команде inews, которая
заполняет информацию заголовка. Новости от отдаленного абонента, будь это
одиночная статья или целый пакет, передаются команде rnews
, которая сохраняет их в каталоге
/var/spool/news/in.coming, откуда они будут подняты в более позднее
время программой newsrun. Любым из этих двух методов
статья будет в конечном счете вручена команде relaynews
. Для каждой статьи команда relaynews проверяет,
была ли статья уже замечена на локальной машине, для чего ищет id сообщения в
файле хронологии (history). Копии статьи будут
пропущены. Затем relaynews рассматривает строку
заголовка Newsgroups:, чтобы выяснить, запрашивает
ли локальная машина статьи из любой из этих групп. Если она это делает, и
группа новостей перечислена в файле active,
relaynews пробует сохранить статью в соответствующем
каталоге в области хранения новостей. Если этот каталог не существует, он
будет создан. Id сообщения статьи будет зарегистрирован в файле
history. В противном случае
relaynews пропускает статью. Если relaynews будет не в состоянии сохранить
входящую статью, потому что группа, в которой она была зарегистрирована, не
перечислена в вашем файле active, статья будет
перемещаться в группу junk.
relaynews также проверит старые или статьи без дат и
уничтожит их. Входящие пакеты, которые терпят неудачу по любой другой
причине, перемещаются в /var/spool/news/in.coming/bad
, и регистрируется сообщение об ошибках. После этого статья рассылается всем сайтам, запросившим новости из этой
группы способом, специфичным для каждого конкретного сайта. Чтобы не посылать
статью одному и тому же сайту несколько раз, проверяется поле
Path: заголовка статьи, в нем указываются все
машины, через которые прошла статья. Сайту будет послана статья, только если
он не упомянут в этом поле. C-News обычно используется, чтобы передавать новости между UUCP-машинами,
хотя можно использовать его и в NNTP-среде. Чтобы доставить новости на
удаленную UUCP-машину делается следующее: используется uux
для вызова на удаленной машине команды rnews с
последующей перекачкой статьи или набора статей на эту машину. Подробно UUCP
рассматривается в главе 16. Когда удаленный сайт поддерживает пакетирование, C-News не рассылает
статьи поштучно, а добавляет имена их файлов в некий файл, обычно
out.going/site/togo. Периодически из
crontab вызывается программа пакетирования, которая
записывает статьи в файл, сжимает их, если это задано, и отправляет
rnews на удаленной машине.
Глава 21. C-News
Доставка
новостей
Назад
Глобальное
оглавление
Вперед
Как Usenet обрабатывает
новости?
Установка
Найди своих коллег! |