Библиотека сайта rus-linux.net
5. Новости
5.1 Как настроить онлайновую читалку новостей?
Пока PPP активен, можно читать новости в онлайне. Есть куча доступных программ. Два примера: rtin и trn.
Чтобы начать читать новости, то в большинстве случаев достаточно сделать (обычно только раз и для всех в файле .profile):
export NNTPSERVER=news.acme.xz
Для получения в сообщениях корректного From-address, некоторые программы могут потребовать:
export NNTP_INEWS_DOMAIN=acme.xz
5.2 Как настроить оффлайновую читалку новостей?
Чтобы читать новости в offline и таким образом сократить счета за телефон и достичь большей гибкости, надо установить локальный news-spool. Это потребует усилий по настройке, и также определенного объема дискового пространства. После первичной настройки все должно более или менее благополучно работать, требуя лишь некоторого внимания время от времени.
Здесь описаны два различных решения.
5.3. Как настроить C News?
Здесь описано решение на базе ньюссервера C News и протоколе NNTP. C News предназначался для несколько других целей, но его гибкости хватает и для нашей ситуации. Также можно использовать более свежий продукт - сервер новостей INN, но он может требовать большее количество ресурсов. В любом случае не вздумайте ставить их обоих одновременно; они не дружат друг с другом.
Критично, что обработка новостей делается от имени пользователя news
, и
все конфигурационные файлы находятся в каталоге /usr/lib/news. Один из
способов сделать это, при регистрации как root
выполнить su news; cd
.
Самые важные настроечные файлы это:
-
active - краткое описание активных групп новостей. Он обновляется
командой addgroup, например,
addgroup comp.os.linux.networking y
. -
организация может быть указана по вашему усмотрению в поле заголовка
Organization: , в нашем случае:
Dirk Gently's Holistic Detective Agency
- почтовое имя в нашем случае
acme.xz
. - whoami установливает имя вашего сайта в Path: . В установке, описанной
здесь, с использованием NewsX, это имя никогда не выйдет за пределы
машины, так что можете установить его так, как вам нравится, если только
уверены, что оно уникально. В нашем случае это
roderick
. - sys управляет выборкой и дальнейшим распространением новостей. Допустим,
что ISP в нашем случае добавляет
acme.xz
кPath
, и, что он единственный наш поставщик новостей. Данный пример в действительности говорит о том, что мы будем принимать все, что приходит, и, что мы отсылаем новости только наacme.xz
, который прежде не видели и первоначально отправляли на наш собственный сайт. В этой упрощенной установке мы допустим, что все группы приходят из одного источника./all
определяет дистрибуцию, и должно быть включено. Буква F говорит о том, что все (указатели на) исходящие новости будут складываться в файл. - Должен быть создан подкаталог для исходящих новостей, в нашем случае:
- mailpaths управляет отправкой сообщений в модерируемые группы, хотя эта задача обычно оставляется на усмотрение ISP.
ME:all/all::
acme/acme.xz:all,!junk/all:FL:
mkdir /var/spool/news/out.going/acme
C News нуждаются в определенной доле ежедневного внимания со стороны администратора, но его действия могут быть определены один раз и для всех командой crontab -e для пользователя news. Далее показано как может выглядеть эта установка; она может быть настроена как вам угодно:
# maintain incoming and outgoing batches
10,40 * * * * /usr/lib/newsbin/input/newsrun
# expire C News, once a day
30 0 * * * /usr/lib/newsbin/expire/doexpire
# monitor and report if needed
00 2 * * sat /usr/lib/newsbin/maint/addmissing
40 3 * * * /usr/lib/newsbin/maint/newswatch
50 3 * * * /usr/lib/newsbin/maint/newsdaily
newsrun перемещает входящие и исходящие статьи (дважды в час), doexpire
будет удалять утаревшие статьи (каждую нось в 00:30), а три последние
команды выополняют различные административные и корректирующие ошибки функции.
Нужно также удостовериться, что при запуске машины все чисто. От пользователя root, добавьте строку в /etc/rc.d/rc.local:
su news -c /usr/lib/newsbin/maint/newsboot
News могут обрабатываться программой NewsX, извлекающей новости с
NNTP-сервера. Программа может быть найдена на:
ftp://sunsite.unc.edu/pub/Linux/system/news/transport/newsx-0.9.tar.gz
или:
ftp://ftp.sol.no/user/egilk/newsx-0.9.tar.gz
Установка NewsX предельно проста. Установка в классическом случае:
make
su
make install
exit
Для приведенной установки все, что вы должны сделать - это создать группы, которые вы хотите читать, используя команду "addgroup".
Чтобы выбрать статьи, пользователь news выдает следующие команды (при установке связи по PPP, или аналогичной -):
newsrun
newsx acme news.acme.xz
newsrun
Опция -d дает непрерывную распечатку экрану. За подробной информацией обратитесь к документации NewsX.
NewsX будет также заботиться о регистрации исходящих новостей.
Для управления удалением статей при их устаревании требуется файл explist, требуется. Комментарии в этом примере должны объяснить, что мы делаем:
# hold onto history lines 14 days, nobody gets >120 days
/expired/ x 14 -
/bounds/ x 0-1-120 -
# retain these for 2 months
comp.sources,comp.os.linux.all x 60 -
# noise gets thrown away fast
junk,control x 2 -
# default: 14 days, no archive
all x 14 -
ALT:В маленьком спуле новостей, не требуется частое управление группами новостей. Полезность трафика изменяется в широких пределах. Основная задача состоит в определении, какие статьи отбросить, а какие группы создать автоматически. Чтобы гарантировать, что управляющие сообщения, содержащие новую группу, не создадут у нас беспорядок, в файле, называемом newgroupperm определяется, что именно мы позволяем:
comp.os.linux tale@uunet.com yv
all any nq
В этом примере, будут созданы все группы в иерархии comp.os.linux (y), и
пользовательские новости будут сообщаться (v). Все остальные будут молча (q)
проигнорированы (n). Последняя строка нужна, если вы хотите создавать все
группы вручную.
ALT: Альтернатива NewsX - suck, или slurp совместно с postit. Slurp использует NNTP NEWNEWS, который может работать с несколькими серверами.
5.4 Как настроить Leafnode?
Другое решение состоит в установке интегрированного пакета leafnode. Он выполняет все задачи, требуемые для персонального спула новостей, и легко настраивается. Доступен на:
http://www.troll.no/freebies/leafnode.html
Как для C News, вся обработка новостей ведется от пользователя news.
Домашний каталог для leafnode /usr/lib/leafnode. Для установки введите:
cd /usr/lib/leafnode
tar -xzvf leafnode-0.8.tgz
cd leafnode-0.8
make
su
make install
Заметьте ниже, что префикс /usr/local/sbin должен быть заменен на /usr/sbin, если вы ставите leafnode из пакета.
Оставаясь пользователем root, измените строку, которая управляет NNTP в /etc/inetd.conf:
nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode
Активизация:
killall -HUP inetd
Возвратимся к пользователю news, напечатав exit. В /usr/lib/leafnode/config изменяем строку, которая определяет сервер NNTP. В нашем случае:
server = news.acme.xz
Leafnode будет обслуживать себя добавлением следующей команды через crontab -e от пользователя news:
# expire Leafnode, once a day
0 4 * * * /usr/local/sbin/texpire
Обмен новостями производится также от пользователя news следующей командой (PPP поднят и запущен):
/usr/local/sbin/fetch
Пользователи, которые хотят читать новости, должны после этого использовать
рецепт "Как мне установить онлайновую читалку новостей?", за исключением
того, что их настройки производятся для локальной машины, т.е.:
export NNTPSERVER=localhost
Это должно быть все имеется к этому. Первая выборка почты передаст список доступных групп новостей. Leafnode затем посмотрит, какие группы запрошены пользователями, и соответственно настроится при следующей активизации.
Note that leafnode does not seems to work in cases where NNTP authorization is required. +.LP
ALT: Альтернатива leafnode - nntpcache. Он доступен на:
ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz
ALT: Другая альтернатива - использовать читалку новостей
slrn вместе с пакетом slrn-pull. Читалка новостей должна быть скомпилирована
с поддержкой spool
.