old-www/LDP/LG/issue87/howell.html

809 lines
26 KiB
HTML

<!--startcut ==============================================-->
<!-- *** BEGIN HTML header *** -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML><HEAD>
<title>Quick-Start Networking LG #87</title>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
ALINK="#FF0000">
<!-- *** END HTML header *** -->
<!-- *** BEGIN navbar *** -->
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="ecol.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue87/howell.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../lg_faq.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="jenkins.html"><IMG ALT="[ Next ]" SRC="../gx/navbar/next.jpg" WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
<!-- *** END navbar *** -->
<!--endcut ============================================================-->
<TABLE BORDER><TR><TD WIDTH="200">
<A HREF="http://www.linuxgazette.com/">
<IMG ALT="LINUX GAZETTE" SRC="../gx/2002/lglogo_200x41.png"
WIDTH="200" HEIGHT="41" border="0"></A>
<BR CLEAR="all">
<SMALL>...<I>making Linux just a little more fun!</I></SMALL>
</TD><TD WIDTH="380">
<CENTER>
<BIG><BIG><STRONG><FONT COLOR="maroon">Quick-Start Networking</FONT></STRONG></BIG></BIG>
<BR>
<STRONG>By <A HREF="../authors/howell.html">Edgar Howell</A></STRONG>
</CENTER>
</TD></TR>
</TABLE>
<P>
<!-- END header -->
<HTML>
<BODY>
<H1>
Quick-Start Networking
</H1>
<H2>
Contents
</H2>
Introduction
<BR>1. Ethernet
<BR>2. Ssh
<BR>3. Screen
<BR>4. File Transfer
<BR>5. Nfs
<BR>6. Samba
<BR>7. PCMCIA
<BR>8. Further Reading
<BR>9. A Future without Windows?
<H2>
Introduction
</H2>
<P>
Over the holidays I finally had a block of time large enough to
work on a network at home. But getting started is always my
biggest problem and it took a while to understand what had to be
done on which machine. In retrospect it was quite easy to get
started.
<P>
This article is essentially little more than my notes, taken
during the experience, less false starts. To the best of my
knowledge it documents what I had to do and will be my reference
if the need arises to repeat any of this.
<P>
To avoid inflating this unnecessarily and because I'm really just
an experienced newbie, almost nothing is explained. There are
references to some relevant articles but I assume you know how to
find the standard documentation.
<P>
To my mind there is no reason for anyone with two or more computers
not to have them networked. My first step was with an Ethernet
card for the PC, a cross-over cable, and a PCMCIA Ethernet card,
all for 87.50 euro. Once that was working, another PCMCIA card
(should have known by the price that it was Windows-only), 8-port
switch and 3 3-meter cables cost 67.50 euro. Roughly $160 wasn't
bad. And it shouldn't cost much more than $25 to connect 2 PCs
point-to-point.
<P>
The current status of this home office network is as follows:
<LI> Toshiba 486 500MB/24MB, SuSE 8.0 (kernel 2.4.18-4GB) without X
<LI> PC Pentium 166 2x4GB/32MB, SuSE 6.3 (kernel 2.2.13)
<LI> Toshiba AMD 4GB/64MB, SuSE 8.0 (kernel 2.4.18-4GB) or Windows 98
<P>
By the way, the asymmetry in the following is not due to anything
inherent in networking or the different Linux kernels. Rather,
the 486 will one day be my portal to the Internet. It shouldn't
be able to do much of anything other than responding to someone
it knows. On the other hand the other two should have no
restrictions.
<P>
Other than that, be careful: this is merely intended to get up and
running as quickly as possible. Everything else has been pretty
much ignored. Consider this just a small but important first step.
Your next step has to be the relevant documentation because this is
quite superficial!
<H2>
1. Quick-Start - Ethernet
</H2>
<P>
Other than a PCMCIA problem (see below), installing and configuring
Ethernet is rather straight-forward. To keep things simple I
started out with a cross-over cable, i.e. point-to-point, and
moved on to a switch only after everything else was known to work.
<P>
Rather than having each machine connect to the network at boot,
there are scripts in /root to run when it is time to connect.
Here are the relevant scripts and files from two of the machines
(less comments and stuff not relevant here):
<P>
Toshiba 486
<PRE>
/etc/hosts: 127.0.0.1 localhost
192.168.0.99 Toshiba486.Lohgo Lohgo486
192.168.0.100 ToshibaAMD.Lohgo LohgoAMD
192.168.0.101 PC.Lohgo LohgoPC
/etc/hosts.allow: sshd: 192.168.0.100, 192.168.0.101
/root/eth-up: #!/bin/bash
/sbin/ifconfig eth0 192.168.0.99 \
broadcast 192.168.0.255 \
netmask 255.255.255.0 up
</PRE>
<P>
Pentium 166
<PRE>
/etc/hosts: 127.0.0.1 localhost PC
192.168.0.99 Toshiba486.Lohgo Lohgo486
192.168.0.100 ToshibaAMD.Lohgo LohgoAMD
192.168.0.101 PC.Lohgo LohgoPC
/etc/hosts.allow: sshd: 192.168.0.100
portmap: 192.168.0.100
lockd: 192.168.0.100
rquotad: 192.168.0.100
mountd: 192.168.0.100
statd: 192.168.0.100
/root/eth-up: #!/bin/bash
/sbin/insmod rtl8139
/sbin/ifconfig eth0 192.168.0.101 \
broadcast 192.168.0.255 \
netmask 255.255.255.0 up
</PRE>
<P>
The following are the same on all 3 machines:
<PRE>
/etc/hosts.deny: ALL : ALL
/root/eth-down: #!/bin/bash
/sbin/ifconfig eth0 down
/root/eth-stat: #!/bin/bash
/sbin/ifconfig eth0; /bin/netstat -r
</PRE>
<P>
The extra entries for the P166 in /etc/hosts.allow are to support
nfs. And insmod in /root/eth-up is due to the Ethernet card in
the PC vs PCMCIA on the notebooks.
<P>
Be aware that SuSE at installation has an option to "re-organize"
/etc/hosts that defaults to CHECK_ETC_HOSTS=yes in /etc/rc.config.
My suspicion is that this is what can cause the 192-IP-address to
be replaced by a 127-address for the host itself in /etc/hosts on
reboot. I don't reboot often enough to feel like checking this
out. But if you get an inexplicable inability to access the
network, do verify the contents of this file.
<H2>
2. Quick-Start - Ssh
</H2>
<P>
Without a doubt this is the most complex of the Linux facilities
described here but is the key to a couple of things that are
extremely useful and it certainly should be set up, for both
convenience and security.
<P>
Prerequisites/definitions:
<LI> "local" is the machine whose keyboard you want to use
<LI> "remote" is the machine whose keyboard you don't want to use
<LI> "&lt;user&gt;" has been set up on both machines
<LI> "&lt;host&gt;" is the 3rd column of the entry for the "remote" host
in /etc/hosts on the "local" machine
<LI> the entries in /etc/hosts.allow and /etc/hosts.deny on the
"remote" machine permit use of sshd from the "local" machine
<LI> use of the mount command does mean playing disk-jockey between
the two machines as appropriate.
<LI> the following is based on SuSE 6.3 (2.2.13) and 8.0 (2.4.18-4GB)
<P>
This is what you have to do if you don't bother to set ssh up:
<PRE>
Remote Local Comment
&lt;logon as user also known to remote host&gt;
ssh &lt;host&gt;
warning:... SOMETHING NASTY
yes accept it
&lt;password&gt;
</PRE>
<P>
This is setup:
<PRE>
Remote Local Comment
&lt;logon as user also known to remote host&gt;
/usr/bin/ssh-keygen
accept default: .ssh/identity
no passphrase
mount /floppy
cp .ssh/identity.pub /floppy/
umount /floppy
logon as &lt;the same user&gt;
mkdir .ssh if necessary
mount /floppy
cp /floppy/identity.pub .ssh/authorized_keys
cp /etc/ssh/ssh_host_key.pub /floppy/known_hosts
umount /floppy
mount /floppy
cp /floppy/known_hosts .ssh/
umount /floppy
vi .ssh/known_hosts
add &lt;host&gt; at start of line and
remove root@&lt;host&gt; at end
</PRE>
<P>
And this is what you have to do to logon after setting things up:
<PRE>
Remote Local Comment
&lt;logon as user also known to remote host&gt;
ssh &lt;host&gt;
</PRE>
<P>
Note that the host key is generated as part of system installation
(with SuSE anyhow). And there can be differences in directory
structure (SuSE's kernel 2.2 didn't have 'ssh' under 'etc').
Also note that this is just intended to get someone unfamiliar
with ssh up and running. Do not blindly follow these steps if you
have used ssh before! In particular most 'cp's certainly ought to
be 'cat ... &gt;&gt;'. In the office at home I don't want a passphrase
to begin work on a different machine, but you might.
<H2>
3. Quick-Start - Screen
</H2>
<P>
Although it has been mentioned in Linux Gazette several times and
I actually did play with it briefly, the need for screen wasn't
at all obvious to me. Given 6+ vt's and X running on at least
two others with unlimited windows under whatever window manager
one has running, it seemed just another level of complexity.
<P>
The need became obvious as the network at home began taking shape.
The rationale behind screen boils down to this: if you start
sessions on remote machines under screen, they remain available
to you as long as the remote machine isn't shut down -- independent
of what happens on the communication link or your local machine.
Like one of my PCMCIA Ethernet cards only works under Windows and
I can thus only connect one of the notebooks to the PC at a time,
if the AMD is also running Linux, as it usually is -- but no need
to shut the 486 down, just eject the card, pop it into the AMD and
screen keeps sessions active on the 486 for later access.
<P>
To start screen:
<PRE>
screen -R restart session if available, otherwise start one
</PRE>
<P>
Within screen (not at all apparent, it hides well) use Ctrl-a
followed by:
<PRE>
? help
w show list of windows
n switch to next window
c create new window
d disconnect
A assign title to window
</PRE>
<H2>
4. Quick-Start - File Transfer
</H2>
<P>
If you are using ssh, you can get rid of rsh -- and telnet and
ftp as well for that matter. Here are a couple of alternatives
that to me are more convenient than the lot.
<P>
Netcat is a nifty little tool, analogous to cat. You start it to
receive a file on one machine
<PRE>
netcat -vv -l -p &lt;port&gt; &gt; &lt;file&gt;
</PRE>
<P>
and then tell the other machine what to send
<PRE>
netcat -vv -w 10 &lt;host&gt; &lt;port&gt; &lt; &lt;file&gt;
or
tar -czvf - &lt;directory&gt; | netcat -vv -w 10 &lt;host&gt; &lt;port&gt;
</PRE>
<P>
Use netstat and /etc/services to find an available port. The
option "-w 10" tells the sender to terminate the connection after
10 seconds of inactivity and the option "-vv" lets you verify
that the correct number of bytes was sent and received.
<P>
While netcat holds promise for scripts to backup to a different
machine as the network at home gradually takes shape, Midnight
Commander has amazing facilities for the things one simply has to
do by hand.
<P>
If ssh has been set up properly, the following entered in the
command line makes mc's active panel point to the same user on
the "other" machine -- yes, "#sh" not "#ssh", unfortunately
<PRE>
cd /#sh:&lt;host&gt;
</PRE>
<P>
And if the other side has anonymous ftp running, the following should be
fairly self-explanatory
<PRE>
cd /#ftp:www.tldp.org/
</PRE>
<H2>
5. Quick-Start - NFS
</H2>
<P>
I played around with nfs and it works but unfortunately my notes
are non-existant (basically just check-marks in the printout of
the HOWTO). As I recall, besides installing the relevant package
on client and server all that was needed was to edit /etc/exports
on the PC (server) as follows:
<PRE>
/home 192.168.0.100(rw,root_squash,sync,insecure)
/tmp 192.168.0.100(rw,root_squash,sync,insecure)
</PRE>
See also /etc/hosts.allow under 1. Ethernet, above.
<P>
At installation SuSE has a number of options to be selected, many
(all?) of which wind up in /etc/rc.config. Here is an excerpt of
those relevant to nfs:
<PRE>
START_PORTMAP="yes"
NFS_SERVER="yes"
USE_KERNEL_NFSD="yes"
USE_KERNEL_NFSD_NUMBER="4"
NFS_SERVER_UGID="no"
REEXPORT_NFS="no"
</PRE>
<P>
On the AMD (client) I added the following to /etc/fstab:
<PRE>
192.168.0.101:/home /Rhome nfs noauto,users,sync 0 0
192.168.0.101:/tmp /Rtmp nfs noauto,users,sync 0 0
</PRE>
<P>
At that point the mount command works with /Rhome etc. just as
well as /floppy or any other entry in fstab. One minor annoyance
is that user ID's must be the same on all machines using nfs.
This was not a problem for me because, when installing Linux, I
create the few users in the same order.
<H2>
6. Quick-Start - Samba
</H2>
<P>
Given the difficulty of keeping track of what one is doing under
Windows, particularly with false starts and things that turn out
to be wrong or simply irrelevant, this needs to be taken with a
large grain of salt. It assumes that the driver for the PCMCIA
card has been installed, if relevant. And if the terminology is
slightly obscure, that is due to my translating from the German
versions of Windows.
<P>
The following is what was necessary to enable logon to the PC
from the AMD under Samba, i.e. from Windows 98 to Linux 2.2.13
(SuSE 6.3). With appropriate adjustments the same steps worked
in the other direction, i.e. from Windows 95 to Linux 2.4.18-4GB
(SuSE 8.0). But note these differences:
<LI>encrypt passwords: 98: yes; 95: no
<LI>path to smb.conf: 2.4: /etc/samba; 2.2: /etc
<LI>path to smbpasswd: 2.4: /etc/samba; 2.2: /etc
<LI>path to netlogon: 2.4: /usr/local/samba; 2.2: /var/lib/samba
<PRE>
Part 1 - Linux
edit /etc/smb.conf
[global]
workgroup = Lohgo
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
password level = 8
username level = 8
socket options = TCP_NODELAY
domain logons = yes
domain master = yes
os level = 65
preferred master = yes
wins proxy = no
wins support = yes
hosts allow = 192.168.0.100 127.
[homes]
comment = Home Directories
read only = no
browseable = no
[netlogon]
comment = Network Logon Service
path = /usr/local/samba/netlogon
public = no
writeable = no
browseable = no
[profiles]
path = /home/%U/profile
guest ok = yes
browseable = no
confirm validity, should show no errors
testparm | less
create user w/password
smbpasswd -a web
verify user enabled
smbpasswd -e web
start Samba
smbd -D
nmbd -D
at this point from the client -- under
Linux, not Windows -- the following
should give a meaningful response
smbclient -L LohgoPC
and the following should give you
ftp-like access
smbclient //LohgoPC/web
</PRE>
<PRE>
Part 2 - Windows98
control panel | network | configuration
add | client for microsoft network
properties
Windows NT-domain: Lohgo
quick logon
add | protocol | microsoft | tcp/ip
properties | set IP-address
IP-address: 192.168.000.100
Subnet address: 255.255.255.000
primary network logon: client for Microsoft network
control panel | network | identification
computer name: LohgoAMD
workgroup: Lohgo
description: ToshibaAMD.Lohgo
control panel | passwords | user profiles
users can customize: both
reboot
if using PCMCIA the following puts
a symbol on the task bar with which
the PCMCIA card can be removed
&lt;insert PCMCIA Ethernet card and wait for lights to settle down&gt;
the following works ONLY after TCP/IP
has been set up, shows configuration
start | run | winipcfg
test connection from within a dos-box
ping -n 5 192.100.0.101
edit c:\windows\hosts.sam
127.0.0.1 localhost
192.168.0.101 lohgopc
edit c:\windows\lmhosts.sam
192.168.0.101 lohgopc
</PRE>
<P>
At this point after booting, Windows will ask you to logon, which
you can either do with a user known to Samba or cancel to use
Windows without the network as before. Now, however, the pop-up
window opened by Ctrl-Esc includes near the bottom a line to
logoff that afterwards provides the same logon prompt as booting.
And the entries in the task bar -- in the home directory, anyhow
-- tell you who and where you are, as in
<P>
"Explorer - &lt;user&gt; at &lt;host&gt;"
<P>
where "&lt;host&gt;" is the 3rd column of the entry for the Linux
machine in /etc/hosts on the Linux machine.
<P>
Symbolic links work quite nicely. The following executed within
the home directory of some user makes a directory -- even on a
different partition -- on the Linux machine available to that
user on the Windows machine:
<P>
ln -s /dos/f/pictures pictures
<P>
Due to a shortage of resources on the PC and the fact that I have
no real use for Windows anyhow, I use the following scripts to
start and stop the Samba daemons on the PC as needed:
<PRE>
/root/samba-up: #!/bin/bash
/usr/sbin/smbd -d3 -l /tmp/sbd.log
/usr/sbin/nmbd -D -d0 -o -l /tmp/sbd.log
/root/samba-down: #!/bin/bash
kill -s SIGTERM $(ps aux | grep mbd \
| grep -v grep | awk '{print $2}')
</PRE>
Once you have this working, it won't take you 5 minutes to set up
a network printer.
Uncomment (or add) the following to smb.conf:
<PRE>
[printers]
comment = All Printers
browseable = no
printable = yes
public = no
read only = yes
create mode = 0700
directory = /tmp
</PRE>
And then spend some time with the archaic data entry system on the
Windows machine:
<PRE>
control panel | printer | new printer
network printer | search
network environment | Pc
hpdj-a4-raw
manufacturer: HP
printer: HP OfficeJet
</PRE>
Shut down and re-start Samba and you're in business.
<H2>
7. Quick-Start - PCMCIA
</H2>
<P>
To be honest I have no idea whether this is generally applicable
or is specific to SuSE (8.0). And it was only the 2.4 kernel
that had problems with PCMCIA, not 2.2 strangely enough. Also,
it has nothing to do with networking per se. But if you're going
to connect a notebook to your network, you'll probably have to
confront the alphabet monster. And a PCMCIA Ethernet card makes
a delightful docking station.
<P>
Omitting many details, I initially failed to note an inconsistency
with references to irq 5 and 10 that later led to tons of error
messages. But this was due to having inserted the PCMCIA card
before starting the installation of Linux.
<P>
In my case at least, by not inserting the PCMCIA card before
starting installation, there was a reference to only one irq which
led to my doing the following.
<P>
After initial boot in /etc/sysconfig/pcmcia add
<PRE>
PCMCIA_PCIC="i82365"
PCMCIA_PCIC_OPTS="irq_list=10"
</PRE>
and then run /sbin/SuSEconfig and reboot.
<P>
However, installing the PCMCIA software before doing this causes
the notebook to hang irrevocably on boot. The only way to boot
is by giving LILO the parameter NOPCMCIA=yes. Instead, I installed
the PCMCIA software after SuSEconfig and before reboot.
<P>
After that, inserting the PCMCIA card produces a couple of beeps
and it works as advertised. Since this is my first personal
experience with Ethernet, I can't comment on alternatives but the
D-Link DFE-650TXD PCMCIA Ethernet card works well, Linux-to-Linux
anyhow (a couple of hours sending stuff over the network before
risking the wretched "Recovery CD-Rom" to make Windows 98 work
again) and has lots of LEDs to let you know what is going on.
<P>
Here is the output from /sbin/cardctl config and ident.
<P>
CONFIG:
<PRE>
Socket 0:
not configured
Socket 1:
Vcc 5.0V Vpp1 0.0V Vpp2 0.0V
interface type is "memory and I/O"
irq 10 [exclusive] [level]
function 0:
config base 0x0400
option 0x60 status 0x00 copy 0x00
io 0x0300-0x031f [auto]
</PRE>
<P>
IDENT:
<PRE>
Socket 0:
no product info available
Socket 1:
product info: "D-Link", "DFE-650TXD", "Fast Ethernet", "Rev. A1"
manfid: 0x0149, 0x0230
function: 6 (network)
</PRE>
<H2>
8. Further Reading
</H2>
<P>
See also the following articles in the issue of Linux Gazette
indicated:
<BR>36: <EM>Introducing Samba</EM>
by John Blair
<BR>39: <EM>Expanding Your Home Network</EM>
by J.C. Pollman
<BR>44: <EM>DNS for the Home Network</EM>
by J.C. Pollman and Bill Mote
<BR>47: <EM>Backup for the Home Network</EM>
by J.C. Pollman and Bill Mote
<BR>48: <EM>SAMBA, Win95, NT and HP Jetdirect</EM>
by Eugene Blanchard
<BR>50: <EM>Sharing your Home</EM>
by J.C. Pollman and Bill Mote
<BR>57: <EM>Making a Simple Linux Network Including Windows 9x</EM>
by Juraj Sipos
<BR>61: <EM>Using ssh</EM>
by Matteo Dell'Omodarme
<BR>64: <EM>ssh suite: sftp, scp and ssh-agent</EM>
by Matteo Dell'Omodarme
<BR>67: <EM>Using ssh-agent for SSH1 and OpenSSH</EM>
by Jose Nazario
<BR>74: <EM>Play with the Lovely Netcat</EM>
by zhaoway
<P>
The Linux Gazette Answer Gang Knowledge Base under Network
Configuration has numerous relevant tidbits among which
<EM>Routing and Subnetting 101</EM> is mandatory reading.
<P>
And the Linux Focus Index by Subject under System Administration
has several articles well worth looking at, e.g.:
<BR><EM>Replacing a Windows/NT/2000 server using Linux and Samba</EM>
by Sebastian Sasias
<BR><EM>Through the Tunnel</EM>
by Georges Tarbouriech
<BR><EM>Samba Configuration</EM>
by Eric Seigne
<BR><EM>Network File System (NFS)</EM>
by Frederic Raynal
<BR><EM>Home Networking, glossary and overview</EM>
by Guido Socher
<H2>
9. A Future without Windows?
</H2>
<P>
Coming from pre-TRS-80 days, I've used DOS, various versions of
Windows, at least 3 releases of OS/2, Coherent, and now 5 releases
of SuSE Linux over at least 5 years. I am convinced that anyone
in a position to "compare and contrast" would agree that at best
Windows is unstable junk. One of my goals for quite some time
had been to gain complete independence from Windows.
<P>
But consider: our ISDN phone system has an RS-232 connector with
which it can be programmed via -- yeah, you got it. One of the
printers is USB for the notebook and guess whose drivers are
available. Our digital camera uses smart media and the USB smart
media reader... Oh, well, you get the picture.
<P>
I've only had Samba working for a week and actually hadn't even
intended to check it out but everything else worked so well that
it seemed worth a try. And it's so slick that I question whether
it would really be worth my effort to try to find replacement drivers
for this legacy stuff. How many hours, how many experiments, what
guarantee of success? Doesn't it make more sense to boot the
notebook under the "silly system" (I hope Monty Python put that
under GPL) and use the Samba connection to the rest of the network?
At least until the last Windows-legacy device eats it.
<!-- *** BEGIN author bio *** -->
<P>&nbsp;
<P>
<!-- *** BEGIN bio *** -->
<P>
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
<em>
Edgar is a consultant in the Cologne/Bonn area in Germany.
His day job involves helping a customer with payroll, maintaining
ancient IBM Assembler programs, some occasional COBOL, and
otherwise using QMF, PL/1 and DB/2 under MVS.
</em>
<br CLEAR="all">
<!-- *** END bio *** -->
<!-- *** END author bio *** -->
<!-- *** BEGIN copyright *** -->
<hr>
<CENTER><SMALL><STRONG>
Copyright &copy; 2003, Edgar Howell.
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
Published in Issue 87 of <i>Linux Gazette</i>, February 2003
</STRONG></SMALL></CENTER>
<!-- *** END copyright *** -->
<HR>
<!--startcut ==========================================================-->
<CENTER>
<!-- *** BEGIN navbar *** -->
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="ecol.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue87/howell.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../lg_faq.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="jenkins.html"><IMG ALT="[ Next ]" SRC="../gx/navbar/next.jpg" WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
<!-- *** END navbar *** -->
</CENTER>
</BODY></HTML>
<!--endcut ============================================================-->