Аннотация |
Этот HOWTO поможет вам настроить Leafnode. Маленький беcплатный сервер новостей Usenet. С вопросами, замечаниями и предложениями обращайтесь к Florian Kuehnert (sutok@gmx.de). (C) 1998 by Florian Kuehnert. |
Обычно, если вы хотите читать новости в offline, на вашем компьютере должен быть установлен сервер новостей (INN или CNews). К тому же у вас должен быть доступ через nntp или uucp к серверу новостей вашего провайдера. На самом деле, эти пакеты содержат намного больше возможностей, чем вам может понадобиться, так что лучший выход - это поставить себе Leafnode.
Leafnode намного проще в использовании и намного меньше в размерах, но имеет несколько недостатков: медленно работает и при сбое может потерять некоторые сообщения. Вот почему вы не должны использовать его в качестве большого сервера новостей, но тем не менее, это подходящее решение для обычных пользователей, которые не хотят тратить много времени на настройку INN.
Leafnode доступен на ftp://ftp.troll.no/pub/freebies/. Автор - Arnt Gulbrandsen, служащий Troll Tech AS. Последняя версия 1.4. Кроме того, Leafnode включен в состав некоторых дистрибутивов (например, Debian). Однако, убедитесь, что у вас, как минимум, версия 1.4, в которой были исправлены некоторые критические ошибки.
Небольшая помощь в установке идет вместе с пакетом, но давайте сделаем это вместе :-) - Если Leafnode v1.4 входит в состав вашего дистрибутива, достаточно мудро будет использовать скомпилированную версию и пропустить шаги с 1 по 4.
1.) Убедитесь, что на вашем компьютере нет другого запущенного сервера новостей. Когда вы наберете $ telnet localhost nntp, то вы должны получить сообщение об ошибке. В противном случае, нужно деинсталлировать INN, CNews или другой сервер новостей, и закомментировать строчку nntp в файле /etc/inetd.conf.
2.) Убедитесь, что существует пользователь "news" - проверьте его в файле /etc/passwd. Если нет, создайте его (просто наберите $ adduser news или сделайте нечто подобное при помощи утилит, поставляемых с вашим дистрибутивом).
3.) Распакуйте исходные тексты: $ tar xfz leafnode-1.4.tar.gz и перейдите в каталог $ cd leafnode-1.4
4.) Скомпилируйте программу и установите ее $ make; make install
5.) Отредактируйте файл /usr/lib/leafnode/config (он может находиться в другом месте. Например, в /etc/leafnode, если вы используете готовую версию из вашего дистрибутива). Строка "server =" должна указывать на сервер новостей вашего провайдера.
6.) Отредактируйте файл /etc/nntpserver. Он должен содержать имя вашего компьютера (localhost или другое, выдаваемое командой hostname). Если в каком-нибудь файле запуска (/etc/profile или /.bash_profile) определяется соответствующая переменная окружения, вы должны установить ей аналогичное значение.
7.) Отредактируйте файл /etc/inetd.conf: Убедитесь, что в нем нет строки, начинающейся с "nntp" (закомментируйте ее символом "#", если это так). Затем добавьте следующую строчку: nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode Когда кто-то (например вы :-) подключится к вашему компьютеру на порт NNTP в качестве сервера запустится leafnode.
8.) Подключитесь к Интернет и запустите программу "fetch" от пользователя root или news. Когда fetch запускается в первый раз, он скачивает список групп новостей вашего пройвадера. Это может занять некоторое время, в зависимости от скорости соединения и количества групп.
9.) Запустите вашу любимую программу чтения новостей (slrn, (r)tin и knews - не очень плохое начало) и подпишитесь на все группы, которые хотели бы получать. Причем не только подпишитесь, но и зайдите в них, даже если они пусты.
10.) Снова запустите fetch и загрузите все новости групп, на которые подписаны.
Теперь ваша система новостей запущена и работает, но можно сделать еще несколько вещей. Отредактируйте файл /usr/lib/leafnode/config, чтобы установить время устаревания групп, т.е. когда старые сообщения должны удаляться. Если вы читаете какие-нибудь группы с большим трафиком, стандартное время в 20 дней возможно окажется слишком большим для вас - 4 дня или одна неделя, я думаю, вас больше устроит. Можно изменить это значение для всех групп ("expire = n" хранит все группы n дней) или для каждой группы отдельно, написав groupexpire foo.bar n для хранения сообщений группы foo.bar n дней.
Установка времени сама по себе не удаляет старые сообщения - это производит программа texpire. Она может быть запущена, как задание, из cron или из командной строки. Если ваш компьютер работает круглосуточно, можно добавить следующую строку в файл crontab пользователя news (чтобы изменить его, войдите как news и наберите "crontab -e" или наберите как root "crontab -u news -e"):
0 19 * * * /usr/local/sbin/texpire |
Leafnode - "самый настоящий" NNTP сервер, т.е. вы можете также войти в него с другого компьютера (через Internet, локальную сеть и т.п.). Каждый раз, когда вы входите в группу, программа чтения новостей запрашивает ее у leafnode. Если группа не существует, leafnode создает пустой файл, названный согласно группе, в каталоге /var/spool/news/interesting.groups. Когда вы запустите fetch в следующий раз, он загрузит сообщения группы. Если группа новостей не посещалась определенное время, leafnode перестанет загружать ее статьи и удалит ее имя из /var/spool/news/interesting.groups. Аналогично, если вы случайно подписались на группу новостей с большим трафиком, то можно самостоятельно удалить оттуда свой файл, если не хотите загружать сообщения этой группы в течении следующей недели.
Недели для Вас не достаточно? Вы хотите уйти в отпуск на три недели и продолжать получать новости? К сожалению, в leafnode нет опции для настройки этого, но вы можете отредактировать файл leafnode.h и перекомпилировать leafnode. Просто установите время в секундах в константах TIMEOUT_LONG и TIMEOUT_SHORT. Другое, более простое решение определить задание для cron, выполняющееся каждую ночь "touch /var/spool/news/interesting.groups/*".
Если вы хотите узнать список всех доступных групп, загляните в файл /usr/lib/leafnode/groupinfo, где найдете короткое описание к каждой группе.
Если хотите снова загрузить список групп новостей (например, захотите почитать новую группу), просто удалите файл /var/spool/news/active.read. Fetch создаст его и получит новый список. Впрочем, вам не нужно следить за этим постоянно, т.к. fetch время от времени делает это сам.
Под Linux нет *настоящей* программы чтения новостей, впрочем, как нет и *настоящего* текстового редактора. Я пользуюсь emacs в режиме GNU, т.к. это самый гибкий редактор под Linux. Многие пользуются trn, nn и др., так что можете попробовать любую программу на свой вкус. Только одной программой не стоит пользоваться - Netscape. Он большой, нестабильный, с маленькими возможностями и иногда создает корявые сообщения. Впрочем, вам выбирать.
В любом случае, knews - это неплохая отправная точка, чтобы набрать первый опыт. Он очень дружественен и легок в понимании.
Кое-какая документация идет вместе с пакетом Leafnode (почитайте файлы INSTALL и README, да и исходные тексты тоже очень интересны). Если вы хотите больше узнать о "профессиональных" и "больших" серверах новостей, посмотрите INN FAQ (идущий вместе с пакетом INN). Для того чтобы узнать информацию о вашей программе чтения новостей, наберите "man имя_программы", или посмотрите другие файлы в каталоге /usr/doc.
Если у вас есть вопросы относительно систем новостей, просто спросите об этом в соответствующей конференции (посмотрите в иерархии news.software.*).
Если у вас есть вопросы относительно этого HOWTO, просто напишите мне (sutok@gmx.de).
Я хочу поблагодарить Michael Schulz (michaels@home.on-luebeck.de) за его помощь в решении языковых проблем и Cornelius Krasel (krasel@wpxx02.toxi.uni-wuerzburg.de) за его идею с "touch *".
Авторские права на русский перевод этого текста принадлежат ╘ 2000 ASPLinux Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: <linux-howto@metalab.unc.edu> или к координатору русского перевода Linux HOWTO компании ASPLinux по адресу <linux-howto@asplinux.ru>