Cramsession Linux Newsletter

Cramsession.com Linux News Archive

Please note that I've stopped writing the Linux News as of January 30, 2003, as Cramsession has cancelled most of their newsletters. You can send any questions or comments about this content to me (sean at ertw . com)
People have been asking for a downloadable version of the archives. [My mbox (one big file, 1.4MB)] [Individual files, text, tarball] [Individual files, html, tarball]
If you're looking for more Linux content, you might like my blog.
Jan 30, 2003
  Linux News - Issue #117
Jan 23, 2003
  Linux News - Issue #116
Jan 16, 2003
  Linux News - Issue #115
Jan 9, 2003
  Linux News - Issue #114
Jan 2, 2003
  Linux News - Issue #113
Dec 19, 2002
  Linux News - Issue #112
Dec 12, 2002
  Linux News - Issue #111
Dec 5, 2002
  Linux News - Issue #110
Nov 28, 2002
  Linux News - Issue #109
Nov 21, 2002
  Linux News - Issue #108
Nov 14, 2002
  Linux News - Issue #107
Nov 7, 2002
  Linux News - Issue #106
Oct 31, 2002
  Linux News - Issue #105
Oct 24, 2002
  Linux News - Issue #104
Oct 17, 2002
  Linux News - Issue #103
Oct 10, 2002
  Linux News - Issue #102
Oct 3, 2002
  Linux News - Issue #101
Sep 26, 2002
  Linux News - Issue #100
Sep 19, 2002
  Linux News - Issue #99
Sep 12, 2002
  Linux News - Issue #98
Sep 5, 2002
  Linux News - Issue #97
Aug 29, 2002
  Linux News - Issue #96
Aug 22, 2002
  Linux News - Issue #95
Aug 15, 2002
  Linux News - Issue #94
Aug 8, 2002
  Linux News - Issue #93
Aug 1, 2002
  Linux News - Issue #92
Jul 25, 2002
  Linux News - Issue #91
Jul 18, 2002
  Linux News - Issue #90
Jul 11, 2002
  Linux News - Issue #89
Jul 4, 2002
  Linux News - Issue #88
Jun 27, 2002
  Linux News - Issue #87
Jun 20, 2002
  Linux News - Issue #86
Jun 13, 2002
  Linux News - Issue #85
Jun 6, 2002
  Linux News - Issue #84
May 30, 2002
  Linux News - May 30, 2002
May 23, 2002
  Pearl In The Shell
May 16, 2002
  Linux Filesystems - Part Two
May 9, 2002
  Inside The Linux Filesystem
May 2, 2002
  CD Burning Under Linux
Apr 25, 2002
  Star Office Vs. Open Office
Apr 18, 2002
  Surfing With Mozilla
Apr 11, 2002
  "We Don't Support Linux..."
Apr 4, 2002
  Visit The UNIX Library
Mar 28, 2002
  Linux and World Domination
Mar 21, 2002
  Working With Keyservers
Mar 14, 2002
  A Look At Public Key Cryptography
Mar 7, 2002
  Monitoring Systems With "vmstat"
Feb 28, 2002
  Star Office 6 Not to be Free for Linux?
Feb 21, 2002
  How Can Programming Benefit a Systems Administrator?
Feb 14, 2002
  Alias: It's Not Just a TV Show
Feb 8, 2002
  Using The diff and patch Utilities
Jan 31, 2002
  How To Detect Cracks
Jan 24, 2002
  Using Razor to Shave Away Spam
Jan 17, 2002
  Stomping Spam
Jan 10, 2002
  Sair Linux Courseware Review
Jan 3, 2002
  2002: The Year of the Penguin!
Dec 27, 2001
  UNIX Apps on a Windows Box?
Dec 20, 2001
  Directory Assistance
Dec 13, 2001
  How Do You Kill Zombies?
Dec 6, 2001
  Using Hard and Soft Symlinks
Nov 29, 2001
  Change Terminal-Based Apps Into Network Apps
Nov 22, 2001
  Adventures In Booting
Nov 15, 2001
  Getting To Know PAM
Nov 8, 2001
  Know Your Enemy
Nov 1, 2001
  Do Mulder and Scully Use X-Windows?
Oct 25, 2001
  A Quick Look at the RHCE Certification
Oct 18, 2001
  What's Up With Linux Certification?
Oct 11, 2001
  Express Yourself Regularly
Oct 4, 2001
  Advice For Lazy Penguins?
Sep 27, 2001
  NVIDIA Jumps On Linux Bandwagon
Sep 20, 2001
  Understanding DNS in a Linux Environment
Sep 13, 2001
  Be Careful With Binaries
Sep 6, 2001
  Party Like It's 999,999,999
Aug 30, 2001
  Rooting Out Memory Hogs
Aug 23, 2001
  Spin Your 'Top'
Aug 16, 2001
  Keeping Time With NTP
Aug 9, 2001
  Supporting True Type Fonts
Aug 2, 2001
  Getting Perl To Fetch
Jul 26, 2001
  Who's The Man?!
Jul 19, 2001
  Adobe Cracks The DMCA Whip
Jul 12, 2001
  Due Processes
Jul 5, 2001
  Going Adobe Free
Jun 28, 2001
  Don't Send Mixed SIgnals
Jun 21, 2001
  Everything is a File. (almost)
Jun 14, 2001
  Know Your Partitions
Jun 7, 2001
  Where it's "at"!
May 31, 2001
  A Sneak Peek at RedHat 7.1
May 24, 2001
  Scheduling Tasks With cron - Part 2
May 17, 2001
  Scheduling Tasks With cron
May 10, 2001
  Open Source - Seeing Through The FUD
May 3, 2001
  A Look At Ximian's New Release
Apr 26, 2001
  Rev Up Your X-Windows Session
Apr 19, 2001
  Wrangling With GNU Cash
Apr 12, 2001
  Tame the syslogd Daemon
Apr 5, 2001
  Test Your Admin Skills At Honeynet
Mar 29, 2001
  Software RAID on Your Linux Box
Mar 22, 2001
  Prevent Disasters: Back It Up
Mar 15, 2001
  Notes From Underground!
Mar 8, 2001
  SuSE 7.1 - A First Look
Mar 1, 2001
  Certification Boot Camp
Feb 22, 2001
  Understanding Runlevels
Feb 15, 2001
  What Are The Advantages of Joining a LUG?
Feb 8, 2001
  Diving For Perls
Feb 1, 2001
  How To Secure Your Linux Installation
Jan 25, 2001
  Linux Problem Solving
Jan 18, 2001
  Stand up and Be Counted!
Jan 11, 2001
  2.4.0 is Here!
Jan 4, 2001
  When will Mom use Linux?
Dec 28, 2000
  The Year in Review
Dec 21, 2000
  The SourceForge Solution
Dec 15, 2000
  How to Compile and Install the New Kernel
Dec 7, 2000
  Put Your E-mail Into A Blackberry Basket
Nov 30, 2000
  Using Perl With Linux
Nov 23, 2000
  Working With MP3's Under Linux
Nov 16, 2000
  Apache 2.0 alpha 4
Nov 9, 2000
  Dell loves Linux!
Nov 2, 2000
  What's Up With RedHat 7?
===========================================================
                         LINUX NEWS
         Resources & Links From www.CramSession.com
                  Thursday, April 4, 2002
===========================================================

-----------------
TABLE OF CONTENTS
-----------------

1) Sean's Notes

2) Linux News

	Is It The Way Out?
	We Have The Way In
	Crossover to Linux
	Mandrake 8.2: Great Software Distributed Poorly

3) Linux Resources

	RHCE Study Site
	HTTP Benchmarking
	Help For DOS Users
	Telephony Software for Linux
	Network Analysis with Open Source Tools

4) App o' the Week


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

Get your certification now. Pay later! If you want to learn
more about Intense School's No money down and No payments for
one year financing, go to our website or call toll free
1-800-330-1446 to speak to an Intense School Specialist.

http://ad.brainbuzz.com/?RC06&AIQ06

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For information on how to advertise in this newsletter
please contact mailto:adsales@CramSession.com or visit
http://cramsession.com/marketing/default.asp

===========================================================
1) Sean's Notes
===========================================================

UNIX, by nature, makes extensive use of shared resources such
as code.  The procedures to copy a string, write something to
the screen, or even compress a stream, are well known.  Rather
than force every programmer to reinvent the wheel for each
program, an extensive system of libraries was introduced.

A UNIX library, much like its physical counterpart, is a
repository for information.  In the more familiar sense, a
library houses books.  In the UNIX sense, a library houses
commonly used routines.  In the real world, you can expect
that almost every library you walk in to will have an
encyclopedia, a dictionary, and likely a subscription to a
national paper.  One library may carry all the latest
scientific journals, while having few paperbacks.

Likewise, in UNIX we can look at any system and expect that
certain things will be there, such as string routines, math
routines, and directory services.  Most systems will carry more
than that, such as compression, X-Windows routines, and even
routines useful only to proprietary software.  Each package
of routines is referred to as a library (which confuses the
analogy somewhat), and appears as a file.  Each library is a
collection of object files, each of which implements one or
more routines.  Within the context of the object file (and
thus the library), we refer to the routines as symbols.

Working backward, we have many routines, which are built as
object files, and several object files with the same function
are smashed together to form a library.  When a programmer
needs a certain routine, he invokes the library (in a
procedure known as "linking").  In practice, the compiler
software takes care of all of this, the programmer just has
to call the routine.

Windows users thinking "This sounds a lot like a DLL" are
right.  While there are many differences, the intentions and
functionality are similar.

Some of the libraries you can expect to find on any UNIX
system are the C library (libc) and the math library (libm).
The former, (pronounced lib-see) is where most of the good
stuff happens, such as string manipulation, and the interface
to system calls (working with files, etc).  The "C" part of
the library harks back to UNIX's C-language beginnings, though
other languages will, at some point, use libc calls in order
to interact with the system.  Though there are standards
saying what must be in the system libraries, this even varies
from flavor to flavor.  One example would be Solaris, who
implements most network calls in libnsl.  Even within Linux
there are multiple libc's; several years ago we moved from
the libc to a brand new glibc (gee-lib-see), mostly because
of licensing and extra functionality.

With respect to the system, there are two ways we can make use
of these libraries.  The first is that every time a library
function is needed in a program, the linker copies that part
into the resulting binary.  We call this "static linking", and
the binary is said to be in "a.out" format.  Alternatively,
one could make the assumption that the user of the program
will have the same library, so all that is needed is a small
stub routine saying "the instructions on how to do this are in
libfoo.so".  This method is called "dynamic linking", with the
binary being in "ELF" format (Executable and Linking Format).

In general, static libraries have an ".a" extension, while
dynamic libraries have some variant on ".so".  When a package
comes in two parts, such as "foo" and "foo-devel", the "foo"
package usually has the shared library, and the "foo-devel"
package will have a static library, and "header files" which
help the programmer to use it.  Some -devel packages include
a modified shared library with extra information to help with
debugging.

Statically linked binaries are nice in that if you use some
esoteric libraries, the binary will still run on other people's
systems because everything is built right into it.  However,
I've got over 1,800 files in /usr/bin alone, the disk space
used will start to get to be a pain.  Furthermore, if we want
to even think about sharing memory between libraries, we're
going to have to use the dynamic method.

Dynamic linking isn't all peaches and cream, though.  We've
first got to make sure the user has a copy of the library we
need.  This means that he has to have the appropriate version,
and the system has to know where to find it.  All of this
has to take place behind the scenes, while the program is
loading.

Most of the dirty work is handled by "ld.so" (implemented
in Linux as /lib/ld-linux.so).  The ".so" extension should tip
you off that it, too, is a shared object.  ld.so is responsible
for bringing together the binary, and all associated libraries
at run time.  To do this, it maintains a list of all the shared
libraries on the system (in /etc/ld.so.cache).  It builds this
by searching all the directories specified in /etc/ld.so.conf.

If you see something like:

 error while loading shared libraries: libgpm.so.1: cannot open
 shared object file: No such file or directory

That's ld.so saying that it can't find a library, in this case,
libgpm.so.  In many cases, you've got the library (find / -name
libgpm.so.1 will find it), and it's just that ld.so can't find
it.  To add /usr/local/lib to ld.so's search path, add
/usr/local/lib to /etc/ld.so.conf, and run "ldconfig" to
rebuild the cache.  If the binary doesn't show up, then you may
not have it installed, or you may have the wrong version.

If you're interested in seeing what shared libraries a binary
uses, that's what the "ldd" command is for:

# ldd /usr/bin/vim
	libncurses.so.5 => /usr/lib/libncurses.so.5 (0x4002b000)
	libgpm.so.1 => /usr/lib/libgpm.so.1 (0x4006c000)
	libdl.so.2 => /lib/libdl.so.2 (0x40072000)
	libcrypt.so.1 => /lib/libcrypt.so.1 (0x40076000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x400a4000)
	libm.so.6 => /lib/libm.so.6 (0x400bb000)
	libc.so.6 => /lib/libc.so.6 (0x400dd000)
	/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Here we see that vim uses many libraries:

ncurses - advanced screen manipulation
gpm - mouse interaction
dl - other dynamic linking features
crypt - encryption
pthread - threads
m - math routines
c - the C library

the last is the hard coded reference to ld-linux.so (ld.so,
really), which brings it all together.

ldd is also handy if you have multiple copies of the same
shared library on your system, it will tell you which version
is being loaded in.

That's libraries in a nutshell.  It leaves us in a good
position to look further in to software dependencies, and to
get more in tune with how the system works.


Long live the Penguin,

Sean
mailto:swalberg@cramsession.com

===========================================================
2) Linux News
===========================================================

-------------------
Is It The Way Out?
-------------------
Microsoft and Unisys partnered to build a campaign that
attacks UNIX. The web site, wehavethewayout.com, ran on (of
all things) FreeBSD and Apache. Didn't take long for people
to pick up on it, the site was quickly converted to IIS 5,
and hasn't worked since (as of the writing of this article).
Maybe they should have hired the "expensive UNIX people" to
do the job for them; it would have saved some face.

http://news.com.com/2100-1001-874132.html

-------------------
We Have The Way In
-------------------
Microsoft can run the FUD (Fear, Uncertainty, Doubt) machine
all they want, but never let it be said that geeks aren't
equally clever. Soon after the release of the anti-UNIX site,
a pro-UNIX site cropped up.

http://www.wehavethewayin.com/

-------------------
Crossover to Linux
-------------------
Earlier I wrote that CodeWeavers have released a WINE-based
product that lets you run Windows plug-ins like Media Player
under Linux. Their latest news is that an expanded version
will let you run Internet Explorer and Office! There are
mixed reviews, as not everything is working 100%, but on the
whole, this is a huge step forward.

http://www.linuxplanet.com/linuxplanet/reviews/4126/1/

-----------------------------------------------
Mandrake 8.2: Great Software Distributed Poorly
-----------------------------------------------
Mandrake 8.2 was released a while ago, but according to
this review, only as a download. Bad news for Mandrake, as
this could result in many lost sales. The good news is that
8.2 has a wealth of new features, and the hardware detection
was exceptional.

http://newsforge.com/newsforge/02/04/03/1450240.shtml?tid#

===========================================================
3) Linux Resources
===========================================================

---------------
RHCE Study Site
---------------
Looking for information on the RHCE exam, practice questions,
and notes? RHCE2B.COM seems to have it all. Several interviews
with authors and people who have taken the exam give some
insight into the prestigious Red Hat Certified Engineer program.

http://www.rhce2b.com/

-----------------
HTTP Benchmarking
-----------------
Benchmarking isn't just for the marketroids. Properly done,
you can use benchmarks to figure out capacity, and how your
server will fare under a heavy load. It can also be used to
verify that any tuning you have performed improves performance.

http://www.unixreview.com/documents/s35/urm0105q/0105q.htm

------------------
Help For DOS Users
------------------
If you're familiar with the DOS command line, then this handy
chart will help you to map the commands that you're used to
into their UNIX equivalents.

http://octoped.net/linux/lx-translate.html

----------------------------
Telephony Software for Linux
----------------------------

UNIX has found itself as the basis for some PBXs, so it
should be no surprise that Linux has been adapted for
telephony usage. Voice Over IP is one application, but so
are SMS gateways and even PBXs. This article gives an
overview of the various options out there.

http://freshmeat.net/articles/view/430/

---------------------------------------
Network Analysis with Open Source Tools
---------------------------------------

This is a practical step-by-step guide showing how to use
Dsniff, MRTG, IP Flow Meter, Tcpdump, NTOP, Ngrep, and
others. It also provides a discussion of how and why we
should monitor network traffic.

http://www.linuxsecurity.com/feature_stories/dsniff/t1.html

===========================================================
4) App o' the Week
===========================================================

After having problems with my DSL connection and PPPoE,
I found this interesting little package for smaller DSL
providers. It's a Linux distribution that is designed
specifically to terminate PPPoE sessions for providers. It
can do 500 connections on a regular desktop, and even
clusters up to 50 servers together for extra scalability
and redundancy.

http://www.roaringpenguin.com/servpoet/

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

         This message is from CramSession.com.

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

To un-subscribe from this newsletter by e-mail:
   send a blank email message to:
   mailto:leave-linuxnews-3825955Y@list.cramsession.com

-------------------------------------------------------

To Subscribe to this newsletter by e-mail:
   send a blank email message to:
   mailto:join-linuxnews@list.cramsession.com
_______________________________________________________