Ключевые слова:fido, linux, usenet, ifcico, (найти похожие документы)
From: Алексей Литвинюк <[email protected]>
Date: Mon, 28 Feb 2004 14:31:37 +0000 (UTC)
Subject: Практическое руководство по обеспечению работы Фидо под Linux
Оригинал: http://litvinuke.hut.ru/articles/
Фидо под Linux. Практическое руководство.
Часть 1. Введение
Часть 2. ifcico
Часть 3. CrashMail
Часть 4. GoldEdit
Автор: Алексей Литвинюк <[email protected]>
Источник: Компьютерная газета http://www.nestor.minsk.by/kg
Фидо под Linux. Практическое руководство. Часть 1. Введение
09-09-2002
Множество фидошников, которые решили полностью перейти на Linux,
сталкиваются с большим количеством проблем, возникающих при попытке
настройки программного обеспечения для работы с сетями FTN-типа в
Linux. Проблемы возникают не только в настройке и в самом процессе
инсталляции. Существует множество неплохой документации по этой теме,
но в основном она либо не раскрывает некоторые существенные моменты,
либо написана сложным языком и непонятна пользователю, который только
хочет вступить в ряды фидошников и осуществить это именно из-под
Linux, и, можно сказать, основная проблема -- это то, что в любом
случае приходится читать много литературы на иностранном языке (в
основном английский). Это связано с тем, что большая часть
программного обеспечения написана за рубежом. Не так давно и я
столкнулся с проблемой настройки софта под Linux. В этом цикле статей
я хотел бы поделиться опытом настройки базовой конфигурации
поинт-машины для работы в FTN-сетях (читай Fidonet) под Linux.
Начнем, пожалуй, с рассмотрения того, что же мы собираемся
устанавливать и конфигурировать.
Для работы с Fidonet и чтения конференций в Linux существует два
подхода: первый -- это настроить гейтование входящей эхо-почты в
news-базы usenet'овских статей, после чего их без труда можно читать
при помощи любой читалки usenet, будь то pin, nn или gnus из Emacs;
второй -- это более простой и наиболее подходящий метод, заключается в
использовании родного тоссера и редактора писем.
В этой статье мы будем рассматривать второй подход. Во-первых, это
легче воспримется малоопытными пользователями и, во-вторых, второй
вариант в основном используется при совмещении баз usenet и fido,
причем почта, как правило, забирается по IP-протоколу, что не всем
подходит.
Выбрав второй вариант, разберемся с необходимым софтом. Итак, в
основном комплект фидо-софта строится на трех основных элементах:
mailer (звонилка), tosser (менеджер эхо конференций) и editor
(редактор). Иногда последние два могут совмещаться в одном пакете.
Теперь разберемся, каким образом все эти компоненты уживаются и
функционируют в симбиозе.
Мейлер предназначен для осуществления исходящих звонков (мы
подразумеваем конфигурацию поинт-машины). С помощью этой программы вы
можете звонить на ваш узел, забирать предназначенную для вас почту и
отправлять свои письма соответственно в конференции или в netmail.
В качестве примера почтового мейлера можно привести: ifcico из пакета
ifmail, bforce, qico и др.
Для того чтобы разбирать входящую почту и класть письма в
соответствующие области (конференции/netmail) и паковать исходящую от
вас почту, используется тоссер.
Помимо перечисленных выше основных функций, тоссер также может
выполнять множество функций, таких как: сжатие баз с конференциями, их
линковка (связывание по тематике писем) и много чего еще. Сегодня
широко распространены тоссеры hpt (aka husky) -- популярен тем, что
поддерживает squish-формат баз конференций; crashmail работает с
форматом Jam; QEcho и др.
Помимо этих, можно также использовать тоссеры из многих
специализированных пакетов, например fidogate.
Почтовые редакторы нужны непосредственно для чтения и участия в
фидо-конференциях. Если пакет вашего тоссера имеет специфический
формат базы конференций, то он должен иметь и свой собственный
редактор.
К такого вида тоссерам относится QEcho. В случае если вы пользуетесь
тоссерами hpt или crashmail, то лучшим выбором, на мой взгляд, будет
GoldEd. Этот редактор зарекомендовал себя как стандарт де-факто в фидо
благодаря удобному интерфейсу.
Изначально он был написан Одином Соренсоном и впоследствии развит
множеством разработчиков во всем мире благодаря открытию Одином
исходного кода. Этот редактор существует под четырьмя самыми
распространенными платформами: Linux, OS/2, DOS (DPMI) и Windows.
Все эти три основные программы должны действовать сообща. Это
означает, что по отдельности мало какой их них может использоваться
для каких-то целей. А стоит учесть, что производители-то, как правило,
у каждой программы разные. Поэтому следует осуществить некий механизм
взаимодействия между ними.
На первый взгляд это может показаться несколько сложным, но это не
так.
Объединение их в связку заключается в написании нескольких скриптов на
shell и указании единых директорий, например, для входящей и исходящей
почты. Но все это мы рассмотрим, когда дело дойдет до конфигурации и
установки отдельных частей в следующих статьях.
В конце я хочу выделить еще несколько не менее важных компонентов
фидо-софта, которые могут облегчить и без того нелегкую жизнь
фидошника.
Файлэхо-процессор. Странно, что я не внес его в число основных
компонентов, потому как без него мало кто может обойтись. А
предназначен он для того, чтобы разбирать и складывать по директориям
приходящие по файловым конференциям файлы, сопровождаемые tic-файлами,
и из-за этого их еще иногда называют tic-процессорами. Один из самых
популярных tic-процессоров -- qtic.
Netmail треккеры. Этот софт предназначен для обработки входящего
netmail'а (обычной фидо-почты). С их помощью вы сможете складывать по
директориям письма, пришедшие с определенных адресов, писать письма с
любого вашего aka (also known as) и много-много чего еще. В качестве
примера приведу ftrack.
Практически каждая из вышеперечисленных программ имеет свои
неповторимые особенности при сборке, установке и настройке.
Многие фидошники используют дос-эмулятор dosemu только потому, что не
желают устанавливать и настраивать фидо под Linux. При этом они теряют
кучу удовольствия, которое получает любой фидошник при работе с родным
программным обеспечением этой операционной системы.
Познакомившись с тем, чем можно пользоваться, работая с Linux,
остановим выбор на следующей конфигурации, по которой мы и будем в
дальнейшем строить свою работу с Fidonet:
Почтовая программа (mailer): -- ifcico (из пакета ifmail)
Эхо-процессор (тоссер): -- crashmail
Редактор: -- GoldEd
Tic-процессор: -- qtic
В следующих статьях мы разберем сборку, установку и настройку этого
софта в порядке очереди.
Фидо под Linux. Практическое руководство. Часть 2. ifcico
09-09-2002
Вкратце разобрав состав фидо-софта в предыдущей статье, я привел
список программ, которые вам предстоит достать, установить и настроить
для успешной работы с фидо под Linux. Первой из таких программ
оказалась ifcico из пакета ifmail. С ее помощью вы сможете
обмениваться почтой с другими узлами фидо по телефонным соединениям,
используя как стандартные фидошные протоколы, так и IP.
Для того, чтобы начать установку и настройку вашей звонилки (так
подобного рода программы величают в народе), ее нужно скачать или
взять у друзей, если есть у кого. Со вторым вариантом я мало чем смогу
вам помочь, если только посоветую найти ваш региональный Linux Users
Club. Этот вариант был бы предпочтительнее, так как помимо
программного обеспечения вы могли бы получить еще и бесплатные
консультации в виде ответов на интересующие вас вопросы. Если вы не
смогли найти и знаете, что такого клуба у вас поблизости нет, то пакет
ifmail можно взять по следующим адресам:
http://www.z2.fidonet.org/ifmail-tx/ftp://ftp.z2.fidonet.org/pub/linux/Fido/http://www.average.org/ifmail/ftp://ftp.average.org/pub/ifmail/
Я не случайно привел целый список адресов для поиска ifmail. Дело в
том, что ifmail изначально написан Евгением Гроссером, который
распространял свой пакет с исходными текстами, из-за этого появилось
множество дополнений и улучшений ifmail, некоторые из них идут
отдельными патчами, а некоторые уже пропатчеными версиями ifmail. В
результате имеем множество версий пакета ifmail от разных авторов.
После того, как вы нашли пакет с ifmail, его следует установить. В
случае, если это архив (.gz или.bz2), то для начала распакуйте его в
одну из директорий. Перед установкой отредактируйте файл CONFIG. В нем
определены некоторые переменные, определяющие параметры установки,
такие как: директории, расположение конфигурационных файлов, параметры
при компиляции и пр. Теперь, находясь в директории, где вы распаковали
архив, наберите сначала "make" для компиляции, а после "make install",
чтобы ifmail установил себя (распределив свои файлы по определенным
директориям). Если при этом вы не получили сообщение об ошибке, то на
этом этап установки и компиляции ifmail из архива завершен. Если все
же получили, то внимательно изучите сообщение об ошибке. Если из
сообщения видно, что не найден ndbm.h или dbm.h, то эти файлы вам
следует взять из любого пакета gdbm-* и скопировать в /usr/include. В
случае, если появятся еще какие-либо неполадки, то следует или сменить
дистрибутив на более новый/старый, или же попытаться найти описание
вашей ошибки, например, на www.opennet.ru.
Если у вас RPM-пакет (.rpm) или.deb, то проблем быть не должно (если,
конечно же, эти пакеты не устанавливают исходники ifmail'а;)). Deb
пакеты можно установить при помощи dpkg, а rpm -- при помощи
одноименной утилиты. Например:
rpm -Uvh ifmail-VERSION-*.rpm
Итак, вы пробились-таки и подошли к следующему этапу: настройке
ifmail. Из всего пакета мы в основном будем пользоваться лишь
несколькими утилитами. Это ifcico -- звонилка и ifindex -- компилятор
нодлиста. Настройка ifcico заключается в редактировании нескольких
конфигурационных файлов. Она находится в директории, которая была
описана как CONFIGDIR, в файле CONFIG. Обычно это /etc/fidonet. Из
всех находящихся там файлов нам интересен лишь один -- ifmail.conf.
Открываем его и начинаем редактировать:
logfile /var/log/fidonet/ifmail.log
Эта переменная указывает на имя лог файла.
debugfile /var/log/fidonet/ifmail.debug
Этот файл используется для отладки. Уровень режима отладки задается
следующей переменной:
verbose 0
Далее идет определение всех адресов системы. Параметр address может
использоваться многократно:
address 2:454/2.110@Fidonet
address 2:454/5.75@Fidonet
address 2:454/23.41@Fidonet
address 2:454/26.8@fidonet
Параметр password определяет ваши пароли для EMSI соединений:
password 2:454/2 secret1
password 2:454/5 secret2
password 2:454/23 secret3
password 2:454/26 secret4
Следующие параметры можно опустить, оставив значение по умолчанию.
Остановимся на inbound. Он определяет директорию, куда будут
складываться все файлы, полученные с узлов.
inbound /var/spool/fidonet/ inbound
listinbound /var/spool/fidonet/ inbound
protinbound /var/spool/fidonet/ inbound
outbound задает директорию для исходящих файлов:
outbound /var/spool/fidonet/outbound
dosoutbound /var/spool/fidonet/
inbound -- нужно определить, если вы пользуетесь тоссерами, которые
сопровождают пакеты .flo-файлами.
Далее оставляем все без изменений.
Параметр nodelist определяет файл (именно файл, а не директорию) с
нодлистом:
nodelist /var/spool/fidonet/node-list/net454.ndl
Следующей строчкой мы просим ifmail заменять домены @fidonet на @fidonet.org
domtrans.fidonet.fidonet.org
Важные параметры: unzip, unarj, unarc и unzoo задают программы для
распаковки входящей почты. Но нам их определение здесь не понадобится,
так как действие по разбору почты будет выполняться crashmail'ом. Там
мы и вернемся к этому вопросу. Пока их можете оставить без изменений.
Дальше идет секция параметров дозвона. И первый параметр ModemPort
задает порт модема и его скорость. ttyS0 -- Com1, ttyS1 -- Com2, ttyS2
-- Com3 и т.д.
ModemPort ttyS2:L38400
После этого -- определение параметров модема и замены в телефонных
номерах из нодлиста:
PhoneTrans 375-162 /
PhoneTrans 375-172 / 8w0172
Приводим номера из нодлиста в понятный для ifcico вид
ModemReset ATZ
Инициализация модема.
ModemDial ATDPT
Префикс дозвона. Если вы хотите выключить динамик -- используйте
ATM0DPT
ModemHangup ATH0
Повесить трубку.
ModemOK OK
ModemConnect CONNECT
ModemError BUSY
ModemError NOsCARRIER
ModemError NOsDIAL
ModemError RING
ModemError ERROR
Далее идут списки ответов модема. С их помощью мы, например, можем
устанавливать соединение только на определенной скорости, например
33600:
ModemConnect CONNECT 33600
Перед тем, как писать это, проверьте, что ваш модем реально пишет при
соединении.
Переменные, задающие время ожидания (timeout):
TimeoutReset 3 # Интервал, в течении которого должен
проинициализироваться модем
TimeoutConnect 70 # Время, которое отводится на установление
соединения, начиная от набора номера до соединения
DialDelay 3 # Время ожидания перед набором номера
И наконец, описываем параметры своей системы:
Name Linux-station
Location Brest, Belarus
SysOp Alexey Litvinuke
Phone 375-162-PHONE
Speed 33600
Flags XA,V32B,V42B
Ifcico сконфигурирован. Осталось скомпилировать нодлист и научиться
звонить на узлы.
Компиляция нодлиста довольно тривиальна, -- наберите в шелле "ifindex"
(без кавычек), и он сам все за вас сделает.
Что же касается прозвонок, то для этого необходимо либо создать
пустой.*lo файл, или же форсить станцию вручную:
ifcico f23.n454
В этом примере ifcico будет звонить на 2:454/23.
Если вы запустите ifcico без параметров, то ничего происходить не
будет, так как вы запустили его в slave-режиме. В этом случае следует
немного подождать, и ifcico сама завершит свою работу (Ctrl-C, Ctrl-Z
не помогут, если только kill PID с другой консоли).
Чтобы запустить ifcico в режиме для осуществления исходящих звонков в
соответствии с outbound'ом, то необходимо использовать параметр -r1:
ifcico -r1
ifcico не выводит никаких сообщений, поэтому, чтобы увидеть, что в
данный момент происходит, наберите:
tail -f /var/log/fidonet/ifmail.log
Команда tail отлавливает и выводит все изменения, записываемые в лог,
и выводит их на экран.
На этом мы завершим настройку ifcico и в следующей статье продолжим
собирать фидо-софт под Linux.
Фидо под Linux. Практическое руководство. Часть 3. CrashMail
09-09-2002
Продолжаем настраивать софт для работы с FTN-сетями под Linux.
Следующим этапом необходимо установить и настроить тоссер: программу,
которая будет обрабатывать входящие пакеты и распределять сообщения по
базам эхо-областей. Одной из таких программ является CrashMail. Именно
ее установкой и настройкой мы сейчас займемся.
Немного об особенностях CrashMail. Во-первых, данный тоссер, согласно
руководству, не предназначен для новичков. Причина в отсутствии
какой-либо документации, помимо README в комплекте пакета CrashMail и
комментариев в конфигурационном файле. Однако, CashMail -- это один из
самых быстрых тоссеров. И это одна из главных причин, по которым для
установки был выбран именно он. Также в поставку данного тоссера
входит множество полезных утилит для компиляции нодлиста, просмотра
нодлиста, создания и постинга сообщений, просмотра статистики и
внешний упаковщик (purge) баз эхо-областей. Еще раз хочется отметить
как невероятную скорость линковки сообщений тоссера, так и его работу
в целом. Автор этого пакета -- Johan Billing ([email protected]).
Последнюю версию CrashMail можно взять с www.freshmeat.net. CrashMail
может работать на платформах Linux, OS/2 и Windows. Поэтому будьте
внимательны при поиске архива с программой. В имени файла должен
присутствовать идентификатор платформы, под которую скомпилированы
исходники. Это важно, если вы копируете архив с
готовыми/скомпилированными программами. Совсем недавно Johan выпустил
еще и tic-процессор под названием CrashTick.
Итак, вы скачали архив CrashMail, например, cmVERSIONlinux.zip, где
VERSION -- это версия программы. Для начала распакуем архив в
директорию, где вы предполагаете содержать программы для работы с
Fidonet. Пусть это будет /usr/local/fido. Тогда выполним следующие
команды:
mkdir /usr/local/fido/crashmail
unzip cmVERSIONlinux.zip /usr/local/fido/crashmail
После этого у вас в директории /usr/local/fido/crashmail будут
располагаться все необходимые файлы для работы тоссера CrashMail, в
том числе и конфигурационный файл. Он носит имя crashmail.prefs.
Помимо него, там будут находиться:
crashmail -- непосредственно сам тоссер.
crashexport -- программа-утилита для экспортирования списка
эхо-конференций в формат понятный GoldEd. Однако GoldEd вполне может
понимать и сам crashmail.prefs, впрочем, об этом мы поговорим в
следующей статье.
crashgetnode -- позволяет получать всю информацию по заданному узлу из
нодлиста.
crashlist -- компилятор нодлиста. Создает индексы понятные для
crashmail, используется для ускорения при поиске в нодлисте.
crashmaint -- упаковщик баз.
crashstats -- статистика.
crashwrite -- утилита, при помощи которой можно организовывать
постоянный постинг сообщений в конференции и просто
посылать письма.
Другими словами, она позволяет создавать исходящие пакеты на основе
входных данных. После эти пакеты можно поставить в очередь при помощи
crashmail.
Перед тем, как ознакомиться с работой тоссера, настроим его. Вся
конфигурационная информация содержится в файле crashmail.prefs. По
умолчанию crashmail ищет его в текущей директории, но при помощи
определенного параметра можно указать его непосредственное
местоположение. О параметрах поговорим позже, а сейчас начнем
редактировать главный конфигурационный файл, crashmail.prefs.
Первый параметр в конфигурационном файле определяет имя оператора
данной машины, т.е. ваше имя:
SYSOP "Alexey Litvinuke"
Заметьте, что параметры, принимающие строковые значения, заключаются в
двойные кавычки. Далее мы определяем имя и путь к лог-файлу, а также
уровень ведения лога. Всего их, как видно из комментария, шесть:
1 -- минимальный
2 -- небольшой
3 -- нормальный
4 -- экстра
5 -- большой
6 -- отладочный
В зависимости от возрастания уровня лога, вы сможете впоследствии
получить более подробную информацию о работе вашего тоссера, но чем
больше лог, тем, соответственно, больше места на диске он занимает, а
для многих это больной вопрос. Последний уровень лога используется при
отладке (проверке правильности) работы тоссера. В этом случае он
фиксирует практически все, что делает. Нам же должно хватить 3-го
уровня.
LOGFILE "/var/log/fidonet/crashmail.log"
LOGLEVEL 3
Следующие два параметра определяют правила обработки тоссером
одинаковых сообщений (они обычно именуются dupами). Первый параметр,
DUPEFILE, определяет имя файла таблицы дубликатов, а второй --
максимальный размер этой таблицы. Каждое сообщение может занимать
примерно 39 байт в этой таблице. А второй параметр, DUPEMODE,
указывает тоссеру, что ему делать с дубликатами. Для второго параметра
существует множество из трех взаимоисключающих элементов:
BAD -- переносить сообщения в BAD-область;
KILL -- убивать/уничтожать дубликаты;
IGNORE -- не проверять на дубликаты (позволяет заметно выиграть в
скорости).
Имеем:
DUPEFILE "/var/spool/fidonet/dupes.jam"
DUPEMODE BAD
Следующий параметр LOOPMODE нам не интересен, оставим его без
изменения. Он нужен для того, чтобы отлавливать loop-сообщения. Эта
опция предназначена скорее для нод, нежели для поинтов.
Определим максимальный размер .pkt-файлов и пакетов, генерируемых
crashmail'ом. Это вовсе не означает, что если пакет превысит границу,
он будет удален. crashmail просто будет разбивать пакеты на части.
Размер задается в килобайтах!
MAXPKTSIZE 50
MAXBUNDLESIZE 100
DEFAULTZONE 2
Определяем зону по умолчанию.
Пропишем путь к нодлисту. Параметру NODELIST передается путь к
нодлисту и тип последнего. Тип можно узнать, выполнив crashmail с
параметром version: "./crashmail version".
NODELIST /var/spool/fidonet/nodelist/ CMNL
Далее идут определения путей к INBOUND и OUTBOUND. Как вы уже
наверняка знаете, в первом ifcico сохраняет всю входящую почту, а из
второго забирает. Пути к этим директориям должны быть, естественно,
одни и те же.
INBOUND "/var/spool/fidonet/inbound"
OUTBOUND "/var/spool/fidonet/outbound"
TEMPDIR "/usr/local/fido/tmp"
TEMPDIR -- директория, куда будут временно распаковываться
пакеты-архивы с почтой.
CREATEPKTDIR "/usr/local/fido/tmp"
В этой директории crashmail создает исходящие .pkt-файлы для их
дальнейшей архивации и отправки в директорию PACKETDIR, которая и
должна быть OUTBOUND'ом. Но вы может указать и другую директорию,
главное, чтобы ifcico знал, где ему смотреть исходящую почту:
PACKETDIR "/var/spool/fidonet/outbound"
Далее определим файл, где crashmail будет собирать статистическую
информацию об эхо-областях и узлах для crashstats:
STATSFILE "/var/log/fidonet/crashmail.stats"
Дальше идут ключевые слова без параметров. Нам необходимо внести лишь
незначительные изменения, поэтому кратко определим их значение.
STRIPRE -- удаляет все вхождения "Re:", "Re[x]:" и пр. в поле темы
письма (subject) перед их импортом.
FORCEINTL -- добавлять INTL-строку в сообщения.
NOROUTE -- запрещает crashmail'у назначать правила роутинга для
netmail;
ANSWERRECEIPT и ANSWERAUDIT оставим закомментированными. Они
необходимы лишь узлам, для того чтобы обрабатывать areafix-запросы.
CHECKSEENBY -- не отправлять почту узлам, которые уже присутствуют в
поле SEENBY. Оставим закомментированным. Нужно в основном только
узлам.
CHECKPKTDEST -- проверка на то, нам ли пришла почта, и если в поле
получателя нет ни одного локального AKA, почта не будет обрабатывать.
Это нам ни к чему. Оставим закомментированным.
IMPORTEMPTYNETMAIL -- импортировать пустые письма. Оставляем
закомментированным.
IMPORTAREAFIX -- импортировать письма areafix'у (запросы) в локальный
netmail. Нужно лишь в том случае, если вы узел и хотите смотреть, на
что подписываются ваши поинты. Оставляем закомментированным.
NODIRECTATTACH -- отключает опцию, которая устанавливает флаг Direct
на все письма с приаттаченными (присоединенными) файлами. Сегодня мало
кто позволяет своим поинтам аттачить файлы за пределы одного узла.
Оставляем закомментированным.
BOUNCEPOINTS -- отправляет все письма, адресованные на несуществующие
поинты, боссу. Оставляем закомментированным.
IMPORTSEENBY -- импортировать SEEN-BY поля. Дает вам возможность
проследить путь, который прошло сообщение.
AREAFIXREMOVE -- удаляет область, если никто на нее не подписан.
Оставляем закомментированным.
WEEKDAYNAMING -- пакеты именуются в соответствии с днем недели.
ADDTID -- добавляет поле TID к сообщениям.
ALLOWRESCAN -- позволяет пересканировать эхо-области для узла из
AreaFix.
FORWARDPASSTHRU -- все области, на которые подписываются поинты,
становятся в режим pass-thru, т.е. не импортируются в личную базу
владельца узла. Оставляем закомментированным.
ALLOWKILLSENT -- эта опция позволяет удалять сообщения, помеченные
редактором сообщений флажком KillSent. Т.е. они будут удаляться с
локальной машины автоматически после отправки.
Некоторые параметры я все же опустил за ненадобностью. В нашем случае
вы можете оставить их закомментированными.
После этого идет определение групп эхо-областей.
GROUP A "Имя группы 1"
GROUP B "Имя группы 2"
и т.д.
Параметр BOUNCE оставляем закомментированным. Он не представляет для
нас ничего интересного, по крайней мере, на начальном этапе.
FILEATTACHE -- определяет шаблоны адресов, по которым можно отправлять
сообщения с приаттаченными файлами. В случае если они не определены,
то при попытке посылки сообщения с присоединенным файлом будет
возвращено сообщение об ошибке в netmail. Закомментируем эту строчку.
После этого мы задаем правила выставления флагов пакетам для отправки
в соответствии с шаблоном адреса получателя:
CHANGE * 2:*/*.* Crash
Это правило заставляет crashmail сменить любой флаг любого пакета на
Crash. Т.е. "отправить немедленно". Остальные флаги можно посмотреть в
многочисленных документах, посвященных FTN-сетям. Этого правила нам
достаточно. Для того чтобы наш тоссер упаковывал и распаковывал пакеты
с почтой, необходимо, чтобы он знал сигнатуру, путь, имя файла и
параметры используемого архиватора. Практически все узлы сегодня
пользуются архиватором ZIP, но это не обязательно.
PACKER "ZIP" "zip %a %f" "unzip %a" "PK"
PACKER "RAR" "rar %a %f" "rar x %a" "Rar!"
Имена, заключенные в кавычки, будут использоваться далее при
определении ваших узлов.
Опишем все свои AKA (Also Known As):
AKA 2:454/2.110
ADDNODE 2:454/2
DOMAIN "FidoNet"
AKA 2:454/23.41
ADDNODE 2:454/23
DOMAIN "FidoNet"
AKA 2:454/5.75
ADDNODE 2:454/5
DOMAIN "FidoNet"
AKA 2:454/26.8
ADDNODE 2:454/26
DOMAIN "FidoNet"
После этого нужно задать параметры каждому узлу ваших AKA. Это
делается при помощи параметра NODE. Он может содержать очень много
опций, поэтому мы не будем рассматривать их все. Просто пропишите их
приблизительно вот таким образом:
NODE 2:454/2 "ZIP" "" PACKNETMAIL AUTOADD
NODE 2:454/23 "ZIP" "" PACKNETMAIL AUTOADD
NODE 2:454/5 "ZIP" "" PACKNETMAIL AUTOADD
NODE 2:454/26 "ZIP" "" PACKNETMAIL AUTOADD
PACKNETMAIL -- указывает, что для этого узла нужно паковать исходящую
почту. А AUTOADD разрешает автоматически создавать эхо-области,
полученные с этого узла и несуществующие у нас.
Опустите все нижеследующие опции и переходите сразу к определению
правил роутинга netmail'а. Они задаются ключевым словом ROUTE.
ROUTE "2:454/23.*" "2:454/23.0" 2:454/23.41
ROUTE "2:454/5.*" "2:454/5.0" 2:454/5.75
ROUTE "2:454/26.*" "2:454/26.0" 2:454/26.8
ROUTE "*:*/*.*" "2:454/2.0" 2:454/2.110
Правило роутинга каждого сообщения выбирается последовательным
перебором всех правил сверху вниз. Вышеприведенные строчки можно
описать словами: если сообщение предназначено для поинта узла
2:454/23, то отправить его через 2:454/23, если для поинта 2:454/5, то
через 2:454/5, если 2:454/26, то через 2:454/26 -- в любом другом
случае письма адресатам отправлять через 2:454/2.
MSG_HIGHWATER и MSG_WRITEBACK закомментируйте. Они нам не понадобятся.
JAM_QUICKLINK -- увеличивает скорость линковки за счет игнорирования
строк сообщений.
JAM_MAXOPEN -- задает максимальное количество Jam-баз, которые
crashmail может держать открытыми одновременно. Число 5 будет как раз
к месту.
Итак, мы завершили основную часть настройки crashmail :). Осталось
лишь разобраться с не менее важной частью -- это определение
эхо-областей. Многие, кто пытался настроить crashmail, испытывали
трудности с определением автоматического создания областей. Это
случалось во многом из-за того, что плохо и невнимательно читались
комментарии к параметрам. Итак, начнем определять для начала основные
эхо-области вручную:
NETMAIL "NETMAIL.2" "2:454/2.110" JAM
"/var/spool/fidonet/netmail/netmail2"
NETMAIL "NETMAIL.5" "2:454/5.75" JAM
"/var/spool/fidonet/netmail/netmail5"
NETMAIL "NETMAIL.23" "2:454/23.41" JAM
"/var/spool/fidonet/netmail/netmail23"
NETMAIL "NETMAIL.26" "2:454/26.8" JAM
"/var/spool/fidonet/netmail/netmail26"
Для каждого узла мы создали отдельную почтовую netmail-область в
Jam-формате.
AREA "BAD" 2:454/2.110 JAM "/var/spool/fidonet/echo/bad"
Область BAD является обязательной для объявления. А далее нужно
прописать то, что обычно забывают сделать те, кто не внимательно
читает комментарии. Нужно описать правила создания новых эхо-областей.
Они описываются для каждого узла отдельно:
AREA "DEFAULT" 2:454/2.110 JAM "/var/ spool/fidonet/echo/%a"
KEEPDAYS 3
AREA "DEFAULT" 2:454/23.41 JAM "/var/ spool/fidonet/echo/%a"
KEEPDAYS 3
AREA "DEFAULT" 2:454/26.8 JAM "/var/ spool/fidonet/echo/%a"
KEEPDAYS 3
AREA "DEFAULT" 2:454/5.75 JAM "/var/ spool/fidonet/echo/%a"
KEEPDAYS 3
Опция KEEPDAYS определяет, сколько дней могут лежать сообщения в базе,
после чего их можно удалить как старые при помощи утилиты crashmaint.
Это отнюдь не все возможные настройки crashmail. Я многое намеренно не
стал описывать из-за очень большого объема. Для более детального
ознакомления с настройками почитайте комментарии в конфигурационном
файле.
Итак, это было последнее, что нам оставалось сконфигурировать в
crashmail. Настало время научиться пользоваться только что
сконфигурированным тоссером.
Прежде чем запускать сам тоссер, нужно построить/скомпилировать
нодлист. Для этого нам придется создать еще один конфигурационный файл
(в нем мы определим список файлов-нодлистов) и после скопировать его в
директорию, где, как мы прописали, лежит наш нодлист.
Создадим в этой директории файл cmnodelist.prefs и впишем в него всего
две строчки:
net454.ndl
pnt454.ndl
Это имена файлов нодлиста и поинтлиста соответственно. И после этого
запустим утилиту crashlist, которая сформирует индексы к данным
нодлистам. Только после этой операции можно приступать к работе с
crashmail.
Сам crashmail также имеет множество параметров, и мы не будем
рассматривать их все, лишь необходимые для выполнения базовых операций
по обработке почты.
В тот момент, когда необходимо разобрать входящую почту, мы выполняем
команду:
./crashmail TOSS
В этом случае crashmail сканирует INBOUND директорию на предмет
пакетов с почтой, распаковывает их и растасовывает сообщения по
областям.
Когда мы в почтовом редакторе создали несколько сообщений и запустили
следующую команду, crashmail просканирует свои базы на предмет
сообщений, помеченных флагом UnSent, преобразует их в .pkt-файлы,
заархивирует и положит в очередь отправки узлу, выбранному в
соответствии с правилами роутинга:
./crashmail SCAN
Для того чтобы выполнить обе эти операции одновременно, можно
выполнить следующее:
./crashmail TOSS SCAN
Именно в этом и состоит работа тоссера. Эти команды выгодно выполнять
после работы ifcico, чтобы автоматизировать тоссинг входящей почты. Но
написанием связывающих скриптов мы займемся уже после настройки всех
частей Фидо-софта. Это также касается утилит, входящих с состав пакета
CrashMail. Их работа будет рассмотрена несколько позже. А в следующей
статье мы настроим редактор сообщений GoldEdit.
Фидо под Linux. Практическое руководство. Часть 4. GoldEdit
09-09-2002
И вот, наконец, имея в наличии установленные и сконфигурированные
ifcico и crashmail, мы приступим фактически к последнему шагу по
установке и настройке фидо-софта под Linux. Все, что нам осталось, --
это грамотно настроить программу для чтения конференций и netmail.
GoldEdit -- самая распространенная среди всей братии фидошников из
этой серии. Ей-то мы и займемся.
Непосредственно программу можно взять здесь:
http://golded-plus.sourceforge.net. Там же вам необходимо будет
найти архив с примерами конфигурационных файлов, т.к. они, как
правило, идут отдельными архивами. То же самое касается и файла-помощи
для GoldEdit.
После того, как все необходимые архивы вы достали, можно приступать к
настройке. Я предполагаю, что вы слили именно архив с уже
скомпилированной программой, т.к. в другом случае вам придется
собирать исходники самим. Но это уже дело вкуса.
Предположим, что архив с программой называется gpl114-7.tar.gz (это
последняя версия, какая мне известна). Распакуем его в директорию
/usr/local/fido/golded/, предварительно ее создав:
mkdir /usr/local/fido/golded
cd /usr/local/fido/golded
gzip -d gpl14-7.tar.gz
tar -xvf gpl14-7.tar
rm gp114-7.tar
После этого в директории /usr/local/fido/golded будут находиться,
помимо некоторых файлов типа README, несколько исполняемых файлов.
Среди них gedlnx и gnlnx. Первый и есть сам редактор GoldEdit, а
второй предназначен для компиляции (индексации) нодлистов.
Как вы, быть может, заметили: среди всех этих файлов нет
конфигурационных. Их примеры на русском языке можно взять на том же
сайте либо, если у вас есть сконфигурированный GoldEdit, но под другой
операционной системой, вы можете без проблем перенести
конфигурационные файлы (*.cfg) оттуда. В последнем случае вам
необходимо будет лишь немного изменить golded.cfg. Однако я не могу
обещать стопроцентной совместимости с довольно старыми версиями не под
редакцией господина Аганичева. Именно он в данный момент занимается
продвижением GoldEdit'а. Для справедливости скажу, что изначально
почтовый редактор GoldEdit был написан Одином Соренсоном.
Итак, вы скопировали необходимые конфигурационные файлы. Из них
редакции могут подвергаться следующие:
golded.cfg -- главный конфигурационный файл
gedkeys.cfg -- настройки клавиатуры (определение "горячих" клавиш)
gedcolor.cfg -- настройки раскраски редактора
Это, фактически, все файлы, которые нам нужно редактировать, чтобы
настроить GoldEd как положено. К ним можно отнести еще и файл шаблона
писем.
Начнем, пожалуй, с golded.cfg. Открываем его в любом удобном для вас
редакторе и приступаем к внесению изменений. Я не буду сильно
вдаваться в подробности каждого параметра, так как все комментарии
(если вы брали примеры с http://golded-plus.sourceforge.net) должны быть на
русском языке.
UserName -- это первый параметр, который мы поменяем:
UserName Alexey Litvinuke
Важно, чтобы в указании имени и фамилии соблюдалась очередность, т.е.
первым должно идти имя, а затем фамилия. Дело в том, что при ответе на
ваше письмо GoldEdit автоматически подставляет первое слово (то, что
до первого пробела) в приветствии. Будет очень обидно и глупо, если
приветствие для вас будет звучать, например, так:
"Рад видеть тебя, Litvinuke!"
Где вместо Litvinuke будет ваша фамилия. Странно, но многие не
осознанно допускают такую оплошность.
Далее идут определения вашего основного адреса и всех AKA.
Address 2:454/2.110@fidonet
AKA 2:454/26.8@fidonet
AKA 2:454/23.41@fidonet
AKA 2:454/5.75@fidonet
Вы можете определить все ваши AKA и в несколько полей Address и это
практически то же самое:
Address 2:454/2.110@fidonet
Address 2:454/26.8@fidonet
Address 2:454/23.41@fidonet
Address 2:454/5.75@fidonet
Значение переменной AKAMatch определяет, какой AKA использовать при
написании писем в определенные регионы. Нам хватит одного определения:
AKAMatch 2:*/*.* 2:454/2.110@fidonet
Этим мы говорим GoldEd, что для всех адресов в зоне 2 использовать
основной адрес.
Сразу после этого идут переменные, определяющие, где можно
использовать правила, определенные при помощи AKAMatch. Включайте и
выключайте в соответствии с вашими потребностями. У меня подбор
включен лишь для Netmail.
Секция для определений параметров нодлистов. Для начала отключим вывод
предупреждения об отсутствии откомпилированного нодлиста для GoldEd.
NodelistWarn No
Определим путь к нашему нодлисту и имена файлов нодлиста и поинтлиста:
NodePath /var/spool/fidonet/nodelist
Nodelist net454.* 2:454/2.110
Nodelist pnt454.* 2:454/2.110
После этого смело можете все опускать до секции "Просмотр сообщений".
И первый параметр определяет флаги, которые будут устанавливаться на
каждое исходящее сообщение в Netmail:
AttribsNet Loc Pvt
Обычно это Loc(Local) и Pvt(Private).
После этого определяется, каким образом выводить размер текущего
сообщения. В комментариях приведены возможные варианты значения этого
параметра.
DispMsgSize Kbytes -- выводит информацию о размере в килобайтах.
DispAttachSize -- задает, каким образом отображать размер
приаттаченного (присоединенного) файла.
DispAttachSize Kbytes
Остальные параметры в этой секции мало чем отличаются от выше
рассмотренных, поэтому меняйте, если вам что-то надо.
Рассмотрим еще некоторые основные параметры из этой секции:
DispTabSize -- задает количество пробелов, которые выставляются, когда
вы нажимаете на Tab. По умолчанию 5.
ViewHidden -- разрешает или запрещает вывод клуджей, которые не
определены параметрами Kludge. Этот параметр лучше включить. При этом
обычно вы можете видеть клуджи с реальным именем пользователя и
другие, которые тот захотел выставить на всеобщее обозрение.
ViewKludge -- разрешает или запрещает вывод стандартных клуджей. Этот
параметр оставим выключенным, потому что обычно это служебная
информация, не всегда необходимая. Этот режим можно переключать в
самом редакторе.
ViewQuote -- определяет правила вывода квотинга (часть письма, на
которую вы отвечаете и которую необходимо оставить, чтобы не терялся
логический смысл беседы). Если No, то выводятся только первые строчки
параграфа. Лучше, конечно, включить эту опцию. Тогда вы будете видеть
весь квотинг.
OutPutFile -- задает директорию, которая будет автоматически
подставляться в поле ввода имени файла, при сохранении сообщения
(комбинация клавиш Alt-W) в файл.
UuDecodePath -- путь, куда будут декодироваться uu-секции из текущего
сообщения. UU-кодирование -- это преобразование бинарных данных в
набор байт, способных без проблем отображаться, т.е. у которых ASCII
код больше 31. Это очень полезно при вставке в письмо, например,
небольших zip-архивов.
Секция "Квитанция о получении" -- задает параметры подтверждения о
получении вами письма.
AttribsCFM PVT RRC K/S
Этот параметр задает флаги, по которым распознается
письмо-подтверждение о получении сообщения в Netmail.
ConfirmFile -- определяет файл-шаблон письма-квитанции.
ConfirmResponse -- принимает значения: Ask, Yes и No. В первом случае
перед посылкой подтверждения сначала выводится диалоговое окно для
подтверждения пользователем, во втором -- слать всегда, в третьем --
никогда не посылать подтверждение.
Задание этих параметров лежит на вашей совести. Если вы не хотите,
чтобы кто-либо пославший вам письмо и запросивший подтверждение о
получении знал об этом, то вы вправе отключить данный сервис.
Далее перейдем сразу к определению путей к Inbound и Outbound в
секции: "InBound и OutBound".
InboundPath -- путь к директории входящей почты.
InboundPath /var/spool/fido-net/inbound
OutboundPath -- путь к директории исходящей почты.
OutboundPath /var/spool/fido-net/outbound
В секции "Редактор сообщений" измените следующие параметры:
EditCrlFTerm No
Говорит редактору GoldEd использовать для перевода строки только 1
символ 0x0A.
EditSoftCrxLat H
Этой строкой мы решаем проблему русской буквы "Н". Ошибку при работе с
русской Н заметили, только когда GoldEd был уже полностью написан, и
решили, по каким-то причинам, не исправлять код, а лишь добавить опцию
для замены русской Н на латинскую H.
ImportBegin и ImportEnd -- задают строчки, которыми будет
разграничиваться вставляемый в сообщение файл. Например:
ImportBegin -- Начало файла @file
ImportEnd -- Конец файла @file
Поле для вашей фантазии не ограничено (в разумных пределах,
естественно). В Фидо ценят интересные и оригинальные лейблы. Лишь бы
только не переборщить.
Далее идет секция "Шаблоны".
TemplatePath -- задает путь к директории, где находятся ваши шаблоны
TemplatePath /usr/local/fido/ golded/template/
ForceTemplate -- предлагать ли выбор шаблона при создании письма.
Ниже определяются файлы шаблонов:
Template golded.tpl "Основной шаблон"
Template add-on.tpl "Дополнительный шаблон"
Шаблоны писем мы вкратце рассмотрим позже.
В секции "Личная почта" задайте параметру PersonalMail значение
Allnames, чтобы GoldEd искал сообщения, адресованные вам лично, и
помечал области с такими сообщениями.
В GoldEd есть замечательная возможность ставить Twit на различного
рода сообщения, например, на сообщения с определенного адреса или имя
пользователя, при этом вы можете указать, что делать с такими
сообщениями. Обычно они просто не отображаются. Но на первом этапе, я
думаю, вам это не понадобится. В любом случае можете обратить внимание
на раздел "Установка Twit".
Идем дальше. Остановимся на секции "Тирлайны и орижины".
Это, наверное, самая интересная и требующая больших творческих усилий
группа настроек. Она задает основные строчки шаблона ваших писем.
CtrlInfoNet Tearline Origin
CtrlInfoEcho Tearline Origin
CtrlInfoLocal Tearline Origin
Эти параметры говорят GoldEd, чтобы тот вставлял строчки тирлайн и
орижин в ваши письма в Netmail, эхо-конференции и локальные
конференции. Обычно эти две строки находятся в самом низу сообщения.
Тирлайн находится на строчку выше орижина. А последний еще и является
обязательным:
EmptyTearline No
Включаем тирлайн. И следующей строкой задаем строчку, которая будет
там находится:
TearLine Это мой тирлайн!
Далее определим орижин:
Origin ++[Linux user #] = 224281, [e-mail] = [email protected]
Очень важно присутствие следующих двух строк:
Invalidate Tearline "" ""
Invalidate Origin "" ""
Они запрещают цитирование (квотинг) тирлайна и орижина. Это собственно
запрещено правилами этикета, и модератору конференции это может не
понравиться. Квотинг этих полей называют иногда оверквоттингом.
Переходим к важному разделу "Конфигурация дисковой и операционной
системы".
GoldPath /usr/local/fido/golded/ - Путь, где располагается директория с GoldED.
TempPath /usr/local/fido/tmp/ - Директория временных файлов.
LogFile /var/log/fidonet/ golded.log - Файл-лог.
Секция "Таблицы перекодировки".
Проблема кодировок -- одна из основных проблем, возникающих при
настройке GoldEd под Linux. Дело в том, что по умолчанию в Фидо
принята своя кодировка, и она никак не совпадает с KOI-8. Поэтому
необходимо настроить таблицы перекодировки таким образом, чтобы письма
на лету преобразовывались в соответствующую кодировку.
Для начала нам нужны сами файлы с таблицами. Расположим их, например,
в /usr/local/fido/golded/xlt/ и зададим значения параметрам в этой
секции:
XlatPath /usr/local/fido/ golded/xlt/
XlatLocalSet KOI8
XLATIMPORT IBMPC
XLATEXPORT IBMPC
XLATCHARSET KOI8 IBMPC koi_ibm.chs
XLATCHARSET IBMPC KOI8 ibm_koi.chs
IGNORECHARSET
Имена ваших файлов с таблицами символов могут отличаться. Таким
образом, мы решаем проблему кодировок в GoldEd.
И, наконец, определим путь к списку областей из CrashMail:
AreaFile CrashMail /usr/local/fi-do/crashmail/crashmail.prefs
Этот параметр расположен в секции "Подключение описания баз сообщений
из настроек эхопроцессоров".
На этом редактирование golded.cfg на первый раз можно завершить.
Рассмотрим структуру конфигурационного файла gedkeys.cfg. С его
помощью мы можем изменить существующую или добавить собственную
комбинацию клавиш, связав ее с каким-либо действием. Вы можете
переопределить практически любые операции в GoldEd.
Формат определения клавиши:
Клавиша Операция
где под операцией понимается любое заранее определенное действие в
GoldEd, имеющее свое собственно символьное обозначение, например:
EDITabort, AREAjump, AREAselect и пр. А Клавиша может принимать
следующие значения (в соответствии с комментариями в начале
gedkeys.cfg):
Клавиша -- Клавиша (Символ или обозначение клавиши)
@Клавиша -- Alt-Клавиша
^Клавиша -- Ctrl-Клавиша
#Клавиша -- Shift-Клавиша
gedcolor.cfg -- определяет цвета в редакторе. Этот файл бывает очень
полезным в случае, когда вы хотите изменить какой-либо цвет на более
приемлемый для вас или же полностью сменить цветовую гамму редактора.
Формат определения цвета каждого элемента редактора выглядит так:
Color <окно вывода> <элемент> <цвет>
Описание каждого из элементов этого формата вы можете прочитать в
комментариях в gedcolor.cfg. Пример определения цвета:
Color Area Window LGrey on Black
Теперь осталось рассмотреть формат файла-шаблона письма. В нем вы
можете определить индивидуальное приветствие, заголовки при
пересылке/перемещении/копировании сообщения из области в области и
многое другое. В тексте шаблона используется очень большое количество
переменных, описание которых вы можете найти в официальном
файле-документации по GoldEd. Его, вместе с файлом помощи, можно взять
с того же сайта, что и сам редактор. А я просто приведу пример шаблона
письма с короткими комментариями:
@Moved
@Moved Ответ на сообщение из эхо-конференции @OEcho (@ODesc).
@Moved
Заголовок при перемещении письма.
@Changed
@ChangedChanged by @CName (@CAddr), @CDate @CTime.
@Changed
Вставка в начало письма при изменении. @CName, @CAddr, @CDate, @CTime
-- это переменные, которые впоследствии будут заменены реальными
значениями.
@forward@forcesubj[@OEcho]@subject
@Forward ------------------------
@Forwardv Forward by @CName (@CAddr)
@Forward·Area·: @OEcho (@ODesc)
@Forward·From·: @OName, @OAddr _(@ODate @OTime)_
@Forward·oToo·: @DName
@Forward·Subj·: @Subject
@Forward ------------------------
@Forward
@Message
@Forward-------------------------
Формат forward'а письма.
Glad to see you, @TFName.
@Quoted@ODate @OTime, @OName wrote 4 @DName:
@Position
@Quoted@Position
@Comment@Position
@Quoted@Position
@Quotebuf @ODate @OTime, @OName VS @DName:
@QUOTE
Непосредственно тело самого письма. Первая строчка задает текст
приветствия.
Вы можете использовать приведенный выше шаблон, слегка его
подредактировав.
Теперь, после проведенных выше манипуляций, вы можете запускать
gedlnx.
Еще одно замечание. Чтобы откомпилировать нодлисты, которые мы задали
в файле golded.cfg, необходимо пользоваться программой gnlnx.
В следующий раз мы поговорим о том, как связать и заставить работать
все установленные и настроенные нами компоненты фидо-софта.