2002 11 21

                    LINUX NEWS
          November 21, 2002 - Issue #108


1) Sean’s Notes

2) Linux News

Codeweavers Releases Crossover 1.3.1
Evolution 1.2
Mathematica Supports Itanium
SCO Linux 4.0 Announced

3) Linux Resources

An Interview With The Knoppix Creator
The Peon's Guide To Secure System Development
Clustering 101
Shell Internal Variables
Name-Based Hosting With Apache

4) App o’ the Week

~~~~~~~~~~~~~~~~~~~~~~~~ ADVERTISEMENT ~~~~~~~~~~~~~~~~~~~~~~~~~

Try our IT Certification Courses FREE! SmartCertify Direct gives you classroom-quality IT training at a fraction of the cost of traditional courses. You’ll get 24-hour online mentoring from certified IT pros, hands-on interactive exercises, the popular Test Prep Exams, industry-approved content and more! Our personalized courses are so powerful that you’ll get certified GUARANTEED. Choose from MCSE, Cisco, A+, CIW, Linux, and many more. Click below to try our courses FREE and register to WIN a Dell PC worth $2,400!


For information on how to advertise in this newsletter
please contact mailto:adsales@CramSession.com or visit

1) Sean's Notes

Windows folks don't seem to think much of them, but serial ports
and Unix go hand in hand like Windows and a blue screen. Many of
the things you see in Unix are based off the ancient concept of
the user logging in through a dumb terminal. (If the phrase
"dumb terminal" is new to you, I'm not cursing a terminal, I'm
referring to a device that doesn't have any "smarts" and speaks

Everyone who logs into a Unix system interactively is assigned
a TTY, which handles their input and output to the rest of the
system. The older folks in the crowd might recognize this as an
acronym for "Teletype", and they'd be right. It came right from
the original style of logging in through a terminal/teletype to
your mainframe. These days, we're a bit more enlightened, and
can telnet/ssh to our servers. Regardless, we're still assigned
a tty. It's been modernized a bit, the 2.4 kernels implement a
virtual file system called "devpts" just for creating these
TTYs on the fly. I digress, though.

Like everything else in Unix, a serial port is represented as a
file. /dev/ttyS0 is the first serial port, /dev/ttyS1 is the
second, and so forth (there's that tty again). COM1: and COM2:
might be the more familiar names to you. Just remember than in
Unix, like the C language it's built with, we normally start
counting at zero (the reasons for this are the subject of
another article, or, preferably, to be discussed over a pint or
six of ale).

# ls -l /dev/ttyS0
crw-------    1 uucp     uucp     4,  64 May 20  2002 /dev/ttyS0

We see that the first serial port is a character device (that's
the leading 'c'). Character devices operate on one character at
a time, as opposed to block devices like disk drives, which deal
in--guess what?--blocks of data. Available serial ports are
often owned by the UUCP user for tradition's sake. (And some of
the utilities that communicate over a serial port set their ID
and group to that of UUCP, expecting these permissions).

On the x86 platform, at least, serial ports need an IRQ and an
ioport to operate. "setserial" is a program that you can use to
set this up.

# setserial /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4

As I'd expect, my first serial port (COM1: if you will) is at
ioport 0x3f8 and IRQ4. If, for some reason, you wanted to
change this, you could:

# setserial /dev/ttyS0 irq 5

will change to IRQ5. The man page for setserial has a list of
all the options that can be poked and peeked. Tread lightly!
Several times you'll come across warnings that improper use of
setserial can lock up your system.

Attributes associated with the port itself can be changed with
the "stty" command. The baud rate, flow control, echoing, etc.
Unless you're dumping raw data to the serial port (and there
are valid reasons for doing that), most programs will provide a
clean interface to adjust those for you.

As a network guy, I often find myself connecting out my serial
port to devices such as switches and routers. Instead of
fussing with Hyperterm, I just run:

# cu -l /dev/ttyS0

and "poof", a console prompt. Truth be told, I'm pretty lazy,
so I ran...

ln -s /dev/ttyS0 /dev/rack

...on my workstation at home, so that when I want to connect to
my routers, I use "/dev/rack" instead of having to crawl under
my desk and remember what serial port I used. A similar method
is recommended for modems and such.

"cu" is part of the UUCP utilities (Unix-to-Unix Copy Protocol.
Boy am I feeling old, now). It is very bare bones, as there are
no menus. As an idea of how friendly it is, the command to exit is:


Yep. A squiggle and a period. Minicom is much more friendly, so
we'll use that instead.

First, as root, run:

minicom -s

You probably want to go to "Serial port setup" to set up your
ports and speeds, and then "Save setup as dfl" (meaning
default). Then, you can enter minicom at any time by typing

Minicom is very easy to navigate; all commands start with
control A (^A). ^A followed by Z (^A Z) brings up help. ^A Q
exits. If you are connected to a modem, you can dial out from
here. If you're attached to a network device, you should be able
to see a command prompt.

Just as we can log into a router over a serial connection, we
can log into a Unix box this way. It's wonderful, because you
don't need to have a monitor or keyboard attached, you just plug
in your laptop (or better yet, you use some sort of serial
concentrator). A discussion of that will have to wait a bit,
because I've yet to dig up my dumb terminal from the garage!

Even though they're old technology, serial ports play a useful
role in Unix. Not only is the concept of a user's session being
tied to what used to be a serial device central to Unix, but
it's also a simple and reliable technology that can solve a
variety of problems.

Long live the Penguin,


2) Linux News

Codeweavers Releases Crossover 1.3.1

Crossover is a product that helps you to run Windows binaries
under Linux. I've been using 1.2 for a little while now, and
believe me, it's a great product. This latest release fixes up
a whack of bugs.

http://codeweavers.com/about/press_releases/?id 021104

Evolution 1.2

Evolution has fast become my favourite email program. The
latest version has some great new features, not to mention
some features that we've been waiting for (such as playing a
sound when email arrives).


Mathematica Supports Itanium

Mathematica is a rich and complex mathematical toolkit, used
heavily by engineers and scientists. They've supported Linux for
a while, but this native port to the Itanium platform ensures
that Mathematica benefits from both Linux, and the chip's
expanded capabilities.


SCO Linux 4.0 Announced

The SCO group announced the release of United Linux based "SCO
Linux 4.0". Correct me if I'm wrong, but it's the first release
from the United Linux cabal. Best of luck, folks.


3) Linux Resources

An Interview With The Knoppix Creator

"Knoppix" is a Linux distribution that runs completely off a CD,
X-Windows and all! It's started to get some fame because of its
excellent hardware detection routines, making it the perfect
tool to demonstrate Linux without needing to wipe the machine's
hard drive. Here's an interview with the creator, with some
links to documentation and the downloads.


The Peon's Guide To Secure System Development

I don't know whether to be ashamed or hopeful after reading this
article. It's all about how to think securely when building
systems, holding back no punches when blaming the current cadre
of programmers and admins for all the security bugs. Once you
get past the venom, it's a great article.


Clustering 101

This is a free (registration required, though) tutorial from
IBM about clustering. It's got basic information on clustering
to help you get started. Unsurprisingly, lots of information
on what IBM hardware fits the bill, too!


Shell Internal Variables

Print this out and keep it next to you: it's all the bash shell
variables, even examples as to their use. The next time you're
trying to remember what variable sets the prompt ($PS1), the PID
of the last job run ($!), or even the commonly set variables,
it's in here.


Name-Based Hosting With Apache

Name-based hosting lets you stack multiple virtual hosts on top
of one IP address. It can be tricky to set up; this document
gives you the skinny on this handy feature.


4) App o' the Week

Keeping your systems up-to-date is essential. Most vendors offer
an FTP server or service from where you can get updates.
Scripts, such as AutoUpdate can help out here if you have
multiple systems.

"AutoUpdate is a Perl script which performs a task similar to
RedHat's up2date or autorpm. It can be used to automatically
download and upgrade rpms from different (s)ftp or http(s)
sites. Moreover, it can also be used to keep a server with a
customized (RedHat) distribution plus all clients up to date.
I have tried to write it in such a way that it is not RedHat
specific and hence it should work with any other rpm-based
distribution as well."


(C) 2002 BrainBuzz.com, Inc. All Rights Reserved.

          This message is from CramSession

You are currently subscribed to the following list
   Hottest Linux News and Resources
   as: sean@ertw.com

To un-subscribe from this newsletter by e-mail,
   send a blank email message to:

To subscribe to this newsletter and many others visit
our site at: