Linux-QEcho/QDed-FIDO-Point FAQ v0.3 by Nikita Nalutin (falcon@chat.ru, 2:5020/1354.55, http://www.orc.ru/~nickita/fidofaq ) INDEX Общие вопросы o Какие программы, необходимые для работы с FIDO под Linux, рассмотрены здесь? o Есть ли какая-нибудь альтернатива QEcho и ifmail? o Какие самые последние версии ifmail и QEcho? o Где найти этот документ в Internet? o Как связаться с автором? o Я считаю, что приведенный вариант установки далеко не лучший... Сборка o Hа что надо обратить внимание при сборке программ? o Как проинсталлировать программы? Работа o Как быть с файлами конфигурации программ? o Как насчет примеров файлов конфигурации? o Hа что еще следует обратить при работе? o Как все это запускать? o Как работать с файлэхами? Проблемы o ifcico звонит не тогда, когда нужно o Мой босс пакует пакеты с помощью RAR. Как с ними быть, надоело распаковывать руками? o В QDed при запуске в rxvt или xterm часть букв печатается на o Я все сделал так как написано, но что-то не работает Благодарности o Благодарности Какие программы, необходимые для работы с FIDO под Linux, рассмотрены здесь? В данном FAQ приводится описание настройки и установки варианта: QEcho beta 1.4 snap-981227 "Emma" (редактор, тоссер, сканер) и ifmail 2.14.os-p2 (мэйлер) Автором QEcho является Nikolay Shadrin, (2:5020/609), Существует также пропатченные версии QEcho - alpha 3.57plX by Vad Adamluk (2:478/13 AKA 2:478/20) e-mail: dmonk@kern.ru сейчас ветку beta 1.x развивает Yura Changea (2:469/75.89), e-mail: yura@linux.asm.md Original Version FTP: ftp://ftp.mgdtd.ac.ru/pub/QEcho Patched Alpha Version FTP: ftp://ftp.kern.ru/pub/QEcho Patched Beta Version WWW: http://www.qecho.qded.da.ru Ifcico входит в пакет программ Ifmail, автор - Eugene Crosser (2:5020/230), e-mail: crosser@average.org FTP site: ftp://ftp.average.org/pub/ifmail К оглавлению Есть ли какая-нибудь альтернатива QEcho и ifmail? Есть: 1. Можно настроить пакет ifmail и использовать его как гейт FIDO<=>Internet, а для обработки почты использовать sendmail, для обработки эх - inn, а читать все например с помощью pine и Knews. Описание этого варианта можно найти в эхе RU.LINUX - FIDO-FAQ (c) Andrey Joukov (2:5020/20.1313) jav@ufg.ru Также существует эха IFMAIL, где можно найти дополнительную информацию о программе. 2. ifmail и Feddy - мэйлер/гейт и тоссер/редактор Этот вариант подробно рассмотрен в Linux-FIDO-Point FAQ by Alex Bogdanov. 3. FIDOGATE и ifcico - связка гейт-мэйлер. В состав FIDOGATE входят Fido-Internet Gateway, Fido FTN-FTN Gateway, Fido Mail Processor, Fido File Processor, Fido Areafix/Filefix автор - Martin Junius e-mail: mj@fido.de Primary-site ftp://ftp.fido.de/pub/fidogate Для версии 4.1.6 существует патч который делает перекодировку Alt-Koi прямо в FIDOGATE. Автор - Alexander Pevzner (2:5020/20.24) e-mail: pzz@pzz.msk.ru 4. BinkleyTerm вместо ifcico в любой из вышеперечисленных конфигураций Primary FTP: ftp://sunsite.unc.edu/pub/Linux/system/fido Последняя версия - 3.02 К оглавлению Какие самые последние версии ifmail и QEcho? ifmail - 2.14 Альфа-версия ifcico 3.0 - pl 4.0 Патч Сергея Оськина - 2.14.os-p7 QEcho - стабилный - beta 1.3, снапшот - от 27.12.98 aka beta 1.4 "Emma". Я рекомендую именно снапшот, и брать только снапшоты - в них исправлено гораздо больше багов. К оглавлению Где найти этот документ в Internet? Этот документ (а возможно и более новая версия) доступен в Интернете на моей страничке http://www.orc.ru/~nickita/fidofaq/. К оглавлению Как связаться с автором? В FIDO: 2:5020/1354.55, e-mail: falcon@chat.ru, nickita@orc.ru, ICQ UIN: 7754074 Также иногда можно меня найти на IRC: Undernet, каналы #rusunix или #deol, nickname - _Falcon_. Если вы хотите поместить данный FAQ на WWW пожалуйста сообщите об этом мне, для включения адреса этого WWW в следующий вариант Linux-QEcho/QDed-FIDO-Point-FAQ. К оглавлению Я считаю, что приведенный вариант установки далеко не лучший... Возможно, но он работает. ;) Хотя любые замечания/дополнения/исправления принимаются. Сам я QEcho больше не использую, и планирую написать FAQ, посвященный настройке ifmail+inn+qmail, который был бы более user-friendly, чем уже существующие и освещал бы ряд проблем, с которыми сталкиваются начинающие фидошники-линуксоиды. К оглавлению Hа что надо обратить внимание при сборке программ? Обязательно перед компиляцией прочтите прилагающуюся к программам документацию/FAQ/readme. В принципе, документацию надо читать перед установкой любой программы. При компиляции ifmail следует обратить внимание на следующие вещи: 1. Перед сборкой следует поправить файл CONFIG на предмет изменения OWNER и GROUP, а также директорий с конфигами. 2. На всякий случай посмотрите восьмой вопрос этого FAQ 3. Если при сборке ifmail вы получаете сообщение об ошибке: " trap.c: In function 'trap': trap.c: parameter 'context' has incomplete type", то необходимо добавить опцию -DPRE_21_LINUX в файл ifmail-2.9/CONFIG, в разделе определения опций сборки для Linux: "# Linux: OPTC = -DHAS_STATFS -DPRE_21_LINUX ...." в ifmail 2.10 и старше такой ошибки не замечено, и не нужно ничего исправлять в makefile. 4. Если компиляция вылетает с ошибкой, что не найден ndbm.h, необходимо установить пакет libgdbm (В RedHat это gdbm-*.i386.rpm и gdbm-devel-*.i386.rpm) 5. Перед сборкой ifmail (ifcico) можно установить patch для ifmail 2.14 by Serg Oskin (2:5020/20) e-mail: serg@oskin.msk.ru Применение данного патча добавляет новые возможности в стандартную версию ifmail, например поддержку протокола Hydra и вывод скорости коннекта в логи. Hайти этот патч можно по адресу: ftp://oskin.macomnet.ru/pub/linux/fido/ При компиляции QEcho обратите внимание на следующее: 1. Прочитайте файл changes.new и ChangeLog, если у вас стояла более старая версия QEcho ОБЯЗАТЕЛЬНО сохраните конфигурацию (директории /etc/qecho и $HOME/.qded) 2. В QEcho-snap-981227 отсутствует файл qecho-install, который можно взять из предыдущих снапов. или положить все руками в /usr/bin, /etc/qecho и $HOME/.qded 3. Посмотрите тринадцатый вопрос этого FAQ Вся конфигурация Тестировалось на RedHat Linux 4.2 (правда он уже не похож на RedHat, но это ничего не меняет). Kernel 2.0.30-2.0.35. К оглавлению Как проинсталлировать программы? Если вы читали документацию, то этого вопроса не возникнет ;) Для инсталляции достаточно написать make install. Бинарники ifmail по умолчанию ставятся в /usr/lib/ifmail, конфиги - в /etc/ifmail. Бинарники QEcho - в /usr/bin, конфиги - в /etc/qecho и в $HOME/.qded Инсталляцию необходимо производить от root, чтобы не было проблем с доступом к некоторым директориям У меня все служебные файлы установлены в /var/spool/fido, эта директория имеет следующую структуру: * backup - сюда кладутся копии пришедших пакетов * badpkt - плохие пакеты * fileecho - файлы из файлэх * flags - флаги * inbound - входящая почта * inbound.tmp - временная входящая почта * log - логи * msgbase - эхи * nodelist - нодлисты * outbound - исходящая почта * outbound.tmp - временная исходящая почта * tic - тики * tmp - свалка К оглавлению Как быть с файлами конфигурации программ? По умолчанию конфигурация для QEcho помещается в директорию /etc/qecho. Файл qeconfig, входящий в состав QEcho beta 1.0plX и старше можно нормально отредактировать под свои установки. Файл qeconfig, входящий в состав QEcho alpha 3.XplX и более ранних версий неработоспособен. Поищите в этом случае в директории misc архива QEcho файл qeconfig.xDM, а лучше скачайте себе QEcho beta 1.4 (snap-981227) В домашней директории владельца QEcho будет создана директория .qded в которой находятся файлы темплейтов и имен пользователей для разных зон. Эти файлы необходимо подредактировать, чтобы они соответствовали вашей конфигурации. (примеры этих файлов приведены ниже) К оглавлению Как насчет примеров файлов конфигурации? Here they are ;) /etc/ifmail/config - файл конфигурации ifmail === Cut here === # мой адрес и пароль в FIDO address 2:5020/1354.55@fidonet password 2:5020/1354@fidonet passw logfile /var/spool/fido/log/iflog debugfile /var/spool/fido/log/ifdebug verbose 0 inbound /var/spool/fido/inbound listinbound /var/spool/fido/inbound protinbound /var/spool/fido/inbound outbound /var/spool/fido/fidonet outbound /var/spool/fido/chaosnet public /var/spool/uucppublic # Нодлисты для соотв. регионов/зон nodelist /var/spool/fido/nodelist/nodelist.000 2:5020/0@fidonet nodelist pnt5020.ndl 2:5020/0@fidonet ModemPort ttyS3:L38400 ModemReset AT&F1L0M0\r ModemDial ATDP\T\r ModemHangup ATH0\r ModemOK OK ModemConnect CONNECT ModemError BUSY ModemError NO\sCARRIER ModemError NO\sDIAL ModemError RING\r ModemError ERROR PhoneTrans 7-095- / TimeoutReset 3 TimeoutConnect 70 unzip /usr/bin/unzip -ojq $F unarj /usr/bin/unarj e $F unarc /usr/bin/unpack $F unzoo /usr/bin/zoo -extract $F packer /usr/bin/zip $F $P # Включите/выключите любые протоколы. Janus еще не реализован, Hydra есть в # патче by ifmail-2.14.os-p2 и старше Сергея Оськина options NoHydra Zmodem NoZedZap NoJanus NoTcp # когда звонить боссу в Фидо (00:00-12:00) options ( (!time Any0015-1145) & address 2:5020/1354) Nocall Name Falcon Location Moscow/Russia SysOp Nickita Nalutin Phone 7-095-Pri-vate Speed 9600 Flags XA,MO === Cut here === /etc/qecho/qeconfig - файл параметров QEcho === Cut here === # main configuration file # Адреса Address 2:5020/1354.55@fidonet AllowedUser root # Тирлайны и ориджины для каждого адреса. Tearline QDed %s/Linux Origin Communication breakdown. Is always the same... Template template AutoSkip [ skipped ] Crosspost * Crossposted in CarbonHeader * CarbonCopy to: StartCut >===== Start cut [%s] =====< EndCut >===== End cut [%s] =====< OpenPIPE >===== Open PIPE [mount@here.net> %s] =====< ClosePIPE >===== Close PIPE [mount@here.net> %s] =====< KillRe Yes QuoteTearline No QuoteOrigin No DoNotCreate BAD. # Аплинки и роутинг для боссов Link 2:5020/1354@fidonet Password passw AutoCreate 2:* 2:5020/1354.55 * 2:5020/1354 AreaFixing Off Flavour Normal RouteVia 2:5020/1354@fidonet RouteFor 1: 2: 3: 4: 5: 6: 7: MaxPacketSize 800000 Inbound /var/spool/fido/inbound Outbound /var/spool/fido/outbound Temp /var/spool/fido/inbound.tmp TempOutbound /var/spool/fido/outbound.tmp Flags /var/spool/fido/flags Unzip /usr/bin/unzip Zip /usr/bin/zip MsgBase /var/spool/fido/msgbase AreaList /etc/qecho/AreaList LinkInfo /etc/qecho/LinkInfo AreaFixHelp /etc/qecho/areafix.hlp AreaFixReject /etc/qecho/areafix.rej AreaFixList /etc/qecho/areafix.lst AreaFixMSize 16384 #Routing /etc/qecho/Routing SaveBackup /var/spool/fido/backup ExpireDays 7 MaxUnlinkedDays 4 LogFile /var/spool/fido/log/qecho.log DaemonSleep 10 DaemonLog /var/spool/fido/log/dlog TempBase /var/spool/fido/tmp ZoneExtensions No MessageTracking No TrackingLog /var/spool/fido/track ZonedKludges No AlwaysIntl Yes BadMailArea BADMAIL TransitNetmail NETMAIL.TRANSIT SeparateBundles Yes KillSent Yes UseSysLog No StrictOrigin No BadPackets /var/spool/fido/badpkt DupeChecking No DupeBase /var/spool/fido/dupes DupeRecords 4096 DupeArea BADMAIL # Нодлисты Nodelist /var/spool/fido/nodelist/nodelist.000 NodeOrig 2: Nodelist /var/spool/fido/nodelist/pnt5020.ndl NodeOrig 2:5020 NoSearchFor AreaFix NoSearchFor AllFix PackNetmail Yes MaxBundleSize 200000 === Cut here === Большинство параметров аналогичны параметрам в файле /etc/ifmail/config Их описание есть в документации по QEcho. Для работы необходимо откомпилировать нодлисты для создания своего внутреннего индекса с использованием программ ifindex и qecho index. Без компиляции нодлиста программы работать не будут! К оглавлению Hа что еще следует обратить при работе? Перед запуском программ следует еще раз проверить: 1. Права доступа к файлам и директориям используемым ifcico и qded/qecho. 2. Есть ли /usr/lib/ifmail и /usr/bin в вашей переменной окружения PATH 3. При возникновении проблем с протоколом Hydra можно вернуться к варианту Hydra для ifmail-2.10.os - убрать из файла CONFIG, который находится в дистрибутиве ifmail-2.14.os строку -DBI_HYDRA и прописать вместо нее -DHAS_SELECT. Спасибо Сергею Оськину за эту информацию. 4. Команда tail -f /var/spool/fido/log/iflog запущенная в другом окне/на другой консоли позволит вам посмотреть, что сейчас происходит на линии К оглавлению Как все это запускать? Сейчас скажу ;) /usr/bin/qded - вызов редактора сообщений /usr/bin/qecho scan - export new mail/news /usr/bin/qecho toss - import new mail/news /usr/lib/ifmail/ifpoll - poll boss Вот вариант поллинга босса, который использую я (файл ifpoll): === Cut Here === #!/bin/sh # ver 0.7 # i start this shell script every day by crond, but you can # start it also by hand :) start it as the owner of ifcico. # rasca, berlin 1993 (Rasca Gmelch, 2:2410/305.4) # # where "ifcico" and "ifpack" reside FIDOPATH=/usr/lib/ifmail # logfile of ifcico IFLOG=/var/spool/fido/log # owner of "ifcico" IFCICO_OWNER=root # sysop of fido stuff IFCICO_SYSOP=root # how often should i try to call NODE? MaxTry=100 # delay between outgoing calls in seconds DELAY=121 # where to log processing - file or tty/console INFO_TTY=/dev/tty # Адрес вашего босса BOSS=f1354.n5020.z2 clear echo "`date \"+%b %d %T\"` ifpoll[$$]: starting" >> $INFO_TTY # remember me, not to run as root.. # if [ `whoami` != "$IFCICO_OWNER" ]; then echo "*** run $0 as the owner of ifcico ***" echo "`date \"+%b %d %T\"` ifpoll[$$]: wrong uid (rc 2)" >> $INFO_TTY exit 2 fi # let's pack the fido stuff.. # # echo "`date \"+%b %d %T\"` ifpoll[$$]: Exporting new mail & news.. " >> $INFO_TTY qecho scan # $FIDOPATH/ifpack # #--- # # loop until ifcico could connect the node or MaxTry is encountered # i=1; errlv=1 while let 'i <= MaxTry' && let 'errlv != 0' do echo -n "`date \"+%b %d %T\"` ifpoll[$$]: $i. try " >> $INFO_TTY # # start ifcico in master mode .. # $FIDOPATH/ifcico $BOSS errlv=$? if [ $errlv != "0" ]; then echo "failed - RC=(rc $errlv)" >> $INFO_TTY if [ $i != $MaxTry ]; then sleep $DELAY fi let i=i+1 else echo "ok :)" >> $INFO_TTY fi done # if the poll was fine, unpacking.. # if [ $errlv = "0" ]; then echo "`date \"+%b %d %T\"` ifpoll[$$]: Importing new mail & news.. " >> $INFO_TTY # # # Сюда можно вставить вызов rarunpack.pl - см. ниже. qecho toss qecho link # echo "`date \"+%b %d %T\"` ifpoll[$$]: tic processing.. " >> $INFO_TTY $FIDOPATH/tic/process_tics.pl echo "All done !" >> $INFO_TTY # add here some additional lines for processing tic files or # incoming file-lists or simular.. fi #Now run futility to leave only 400 msg in news # $FIDOPATH/futility tool "+delete" "keep+400" echo "`date \"+%b %d %T\"` ifpoll[$$]: finished (rc $errlv)" >> $INFO_TTY # return the errorlevel of ifcico exit $errlv === Cut Here === BTW Этот пример - далеко не самый лучший! Если вы написали более удобный скрипт для поллинга, пожалуйста, пришлите его на 2:5020/1354.55 или falcon@chat.ru К оглавлению Как работать с файлэхами? Я пользуюсь LT aka Linux Tic Processor. Он поставляется вместе с ifmail и лежит в директории misc/contrib/tic. Перед установкой LT прочитайте документацию. Я ставил его так - *.pl и *.pli - в диркекторию /usr/lib/ifmail/tic. Конфигурацию - в /etc/tic. Вам нужно поправить определение переменной $ConfigFile, указывающий на файл Config с его полным путем - в моем случа переменная будет иметь значение "/etc/tic/Config" Пример файлов конфигурации, которые надо положить в /etc/tic находится в файле tic_config.tar.gz После распаковки и редактирования параметров под свой адрес необходимо запустить утилиту makeconfig.pl, лежащую в /usr/lib/ifmail/tic. Вызов разгребалки файлэх осуществляется из скрипта ifpoll, приведенного выше. К оглавлению ifcico звонит не тогда, когда нужно Если вы запускаете ifcico с явным указанием адреса или из скрипта ifpoll, временные ограничения из файла /etc/ifmail/config игнорируются. Я предпочитаю вставлять вызов ifpoll в /etc/crontab, например так: 20 00,03,06,07,11 * * * root /usr/lib/ifmail/ifpoll К оглавлению Мой босс пакует пакеты с помощью RAR. Как с ними быть, надоело распаковывать руками? Я использую для этого скриптик на перле, вызов которого можно вставить в ifpoll перед qecho toss. Скрипт написан совсем не оптимальным образом за две минуты, но он работает. === Cut Here === #!/usr/bin/perl chdir("/var/spool/fido/inbound"); opendir(INB,"."); foreach (readdir(INB)) { if ($_!="*.mo*") { system("unrar x $_"); rename($_,"/var/spool/fido/backup/$_"); } } foreach (readdir(INB)) { if ($_!="*.tu*") { system("unrar x $_"); rename($_,"/var/spool/fido/backup/$_"); } } foreach (readdir(INB)) { if ($_!="*.we*") { system("unrar x $_"); rename($_,"/var/spool/fido/backup/$_"); } } foreach (readdir(INB)) { if ($_!="*.th*") { system("unrar x $_"); rename($_,"/var/spool/fido/backup/$_"); } } foreach (readdir(INB)) { if ($_!="*.fr*") { system("unrar x $_"); rename($_,"/var/spool/fido/backup/$_"); } } foreach (readdir(INB)) { if ($_!="*.sa*") { system("unrar x $_"); rename($_,"/var/spool/fido/backup/$_"); } } foreach (readdir(INB)) { if ($_!="*.su*") { system("unrar x $_"); rename($_,"/var/spool/fido/backup/$_"); } } closedir(INB); === Cut Here === К оглавлению В QDed при запуске в rxvt или xterm часть букв печатается на белом фоне Это связано с не совсем верной обработкой цветов в rxvt. В принципе я отослал Yura Changea патч для Qecho-snap-981227, но я не знаю, когда он будет включен в следующий snap и будет ли включен вообще, поэтому привожу патч в файле qecho_xterm_patch.gz К оглавлению Я все сделал так как написано, но что-то не работает Еще раз проверьте соответствие вашей конфигурации той, что описана в FAQ, проверьте, указали ли вы свои пароли (мои, по понятной причине, я заменил словом passw), почитайте документацию к программам ifmail и QEcho, напишите письмо в RU.LINUX. Также полезно проверить следующее: 1. А настроен ли вообще этот последовательный порт для работы в Linux? Проверить это можно запустив любую терминалку (minicom,seyon). Если из этой терминалки модем не доступен - можно проверить, правильно ли указаны параметры модема или порта. Настроить порт можно командой setserial. 2. Если в minicom модем работает нормально следует обратить внимание на логи. Если использовался приведенный в этом FAQ вариант установки - то это файлы iflog и ifdebug (каталог /var/spool/fido/log/). (последний файл будет создан только в том случае, если в файле конфигурации ifmail значение параметра verbose не нулевое. К оглавлению Благодарности * Boris Tobotras (2:5020/510) * Alex Bogdanov (2:5020/764.17) * Alex Burakov (2:5020/368.40 aka 850:358/83) К оглавлению With Best Regards, Nikita "Falcon" Nalutin E-mail: falcon@chat.ru, nickita@orc.ru Homepage: http://www.orc.ru/~nickita/homepage FIDO: 2:5020/1354.55