HOWTO : fidonet software for unix

[ index ] [ areafix ] [ binkd ] [ filefix ] [ ifmail ] [ inn ] [ mgetty ] [ sendmail ] [ together ] [ stat ] [ utilities ] [ download ]

ifmail

   Автор пакета ifmail - Eugene Crosser, crosser@average.org, 2:5020/230@fidonet. URL : http://www.average.org/ifmail/
Существует несколько ветвей ifmail'а, базирующихся на оригинальной версии, в частности :    Здесь я опишу настройку двух первых ветвей ifmail'а из этого списка - v2.14.os-p7 и v2.14.os-p7-tma5.3. Вторая базируется на первой и содержит большее количество возможностей. Основным будет описание .os-p7, новые возможности .tma5.3 будут описаны в сносках.

Компиляция

   Берем последнюю версию с ftp://oskin.macomnet.ru/pub/linux/fido/, на настоящий момент - ifmail-2.14.os-p7.tar.bz2. (Или .tma версию с ftp://tma.spb.ru/pub/unix/fido/ifmail/, например ifmail-2.14.os-p7-tma5.3.tar.bz2). Разворачиваем архив : bunzip2 ifmail-2.14.os-p7.tar.bz2, а затем tar -xvf ifmail-2.14.os-p7.tar. Будем считать, что вы раскрутили архив в каталог /usr/src/ifmail-2.14.os-p7. Все дальнейшие пути к файлам с исходными текстами, если не указано иное, будем считать от него.
Прочитайте файлы Readme.* и определитесь, какие возможности программ вы будете использовать.
Условимся, что весь фидошный софт будет устанавливаться в /usr/local/fidonet/. Перед компиляцией пакета нужно отредактировать файл CONFIG. Я опишу опции, которые вы наверняка захотите изменить :
CONFIGFILE = "/usr/local/fidonet/etc/config"
главный файл конфигурации ifmail.
DEBUGFILE = "/usr/local/fidonet/log/ifmail.debug"
файл лога для отладочных сообщений : если какая-то программа из пакета не работает, то запускаете ее с ключем "-x NN", где NN - от 0 до 32, и потом смотрите этот лог
LOGFILE = "/usr/local/fidonet/log/ifmail.log"
файл лога для обычных сообшений.
LOCKDIR = "/var/spool/lock"
каталог для lock-файлов. Должен совпадать с тем, в котором создают свои lock-файлы другие программы, работающие с COM-портами (ppp, pppd, mgetty, др.). Проверьте, чтобы ifcico могла читать и писать в него.
PUBDIR = "/var/spool/uucppublic"
PUBDIR можно оставить тем же (если позволяет свободное место) - в него будут помещаться файлэхи и файлы для freq's
NEWSSPOOL = "/usr/local/news/spool"
путь к spool-каталогу inn'a, настройка которого описана в разделе inn
Далее идут опции компиляции. Значение каждой из них описано в комментариях в CONFIG'е. Прочитайте их ! Здесь я приведу свои комментарии только к нескольким из них.
Дойдя до настройки OPTS=, закоментариваем (стираем ;) секцию для Linux'a и раскоментариваем секцию для 386BSD. Она изначально выглядит так :
# 386BSD:
OPTS = -DHAS_STATFS -DSTATFS_IN_MOUNT_H -DHAS_SETSID -DHAS_NDBM_H \
       -DHAS_TERMIOS_H -DASCII_LOCKFILES -DHAS_FSYNC -DHAS_IOCTL_H \
       -DHAS_REGEX_H -DHAS_TCP -DHAS_SYSLOG -DNEED_UUCPFROM \
       -DNEED_BSY -DNEED_FORK -DNEGATIVE_SEEK_BUG \
       -DHAS_SYS_ERRLIST -DHAS_BSD_SIGNALS \
       -DINT32=long -DINT16=short \
       -DHAS_SELECT \
       -DHAS_FILLOG \
       -DNO_RECEIVED \
       -DNO_FROM \
       -DSHOW_SPEED \
       -DT_LINE \
       -DFTN_MSGID \
       -DEXT_FREQ \
       -DHAVE_TXY \
       -DSECURE_LOG \
       -DEMSI_SIZE \
       -DRM_SKIP \
       -DPKT_PW \
       -DLOCALE=\"ru.SU_KOI8-R\"
Добавьте опцию -DDONT_HAVE_GETOPT если у вас не установлена библиотека GNU getopt (отсутствуют файлы /usr/local/include/getopt.h, /usr/local/lib/libgnugetopt.*. Если хотите, можете установить эту библиотеку из packages/devel)
Если ваши линки поддерживают пароли на *.pkt, то можете установить опцию -DPARANOID, хотя я этого не делал.
Можете добавить опцию -DFORCEINTL, при этом в письмах даже внутри одной зоны будет ставиться INTL, например :
@TOPT 30
@INTL 2:5058/99 2:5020/0
@MSGID: 2:5058/99@fidonet 5c2bba89
@RFC-Message-ID: <12428.991029@domain.my>
[...]
Если вы любите читать логи, то опция -DHAS_SYSLOG полезна тем, что при ее установке логи пишутся как в ifmail.log (если установлена опция -DHAS_FILLOG), так и через syslog, что позволяет разделить вывод программ (ifcico, iftoss, ...) по разным лог-файлам (если это вам нужно), например :
/etc/syslog.conf :
-------------------
!ifcico
*.*        /usr/local/fidonet/log/ifcico
!ifmail
*.*        /usr/local/fidonet/log/ifmail
!ifnews
*.*        /usr/local/fidonet/log/ifnews
!ifunpack
*.*        /usr/local/fidonet/log/ifunpack
[...]
-----------------
Опция -DNO_RECEIVED влияет на наличие в письме поля "Received:", например, если не устанавливать ее :
(нетмейл)
@MSGID: 2:5058/99@fidonet a7cd1089
@RFC-Message-ID: <8412.991029@domain.my>
Received: from host.domain.my (host.domain.my [192.168.12.34])
   by host2.domain.my (8.9.3/8.9.3/vkx1) with ESMTP id JAA00189
   for <Sysop@p1.f99.n5058.z2.fidonet.org>; Fri, 29 Oct 1999 09:53:57 +0600 (ESS)
[...]
Рекомендую ее не убирать.
Опция -DNO_FROM влияет на наличие в теле письма поля "From:", например, если не устанавливать ее :
(нетмейл)
@MSGID: 2:5058/99@fidonet a7cd1089
@RFC-Message-ID: <8412.991029@domain.my>
From: Cool Sysop <fido@domain.my>
[...]
(эхомейл)
@MSGID: news.domain.my 60fbfeed
@RFC-Message-ID: <7vb5nm$2ss_002@news.domain.my>
From: fido@domain.my (Cool Sysop)
[...]
Рекомендую ее не убирать.
При установленной опции -DT_LINE, в tearline будет название вашей почтовой программы (TheBat, PMMail, Eudora, etc.) - для нетмейла, и название вашей читалки новостей (Forte Agent, NewsXPress, XNews, etc.) - для эхомейла. Названия программ берутся из "X-mailer" и "X-Newsreader" заголовков интернетовского письма, например :
(нетмейл)
[...]
--- The Bat! (v1.00) UNREGISTERED
@Via 2:5058/99@fidonet, Wed Oct 27 1999 at 09:28 ifmail (2.14.os7)
(эхомейл)
[...]
--- News Xpress 2.01
* Origin: The one and only (2:5058/99@fidonet)
Если эта опция не установлена, то на месте tearline в эхомейле будет полное название ifmail'а, а в нетмейловом сообщении tearline будет отсутствовать вовсе, например :
(нетмейл)
[...]

@Via 2:5058/99@fidonet, Wed Oct 27 1999 at 09:28 ifmail (2.14.os7)
(эхомейл)
[...]
--- ifmail v.2.14.os7
 * Origin: The one and only (2:5058/99@fidonet)
Если опция -DDENY_BAD_HEADERS не установлена, то куча заголовков из вашего интернетовского письма попадет в его фидошный образ, например :
(нетмейл)
@MSGID: 2:5058/99@fidonet 2443a844
@RFC-X-Priority: 3 (Normal)
@RFC-Message-ID: <16394.991027@domain.my>
[...]
(эхомейл)
@MSGID: news.domain.my 23585be8
@RFC-Path: news.domain.my!host1
@RFC-Sender: user1@host.domain.my
@RFC-Distribution: big8
@RFC-Message-ID: <7v5qsp$2l8_002@news.domain.my>
@RFC-NNTP-Posting-Host: host1.domain.my
@RFC-X-Trace: host.domain.my 940994266 9561 192.168.12.34 (27 Oct 1999 03:17:46 GMT)
@RFC-X-Complaints-To: newsmaster@domain.my
@RFC-NNTP-Posting-Date: 27 Oct 1999 03:17:46 GMT
[...]
Естественно, ее лучше установить, но предварительно почитайте о правомочности обрезания таких заголовков в транзитных письмах в misc/FAQ ("Q: How do I get rid of the RFC headers converted to that silly kludges in the FidoNet messages?"). Так что решайте сами - резать или нет. ;-)
Замечание : Если вы устанавливаете пакет .tma5.3, то вам дополнительно доступны, в частности, следующие опции :
-DFBOX - поддержка файлбоксов. Подробнее о них рассказано ниже.
-DHIDDENS - поддержка hidden и override;
-DAMIGADOS_4D_OUTBOUND - Amiga-формат outbound'а. Перед использованием убедитесь, поддерживают ли его другие ваши программы (binkd, filefix, etc.);
-DHAS_FILE_ATTACH (и прочие *ATTACH*) - поддержка транзитных файлаттачей. Я это не использовал;
Без опции -DSHELL = \"/bin/sh\" у меня пакет не смог откомпилироваться (выдавалась ошибка в execsh.c);
ACL в iftoss (описано в файле README.access-list). Я не пробовал.
Таким образом, в конце концов секция OPTS= у меня стала выглядеть примерно так (знаком "+" выделены добавившиеся опции, знаком "-" удаленные) :
# 386BSD:
OPTS = -DHAS_STATFS -DSTATFS_IN_MOUNT_H -DHAS_SETSID -DHAS_NDBM_H \
       -DHAS_TERMIOS_H -DASCII_LOCKFILES -DHAS_FSYNC -DHAS_IOCTL_H \
       -DHAS_REGEX_H -DHAS_TCP -DHAS_SYSLOG -DNEED_UUCPFROM \
       -DNEED_BSY -DNEED_FORK -DNEGATIVE_SEEK_BUG \
       -DHAS_SYS_ERRLIST -DHAS_BSD_SIGNALS \
       -DINT32=long -DINT16=short \
       -DHAS_SELECT \
       -DHAS_FILLOG \
       -DNO_RECEIVED \
       -DNO_FROM \
       -DSHOW_SPEED \
-      -DT_LINE \
+      -DDONT_HAVE_GETOPT \
+      -DFORCEINTL \
+      -DDENY_BAD_HEADERS \
+      -DFBOX \
+      -DHIDDENS \
+      -DSHELL = \"/bin/sh\" \
       -DFTN_MSGID \
       -DEXT_FREQ \
       -DHAVE_TXY \
       -DSECURE_LOG \
       -DEMSI_SIZE \
       -DRM_SKIP \
       -DPKT_PW \
       -DLOCALE=\"ru.SU_KOI8-R\"
При прописывании этих опций не забывайте добавлять "\" в конце каждой строчки.
Закончив настройку OPTS =, идем дальше :
BINDIR = /usr/local/fidonet/bin
Каталог для бинарных файлов - ifcico, ifmail, iftoss, др.
OWNER = fido
GROUP = fido

Владелец и группа для фидософта. Я использую fido:fido.
Закомментируем SHARED=1 и включим SHARED=0 (при SHARED=1 у меня не получилось скомпилировать ifmail)
Закомментируем LIBS в секции Linux, раскоментируем LIBS в секции 386BSD,FreeBSD и добавим путь -L/usr/local/lib - если библиотека gdbm лежит там (/usr/local/lib/libgdbm.*), иначе - поправьте. Соответственно нужно подправить путь к gdbm.h : INCLUDES = -I${INCDIR} -I/usr/local/include
Закомментируем NEEDED = в секции Linux и раскоментируем в секции SunOS,386BSD,FreeBSD.

Замечание : Для FreeBSD 4.1 (и выше) строку NEEDED = signal.o оставьте закоментаренной.
Вот, собственно, с CONFIG закончили.
Запускаем make. Если компиляция началась - хорошо. Если же выдалось что-то типа :
for d in iflib ifgate ifcico; do (cd $d && echo $d && make all) || exit; done;
iflib
"Makefile", line 40: Missing dependency operator
"Makefile", line 47: Need an operator
"Makefile", line 54: Need an operator
"Makefile", line 74: Missing dependency operator
"Makefile", line 77: Need an operator
make: fatal errors encountered -- cannot continue
*** Error code 1
Stop.
то вам нужен GNU make. Если он не установлен, то в общем-то можно в Makefile'ах из каталогов ifcico, ifgate, iflib ручками вычистить конструкции типа ifeq (1,${SHARED}) / else / endif, оставив части между else и endif (если мы компилируем без shared libs). Но лучше все же установить gmake, т.к. он пригодится при компиляции других программ. Его можно взять из packages, секция devel.
Итак, запускаем gmake (или просто make если он GNU-сный). Все должно скомпилироваться.
Теперь создаем группу fido в файле /etc/group, например : fido:*:120:
Затем создаем пользователя fido (если посредством vipw, то просто прописываем строчку типа : fido:*:120:120::0:0:fidonet:/usr/local/fidonet:/bin/sh, заменив UID на незанятый, а GID на тот, что прописали для группы fido).
У меня этот пользователь "реальный" - на него идет фидошный нетмейл, отчеты анализаторов логов, статистика, копии отлупов роботов, и т.д.
Создаем директорию /usr/local/fidonet, меняем ее владельца на fido:fido, устанавливаем права (у меня 0755). Переходим в /usr/local/fidonet и создаем каталоги, запустив следующий скрипт : su fido -c ./mkdirs.sh
---mkdirs.sh---------
#!/bin/sh
cd /usr/local/fidonet
mkdir bin
mkdir bin/areafix
mkdir bin/filefix
mkdir bin/freq
mkdir bin/stat 
mkdir bin/route 
mkdir fileboxes
mkdir etc
mkdir etc/areafix
mkdir etc/filefix
mkdir etc/freq
mkdir etc/ftrack
mkdir etc/route
mkdir etc/ifpolld
mkdir inbound.pro
mkdir inbound.unp
mkdir log
mkdir log/archive
mkdir magic
mkdir man
mkdir man/man1
mkdir man/man3
mkdir man/man8
mkdir nodelist
mkdir outbound
mkdir tmp
mkdir tmp/areafix
mkdir tmp/areafix/queue
mkdir tmp/filefix
mkdir tmp/filefix/queue
mkdir tmp/filefix/bad
mkdir tmp/filefix/tics
---------------------
Этот скрипт, конечно, создает несколько лишних на первый взгляд каталогов, но на них я буду ссылаться в дальнейших описаниях.
Возвращаемся в каталог с исходниками ifmail, запускаем make install. Бинарники должны скопироваться в /usr/local/fidonet/bin.
Осталось установить man-страницы, конфиги и утилиты. Man-страницы находятся в каталогах : ifcico (ifcico.8, ifindex.8, ifinfo.8, ifreq.8, ifroute.8, ifstat.8, nlpatch.8), ifgate (ifmail.8, iftoss.8), и в iflib (parsedata.3). Раскладываем их в /usr/local/fidonet/man/man8 и /usr/local/fidonet/man/man3 соответственно, делаем над ними chown bin:bin и chmod 0444. (Для удобства можете сделать хардлинк : ln ifmail.8 ifnews.8).
Конфиги и утилиты лежат в каталоге misc. Копируем оттуда файлы Areas и config в /usr/local/fidonet/etc/. Из misc/inouttabs копируем outaltkoi8 и outkoi8alt в /usr/local/fidonet/etc/.
С компиляцией закончили.

Настройка

В /etc/manpath.config добавляем MANDATORY_MANPATH /usr/local/fidonet/man
Будем считать что у вас две модемные линии : первая - CM, вторая - ночная.
Посмотрим, кто владеет портами, на которых находятся ваши модемы :
$ ls -la /dev/cuaa*
crw-rw----  1 uucp  dialer  28, 128 29 окт 11:38 /dev/cuaa0
crw-rw----  1 uucp  dialer  28, 129 25 окт 00:26 /dev/cuaa1
crw-rw----  1 uucp  dialer  28, 130 23 окт 20:39 /dev/cuaa2
crw-rw----  1 uucp  dialer  28, 131 23 окт 20:39 /dev/cuaa3
Это uucp:dialer. Таким образом, для того, чтобы ifcico могла звонить, ее владелец (fido) должен входить в группу dialer. Редактируем /etc/group : dialer:*:68:fido
Т.к. при тоссинге iftoss вызывает /usr/local/news/bin/rnews из пакета inn'а, то он (iftoss) должен иметь соответствующие права. Так как rnews принадлежит news:uucp, то простейшим решением будет прописать в /etc/group : uucp:*:66:fido
Проверьте существование каталога (или корректного симлинка) /tmp - если его нет, почта тосситься не будет.
Переходим в /usr/local/fidonet/etc. Там у нас пока четыре файла : config, Areas, outaltkoi8 и outkoi8alt. Последние два - это перекодировочные таблицы : фидошные письма приходят в 866 кодировке, а inn'у скармливаются (и кладутся в news-базу) в koi8-r. Исходящие письма, наоборот, перекодируются из koi8-r в 866.
Начинаем редактировать /usr/local/fidonet/etc/config :
Параметры logfile и debugfile можно закоментарить, тогда будут использоваться значения, заданные в файле CONFIG при копиляции программы.
В строчках address прописываете ваш адрес и aka.
Вместо прописывания паролей можно написать :
include /usr/local/fidonet/etc/ifmail.passwd,
создать файл ifmail.passwd, в котором и прописать пароли - так удобнее и безопаснее.
sysalias /usr/local/fidonet/etc/aliases
Создайте и настройте aliases, как описано в комментариях, например : fido: Cool_Sysop@p0.f99.n5058.z2.fidonet.org
myfqdn domain.my,
В myfqdn - ваше fqdn ;)
в данном примере я буду использовать имя domain.my.
Прописываем каталоги :
inbound /usr/local/fidonet/inbound.unp
listinbound /usr/local/fidonet/inbound.unp
protinbound /usr/local/fidonet/inbound.pro

Так как по сути, listed практически не отличается в плане безопасности от unlisted, то и от тех и от других приходящие файлы будем класть в inbound.unp.
Прописываете outbound для зоны (обычно - Zone 2), которой принадлежит ваш основной адрес :
outbound /usr/local/fidonet/outbound
Если вы скомпилировали ifmail с опцией -DEXT_FREQ и собираетесь разрешить у себя freq's, то прописываете путь к freq-процессору :
ext_rp /usr/local/fidonet/bin/freq/ifextrp
(freq-процессоры описаны в разделе утилиты)
Каталог magic можно оставить тем же.
magic /usr/local/fidonet/magic
В секции nodelist прописываете имена и пути к ноделисту и пойнтлистам :
nodelist /usr/local/fidonet/nodelist/nodelist
nodelist pnt5058.ndl 2:5058/0@fidonet
nodelist node99.ndl 2:5058/0@fidonet

при этом не забудьте положить туда эти файлы ;). Самую свежую версию нодлиста можно взять на официальном сайте - ftp://ftp.sstar.com/fidonet/zone2/. Архив nodediff'ов с 1994 года по 2001 год можно взять на ftp://fido.aha.ru/pub/nodediff/
domtrans у меня прописан как
domtrans .fidonet .fidonet.org
Идем далее :
эти два файла (ifdbm и seq) должны находится в каталоге, доступном пользователю fido на запись.
database /usr/local/fidonet/ifdbm,
sequencer /usr/local/fidonet/seq,
areas /usr/local/fidonet/etc/Areas.
badgroups
- на ваше усмотрение, я их вообще убрал.
Таблицы перекодировки. См. мои замечания ниже
outtab /usr/local/fidonet/etc/outkoi8alt
intab /usr/local/fidonet/etc/outaltkoi8

Касательно этих опций - см. мои комментари к опциям компиляции -DNO_RECEIVED и -DNO_FROM
received no
bodyfrom no

Исправляем пути для вызываемых программ :
sendmail обычно в /usr/sbin
sendmail /usr/sbin/sendmail -f $F $T
rnews в /usr/local/news/bin (когда мы проинсталлируем туда inn ;)
rnews /usr/local/news/bin/rnews
iftoss /usr/local/fidonet/bin/iftoss
архиваторы - там, где они у вас лежат. Если ставить их из packages, секция archivers, то обычно - /usr/local/bin
unzip /usr/local/bin/unzip -ojq $F
unarj /usr/local/bin/unarj e $F
unarc /usr/local/bin/unpack $F
unzoo /usr/local/bin/zoo -extract $F

для zip я добавил опции "-9q" - чтобы оно сжимало получше и поменьше писало в лог.
packer /usr/local/bin/zip -9q $F $P
Настройки размеров для пакетов подправьте в зависимости от стабильности связи, количества линков, и т.д. У себя я увеличил maxmsize, а то 12.3k - маловато.
Две строчки :
#newslog /usr/lib/news/log
#msgidbm /tmp/ifmsgids

имеют значение только если у вас в качестве news-сервера не inn а cnews.
ModemPort cuaa0:L115200
ModemPort (time Any1800-0800,Sat,Sun) cuaa1:L115200

порты модемов и скорость, на которую они залочены (COM1 - cuaa0, COM2 - cuaa1, и т.д.). Вообще, постарайтесь, чтобы во всех ваших коммуникационных программах (ifcico, ppp, mgetty, cu, и др.) каждый порт лочился бы на одну и ту же скорость.
Настройте трансляцию телефонных кодов для вашей местности :
PhoneTrans 7-3532- /
Из строчек ModemDial у вас (в простейшем случае) будет
ModemDial ATDPW \T\r
в options выставляем желаемые опции (все они описаны в комментариях)
# Вы же прочитали Readme.janus из -tma.5.3, да ? :-)
options NoJanus

в секции EMSI data прописываем информацию о станции, избегая '}' и ']'.
Для .tma5.3 доступно еще несколько опций, типа :
outbox 2:5058/500 /usr/local/fidonet/fileboxes/500-box
outbox 2:5058/0 /usr/local/fidonet/fileboxes/HOST-box
hidden 2:5058/500 7-3532-955-2408 CM
override 2:5058/99.1 7-3532-955-0944 1.22:00-5.09:00,6.00:00-7.24:00

С config все.
Теперь надо отредактировать Areas. Там коментарии все понятны, единственное что надо иметь в виду - это названия эх со спецсимволами - &, $, др. - inn не сможет корректно их воспринять. Для таких эх желательно построить преобразование вида $CRACK$.TALKS fido7.cracks.talks fido7, т.е. без спецсимволов.
У меня файл Areas выглядит так :
$CRACK$             crack
$CRACK$.TALKS       crack.talks 
ORN.SONGS&RHYTHMS   orn.songs_rhythms
*                   *
О том, ставить или нет префикс fido7 во втором столбце - решайте сами. В простейшем случае, если у вас только фидошные линки, то под каким именем inn хранит эху в ньюс-базе - это ваше личное дело. Все равно при упаковке на линка ifmail ей вернет "фидошное" название. Если же у вас есть источник usenet-ньюсов (например ваш провайдер предоставляем вам доступ), то проще, конечно, придерживаться единообразия.
Что касается третьего столбца (distribution), то почитайте документацию inn'а (например man distrib.pats) и решайте сами. В большинстве простейших случаев distributions можно не использовать.

Таким образом у вас в каталоге nodelist должны быть ноделист и пойнтлисты, в etc следующие файлы : aliases, Areas, config, ifmail.passwd, outaltkoi8, outkoi8alt. Теперь проверьте, чтобы владельцем всех этих файлов конфигурации (и ноделиста с пойнтлистами) были fido:fido.

В исходниках ifmail'а, в каталоге misc/inn лежит скрипт send-ifmail. Он используется для подготовки исходящей почты к упаковке. Я встречал два варианта этого скрипта - один из поставки ifmail.os-p7, другой из ifmail.os-p7-tma5.3. Они немного отличаются, но оба имеют номер версии 1.11 ;). Я опишу необходимые изменения для скрипта из ifmail.os-p7-tma5.3. Если у вас просто ifmail.os-p7, то подкорректируйте по аналогии.
Надо изменить несколько строчек :
путь к innshellvars :
## =()<. @<_PATH_SHELLVARS>@>()=
if [ -r /usr/local/news/lib/innshellvars ]; then
. /usr/local/news/lib/innshellvars

Так как send-ifmail будем запускать от пользователя fido, то логичным было бы создавать лог-файл в /usr/local/fidonet/log :
LOG=/usr/local/fidonet/log/${PROGNAME}.log
Путь к конфигу ifmail'а :
CONF=/usr/local/fidonet/etc/config
В секции "## Get the compression flags." можете подкорректировать тип создаваемых пакетов (прочитайте описание опции -g в man ifmail), например :
##  Get the compression flags.
echo "${PROGNAME}: [$$] begin ${SITE}"
case "${SITE}" in
f500.n5058.z2)
# На аплинка - crash (.clo)
    IFNEWS_OPTIONS="-g C"
    ;;
# На пойнта - hold (.hlo)
p1.f99.n5058.z2)
    IFNEWS_OPTIONS="-g H"
    ;;
# На всех остальных - по умолчанию (.flo)
*)
    IFNEWS_OPTIONS="-g N"
    ;;
esac
, Подкорректируйте путь к ifnews. Если у вас большой исходящий траффик, то можете добавить ключик -b0 в строку с вызовом batcher'а (man batcher) :
time batcher \
-p"/usr/local/fidonet/bin/ifnews ${IFNEWS_OPTIONS} [...]


Скопируйте send-ifmail в /usr/local/fidonet/bin, смените владельца на fido:fido.

Перед первым звонком необходимо откомпилировать ноделист, запустив ifindex (su fido -c /usr/local/fidonet/bin/ifindex). У вас в каталоге nodelist через некоторое время появятся файлы index.dir, index.pag, а в катологе log - ifmail.debug и ifmail.log.

В процессе настройки, при пробных тоссингах/постингах и т.д. предварительно сохраняйте пакеты с почтой, во избежание их потерь при ошибках в настройке.

Если вы растоссили пришедшую почту, но в в базе inn'а ничего не появилось, проверьте, запущен ли у вас inn; посмотрите в /usr/local/news/log логи news и news.notice; проверьте каталоги :
a) /usr/local/news/spool/articles/junk - если пришедшая почта там, то запустите autocreate
b) /usr/local/news/spool/incoming/ - запустите rnews -U.

Прозвонка : "/usr/local/fidonet/bin/ifcico -r1". При этом ifcico просмотрит outbound, определит на кого можно звонить (это зависит от вида .?lo'шки, времени работы узла и прочих настроек) и попробует обзвонить эти узлы. Если вы при запуске ifcico укажете в командной строке адрес, например : "/usr/local/fidonet/bin/ifcico -r1 f500.n5058.z2", то по нему будет немедленно совершен звонок невзирая на время работы узла. Прочие параметры ifcico читайте в man ifcico.

Для того, чтобы ifcico могла отвечать на входящие звонки, вам необходимо поставить программу mgetty, настройка которой описана в разделе mgetty.

Тоссинг (если у вас уже установлен и настроен inn) : su fido -c "/usr/local/fidonet/bin/ifunpack"

Упаковка на линков (если у вас уже установлен и настроен inn) : su fido -c "/usr/local/fidonet/bin/send-ifmail ; /usr/local/fidonet/bin/ifpack"

Я специально в этом описании указываю "su fido -c ...", "su news -c ..." для того, чтобы подчеркнуть необходимость запуска программ с правами конкретных пользователей (а не от root'а, например) - это позволит избежать многих ошибок.

Более подробно об автоматизации прозвонки, тоссинга, обработки файлэх, freq и прочего рассказано в разделе совместная работа.

This is a part of "HOWTO : fidonet software for unix", http://howto.id.ru
Original of this document is located at http://howto.id.ru/ifmail.html
Copyright (c) Vitaly Kuharev, 2:5058/49@fidonet, 1999-2001
Last updated : March, 09, 2001