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.runickita@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.runickita@orc.ru
Homepage: http://www.orc.ru/~nickita/homepage
FIDO: 2:5020/1354.55