Чтобы читать новости в offline и таким образом сократить счета за телефон и
достичь большей гибкости, надо установить локальный news-spool. Это
потребует усилий по настройке, и также определенного объема дискового
пространства. После первичной настройки все должно более или менее
благополучно работать, требуя лишь некоторого внимания время от времени.
Здесь описано решение на базе ньюссервера 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.net.
whoami установливает имя вашего сайта в Path: . В установке, описанной
здесь, с использованием NewsX, это имя никогда не выйдет за пределы
машины, так что можете установить его так, как вам нравится, если только
уверены, что оно уникально.
sys управляет выборкой и дальнейшим распространением новостей. Допустим,
что ISP в нашем случае добавляет acme.net к Path, и, что он единственный
наш поставщик новостей. Данный пример в действительности говорит о том,
что мы будем принимать все, что приходит, и, что мы отсылаем новости
только на acme.net, который прежде не видели и первоначально отправляли
на наш собственный сайт. В этой упрощенной установке мы допустим, что все
группы приходят из одного источника. /all определяет дистрибуцию, и
должно быть включено. Буква F говорит о том, что все (указатели на)
исходящие новости будут складываться в файл.
ME:all/all::
acme/acme.net:all,!junk/all:FL:
Должен быть создан подкаталог для исходящих новостей, в нашем случае:
mkdir /var/spool/news/out.going/acme
mailpaths управляет отправкой сообщений в модерируемые группы, хотя
эта задача обычно оставляется на усмотрение ISP.
C News нуждаются в определенной доле ежедневного внимания со стороны
администратора, но его действия могут быть определены один раз и для всех
командой crontab -e для пользователя news. Далее показано как может выглядеть
эта установка; она может быть настроена как вам угодно:
# maintain incoming и outgoing batches
10,40 * * * * /usr/lib/newsbin/input/newsrun
# expire C News, once a day
30 0 * * * /usr/lib/newsbin/expire/doexpire
# monitor и 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-сервера. Программа может быть найдена на:
Установка NewsX предельно проста. Установка в классическом случае:
make
su
make install
exit
Для приведенной установки все, что вы должны сделать - это создать группы,
которые вы хотите читать, используя команду "addgroup".
Чтобы выбрать статьи, пользователь news выдает следующие команды (при
установке связи по PPP, или аналогичной -):
newsrun
newsx acme news.acme.net
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, который может работать с несколькими серверами.
Другое решение состоит в установке интегрированного пакета leafnode.
Он выполняет все задачи, требуемые для персонального спула новостей,
и легко настраивается. Доступен на:
Возвратимся к пользователю news, напечатав exit. В /usr/lib/leafnode/config
изменяем строку, которая определяет сервер NNTP. В нашем случае:
server = news.acme.net
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 затем посмотрит, какие группы запрошены
пользователями, и соответственно настроится при следующей активизации.
ALT: Альтернатива leafnode - nntpcache. Он доступен на:
Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!