Ключевые слова:fido, ifmail, (найти похожие документы)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : firstname.lastname@example.org 2:5020/118 Mon 28 Apr 97 15:49
Subj : ifmail.doc
[ Article crossposted from fido7.other.ifmail ]
[ Author was Yar Tikhiy ]
[ Posted on 28 Apr 1997 16:48:50 +0400 ]
= Installing Ifmail 2.10 on 4.4BSD-derived System =
!The lines, paragraphs and chapters changed since last edition are marked
with bang (!) now.
As Ifmail 2.10 has been released the paper context switched to it :)
I. Operations Prior to Installation
Get, build and install GNU GDBM library in an appropriate way.
Ifmail uses NDBM library functions, so you must have them.
Your system may have functions emulating NDBM functions by means
of Berkeley DB calls, but they should not be used in ifmail because
DB updates its files asynchronously and ifmail don't close its
databases. Yes, it's a bug, but you'll loose the databases in case
of a crash anyway if you use DB.
!You might have to edit ndbm.h in order to protect it from multiple
including (ndbm.h shipped with the GDBM library does not have the
protection). Add the lines
at the beginning of ndbm.h and the line
at the end of it if your cc complains about improper redefinition
of some symbols in files like nodelist.c or nlindex.c
Check whether you have re_comp() and re_exec() functions in your
standard libraries. They are usually placed in libcompat.
If you don't you'll have to get, build and install GNU regex
If you live under BSDi BSD/OS you must check whether GNU make (gmake)
is installed. Native make considers some ifmail Makefile constructions
erroneous. FreeBSD make does not have the bug.
II. Building Ifmail
Gunzip and untar the distribution somewhere.
Edit CONFIG file.
Thanks to Eugene, all necessary defines are documented there.
The only thing that might seem a little greek is that you must
add "NEEDED=signal.o". That's needed to inroduce a SystemV-like
behaviour of signal system, namely, to make system interrupt
i/o calls on signals. See iflib/signal.c for details.
!iflib/clibrary.h, iflib/configdata.h must be taken from INN source
!tree *after* configuring it with subst (see iflib/README).
Type 'make depend all' while at distribution root.
III. Installing Ifmail
That installes the binaries. iftoss.8 and ifmail.8 manpages must be
Fetch misc/config file, place it where you specified in CONFIG unless
you are going to use '-I' option. Edit it to match your system.
You might want to place your links' password list in a separate file.
Its format is shown at 'password' entry of the config file.
Copy misc/inn/send-ifmail to the directory where send-nntp and
send-uucp live and edit the line containing full pathname of ifnews.
!Get Areas file somewhere. Standard Areas file can be obtained as
IV. Tweaking Related Programs.
a) Set up newsfeeds in the manner shown in misc/inn/newsfeeds.
b) Add '-u' flag to innd parameters in rc.news and restart innd.
Unfortunately, it's not possible to flip the flag using ctlinnd.
The flag is needed to make innd's logs unbuffered as ifnews uses
them to determine the list of sites an article got sent to when
building SEEN-BY list.
a) define fido mailer (in the sense of sendmail :) like this:
A=ifmail -gc -r $h $u
In case you use V8 m4 macros you may decide to add fido.m4 to
mailers/ directory and include the mailer macro to your
b) Add your domenized fidonet address to 'w' class. If you have a node
address it would have sense to add both fxxx.nxxx.zxxx.fidonet.org
and p0.nxxx... addresses.
c) You can set up your netmail routing scheme in a few ways.
You can add static definitions to ruleset 98 or use mailertable.
You can find additional hints in misc/sendmail/ directory of the
If you use a different MTA look into an according directory in misc/
3. TIN 1.22
Install a patch that adds 'X-Comment-To' handling to tin.
Rumors say that newer versions of tin can handle it itself.
Add the facility you have specified in CONFIG to /etc/syslog.conf.
Touch the logs and chown them to the user who owns your news subsystem.
Send SIGHUP to syslogd.
Add the line from misc/tcp/services to /etc/services and the line
like that in misc/tcp/inetd.conf to /etc/inetd.conf (be sure that
you specified the real pathname of ifcico).
Send SIGHUP to inetd.
In order to receive inbound phone calls you must install a getty that
knows about EMSI, YOOHOO and TSYNC. Mgetty is one of the mentioned.
Build it with -DFIDO option, set up '/FIDO/' entry in its login.config
and attach it to the port where your modem is connected in /etc/tty.
Send SIGHUP to init ("kill -HUP 1").
Crosser says that FreeBSD uugetty has heard about FIDO, too.
V. Making All The Above Work
Run ifunpack, send-ifmail and ifpack from cron.
The first is independent on the last two and can be run at the same time.
Send-ifmail and ifpack were developed to be independent, too, but my
experience shows that they are not. So, run them sequentially unless you
are going to send zero-length packets to your links.
VI. Everyday Operation
Usual everyday operation includes rotating logs and purging outbound.
Though a script for rotating logs is included in misc/contrib/fido.daily
it is not an example of a good style and you may want to write your own
miscellaneous scripts. I did so. Remember that you are using not MSDOS
!VII. Further Tweaking
You'd like to run inn with '-c0' switch to avoid article loss because
of improper clock setup on some machine. Just add '-c0' to inn's
parameters in rc.news and issue 'ctlinnd param c 0' command.
Add '-b0' to batcher's switches to make it feed ifnews with one large
batch instead of running another instance of ifnews on every 50K of news.
You'll get better performance.
!VIII. Additional Tools
1. What to use instead of areafix?
You can use at least three programs instead of usual areafix:
Yeah, it's the good old Group Update. It still works very well.
However, your links may be confused with the request syntax and all
that fido7.* weirdness a little.
You can get it almost everywhere - on every ISC INN mirror site, for
- area manager "Areafix" for ifmail+INN by Alex Tutubalin &
Alex Kshnyakin & Andrew Kolchoogin & Yar Tikhiy
Those cool guys worked hard to make your life easier. All of them
had to learn perl from scratch to make the job :)
The Areafix works fine now combining areafix and gup functionality.
Ifmail distribution contains some outdated version. Newer ones can
be obtained from <ftp://ddt.demos.su/pub/u-tic/>.
Who the *** sends weird mails to weird robots in the epoch of WWW?
It was the thought that came on the author of this paper and some
his friend newsadmins while they were drinking beer talking about
the problems of news distribution over MSU site. So GUP3W was born.
See <http://comp.chem.msu.su:8080/gup3w-dev> for details.
It's akin to gup, not to areafix though.
2. Well, what about fileecho processor?
There are three programs known to me, too:
- LT, the Linux Tic processor
It's the one shipped with Ifmail (see misc/contrib/tic/)
I've never used it but if we assume that it's functional then we
can do the following conclusion: it can forward tics but it has
no means of remote subscription control (i.e. filefix) and can
handle only a limited set of tic tags.
- u-tic (Unix Tic Processor) by me :)
It can be described as Extended LT.
It's FSC-0082 compliant, has its own filefix (u-fix) and filebase support,
is quite fast and is designed for conflictless co-work with Ifmail programs.
Its drawbacks are the perl4.036-ism and quite little control over feed
It's a tic processor for a busy node whose sysop has no time to mess
about files but just sends them to his downlinks.
Can be obtained from <ftp://ddt.demos.su/pub/u-tic/>
- filefix by Serg Oskin
It's the best choice for a node who wants to make some use of the files
it receives. However, the filefix takes no care of shared access to the files
like ?lo in outbound and they will be mangled often if your node is busy
Can be obtained from <ftp://ftp.kiae.su/unix/fido/>
--- ifmail v.2.9 * Origin: Chemistry Department, MSU (2:5020/118@fidonet)