Фидо под Linux. Практическое руководство. Часть 2. ifcico
 

Вкратце разобрав состав фидо-софта в предыдущей статье, я привел список программ, которые вам предстоит достать, установить и настроить для успешной работы с фидо под 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.

 
Автор: Алексей Литвинюк
 
Оригинал статьи: http://woweb.ru/publ/66-1-0-181