Фидо под 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.