2002 09 19

                    LINUX NEWS
        Resources & Links From CramSession.com
           September 19, 2002 - Issue #99


1) Sean’s Notes

2) Linux News

XFS Enters the Kernel
KDE and GNOME Brought Together in Null
Xandros Beta 3 Preview
Installing NVIDIA Drivers

3) Linux Resources

Where The Jobs Are
More on Certifications
Intrusion Detection
Develop Rock Solid Code in PHP

4) App o’ the week

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

Better Practice Tests at a Better Price

PrepLogic is raising the bar. You deserve the highest quality practice tests but you shouldn’t have to pay the highest price. Our practice tests are written by experienced Certified IT Professionals and designed to help you pass the first time. PrepLogic gives you superb, affordable quality. Still not convinced? Download a FREE demo or buy it and try it!


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

1) Sean's Notes

UNIX has some really great inter process communication (IPC)
features.  Processes can share memory with each other, they
can send data over sockets and pipes, they can synchronize
with semaphores, and more.  Most of this is done through
system calls, but today I'll show you a technique that lets
you do it through the command line.

A "FIFO" is otherwise known as a named pipe.  FIFO stands
for "First In, First Out".  So, you throw two things into a
FIFO, they'll come out of it, in order.  Think of it like a
one lane tunnel...  Cars go in, and they have to come out
the other end in the same order.  With a FIFO, we can have
one process write, and the other process read.  We'll see
that like everything else in Unix, a FIFO is just a file, so
the reader and writers are none the wiser!

A simple example...

Open two terminal sessions.

In the first, run:

$ mkfifo output
$ echo "hi" > output

The first line builds our FIFO:

$ ls -l output
prw-rw-r--    1 sean     sean          0 Sep 18 20:23 output

The 'p' as the first letter in the permissions tells us that
this file is a pipe.  The second line simply dumps the
string "hi" to the output.  Note how the command "blocks",
that is, it doesn't return.  That's because the FIFO needs
someone to read it.

In the other terminal window, see what's in the FIFO:

$ cat output

You'll also notice that the first window returns you to the
shell prompt.  Let's try something a bit different, namely
slowly feeding data to the FIFO without closing the file.

In your first terminal window, run:

$ perl -e 'open A, ">output";
  while (1) { print A `date`; sleep 1 }'

(this script opens the FIFO for writing, and continuously
prints the date and time every second)

In your second window run,

$ cat output

You'll see that data comes through the pipe, as expected.
When you stop one end, the other stops.  If you close the
reader (terminal #2), the writer says "broken pipe".  Close
the writer, and both exit gracefully.  That's because an end
of file is transmitted in the second case, but, in the first
case, there is just an abrupt closure.

What use is this portal we've created?  The original use I
learned thistechnique on was to compress the output of
tcpdump on the fly:

# mkfifo output
# gzip -c < output > output.gz &
# tcpdump -i eth0 -w output

Here, we create the FIFO in line one.  The second line
continually reads from the FIFO, and passes it through gzip
(to compress), and redirects the output the output.gz as a
compressed stream.  The ampersand (&) tosses it in the
background so that terminals aren't chewed up with blocked
processes.  Finally, tcpdump is run, with the output to the
FIFO.  Presto, the output is compressed without needing any
extra disk space.

Another use would be to have syslogd log to a FIFO, and then
pass it through an existing script that looks for key words
and flags alerts. For secure applications, a privileged
program could write to the FIFO, and have a lower level,
unprivileged, program read and process the output.

FIFOs are another powerful tool in the sysadmin's arsenal.
It'll let you hook two programs together that might normally
not speak, or to separate privilege levels.  It also speaks
volumes about the general design of the operating system --
as the admin, you have absolute control over the flow and
operation of your box.  Try doing that with your mouse!!!

Long live the Penguin,


2) Linux News

XFS Enters the Kernel
Kernel 2.5.36 marks the event where SGI's XFS becomes part of
the base Linux kernel.  While there are other journaling file
systems already there, this is one that's got some heritage
behind it, not to mention that it's been designed with
performance in mind.


KDE and GNOME Brought Together in Null
The next version of Red Hat, codenamed "Null", ships with the
GNOME and KDE desktops looking very similar.  This has drawn
the ire of people who worked hard to make these default
desktops look better than the other.  The manager of Red Hat's
desktop responds, putting any conspiracy theories to rest.
I, for one, think this is a great idea.


"Sun Microsystems will give away its StarOffice software to
ministries of education in Europe and Africa, the company is
expected to announce Tuesday, in an effort to undermine rival


Xandros Beta 3 Preview
Xandros is the company that picked up the Corel Linux
distribution, and has apparently been pretty busy.  Here's
a review of their upcoming product.


3) Linux Resources

Installing NVIDIA Drivers

NVIDIA distributes binary drivers for their 3D cards,
requiring both some kernel work and some digging in the X
server configuration.  This can be difficult if you've never
done it before, but the following article can guide you.


Where The Jobs Are
Here's an interesting look at where Linux related jobs are,
what you need to snag them, and some other general tidbits.
Although it misses the fact that many jobs aren't
advertised, on the whole it has some good advice.


More on Certifications
This article looks at the return on investment of various
certifications, including Linux ones.  I found it interesting
that in the small solution provider realm, the RHCE is far
behind in ROI, but is number one in terms of the employers'
willingness to pay for all the costs.


Intrusion Detection
Security geek RobnHood has put together a good introduction to
intrusion detection, including a primer on getting Snort and
ACID speaking together.


Develop Rock Solid Code in PHP
Here's a link to the second part of a two part series in
developing rock solid code using PHP.  It has good advice on
making things easier to configure, and general coding practices
that will help you develop better (and more secure) code.


4) App o' the week

Looking for a cool, automated, way to store FAQs on the web,
and let people submit changes?  FAQ-O-Matic is for you!  It's
remarkably configurable, and easy to set up.


(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: