6363 lines
249 KiB
HTML
6363 lines
249 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<HTML><HEAD><TITLE> Linux Gazette Table of Contents LG #95</TITLE></HEAD>
|
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
|
|
ALINK="#FF0000" >
|
|
<center>
|
|
<!-- A HREF="http://www.linuxgazette.com/">
|
|
<H1><IMG SRC="../gx/newlogo.jpg" ALT="LINUX GAZETTE" border="0"></H1></A> -->
|
|
<A HREF="http://www.linuxgazette.com/">
|
|
<H1><IMG ALT="LINUX GAZETTE" SRC="../gx/lglogo.png"
|
|
WIDTH="600" HEIGHT="124" border="0"></H1></A>
|
|
<H2>October 2003, Issue 95
|
|
Published by <I>Linux Journal</I></H2>
|
|
|
|
<A HREF="../index.html">Front Page</A> |
|
|
<A HREF="../index.html">Back Issues</A> |
|
|
<A HREF="../lg_faq.html">FAQ</A> |
|
|
<A HREF="../mirrors.html">Mirrors</A> <!-- | --><BR>
|
|
<A HREF="../tag-kb.html">The Answer Gang knowledge base</A> (your Linux questions here!) <!-- | --><BR>
|
|
<A HREF="http://www.linuxgazette.com/search.html">Search (www.linuxgazette.com)</A>
|
|
<!-- *** BEGIN mirror site search link *** -->
|
|
<!-- <A HREF="http://www.linuxgazette.com/search.html">(SITE.COM
|
|
mirror)</A> -->
|
|
<!-- *** END mirror site search link *** -->
|
|
|
|
</CENTER>
|
|
|
|
<HR NOSHADE>
|
|
<!--=================================================================-->
|
|
|
|
<!-- H1><font color="#BB0000">Table of Contents:</font></H1 -->
|
|
|
|
|
|
|
|
|
|
<!-- *** BEGIN toc *** -->
|
|
<UL>
|
|
<LI> <A HREF="lg_mail.html">The MailBag</A>
|
|
<LI> <A HREF="lg_tips.html">More 2-Cent Tips</A>
|
|
<LI> <A HREF="lg_answer.html">The Answer Gang</A>
|
|
<LI> <A HREF="lg_bytes.html">News Bytes</A>, <EM>by Michael Conry</EM>
|
|
<LI> <A HREF="ecol.html">Ecol</A>, <EM>by Javier Malonda</EM>
|
|
<LI> <A HREF="hughes.html">Quick and Dirty Data Extraction in AWK</A>, <EM>by Phil Hughes</EM>
|
|
<LI> <A HREF="millson.html">Integrating Tomcat and Apache on RedHat 9</A>, <EM>by Mike Millson</EM>
|
|
<LI> <A HREF="pramode.html">Linux Through an Oscilloscope</A>, <EM>by Pramode C.E</EM>
|
|
<LI> <A HREF="rondina.html">Software Engineering</A>, <EM>by Gustavo Rondina</EM>
|
|
<LI> <A HREF="vanheusden.html">An introduction to MultiTail</A>, <EM>by Folkert van Heusden</EM>
|
|
<LI> <A HREF="boue.html">Mexico is conquered by FLOSS</A>, <EM>by Felipe Barousse Boue</EM>
|
|
</UL>
|
|
|
|
<!-- *** END toc *** -->
|
|
|
|
|
|
|
|
|
|
<HR NOSHADE>
|
|
<!--=================================================================-->
|
|
|
|
<H3 ALIGN="center"><EM>Linux Gazette</EM> Staff and The Answer Gang</H3>
|
|
<BLOCKQUOTE>
|
|
<STRONG>TAG Editor:</STRONG> Heather Stern<BR>
|
|
<STRONG>Senior Contributing Editor:</STRONG> Jim Dennis<BR>
|
|
<STRONG>Contributing Editors:</STRONG>
|
|
Ben Okopnik, Dan Wilder, Don Marti
|
|
</BLOCKQUOTE>
|
|
|
|
<HR NOSHADE>
|
|
<!--=================================================================-->
|
|
|
|
<A HREF="TWDT.txt.gz">TWDT 1 (gzipped text file)</A><BR>
|
|
<A HREF="TWDT.html">TWDT 2 (HTML file)</A><BR>
|
|
are files containing the entire issue: one in text format, one in HTML.
|
|
They are provided
|
|
strictly as a way to save the contents as one file for later printing in
|
|
the format of your choice;
|
|
there is no guarantee of working links in the HTML version.
|
|
<HR NOSHADE>
|
|
<!--=================================================================-->
|
|
|
|
<center>
|
|
<I>Linux Gazette</I><img alt="[tm]" src="../gx/tm.gif">,
|
|
<A HREF="http://www.linuxgazette.com/">http://www.linuxgazette.com/</A><BR>
|
|
This page maintained by the Webmaster of <I>Linux Gazette</I>,
|
|
<A HREF="mailto: webmaster@linuxgazette.com"> webmaster@linuxgazette.com</A>
|
|
<P>
|
|
<H5>Copyright © 1996-2003 Specialized Systems Consultants, Inc.</H5>
|
|
</center>
|
|
|
|
<HR NOSHADE>
|
|
<!--=================================================================-->
|
|
|
|
|
|
<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">The MailBag</FONT></STRONG></BIG></BIG>
|
|
</CENTER>
|
|
|
|
</TD></TR>
|
|
</TABLE>
|
|
<P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
<HR>
|
|
<center>
|
|
<BIG><STRONG><FONT COLOR="maroon">HELP WANTED : Article Ideas</FONT></STRONG></BIG>
|
|
<BR>
|
|
<STRONG>Submit comments about articles, or articles themselves (after reading <a href="../faq/author.html">our guidelines</a>) to <A HREF="mailto:articlesubmission@linuxgazette.com">The Editors of <i>Linux Gazette</I></A>, and technical answers and tips about Linux to <A HREF="mailto:linux-questions-only@ssc.com">The Answer Gang</A>.
|
|
</STRONG>
|
|
</center><HR>
|
|
<UL>
|
|
<!-- index_text begins -->
|
|
<li><A HREF="#wanted.1"
|
|
><strong>dual Booting xp @ suse8.2</strong></a>
|
|
<li><A HREF="#wanted.2"
|
|
><strong>webdialer using http</strong></a>
|
|
<li><A HREF="#wanted.3"
|
|
><strong>booting linux from flash memory!</strong></a>
|
|
<li><A HREF="#wanted.4"
|
|
><strong>minicom related - help required</strong></a>
|
|
<li><A HREF="#wanted.5"
|
|
><strong>Re:help with grub</strong></a>
|
|
<!-- index_text ends -->
|
|
</UL>
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="wanted.1"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
|
<FONT COLOR="navy">dual Booting xp @ suse8.2</FONT></H3>
|
|
Sat, 30 Aug 2003 15:44:39 -0700
|
|
<BR>Patrick B (<a href="mailto:linux-questions-only@ssc.com?cc=ironman616@hotmail.com&subject=%20Re%3A%20%5BLG%2095%5D%20help%20wanted%20%231">ironman616 from hotmail.com</a>)
|
|
|
|
|
|
<P>
|
|
I have two separate hard drives on my computer hda, hdb. Xp is on hda an
|
|
suse 8.2 is on hdb.Im booting suse with a floopy with lilo installed on
|
|
it.Do you know of a lilo configuration that will boot my system.I tried the
|
|
default installation that wrote the boot loader to the mbr .All I got when I
|
|
tried booting was a blinking curser in the upper left corner of the
|
|
screen.If you know of a lilo configuration that works I would be most
|
|
grateful.Any help is most appretiated.
|
|
</P>
|
|
<P>
|
|
ironman616
|
|
</P>
|
|
<P>
|
|
|
|
<!-- end 1 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="wanted.2"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
|
<FONT COLOR="navy">webdialer using http</FONT></H3>
|
|
Sat, 9 Aug 2003 11:39:22 +0100
|
|
<BR>Aengus Walton (<a href="mailto:linux-questions-only@ssc.com?cc=smiley0@myrealbox.com&subject=%20Re%3A%20%5BLG%2095%5D%20help%20wanted%20%232">smiley0 from myrealbox.com</a>)
|
|
|
|
|
|
<P>
|
|
I have a server and workstation and when I use the workstation it's
|
|
masqueraded behind the server, but when the rest of the family needs to get
|
|
on the net i have to get the server to logoff the net and they logon
|
|
directly from the windows workstation. So what I need is a http interface
|
|
to wvdial (if possible) that's compatible with IE..
|
|
</P>
|
|
<P>
|
|
I've already spent time installing webdialer (a project which does just
|
|
this) but unfortunatly it doesn't work too well with IE as its client, and
|
|
changing the client isn't an option.
|
|
</P>
|
|
<P>
|
|
Any suggestions would be greatly appreciated
|
|
</P>
|
|
<P>
|
|
cheers
|
|
</P>
|
|
<P>
|
|
Aengus
|
|
</P>
|
|
<!-- sig -->
|
|
|
|
<!-- end 2 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="wanted.3"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
|
<FONT COLOR="navy">booting linux from flash memory!</FONT></H3>
|
|
Wed, 30 Jul 2003 02:27:18 +0000
|
|
<BR>Devi Priya (<a href="mailto:linux-questions-only@ssc.com?cc=ijpriya@hotmail.com&subject=%20Re%3A%20%5BLG%2095%5D%20help%20wanted%20%233">ijpriya from hotmail.com</a>)
|
|
|
|
|
|
<P>
|
|
Hello,
|
|
</P>
|
|
<P>
|
|
I am new to this list. I am involved in embedded project.
|
|
I have a system with linux as its operating system. My system has external
|
|
peripherals like SDRAM, Flash memory etc.
|
|
</P>
|
|
<P>
|
|
I have to boot my linux OS from Flash memory. I have a
|
|
BIOS programming which does the minimal hardware initialization. I would
|
|
like to know how to boot my OS from Flash memory?
|
|
</P>
|
|
<P>
|
|
Thanks in advance for any help!
|
|
</P>
|
|
|
|
<blockquote><font color="#000066">Well, this fellow's just getting started and a google search probably
|
|
helped him more than we could. But,
|
|
if someone has their own tale of burning their own flash-based startup,
|
|
and what they were really using it for, I think it'd make a great article.
|
|
-- Heather</font></blockquote>
|
|
|
|
<!-- end 3 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="wanted.4"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
|
<FONT COLOR="navy">minicom related - help required</FONT></H3>
|
|
Tue, 5 Aug 2003 06:36:04 -0400 (EDT)
|
|
<BR>Sriram N.S. (<a href="mailto:linux-questions-only@ssc.com?cc=sriram_ns@hotvoice.com&subject=%20Re%3A%20%5BLG%2095%5D%20help%20wanted%20%234">sriram_ns from hotvoice.com</a>)
|
|
|
|
|
|
<P>
|
|
hi,
|
|
</P>
|
|
<P>
|
|
(1) I have been using minicom v2.00.0 on red-hat 7.3 to test
|
|
my serial-port driver. while doing file-transfers (with both
|
|
flow-controls disabled) i observe that minicom attempts to enable
|
|
software flow control automatically. this happens even when
|
|
hardware flow control has been enabled. i get to see the corresponding
|
|
ioctl being issued to the driver. how can i overcome this particular
|
|
problem??. i have been attempting the transfer operation at
|
|
baud-rates 230K, 115K using ZModem proto. Is there an undocumented
|
|
limitation with minicom with respect to speed??. This particular
|
|
problem also affects transfer of binary files as minicom mistakes
|
|
the content of the received file as control info.
|
|
</P>
|
|
<P>
|
|
(2) what are the possible causes for "Garbage Count exceeded"<TT>/</TT>"Bad
|
|
CRC" messages on minicom??
|
|
</P>
|
|
<P>
|
|
Your help in this regard will be highly appreciated
|
|
</P>
|
|
<P>
|
|
Rgds,
|
|
Sriram.
|
|
</P>
|
|
|
|
<blockquote><font color="#000066">If you have more juicy things to say than "there may be a new version out"
|
|
- any readers are welcome to chime in with real experiences on this one...
|
|
-- Heather</font></blockquote>
|
|
<!-- sig -->
|
|
|
|
<!-- end 4 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="wanted.5"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
|
<FONT COLOR="navy">Re:help with grub</FONT></H3>
|
|
Fri, 8 Aug 2003 12:33:39 -0500
|
|
<BR>cnuccio (<a href="mailto:linux-questions-only@ssc.com?cc=cnuccio@ltpro.com&subject=%20Re%3A%20%5BLG%2095%5D%20help%20wanted%20%235">cnuccio from ltpro.com</a>)
|
|
|
|
|
|
<P>
|
|
hi
|
|
</P>
|
|
<P>
|
|
i saw your linux tips about grub and am in a bit of a pickle and i
|
|
thought you could help.
|
|
</P>
|
|
<P>
|
|
i got a new dell with xp preisntalled. i asked for fat32 but they gave
|
|
me NTFS. anyway, so i instralled partition magic, made a 5 gig partiion
|
|
and setup boot magic (prepare for new OS).
|
|
</P>
|
|
<P>
|
|
i activated the partition and then booted to the redhat 9 (shrike) CD
|
|
and installed. reboot, and all i see is grub, with only linux as a
|
|
choice.
|
|
</P>
|
|
<P>
|
|
dell was no help, so i tried for a few days to get some info on
|
|
editing grub.conf and getting xp back booting. i tweaked and trial and
|
|
errored and first got it to boot to xp, but there was a "unable to
|
|
validated license" or something. no dialog to login.
|
|
</P>
|
|
<P>
|
|
more tweaking, added inter partition mapping (i assume the license key
|
|
was on another partition and it seemed to work even if i am wrong) got
|
|
it to get to login box, but after typing in log and PW, it just sat
|
|
there unable to start the explorer. i know i am close, but can't seem to
|
|
get grub correct.i found a GUI grubconf utlity, but it assumes you know
|
|
what you are doing.
|
|
</P>
|
|
<P>
|
|
here is my grub conf as i left it when my brain melted. i did a thing
|
|
or 2 more to it and broke it again, but it was late:
|
|
</P>
|
|
<p align="center">See attached <tt><a
|
|
href="misc/wanted/melted.grub-conf.txt">melted.grub-conf.txt</a></tt></p>
|
|
<p>and here is the output of fdisk -l to show my drive info:</p>
|
|
<p align="center">See attached <tt><a
|
|
href="misc/wanted/melted.fdisk-l.txt">melted.fdisk-l.txt</a></tt></p>
|
|
<P>
|
|
can you help me? i didn;t make rescue floppies (xp nor partition magix)
|
|
and didn't back up my
|
|
data ( i have done this several times with no probs.) and i really hate
|
|
reinstalling (mainly losing lots of unread mail) but i know i am
|
|
close...
|
|
</P>
|
|
<P>
|
|
please help if you can. thanks very much for your time.
|
|
</P>
|
|
<P>
|
|
chris nuccio
|
|
</P>
|
|
|
|
<blockquote><font color="#000066">Anyone who's gotten their hands grubby with WinXP want to give it a shot?
|
|
-- Heather</font></blockquote>
|
|
<!-- sig -->
|
|
|
|
<!-- end 5 -->
|
|
<HR>
|
|
<center>
|
|
<BIG><STRONG><FONT COLOR="maroon">GENERAL MAIL</FONT></STRONG></BIG>
|
|
<BR>
|
|
</center><HR>
|
|
<UL>
|
|
<!-- index_text begins -->
|
|
<li><A HREF="#mailbag.1"
|
|
><strong>The Mailbag: Article Idea: "Windows Defectors" column</strong></a>
|
|
<!-- index_text ends -->
|
|
</UL>
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="mailbag.1"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
|
<FONT COLOR="navy">The Mailbag: Article Idea: "Windows Defectors" column</FONT></H3>
|
|
Mon, 4 Aug 2003 12:45:15 -0400
|
|
<BR>grok (<a href="mailto:articlesubmission@linuxgazette.com?subject=%20Re%3A%20%5BLG%2095%5D%20mailbag%20%231">grok from sprint.ca</a>)
|
|
|
|
|
|
<P><STRONG>
|
|
Hi all:
|
|
</STRONG></P>
|
|
<P><STRONG><BLOCKQuote>
|
|
I'm glad I came across this 'polemic' now (being, sadly, only a sometime
|
|
reader of LG). My 2-cents'-worth:
|
|
</BLOCKQuote></STRONG></P>
|
|
<P><STRONG>
|
|
Some LG contributors seem to consistently miss the point as (for that
|
|
matter) do many GNU/Linux 'geeks': this isn't about what possible MS
|
|
defectors should or shouldn't be doing -- it's about what they <EM>will</EM>
|
|
do; and they WILL be staying away from GNU/Linux unnecessarily if they
|
|
anticipate the least complication in 'switching over' -- as is already
|
|
the case somewhat.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
The original letter-writer has hit the nail on the head (again -- as
|
|
this is not the first time this has come up, by any means). 'Turn-key'
|
|
types need -- and should receive -- all the help and encouragement they
|
|
can possibly get to switch over. To quibble ahead of time over the
|
|
methodology or the feasibility or the desirability, even, of getting a
|
|
significant percentage of Windows users to 'defect' to us, is more about
|
|
confusing the <EM>politics</EM> of the matter with the <EM>mechanics</EM> of it all.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
IMO 'geeks' seem to excel at being technically sophisticated about these
|
|
issues -- but politically naive in the extreme. It ain't rocket science
|
|
to understand that we simply are <EM>required</EM> to hold these people's hand
|
|
a bit in helping them over the hump, if we entertain any hopes of
|
|
freeing the planet from the thrall of Microsoft (and others). The
|
|
details will take care of themselves AFAIC -- discussion here of the
|
|
Knoppix solution being a case-in-point.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
As a former long-time 'windows tips' reader and fairly experienced
|
|
political activist -- and small-time GNU/Linux advocate/user of some
|
|
years' experience (if not expertise) as well -- there is one thing that
|
|
is ABUNDANTLY clear to me: there is absolutely NO fundamental
|
|
contradiction between having a 'turn-key', 'idiot-proof' GNU/Linux
|
|
install over top of the preferred geek wet-dream OS we all desire. We
|
|
<EM>can</EM> have things both ways (when it comes to GNU/Linux, if not in
|
|
Life). Geeks who object to 'dumbing things down', (for whatever reasons)
|
|
are simply missing the Big (non-technical) Picture -- which does INDEED
|
|
matter in the long term. Many GNU/Linux users won't settle for Free
|
|
Software becoming yet another 'niche market'. Too many geeks have said
|
|
as much that they wouldn't mind/care about such a state of affairs. They
|
|
clearly do not understand that this attitude <EM>could</EM> (but I don't
|
|
believe <EM>would</EM>) lead to the downfall of Free Software. It certainly
|
|
doesn't help, and actually harms, IMO our 'Cause' [i.e. see my
|
|
postscript].
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
I am looking forward to reading a forthcoming regular 'Windows
|
|
Defectors' column monthly in Linux Gazette.
|
|
;>
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
P.S.: LG should do an article about the insulting little 'cliques' of
|
|
geeks who inhabit the various #debian/#linux/#other channels on IRC,
|
|
terrorizing and driving away newbies in droves.
|
|
Clearly these 'experts' have <EM>one</EM> set of problems <EM>they</EM> themselves
|
|
haven't yet 'defined'...
|
|
</STRONG></P>
|
|
|
|
<blockquote><font color="red">The staff here at LG had a mixed reaction to this. I've formatted the
|
|
replies we got below in the format that TAG is laid out as, so that you,
|
|
the gentle reader can still see the context of the reply.
|
|
-- Thomas Adam</font></blockquote>
|
|
<HR width="10%" align="center"><P><STRONG>
|
|
Some LG contributors seem to consistently miss the point as (for that
|
|
matter) do many GNU/Linux 'geeks': this isn't about what possible MS
|
|
defectors should or shouldn't be doing -- it's about what they <EM>will</EM>
|
|
do; and they WILL be staying away from GNU/Linux unnecessarily if they
|
|
anticipate the least complication in 'switching over' -- as is already
|
|
the case somewhat.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Thomas]
|
|
Sigh, I think you're being too idealistic. I agree with you, but you
|
|
have to remember that "will do" is the operative phrase in your sentence.
|
|
Many people that write in asking questions such as "is Linux better than
|
|
Windows" often don't know themselves whether or not it would be a viable
|
|
alternative for them to switch, and so we ('we' as in the staff at LG) try
|
|
and extrapilate what they <EM>might</EM> want to do, based on the really poor
|
|
information that the querents send in.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
Many people that want to run Linux though often have a
|
|
pre-conceived notion as to what they want to use it for, i.e. a webserver,
|
|
fileserver, mailserver, etc., and more often is the case that they've
|
|
heard
|
|
that Linux can do this, and so they concentrate their efforts in finding
|
|
out how Linux can do <EM>that</EM> specific task -- which is great. This then
|
|
usually gives them the insentive to explore Linux's capabilties further and
|
|
to get Linux to do Other Things (tm).
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
The original letter-writer has hit the nail on the head (again -- as
|
|
this is not the first time this has come up, by any means). 'Turn-key'
|
|
types need -- and should receive -- all the help and encouragement they
|
|
can possibly get to switch over.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Thomas]
|
|
Which we try as best we can to provide. You have to understand though that
|
|
we can only go so far as to help them only <EM>if</EM> they are willing to put the
|
|
effort in themselves. There is only so much effort we can put in to a
|
|
querent's answer, based on how far he/she is prepared to take out efforts.
|
|
This is why joining a local LUG can be hugely beneficial for those who are
|
|
just finding their feet, as it were.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
I know of one querent (I shan't name names, although Heather will know who
|
|
I am talking about (Hi, Heather!)) who continually e-mails us questions.
|
|
This is great, since this is what we're here for in the first place, but it
|
|
seems to me as though very little to no effort is first put into researching
|
|
the question before it is sent. More often than not, we at the LG are a
|
|
front-end to google/linux.
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
To quibble ahead of time over the
|
|
methodology or the feasibility or the desirability, even, of getting a
|
|
significant percentage of Windows users to 'defect' to us, is more about
|
|
confusing the <EM>politics</EM> of the matter with the <EM>mechanics</EM> of it all.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Thomas]
|
|
Not at all, the two are virtually synonymous if you ask me, and often go
|
|
hand in hand, since it a) depends on <EM>what</EM> (if any specific task) person X
|
|
wants to do, and b) the mechanics are usually executed as a result of the
|
|
purpose for defecting. I use the term 'purpose' in the loose sense, since
|
|
there are some people who try Linux, just because they have heard a lot
|
|
about it.
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
IMO 'geeks' seem to excel at being technically sophisticated about these
|
|
issues -- but politically naive in the extreme. It ain't rocket science
|
|
to understand that we simply are <EM>required</EM> to hold these people's hand
|
|
a bit in helping them over the hump, if we entertain any hopes of
|
|
freeing the planet from the thrall of Microsoft (and others). The
|
|
details will take care of themselves AFAIC -- discussion here of the
|
|
Knoppix solution being a case-in-point.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
I believe you are creating a stereotype, to say nothing of making a
|
|
sweeping generalisation. Granted there are a small minority who have
|
|
the attitude of: RTFM each and everytime a person asks a question (this is
|
|
<EM>very</EM> common in IRC rooms), but then most people are genuinely trying to help.
|
|
Again, I stress the importance of LUG's here as a means of "holding their
|
|
hands".
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
I disagree with the way you have phrased your sentence: "freeing the
|
|
planet from the thrall of Microsoft (and others)." Remember that
|
|
switching over is down to the individual choice, <EM>or</EM> to the choice of the
|
|
organisation/business/etc that a person may well work for. In the latter
|
|
case though, training ought to be given, but for the former, it is again
|
|
dependant on his/her needs from Linux.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
There are some people who I recommend should stick to using MS-Windows
|
|
based upon their requirements. My parents for example would really not get on
|
|
with Linux one bit, due to their needs, and still at this time, Linux does not
|
|
satisfy them.
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
As a former long-time 'windows tips' reader and fairly experienced
|
|
political activist -- and small-time GNU/Linux advocate/user of some
|
|
years' experience (if not expertise) as well -- there is one thing that
|
|
is ABUNDANTLY clear to me: there is absolutely NO fundamental
|
|
contradiction between having a 'turn-key', 'idiot-proof' GNU/Linux
|
|
install over top of the preferred geek wet-dream OS we all desire.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Thomas]
|
|
Are you saying that Linux is a source of sexual satisfaction? I also
|
|
completely refute your stereotype of "geek" (whatever you mean by that).
|
|
No OS is idiot-proof', since it all comes down to how <EM>you</EM> as a user of
|
|
the OS decide to manage it.
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
We <EM>can</EM> have things both ways (when it comes to GNU/Linux, if not in
|
|
Life). Geeks who object to 'dumbing things down', (for whatever reasons)
|
|
are simply missing the Big (non-technical) Picture -- which does INDEED
|
|
matter in the long term.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Thomas]
|
|
Which is what?
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
Many GNU/Linux users won't settle for Free
|
|
Software becoming yet another 'niche market'. Too many geeks have said
|
|
as much that they wouldn't mind/care about such a state of affairs. They
|
|
clearly do not understand that this attitude <EM>could</EM> (but I don't
|
|
believe <EM>would</EM>) lead to the downfall of Free Software. It certainly
|
|
doesn't help, and actually harms, IMO our 'Cause' [i.e. see my
|
|
postscript].
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Thomas]
|
|
We can perhaps thank RMS for his continual devotion to the FS cause here.
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
I am looking forward to reading a forthcoming regular 'Windows
|
|
Defectors' column monthly in Linux Gazette.
|
|
;>
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Thomas]
|
|
Assuming you would write one, but expect a lot of flame e-mails!
|
|
</BLOCKQUOTE>
|
|
<HR width="10%" align="center"><P><STRONG>
|
|
I am looking forward to reading a forthcoming regular 'Windows
|
|
Defectors' column monthly in Linux Gazette.
|
|
;>
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Jimmy O'Regan]
|
|
I volunteered to write about Wingate (it's still on my todo list,
|
|
there's just one or two things I haven't gotten working the right way
|
|
yet), I still have to use Windows to browse the net (winmodem), and most
|
|
of the answers I've given have been on windows related subjects, so I
|
|
volunteer to write a column about windows stuff. Now, I'm not the most
|
|
confident person in the world, so (to the rest of the Answer Gang
|
|
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
|
height="24" width="20" align="middle"> is
|
|
there someone I can send draft articles to for constructive criticism?
|
|
To Jim/grok, are there any specific topics you think should be covered?
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
I had been thinking of starting with articles which showed how Windows
|
|
users could begin the transition by using free software under windows,
|
|
to lower the learning curve: cygwin, open office (.org), mozilla &c. (I
|
|
also have a couple of short scripts and aliases to convert (<EM>really</EM>)
|
|
obscure windows file formats to something useful, though I might just
|
|
group a few and sent them as 2c tips).
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
The quickest idea I could roll off is an article about Cygwin; how the
|
|
standard tools are actually really useful, even if you can't just point
|
|
and click to use them
|
|
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
|
height="24" width="20" align="middle"> - I could roll a couple of the obscure file
|
|
formats into that, by way of demonstration (using awk for CSV etc)
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
I could probably do an introduction to Open Office from the MS Office
|
|
user's POV at the same time; provided I get enough time around my
|
|
parents (my mother is/was an ECDL instructor, my Dad had to train the
|
|
rest of the office staff at his last job), and having once been forced
|
|
to use ASP, I'm pretty interested in trying out Arrowhead and giving my
|
|
impressions.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
On a level which leans more towards my personal interests, I've got some
|
|
video editing to do in the next week, and I want to try out Ardour as a
|
|
home studio solution, and as a guitarist, I want to see if Songwrite
|
|
comes anywhere near GuitarPro as a way of representing tablature; but
|
|
since on the distro I'm forced to use (Mandrake bloody 9.0) both gcc and
|
|
python are broken, this may take a while.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
Plus, the helicopter never came after the last time I volunteered
|
|
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
|
height="24" width="20" align="middle">
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
Some LG contributors seem to consistently miss the point as (for that
|
|
matter) do many GNU/Linux 'geeks': this isn't about what possible MS
|
|
defectors should or shouldn't be doing -- it's about what they <EM>will</EM>
|
|
do; and they WILL be staying away from GNU/Linux unnecessarily if they
|
|
anticipate the least complication in 'switching over' -- as is already
|
|
the case somewhat.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Ben]
|
|
Och, that tired old refrain again. Why are you assuming that people are
|
|
"missing" something here? What if, after sober and careful
|
|
consideration, they have decided that the cons of doing what you ask for
|
|
outweigh the pros? I am among the Linux "geeks" that have done so; many
|
|
other people that I know are as well. Your assumption is poorly
|
|
considered and rather offensive.
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
The original letter-writer has hit the nail on the head (again -- as
|
|
this is not the first time this has come up, by any means). 'Turn-key'
|
|
types need -- and should receive -- all the help and encouragement they
|
|
can possibly get to switch over. To quibble ahead of time over the
|
|
methodology or the feasibility or the desirability, even, of getting a
|
|
significant percentage of Windows users to 'defect' to us, is more about
|
|
confusing the <EM>politics</EM> of the matter with the <EM>mechanics</EM> of it all.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Ben]
|
|
Answer me one simple question here, if you would. Who pays? Conversely,
|
|
who is it that owes the hundreds of thousands of hours of careful,
|
|
exacting, difficult labor necessary to "convert" (quoted due to many
|
|
unmerited assumptions behind the word) those would-be Wind0ws-to-Linux
|
|
'defectors'?
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
IMO 'geeks' seem to excel at being technically sophisticated about these
|
|
issues -- but politically naive in the extreme.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Ben]
|
|
To put it plainly, you don't know what you're talking about. This myth
|
|
has been propagated for so long that even people who should know better
|
|
are affected by it - but a tiny bit of research would show you the cold,
|
|
hard truth in just moments. Take a look at Kuroshin, <A HREF="http://www.slashdot.org/">Slashdot</A>,
|
|
Linux.org, EFF.org, etc.; there are many, many highly politically-savvy
|
|
folks there if you look for them.
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
It ain't rocket science
|
|
to understand that we simply are <EM>required</EM> to hold these people's hand
|
|
a bit in helping them over the hump, if we entertain any hopes of
|
|
freeing the planet from the thrall of Microsoft (and others).
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Ben]
|
|
Who are "we"? If you are willing to do the job - if you manage to hold
|
|
up for even a week of providing the level of support you're talking
|
|
about without any remuneration - kudos and my respects to you. I have no
|
|
doubt that LG would be more than happy to advertise your services.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
Until you're willing to do this, please don't assume that you can co-opt
|
|
other people's services without any return. You don't own anyone else's
|
|
efforts. If we're speaking of extreme political naivete, it is exactly
|
|
this, often displayed by those who spend too much time in political bull
|
|
sessions and not enough time in the real world - people are <EM>not</EM> pawns,
|
|
their labor is <EM>not</EM> to be taken for granted.
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
The
|
|
details will take care of themselves AFAIC -- discussion here of the
|
|
Knoppix solution being a case-in-point.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Ben]
|
|
For those details to "take care of themselves", a fellow named Klaus
|
|
Knopper had to put in a few thousand hours (my best guess) of hard work.
|
|
I doubt that he'd appreciate his efforts being so dismissively
|
|
classified; I certainly don't.
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
As a former long-time 'windows tips' reader and fairly experienced
|
|
political activist -- and small-time GNU/Linux advocate/user of some
|
|
years' experience (if not expertise) as well -- there is one thing that
|
|
is ABUNDANTLY clear to me: there is absolutely NO fundamental
|
|
contradiction between having a 'turn-key', 'idiot-proof' GNU/Linux
|
|
install over top of the preferred geek wet-dream OS we all desire.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Ben]
|
|
As Thomas noted, I do not use OSes for my sexual satisfaction. Besides,
|
|
there's no such thing as idiot-proof; idiots are far too ingenuous. The
|
|
point that you're missing is that using a computer requires
|
|
intelligence, skill, and effort - and by its nature, always will. It's a
|
|
*tool*: one that, in this respect, is no different from, say, a lathe...
|
|
although a lathe is perhaps a little less <EM>physically</EM> forgiving. Idiots
|
|
will never use either one well.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
[Jason]
|
|
The only way we could have a "idiot-proof", "turn-key" would be for
|
|
someone other than the users to make choices for the users. Sounds kind
|
|
of like what a distribution does, doesn't it?
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
We
|
|
<EM>can</EM> have things both ways (when it comes to GNU/Linux, if not in
|
|
Life). Geeks who object to 'dumbing things down', (for whatever reasons)
|
|
are simply missing the Big (non-technical) Picture -- which does INDEED
|
|
matter in the long term.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Ben]
|
|
The Big Picture, in your perception, being that the skilled and the
|
|
knowledgeable are the servants of the idiots and the clueless? Please...
|
|
try that somewhere else. I grew up under a political system that was
|
|
based on that premise (the former USSR); the current state of that
|
|
entity, and the amount of suffering it created in this world, should
|
|
give you a clue as to the success of that idea.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
[Jason]
|
|
You should read "In the Beginning was the Command Line", an essay by
|
|
Neal Stephenson. (I don't have a link handy: Google for it.) It's about
|
|
user interfaces, and how GUIs rely upon other people making choices for
|
|
you.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
Oh yes, it's Linus Skywalker vs. the death star!
|
|
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)"
|
|
height="24" width="20" align="middle">
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
Okay, this is going to harsh, but how will clueless Windows users help
|
|
free software? They can't code. Bug reporting takes a certian skill.
|
|
</BLOCKQUOTE>
|
|
|
|
<blockquote><font color="red">That is highly inaccurate. Windows users' <EM>can</EM> write software, it is
|
|
just that they'll probably be used to a different language.
|
|
-- Thomas Adam</font></blockquote>
|
|
<BLOCKQUOTE>
|
|
How exactly is it that we can't live without these people?
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
But really, I wan't to see Linux popular as much as the next guy, but if
|
|
I have to do by making Linux look just like Windows, what's the point?
|
|
Distros such as Mandrake, IMHO, are doing a <EM>great</EM> job of providing
|
|
alternate configuration interfaces (ie, a GUI) and leveraging automatic
|
|
hardware detection.
|
|
</BLOCKQUOTE>
|
|
|
|
<blockquote><font color="red">Mandrake and RedHat are trying to be too much like Windows, IMHO. The
|
|
whole point about Linux should be that it is another alternative from
|
|
using it...not: "How can we make Linux look more like Windows"
|
|
-- Thomas Adam</font></blockquote>
|
|
|
|
<!-- end 1 -->
|
|
|
|
<!-- *** BEGIN author bio *** -->
|
|
<P>
|
|
<P>
|
|
|
|
<!-- *** END author bio *** -->
|
|
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<hr>
|
|
<CENTER><SMALL><STRONG>
|
|
Copyright © 2003, .
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 95 of <i>Linux Gazette</i>, October 2003
|
|
</STRONG></SMALL></CENTER>
|
|
<!-- *** END copyright *** -->
|
|
<HR>
|
|
|
|
|
|
<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">More 2-Cent Tips</FONT></STRONG></BIG></BIG>
|
|
</CENTER>
|
|
|
|
</TD></TR>
|
|
</TABLE>
|
|
<P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
<center><STRONG>See also: The Answer Gang's
|
|
<a href="../tag/kb.html">Knowledge Base</a>
|
|
and the <i>LG</i>
|
|
<a href="http://www.linuxgazette.com/search.html">Search Engine</a></STRONG>
|
|
</center><HR>
|
|
<UL>
|
|
<!-- index_text begins -->
|
|
<li><A HREF="#tips.1"
|
|
><strong>cinelerra & libstdc++so.3</strong></a>
|
|
<li><A HREF="#tips.2"
|
|
><strong>problem in dns setting up</strong></a>
|
|
<li><A HREF="#tips.3"
|
|
><strong>Home LAN setup question</strong></a>
|
|
<li><A HREF="#tips.4"
|
|
><strong>Anyone for winRAID?</strong></a>
|
|
<li><A HREF="#tips.5"
|
|
><strong>up2date SSL error</strong></a>
|
|
<li><A HREF="#tips.6"
|
|
><strong>Snapshot fo current window or desktop</strong></a>
|
|
<li><A HREF="#tips.7"
|
|
><strong>Errors while using rpm extension.....Cygwin</strong></a>
|
|
<li><A HREF="#tips.8"
|
|
><strong>Cool tool of the week: nntp//rss</strong></a>
|
|
<li><A HREF="#tips.9"
|
|
><strong>mult headeddsplay</strong></a>
|
|
<!-- index_text ends -->
|
|
</UL>
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="tips.1"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
|
<FONT COLOR="navy">cinelerra & libstdc++so.3</FONT></H3>
|
|
Fri, 08 Aug 2003 23:54:45 -0700
|
|
<BR>Thomas Adam (<a
|
|
href="mailto:linux-questions-only@ssc.com?cc=linux-questions-only@linuxgazette.com&cc=bbertsch@surfside.net&subject=%20Re%3A%20%5BLG%2095%5D%202c%20Tips%20%231">The <em>LG</em> Weekend Mechanic</a>)
|
|
<BR>Question by Brian
|
|
|
|
<P><STRONG>
|
|
Well, i installed the SuSe 8.2 pro, and it's really nice. Found Kino
|
|
and got my firewire DV video camera to download some AVI files. wow! To
|
|
get a final product SVCD of my little princess riding horses, i decided
|
|
to use Cinelerra.it won't install, because libstdc++so.3 isn't found.
|
|
I have all the C++ from SuSe, but, not this.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
My Questions:
|
|
1 i have the files from a Linux Format DVD "essentials" section. It
|
|
looks "involved" to install. Do i need the one file libstdc++so.3, or
|
|
the whole group?
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
2 Could you recommend a course of action. I would like to do some video
|
|
editing again. I'm 1/2 way there and real excited. Dang! i'm getting
|
|
all shaky again!
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
This looks like a classic case of "I cannot find the symlink". I usually
|
|
get annoyed at programs that do this, but the solution is simple:
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE><BLOCKQuote>
|
|
1. Find "libstdc++" (possibly in <TT>/usr/lib/</TT>)
|
|
</BLOCKQuote></BLOCKQUOTE>
|
|
<BLOCKQUOTE><BLOCKQUOTE><CODE>
|
|
2. ln -s /usr/lib/libstdc++ /usr/lib/libstdc++so.3
|
|
</CODE></BLOCKQUOTE></BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
(What you may find is that a file called "libstdc++so.so" exists, and
|
|
should that point of a library file, symlink it as appropriate).
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
3. run "ldconfig -X" (as root)
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
(Step 3 is there to keep the cache happy, although it is usually not
|
|
needed).
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
HTH,
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
Thank you very much. Cinelerra is working, the frame rate is up w/ my
|
|
NVIDIA driver, and i have 2 week's vacation starting today!. whoo hoo!
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
I am requesting your permission to post your suggestion to the web -
|
|
chat sites where a few are experiencing similar difficulties.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
thanks a 1 EE6.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
brian
|
|
</STRONG></P>
|
|
|
|
<blockquote><font color="red">You're more than welcome to do so
|
|
-- Thomas Adam</font></blockquote>
|
|
|
|
<!-- end 1 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="tips.2"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
|
<FONT COLOR="navy">problem in dns setting up</FONT></H3>
|
|
Wed, 6 Aug 2003 02:51:16 -0700 (PDT)
|
|
<BR>Kapil Hari Paranjape (<a
|
|
href="mailto:linux-questions-only@ssc.com?cc=anilksd@yahoo.com&subject=%20Re%3A%20%5BLG%2095%5D%202c%20Tips%20%232">The
|
|
Answer Gnag</a>)
|
|
<br>Question by Anil KP
|
|
|
|
<P><STRONG>
|
|
Hi,
|
|
We have leaseline from our isp and they have given us
|
|
8 ethernet ipz(public ip) for our internal servers.
|
|
The problem is that our ispz dns doesnt work properly.
|
|
so i thought of setting up my own dns.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
I was able to setup the dns on the private
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
network(192.168.1.1-first ethernet card) successfully
|
|
but was not able to setup the dns properly on the
|
|
public ip(another ethernet card). What wud be reverse
|
|
lookup zone file in the case of public ip?(I was
|
|
given by my isp only 8 pulic ipz ).
|
|
Anticipating ur reply
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Kapil]
|
|
This can only be done by subnet assignment. The ISP needs to
|
|
create entries for your in their reverse zone file which point
|
|
to your server. Look for CIDR or Classless Internet Domain Routing
|
|
on google.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
I think this is only applicable if bot hyou and the ISP use "bind".
|
|
If you use DJBernstein's domain name server programs then things are
|
|
different.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
To repeat, this is only possible through co-operation with the entity
|
|
(presumably your ISP) who has been authorised to provide reverse lookup
|
|
to the entire Class C net to which your eight addresses belong.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
As an example you can get for our domain:
|
|
</BLOCKQUOTE>
|
|
|
|
<blockquote><pre>$ host -t PTR 81.209.199.203.in-addr.arpa.
|
|
81.209.199.203.in-addr.arpa CNAME 81.imsc.209.199.203.in-addr.arpa
|
|
81.imsc.209.199.203.in-addr.arpa PTR proxy.imsc.res.in
|
|
|
|
$ host -t NS 209.199.203.in-addr.arpa.
|
|
209.199.203.in-addr.arpa NS md3.vsnl.net.in
|
|
209.199.203.in-addr.arpa NS md2.vsnl.net.in
|
|
|
|
$ host -t NS imsc.209.199.203.in-addr.arpa.
|
|
imsc.209.199.203.in-addr.arpa NS ns1.imsc.res.in
|
|
imsc.209.199.203.in-addr.arpa NS ns2.imsc.res.in
|
|
</pre></blockquote>
|
|
|
|
<!-- end 2 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="tips.3"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
|
<FONT COLOR="navy">Home LAN setup question</FONT></H3>
|
|
Sat, 09 Aug 2003 00:50:59 -0600
|
|
<BR>Faber Fedor (<a href="mailto:linux-questions-only@ssc.com?cc=xgen@softhome.net&subject=%20Re%3A%20%5BLG%2095%5D%202c%20Tips%20%233">xgen from softhome.net</a>)
|
|
<br>Question by xgen
|
|
|
|
<P>
|
|
Hi there dude,
|
|
</P>
|
|
<P>
|
|
i have a general question regarding Home LAN setup on Linux
|
|
</P>
|
|
<P>
|
|
I have 2 PCs to be networked and sharing a connection. Do i need 2 network
|
|
cards, 1 leading out to the outside world, another leading to my internal
|
|
LAN? Is this setup common? Will it help in LAN security?
|
|
</P>
|
|
<P>
|
|
Thanks a mil
|
|
</P>
|
|
<P>
|
|
-Xgen
|
|
</P>
|
|
<BLOCKQUOTE>
|
|
[Faber]
|
|
These days, the Dude has been upgraded to Dudes and a Dudette. We're
|
|
now known as The Answer Gang. The Answer Guy is still around , but he's
|
|
got help these days.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
Generally speaking, if you're using one of the Linux boxes as a
|
|
router/firewall. If you're using, say a LInksys router/firewall, then
|
|
no, you don't need two NICS in one Linux box.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
Check out www.tldp.org for various documents on setting up networks and
|
|
routers using Linux.
|
|
</BLOCKQUOTE>
|
|
<!-- end 3 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="tips.4"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
|
<FONT COLOR="navy">Anyone for winRAID?</FONT></H3>
|
|
Mon Sep 29 16:39:55 BST 2003
|
|
<br>Hugo Mills (<a
|
|
href="mailto:linux-questions-only@ssc.com?cc=linux-questions-only@linuxgazette.com&cc=Hugo@carfax.org.uk&subject=%20Re%3A%20%5BLG%2095%5D%202c%20Tips%20%234">Hugo@carfax.org.uk</a>)
|
|
|
|
<p><strong><font color="#000099">[hugo]</font><font color="#000066"> I seem to be getting a small but steady flow of people</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> asking me
|
|
about the Adaptec Serial ATA RAID card and Linux.</font></strong>
|
|
<br><font color="#006699">[editorgal]</font> hrmmmm
|
|
<br><font color="#006699">[editorgal]</font> is there a distro being buggy about it?
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066">
|
|
No, it just doesn't work right.</font></strong>
|
|
<br><font color="#006699">[editorgal]</font> a pal tells me that aacraid code is busted in some of the
|
|
gentoo kernel kits but is safe to use in their vanilla source kit
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066"> It's not AAC at all.</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> It's the
|
|
AAR-1210SA.</font></strong>
|
|
<br><font color="#006699">[editorgal]</font> is theer a secret handshake for it or is it just Being Evil right now?
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066"> It's based on the SiI3112 chip, but Adaptec mangled it.</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> You can
|
|
write stuff to the disk drive and read it back again,</font></strong>
|
|
<br><font color="#006699">[editorgal]</font> since I'm working on the tips section anyway.... <img src="" alt=":D">
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066">
|
|
but every disk access just causes a DMA timeout,</font></strong>
|
|
<br><font color="#006699">[editorgal]</font> ouch
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066">
|
|
which takes anything up to about 45 seconds to clear.</font></strong>
|
|
<br><font color="#006699">[editorgal]</font> urgh
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066"> So
|
|
it's basically worthless.</font></strong>
|
|
<br><font color="#006699">[editorgal]</font> that's millenia in computer time
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066"> I wrote a patch to the kernel to recognise the PCI ID of the card,</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> which works (I've got code in the kernel! Woohoo!)</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> but it has
|
|
the unfortunate effect above.</font></strong>
|
|
<br><font color="#006699">[editorgal]</font> this a private patch or submitted?
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066"> Submitted.</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> It went in 2.4.21-ac1, and 2.4.22 I think.</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> (Or was it
|
|
2.4.20-ac1 and 2.4.21? I can't remember)</font></strong>
|
|
<br><font color="#006699">[editorgal]</font> ok, it wasn't handled at all, but you provided code which tries to handle it, only DMA is still wicked?
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066"> Yes, that's about the size of it.</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> Adaptec provide Linux drivers for the card,</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> but they're only for certain stock Red Hat kernel packages.</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> and
|
|
they're binary-only.</font></strong>
|
|
<br><font color="#000066">* Editorgal</font> avoids ranting about RH's concept of "stock"
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066"> I've tried asking moderately noisily on LKML about the problems with this card,</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> but nobody seems to be able to give me any information at all.</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> All I've achieved is having several email threads archived where I appear to be</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> the font
|
|
of all knowledge about getting the 1210SA working under Linux.
|
|
</font></strong>
|
|
<br><font color="#006600">[tonytiger]</font> heh
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066"> As soon as this month's pay cheque clears, I'm buying an SIIG card instead,</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> and
|
|
selling the Adaptec on eBay.</font></strong>
|
|
<br><font color="#006699">[editorgal]</font> what's the info you want to get, I could post a wanted note for you in LG?
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066">
|
|
Why isn't it working, and how do you fix it? <img src=""
|
|
alt=":)"></font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> TBH, I
|
|
can't be arsed at this point.</font></strong>
|
|
<br><font color="#006699">[editorgal]</font> it isn't working because adaptec's too lame to cough up a source module instead of a binary for RH's heavily mangled kernels.
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066">
|
|
Well, yes, that's about the size of it. <img src=""
|
|
alt=":)"></font></strong>
|
|
<br><font color="#000066">* Editorgal</font> captures this thread for the 2c Tips column
|
|
<br><strong><font color="#000099">[hugo]</font><font color="#000066"> Also, I think they want to hide the fact that the RAID (0, 1, 0+1) part of the card is effectively done in software.</font>
|
|
<br><font color="#000099">[hugo]</font><font color="#000066"> (Or so it
|
|
is rumoured)</font></strong>
|
|
</p>
|
|
|
|
<p><em>That "rumor" is per a Linux Kernel Mailing List (LKML) post by Sam Flory. It's probably mirrored lots of places, but here's a pointer:
|
|
<br><a href="http://marc.theaimsgroup.com/?l=linux-kernel&m=105484662322837&w=2">http://marc.theaimsgroup.com/?l=linux-kernel&m=105484662322837&w=2</a>
|
|
<br>In the rest of the thread, Hugo notes that he's only looking for
|
|
basic drive-access features, but above, he notes that he hasn't managed to code them
|
|
up himself, and is giving up (his main contribution having been patching
|
|
the PCI ID recognition). For fairness sake they have binary modules for a few other stock boxed-linux kernels but as soon as you stray off the beaten path - and possibly as soon as you upgrade even if staying within the distro's offered kernels - someone else will have to figure out why the SiI3112 chip hates Seagate SATA drives.<em></p>
|
|
|
|
<p><em>Meanwhile, if you're the sort who bristles about binary-only drivers going into your otherwise trustable kernel, look out for VIA's "support" for the MPEG2 hardware on their EPIA boards, too. -- Heather</em></p>
|
|
|
|
<!-- end 4 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="tips.5"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
|
<FONT COLOR="navy">up2date SSL error</FONT></H3>
|
|
Fri, 26 Sep 2003 10:24:42 -0400
|
|
<BR>Greg Anderson (<a href="mailto:linux-questions-only@ssc.com?cc=linux-questions-only@linuxgazette.com&cc=Greg@FutureRealms.com&subject=%20Re%3A%20%5BLG%2095%5D%202c%20Tips%20%231">Greg from FutureRealms.com</a>)
|
|
|
|
<P><STRONG>
|
|
In Redhat 7.1 thru 9 running up2date fails with this message:
|
|
</STRONG></P>
|
|
|
|
<pre><strong>SSL.Error: [('SSL routines', 'SSL3_GET_SERVER_CERTIFICATE', 'certificate verify failed')]
|
|
</strong></pre>
|
|
<P><STRONG>
|
|
Then it tells you your system's clock may be so wrong it is causing the
|
|
problem. What is
|
|
really going on is the certificate and the up2date program is out of
|
|
date. You need to
|
|
download the lateest up2date from Redhat.
|
|
</STRONG></P>
|
|
|
|
<TABLE WIDTH="95%" BORDER="1" BGCOLOR="#FFFFCC"><TR><TD>
|
|
<p align="center">...............</p>
|
|
<P><STRONG>
|
|
"The certificate used by up2date and rhn_register to communicate with the
|
|
<A HREF="http://www.redhat.com/">Red Hat</A> Network reached its end of life on August 28th 2003. Users
|
|
attempting to connect to Red Hat Network will see SSL connection or
|
|
certificate verification failures."
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
"New versions of the up2date and rhn_register clients are now available
|
|
which are required for continued access to Red Hat Network."
|
|
</STRONG></P><p align="center">...............</p>
|
|
</TD></TR></TABLE>
|
|
<P><STRONG>
|
|
RHSA-2003:267 for Red Hat Linux:
|
|
https://rhn.redhat.com/errata/RHSA-2003-267.html
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
This solved it for me.
|
|
--
|
|
Greg Anderson
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[JimD]
|
|
Might be good to try an rpm --rebuilddb command, too. Just in case
|
|
rpm segfaults on a corrupted dbm/database.
|
|
</BLOCKQUOTE>
|
|
|
|
<!-- end 1 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="tips.6"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
|
<FONT COLOR="navy">Snapshot fo current window or desktop</FONT></H3>
|
|
24 Sep 2003 12:30:54 -0500
|
|
<BR>Dan Wilder, Thomas Adam, Ashwin N (<a href="mailto:linux-questions-only@ssc.com?cc=whegge@signalblast.com&subject=%20Re%3A%20%5BLG%2095%5D%202c%20Tips%20%232">the <em>LG</em> Answer Gang</a>)
|
|
<BR>Question by Wes Hegge
|
|
|
|
<P><STRONG>
|
|
How do I get a snapshot (preferably in gif or jpg format) of the current
|
|
window in <A HREF="http://www.kde.org/">KDE</A>? What I am looking for is the equivalent to MS's
|
|
Alt-PrtScn then paste to paintbrush and then save to a file.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
TIA
|
|
--
|
|
Wes Hegge
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Dan]
|
|
ksnapshot
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
Thanks,
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
I Guess, I am blind as a bat. Right in the "Graphics" submenu is
|
|
"Screen Capture Program" (aka ksnapshot).
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
Thanks for the help.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Thomas]
|
|
I haven't run KDE for years
|
|
(I'm an FVWM fan), but I do know that "ImageMagick" offers the "import"
|
|
utility which does the same thing, as does "xwd".
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
[Ashwin N]
|
|
Can be done using Gimp. From the menu choose,
|
|
</BLOCKQUOTE>
|
|
|
|
<blockquote><pre>File -> Acquire -> Screenshot
|
|
</pre></blockquote>
|
|
<BLOCKQUOTE>
|
|
[Heather]
|
|
For the ImageMagick method I keep a directory named prn and if I like
|
|
what I captured I rename this image. This happens to also be where I
|
|
keep documents I only have around to be printed. Here's my bash alias
|
|
I've been using for awhile:
|
|
</BLOCKQUOTE>
|
|
|
|
<blockquote><pre># capture an X display
|
|
# with thanks to the lazy folks at
|
|
# http://www.troubleshooters.com/linux/scrshot.htm
|
|
# who were kind enough to document how they do 'em.
|
|
screenshot ()
|
|
{
|
|
import -window root ~/prn/screendump.png
|
|
}
|
|
</pre></blockquote>
|
|
<BLOCKQUOTE>
|
|
Note that the man page for import is actually readable - you can take
|
|
shots of specific things, not just the whole screen.
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE>
|
|
There's also an enlightenment epplet that will make screenshots.
|
|
</BLOCKQUOTE>
|
|
|
|
<!-- end 2 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="tips.7"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
|
<FONT COLOR="navy">Errors while using rpm extension..... Cygwin</FONT></H3>
|
|
Sun, 28 Sep 2003 17:34:49 +0530
|
|
<BR>Ashwin N (<a href="mailto:linux-questions-only@ssc.com?cc=atiya.azim@niit.edu.pk&cc=yodha8@yahoo.co.uk&subject=%20Re%3A%20%5BLG%2095%5D%202c%20Tips%20%233">yodha8 from yahoo.co.uk</a>)
|
|
<BR>Question by Atiya Azim
|
|
|
|
<P><STRONG>
|
|
Actually i am not using red hat, although it is insalled on my pc.
|
|
Rather
|
|
i am using cygwin (<A HREF="http://cygwin.com"
|
|
>http://cygwin.com</A> which is linus-like environment for
|
|
windows platform - my OS is Windows 2000) for these rpms. It is working
|
|
fine with .tar and .gz files..but giving problems with all the files of
|
|
rpm format.
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Ashwin]
|
|
That is the problem! I have used Cygwin before, but I didn't know that
|
|
they
|
|
had even ported over RPM! In any case, if your need is just for a Java
|
|
SDK,
|
|
you can download the one available for Windows from the Sun website.
|
|
Install
|
|
it and the java, javac and other commandline tools will be available to
|
|
you
|
|
under Cygwin. Just remember to update the PATH variable with the directory
|
|
where the Java binaries are located.
|
|
</BLOCKQUOTE>
|
|
<P><STRONG>
|
|
Thanks for the help.........it is working this way.......
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Ashwin]
|
|
For other Linux utilities that are not available from the Cygwin mirrors,
|
|
you will have the best chance with the .tar.gz or .tar.bz2 files of those
|
|
applications.
|
|
</BLOCKQUOTE>
|
|
|
|
<!-- end 3 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="tips.8"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
|
<FONT COLOR="navy">Cool tool of the week: nntp//rss</FONT></H3>
|
|
Mon, 15 Sep 2003 11:17:32 -0600
|
|
<BR>Jason Creighton (<a
|
|
href="mailto:linux-questions-only@ssc.com?cc=androflux@softhome.net&subject=%20Re%3A%20%5BLG%2095%5D%202c%20Tips%20%234">The
|
|
<em>LG</em> Answer Gang</a>)
|
|
|
|
<P>
|
|
Hi,
|
|
</P>
|
|
<P>
|
|
nntp//rss (<A HREF="http://www.methodize.org/nntprss"
|
|
>http://www.methodize.org/nntprss</A>) is a RSS to NNTP so you
|
|
can read RSS feeds in your favorite newsreaders. Very nice.
|
|
</P>
|
|
|
|
<!-- end 4 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<P> <A NAME="tips.9"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
|
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
|
<FONT COLOR="navy">mult headeddsplay</FONT></H3>
|
|
Sun, 14 Sep 2003 20:08:16 +0100
|
|
<BR>Neil Youngman (<a href="mailto:linux-questions-only@ssc.com?cc=intiha@yahoo.com&cc=n.youngman@ntlworld.com&subject=%20Re%3A%20%5BLG%2095%5D%202c%20Tips%20%235">n.youngman from ntlworld.com</a>)
|
|
<BR>Question by Affan Ahmed
|
|
|
|
<P><STRONG>
|
|
Hello,
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
I have a NVIDA GForce 2 Go 100 card that supports
|
|
multiheaded display easily in Windows. Now i want to
|
|
do the same in Linux. I have RedHat 8.0. What do you
|
|
suggest that I do?
|
|
</STRONG></P>
|
|
<BLOCKQUOTE>
|
|
[Neil]
|
|
I suggest using Google
|
|
<A HREF="http://www.google.com/search?q=nvidia+linux+%22multiple+display%22&sourceid=opera&num=0&ie=utf-8&oe=utf-8"
|
|
>http://www.google.com/search?q=nvidia+linux+%22multiple+display%22&sourceid=opera&num=0&ie=utf-8&oe=utf-8</A>
|
|
</BLOCKQUOTE>
|
|
<BLOCKQUOTE><DL><DT>
|
|
It throws up potentially useful stuff like
|
|
<DD><A HREF="http://lists.suse.com/archive/suse-linux-e/2001-Jun/att-3012/01-TWINVIEW_README"
|
|
>http://lists.suse.com/archive/suse-linux-e/2001-Jun/att-3012/01-TWINVIEW_README</A>
|
|
</DL></BLOCKQUOTE>
|
|
|
|
<blockquote><font color="#000066">I suppose you could try the Gentoo Unreal Tournament demo CD, which
|
|
won't replace anything on your computer. At the very least it's tuned
|
|
up for NVidia. Find it by typing "unreal" into the search gadget at
|
|
Freshmeat.Net.
|
|
-- Heather</font></blockquote>
|
|
|
|
<!-- end 5 -->
|
|
|
|
|
|
|
|
|
|
<!-- *** BEGIN author bio *** -->
|
|
<P>
|
|
<P>
|
|
|
|
<!-- *** END author bio *** -->
|
|
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<hr>
|
|
<CENTER><SMALL><STRONG>
|
|
Copyright © 2003, .
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 95 of <i>Linux Gazette</i>, October 2003
|
|
</STRONG></SMALL></CENTER>
|
|
<!-- *** END copyright *** -->
|
|
<HR>
|
|
|
|
<H3>Contents:</H3>
|
|
<dl>
|
|
<dt><a href="#tag/greeting"
|
|
><strong>¶: Greetings From Heather Stern</strong></A></dl>
|
|
|
|
<DL>
|
|
<!-- index_text begins -->
|
|
<dt><A HREF="#tag.1"
|
|
><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
|
alt="(?)" border="0"
|
|
><strong>Efficiency regards running script in a subshell () and a seperate shell</strong></a>
|
|
<dt><A HREF="#tag.2"
|
|
><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
|
alt="(?)" border="0"
|
|
><strong>force unmounting of CDROM</strong></a>
|
|
<dt><A HREF="#tag.3"
|
|
><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
|
alt="(?)" border="0"
|
|
><strong>IP config files on Red Hat 9</strong></a>
|
|
<dt><A HREF="#tag.4"
|
|
><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
|
alt="(?)" border="0"
|
|
><strong>a linux solution for the office</strong></a>
|
|
<dt><A HREF="#tag.5"
|
|
><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
|
alt="(?)" border="0"
|
|
><strong>Simple DNS solution with Red Hat 9</strong></a>
|
|
<dt><A HREF="#tag.6"
|
|
><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
|
alt="(?)" border="0"
|
|
><strong>Creating RAMDISK</strong></a>
|
|
<dt><A HREF="#tag.7"
|
|
><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
|
alt="(?)" border="0"
|
|
><strong>X server crash when starting up RH9 for the first time</strong></a>
|
|
<dt><A HREF="#tag.8"
|
|
><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
|
alt="(?)" border="0"
|
|
><strong>Converting from Win2k to Linux</strong></a>
|
|
<!-- index_text ends -->
|
|
</DL>
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<A NAME="tag/greeting"><HR WIDTH="75%" ALIGN="center"></A>
|
|
<H3 align="left"><img src="../gx/dennis/hbubble.gif"
|
|
height="50" width="60" alt="(¶) " border="0"
|
|
>Greetings from Heather Stern</H3>
|
|
<!-- begin hgreeting -->
|
|
<p>Greetings everyone and welcome again to the world of The Answer Gang.
|
|
It's been quite hectic for me and not all fun and games... among other
|
|
things, I was ill last month around submission time
|
|
<img src="../gx/dennis/unsmily.gif" alt=":("> and that meant that
|
|
the TAG column wasn't submitted at all, as I missed the deadline,
|
|
feeling a little too "dead" at the time. Oh
|
|
well, I guess we all need a break now and then...</p>
|
|
|
|
<p>Thomas Adam valiantly threw a hand in to help out, and I have to
|
|
admit he did more than half the work this time around. He says he's
|
|
learning an awful lot about perl, too.</p>
|
|
|
|
<p>
|
|
The peeve of this month is without a doubt a lack of information and
|
|
extremely poor descriptions in the compositions of the e-mails sent in to
|
|
TAG. As a positive note, there have been a record number of hits to:</p>
|
|
|
|
<blockquote>
|
|
<a href="http://www.linuxgazette.com/tag/ask-the-gang.html"
|
|
>http://www.linuxgazette.com/tag/ask-the-gang.html</a>
|
|
</blockquote>
|
|
|
|
<p>Please, everyone - if you're thinking about asking a question, read
|
|
that, and ask us what you need as clearly as you can.
|
|
We understand it is difficult for those who do not speak English very
|
|
well, but that's rarely been a problem - folks who are so carefully
|
|
aware of their poor language skills also take a free moment, and only
|
|
ask what they need to ask, and say what they've tried so far. The point
|
|
is, if you can't be bothered to ask a clear question, there's far too
|
|
many messages for us to try to detangle yours.</p>
|
|
|
|
<p>Regular and attentive readers will note some of the messy messages
|
|
we <em>have</em> answered. Yes, there's been worse. With a question
|
|
such as</p>
|
|
|
|
<blockquote><strong>d00z, cn u h3lp me</strong></blockquote>
|
|
|
|
<p> ... maybe you'll get some chuckles, but you sure won't get an
|
|
answer. The same goes for you students out there with a take home
|
|
light quiz. We can spot those a handful of kilometers away, give or take
|
|
a mile. Maybe you should cc: your professor when you ask us the
|
|
question, and he can give <em>us</em> the passing marks in your class.
|
|
The point is to learn a few research skills - so for such questions,
|
|
search google. Search our KnowedgeBase - it's part of what it's here
|
|
for. Search TLDP.org and freshmeat if the problem is really about
|
|
Linux.</p>
|
|
|
|
<p>And now for what I'd really planned to say last month. I attended
|
|
Linux World Expo, as I do every year here in the Silicon Valley area,
|
|
with the prospect of meeting again friends in the open source world
|
|
from all over the place. But this year, I was also taking a step back
|
|
and a look around at how the trade show world has changed in its view of
|
|
Linux. Now I get to write this with the additional perspective of
|
|
having been invited to PC Expo - a more generic computer trade show.</p>
|
|
|
|
<h4 align="center">The View From The Trade Show Floor</h4>
|
|
|
|
<p>I can't comment on the view from the press room since all that's in
|
|
there is pamphlets, a couple of spare computers, and coffee. Maybe a
|
|
sandwich tray. The seminars are still seminars and the halls still
|
|
suck your cellphone dry.</p>
|
|
|
|
<p>However, out in the exhibit hall, the world has changed a lot.</p>
|
|
|
|
<p>My first Linux World Expo was in San Jose. IDG had just taken
|
|
over the project from a local group who wanted to create a Linux
|
|
conference on the same order as regional conventions run for and by
|
|
science fiction fans. IDG is a big player who runs a lot of trade
|
|
shows. They invited big names and posted sponsor banners and the whole
|
|
nine yards. Jim Dennis (our very own Answer Guy) was invited to speak
|
|
about security for a half day class, and if the next speaker hadn't shown
|
|
up, the audience would have kept them from cleaning the room so Jim
|
|
could continue to talk. The hall was filled with a bunch of booths,
|
|
many of them small companies, but a few names like Intel spring to mind.
|
|
I recognized about half the listed speakers by face and about a third
|
|
of them total would surely recognize me back. Geeks were everywhere,
|
|
confused managerial and business types were too. T-shirts were plentiful.
|
|
</p>
|
|
<p>They also made quite a splash by having a platinum sponsor pay for
|
|
a bunch of floor space outright and donate it to be used as a Dot Org
|
|
pavilion, where projects and linux user groups could have small kiosks
|
|
and generally have a good time. Dot Org was much better laid out the
|
|
second time I saw it.
|
|
</p>
|
|
<p>As shows pressed on, toys were on the increase, but shirts
|
|
amd CDs with products on them were certainly around, too. we saw an
|
|
increase of booths and as more "generic" presence grew the amount of
|
|
total IQ in the booths could be seen to be being split evenly, because
|
|
individually talking to vendors, it was definitely going down. Toys
|
|
were getting insanely cool - drawings for VW Bugs and motorcycles. I
|
|
volunteered for the FSF booth. I helped out the Gnome guys. When I
|
|
worked at Tuxtops I went to both LWE/SF and LWE/NY in that year and had
|
|
a great time at both places. But Dot Org was becoming a ghetto with
|
|
hardly any color and the main floor felt increasingly like any other
|
|
computer show. Something was about to break down.</p>
|
|
<p>
|
|
And it did. A lot of companies had picked up starter capital on the
|
|
magic of the word Linux. Heck, some of them even were trying to be
|
|
Linux companies. But VC enthusiasm is no excuse for a poor business
|
|
plan and when something in the economy turned sour - I'm not sure what,
|
|
but we'll start at asian money difficulties and work our way up from
|
|
there - anyone who did not have their hand tightly on the finances
|
|
watched it all start to head down the drain at tornado speed, and the
|
|
VCs clamp down their pocketbooks. No more toys. T-shirts only if
|
|
you sit through the spiel. (Booths that still had IQ points left around
|
|
would also give them to people who seemed genuinely interested in their
|
|
products, which if you ask me, is the way it should have always been.)
|
|
More feet hurt because companies watching their dimes only used a single
|
|
layer of carpet and not the nice padded layer under it which you can
|
|
pay extra for. Lots of pamphlets though.</p>
|
|
<p>
|
|
I'm pleased to say that I'm seeing winter's end. There are still
|
|
insipidly blank faces to be foudn at some booths. And there are what
|
|
I'll call the "barely Linux" booths - hardware vendors selling server
|
|
racks, RAID arrays, GPS, scanning printers, and other weird peripherals.
|
|
But Linux products are getting their own booths and that means they're
|
|
affording them, I hope. The flavors of products are spreading around,
|
|
and that's part of why it feels like a normal trade show to me - financial,
|
|
games, diet plan calculators. Backup programs optimized for Linux, like
|
|
Storix, are not only around but have competitors. All those things I'd
|
|
see at a Windows oriented show, I'm seeing.
|
|
<p>
|
|
The Dot Org space still looks plain but it's not hiding
|
|
so much anymore. There are a lot more projects than there used to be
|
|
and projects were sharing booths - I recommend a little more platinum
|
|
get spilled on this next time. It's rather cool to see MBNA America (a
|
|
large VISA card vendor) hanging out in Dot Org plugging their LinuxFund
|
|
card. They give away big beach towels if you can sign up for a card.</p>
|
|
<p>It's hilarious to see Microsoft booths in "the rookery" as if
|
|
they're newly born open sourcerors. "Well we do let WinCE developers
|
|
see some sources." Really? Can they compile Windows from scratch and
|
|
pour it onto a handheld, then run WinCE office binaries out of the OEM
|
|
private packages to test their build? "Um, no. They can look at
|
|
selected drivers and structures." I see. Well, it's better
|
|
than nothing <img src="../gx/dennis/smily.gif" alt=":)"></p>
|
|
<p>Yes, I like what I'm seeing. The frost is melting off the ground and
|
|
not every seed has sprouted again - but things are getting good.</p>
|
|
<p>
|
|
Over at the more ordinary trade show, PC Expo - for the second year running
|
|
they had a "Linux Boot Camp" track. For the first year running it's
|
|
calling itself "TechX>NY" instead and I wonder if they are thinking that
|
|
the PC is on its way out as the only platform to run desktops or
|
|
servers. Last year "the Linux track" was one lonely guy
|
|
presenting nonstop between water cups and snack breaks. This year they
|
|
invited LPI, Novell (well okay Ximian, and maybe they invited themselves
|
|
since they're a sponsor for the show), and a few of the Answer Gang.
|
|
Maybe in a few years they'll have the brass of various "Big Linux"
|
|
companies knocking down their door trying to be on the speaker's list.
|
|
I'm advised that our presentations were very well recieved, indeed.
|
|
</p>
|
|
<p>On the show floor itself there was only a little of Linux. Local
|
|
computing groups knew about it and chatted merrily. Product vendors
|
|
knew what it was and generally whether they supported it or hadn't
|
|
tested. I didn't really get "We don't support that! Our customers
|
|
don't ask for that kind of stuff!" flamage which I'd
|
|
been seeing a few years ago - in fact quite the opposite, one vendor
|
|
told me that he'd had requests for support and they were working on it,
|
|
and he kind of hoped for BSD support too, if it wasn't too hard, though
|
|
it wasn't on the official roadmap. Outsourcing World (sic) mostly didn't
|
|
know or care what "A Linux" was though there were a few "outsourced
|
|
programming" firms I didn't think much of. Okay, the computing sector
|
|
overall may still be heading downhill in places. But Linux is indeed,
|
|
looking up.</p>
|
|
|
|
<!-- end hgreeting -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<A NAME="tag.1"><HR WIDTH="75%" ALIGN="center"></A>
|
|
<!-- begin 1 -->
|
|
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
|
|
height="50" width="60" alt="(?) " border="0"
|
|
>Efficiency regards running script in a subshell () and a seperate shell</H3>
|
|
|
|
|
|
<p><strong>From Nimish kamerkar
|
|
</strong></p>
|
|
<p></strong></p>
|
|
|
|
<p align="right"><strong>Answered By: Thomas Adam
|
|
</strong></p>
|
|
<P><STRONG>
|
|
Hi Answer Gang,
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
Which method is more efficient;
|
|
Running a command in () or running it in a seperate shell?
|
|
Can the answer include differences in how the processes
|
|
are spawned? (i.e. fork exec etc)
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas]
|
|
OK. This is usually application/situation dependant. If you have something
|
|
like:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>#!/bin/bash
|
|
|
|
echo $(whereis xterm)
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
What you are doing there is forcing the command "whereis xterm" to run in
|
|
a subshell (denoted between ()'s). A "subshell" is just another instance
|
|
of the command-line interpreter, running your program. Thus, a "subshell"
|
|
in this instance means that the main shell script is its parent, i.e.
|
|
assume that we called the script above "parent.sh" then when the subshell
|
|
executed you'd get:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>|-parent.sh
|
|
|-----subshell
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
This is also known as forking -- i.e. where the process breaks off from
|
|
the main caller, to form another.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<TT>"exec()</TT>"'ing a process however, means that the currently running process
|
|
is replaced by the program that is to be exec'ed. Thus unlike above
|
|
where-by the subshell ran under a new instance, the following script
|
|
exec's itself:
|
|
</blockQuote>
|
|
<p align="center">See attached <tt><a href="misc/tag/exec-anything.bash.txt">exec-anything.bash.txt</a></tt></p>
|
|
<blockQuote>
|
|
What this is doing is it will echo the first two lines, sleep for a second
|
|
and then re-spawn itself. What you'll see is the same message above. The
|
|
echo line will NEVER show, because it is after the program ($0 denotes the
|
|
program's name) that is being (re)exec'ed.
|
|
</blockQuote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
My question is how are invoking a program in a <TT> subshell()</TT> and
|
|
invoking it in a seperate shell different, as regards fork & exec. I am asking
|
|
this as the environment inherited by both is different. I started thinking
|
|
of this really because I remembered reading somewhere sometime that invoking
|
|
it in () is more efficient than in a seperate shell. But as far as I can see,
|
|
both processes should need fork and exec.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
Only difference is in (), both the
|
|
local and global environment variables are initialised, and in a seperate shell,
|
|
only global environment variables are initialised. By that logic actually, the
|
|
seperate process should be more efficient than the one in ()!
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas]
|
|
Those variables that are exported are "global" anyway, so you don't need
|
|
to describe them in this way.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
It depends. A subshell can be efficient if you want to ensure that a task
|
|
running under another shell script is carried out to completion before the
|
|
next one is executed (a good example of this would be tarring files over
|
|
ssh on a pipe).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Of course, invoking a subshell program means that if the parent dies or is
|
|
kill -9'ed, whatever, then the child process is also killed along with it.
|
|
That is something you might want to consider.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Normally, when you write a shell script, and you want to end the script
|
|
by calling another one then you would "exec" the program name, since
|
|
there is no need for the shell process to <TT> fork()</TT>.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
If you need two independant processes to communicate concurrently then
|
|
using a <TT> fork()</TT> would be best.
|
|
</blockQuote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
Hello Thomas/Answer Gang,
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
Thanks for the patient unravelling of the intricacies!
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
With Warm Regards
|
|
-Nimish.
|
|
</STRONG></P>
|
|
|
|
<!-- end 1 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<A NAME="tag.2"><HR WIDTH="75%" ALIGN="center"></A>
|
|
<!-- begin 2 -->
|
|
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
|
|
height="50" width="60" alt="(?) " border="0"
|
|
>force unmounting of CDROM</H3>
|
|
|
|
|
|
<p><strong>From Chady Kassouf
|
|
</strong></p>
|
|
<p></strong></p>
|
|
|
|
<p align="right"><strong>Answered By: Thomas Adam, Mike Martin, Karl-Heinz Herrmann
|
|
</strong></p>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
Hello Answer Gang,
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
I backed up most of my files on CD-Rs that later on appeared to be of very
|
|
low quality, now none of my CD-ROM of CD-Writer drives manage to read from
|
|
them, but that's not where the problem is.
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas]
|
|
As long as you have (hopefully) learnt from the exercise, that's all the
|
|
matters
|
|
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
|
height="24" width="20" align="middle">
|
|
</blockQuote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
The fact that mounting a CDROM in linux locks the drive is making a problem
|
|
with these CDs.
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas]
|
|
How so? The whole idea of locking the drive is to do with the way the
|
|
mount command works.
|
|
</blockQuote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
OK, the CDs are bad, there's no way to read them, but there's the problem of
|
|
not being able to unmount them, linux will just keep on trying to chew on
|
|
the bad CD, and killing `cp' will not make it give up. `umount' will either
|
|
hang forever waiting for system to finish reading from the drive, or it will
|
|
return but the drive will not be released. same thing will happen with
|
|
`eject'
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas]
|
|
If you're trying to umount a <TT>/cdrom</TT> that is currently being read/write to,
|
|
then what you should do is:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>ps waxf
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
to see the upper program that is being called below "mount <TT>/cdrom</TT>", and
|
|
do:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>kill -9 $(pidof <program_name>)
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
(rude, I know). Then you'll be able to do:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>umount /cdrom
|
|
</pre></blockquote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
I'm using RedHat 7.3, and the guilty drives are a TEAC 40X CDROM and an HP
|
|
8200Plus CD-Writer.
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas]
|
|
What you're describing here is not really a problem with the hardware per
|
|
se but merely a gripe with the way the kernel and mount mounts a cdrom
|
|
drive. Locking the drive is there to prevent the FS from screwing up, and
|
|
allowing a clean change of disks via umount.
|
|
</blockQuote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
It's good to note that while rebooting the machine, init will try to unmount
|
|
the filesystems but will fail on the drive that's stuck trying to read,
|
|
`umount2' will kick in and retry for three times before finally giving up
|
|
and letting the reboot continue.
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas]
|
|
Umounting drives is done for a reason. I suspect the reason why you cannot
|
|
unmount <TT>/cdrom</TT> is due to Zombie processes clogging up your kernel buffer,
|
|
and the kernel doesn't realised that these have effectively stopped.
|
|
Usually, I have found in situations like this that a lengthy wait of 30
|
|
mins or so, does allow the kernel time to flush itself, and the locked
|
|
drive is then accessible via an 'eject'.
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>fuser mount /cdrom
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
will also help you ascertain this information, as well as the classic:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>ps wax
|
|
</pre></blockquote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
My question is twofold; first, is there a way to tell linux to give up
|
|
reading and force unmounting a CDROM drive without having to use the safety
|
|
pin and, hence, lose access to the drive, OR reboot he machine?
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas]
|
|
Yes, there is. I have done this on some severe occassions. The first thing
|
|
I would try is to:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>umount -f /cdrom
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
The "-f" flag says to mount to force umounting of it. If that does not
|
|
work, then edit "<TT>/etc/mtab</TT>" and remove the entry pertaining to your cdrom
|
|
drive. In case you are wondering, "<TT>/etc/fstab</TT>" holds information about
|
|
drives that <EM>can</EM> and <EM>might be</EM> mounted, and "<TT>/etc/mtab</TT>" is there as a
|
|
state file for those drives that <EM>are</EM> currently mounted. Editing the file
|
|
in this instance is perhaps a good idea.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
If you find that this is happening to you on each and <EM>every</EM> mount, try
|
|
doing something like:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>mount -n /cdrom
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
which will tell mount NOT to write to <TT>/etc/mtab.</TT> Typically I have used
|
|
this on drives whereby "<TT>/</TT>" has been mounted ro, but I cannot see why it
|
|
wont work here.
|
|
</blockQuote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
Second, anyone happened to have a similar situation? or might that be a
|
|
hardware problem?
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas]
|
|
Reading my answer here will not doubt confirm that I have had experience
|
|
in this sort of thing. I doubt this is hardware related, but it could be.
|
|
I would need to know more information about which aspects of your cdrw
|
|
work/don't work in order to help you further.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [K.-H.]
|
|
Better use some of the suggestions by Thomas but it seems cdrecord
|
|
does not care for the "lock" state of a CD. If you issue:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>cdrecord -eject
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
it will simply eject the CD -- regardless if it's locked or mounted. In the
|
|
best case the kernel recognises the media is gone and the errors given back
|
|
to "cp" causes all concerned processes to stop. Then a umount should also be
|
|
possible. Worst case you get a kernel panic for a "damaged" filesystem on the
|
|
now nonexistant CD (didn't happen here, mostly it's recovering gracefully).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [MikeM]
|
|
final issue could be a process called fam locking the drive -
|
|
sometimes if you kill fam, you can then umount the drive.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas]
|
|
Indeed, Mike. I had considered this, but then I realised that FAM isn't
|
|
always loaded on some machines.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
FAM (File Alteration Monitor), is also debian package and an absolute cow
|
|
to compile. It is not distro specific, no. It is used to monitor
|
|
directory/file changes, so I can see how it <EM>might</EM> be used in this
|
|
instance but it is unlikely.
|
|
</blockQuote>
|
|
|
|
<font color="red"><blockquote><em>The querent reported back....
|
|
-- Thomas Adam</em></blockquote></font>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
I tried all the options presented by the kind people in this list, the only
|
|
one that worked though was the cdrecord -eject although it took
|
|
about 3 minutes to succeed.
|
|
Thanx for K.H for the solution.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
I was able to capture the error that was printed out after a file copy in
|
|
<A HREF="http://www.kde.org/">KDE</A> started to choke:
|
|
</STRONG></P>
|
|
|
|
<pre><strong>scsi0: ERROR on channel 0, id 0, lun 0, CDB: Request Sense 00 00 00 40 00
|
|
Info fld=0x1a4f7, Current sd0b:00: sense key Medium Error
|
|
Additional sense indicates No seek complete
|
|
I/O error: dev 0b:00, sector 431068
|
|
</strong></pre>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [K.-H.]
|
|
read error from the CD, "Medium error" as you already assumed in your
|
|
original mail. Probably nothing to save anymore. I too had some CD's which
|
|
came through the file comparison right after burning. Some time later they
|
|
gave me plenty of read errors. In my case the read attempts at some point
|
|
broke off but as I tried to get as much data back as possible I made
|
|
the reading process to try harder.
|
|
</blockQuote>
|
|
|
|
<!-- end 2 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<A NAME="tag.3"><HR WIDTH="75%" ALIGN="center"></A>
|
|
<!-- begin 3 -->
|
|
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
|
|
height="50" width="60" alt="(?) " border="0"
|
|
>IP config files on Red Hat 9</H3>
|
|
|
|
|
|
<p><strong>From - E J -
|
|
</strong></p>
|
|
<p></strong></p>
|
|
|
|
<p align="right"><strong>Answered By: Mike Martin, Jay R. Ashworth, Jim Dennis, David Mandala, Kapil Hari
|
|
Paranjape, Ben Okopnik, Thomas Adam
|
|
</strong></p>
|
|
<P><STRONG>
|
|
Please note I am trying to configure IP on a <A HREF="http://www.redhat.com/">Red Hat</A> 9
|
|
system. I would like to see about changing from the
|
|
default DHCP configuration to a STATIC configuration.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
I have tried a couple of things only to trash a test
|
|
system, in one case I got the system up - but X no
|
|
longer worked.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
I know the hostname is saved in
|
|
/etc/sysconfig/network.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
What are the other files necessary to changing the
|
|
configuration?
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
Thanks in Advance.
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [MikeM]
|
|
first of all, for any problem try to do it manually so
|
|
</blockQuote>
|
|
<blockQuote>
|
|
once logged in (as root) do
|
|
</blockQuote>
|
|
<blockQuote>
|
|
ifdown eth0
|
|
ifconfig eth0 address <your ip address>
|
|
then if you access a router directly do
|
|
route add gw <name of your default gateway>
|
|
</blockQuote>
|
|
<blockQuote>
|
|
If this works add to <TT>/etc/hosts</TT> a line
|
|
<your hostname (machie name)> <your machines IP address>
|
|
</blockQuote>
|
|
<blockQuote>
|
|
also this may be useful
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<A HREF="http://www.faqs.org/docs/linux_network"
|
|
>http://www.faqs.org/docs/linux_network</A>
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [jra]
|
|
But don't worry about that.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Use the RedHat program netconfig, which has a button for DHCP. Turn it off,
|
|
and fill in the blanks.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Breen]
|
|
That'll work, Jay. If EJ wants to know what's going on behind the
|
|
curtain, the documentation is in
|
|
</blockQuote>
|
|
<blockQuote>
|
|
/usr/share/doc/initscripts-<version>/sysconfig.txt
|
|
</blockQuote>
|
|
<HR width="10%" align="left">
|
|
<blockquote><em><font color="#000066">The subject of this thread then changes....
|
|
-- Heather</font></em></blockquote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Breen]
|
|
/usr/share/doc/initscripts-<version>/sysconfig.txt
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [JimD]
|
|
I felt stupid reading that, too. I've complained for years at the lack
|
|
of documentation for those. Sometimes I just read through the rc
|
|
scripts that source the <TT>/etc/sysconfig</TT> files to figure how which names
|
|
they want to use. Sometimes I just run the silly GUI config tool
|
|
(when I can remember which name it goes by in which versions of Red
|
|
Hat). I had never found this particular file.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
I still think it's a bug. Red Hat should include a set of comments in
|
|
each <TT>/etc/sysconfig</TT> file that list all of the valid variable names and
|
|
show examples of the valid values.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Now that the "Red Hat Distribution" is a "community maintained project"
|
|
rather than a shrink wrapped product ... heck with it; I'll still
|
|
recommend that advanced Linux users switch to <A HREF="http://www.debian.org/">Debian</A> and that
|
|
businesses pressure Oracle and other ISVs to support Debian.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
I think the "Red Hat community project" should set a goal for itself --
|
|
to provide a transition to Debian over the next several releases. They
|
|
can write rpm command wrappers around apt-get/dpkg, add or help Debian
|
|
add the -V and -K (verification and GnuPG key package signing) features
|
|
to the .deb package format and the <TT>/var/lib/dpkg</TT> "database"), etc.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [DavidM]
|
|
Gack, I hope that never happens, I dislike Debian intensely. I use it on
|
|
some of my servers and I grate my teeth every time I need to do
|
|
something with it. Debian needs a lot more then just a rpm wrapper. I'll
|
|
try not to start a religious war here and simply say you stick with
|
|
Debian and I'll stick with Red Hat and I hope they get more compatible
|
|
but I hope that happens by Debian getting closer to Red Hat and not the
|
|
reverse (except apt-get, that is quite nice).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Ben]
|
|
Yeeew. I sure hope that never happens either. I really hate the "papa
|
|
knows best, just watch the blinkenlights" approach of RedHat, and money
|
|
is what it takes to get me to play with it these days.
|
|
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
|
height="24" width="20" align="middle">
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Fortunately, none of this is an issue since we <em> _do</em> have both of these
|
|
distros plus a whole lot of others, which seems to satisfy a broad range
|
|
of us picky techie types (say <em> _that</em> 3 times fast with a mouth full of
|
|
marbles, and your dental problems will be a thing of the past.)
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [JimD]
|
|
In other words, I think a convergence is in order. Let's have both
|
|
major "community projects" try to consolidate (improving both).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [DavidM]
|
|
I strongly disagree here. The beauty of Linux and the various projects
|
|
is there is no "one true way" and those who like it different can have
|
|
it that way. Otherwise you are just like Microsoft and Apple each having
|
|
a single "true way".
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [JimD]
|
|
I have similar opinions on gentoo; why create a new distibution when
|
|
they could have poured that energy into creating a Debian build system
|
|
that could build your entire distribution from sources, with locally
|
|
defined optimization and other flags). (BTW: the argument that this
|
|
results in significant performance gains seems to have been somewhat
|
|
refuted:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre> http://articles.linmagau.org/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=227
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
... though it's possible that this test was flawed.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
(That said I've been thinking of installing gentoo on a machine just
|
|
to see what it's like).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [JimD]
|
|
I knew my statement was likely to rankle. However, without it
|
|
degenerating into a religous war, what specific things do you dislike
|
|
about debian? <TT>/etc/sysconfig/network-scripts/ifcfg-*</TT> versus
|
|
<TT>/etc/network/interfaces?</TT> The installer? Lack of Kickstart? The
|
|
dpkg commant? dpkg-reconfigure or dpkg-repack? The fact that many
|
|
packages ask configuration questions during pre-install or
|
|
post-install? The fact that you can't tell the package manager to
|
|
exclude the docs during installation?
|
|
</blockQuote>
|
|
<blockQuote>
|
|
I want to know because I'd like to see Debian make the necessary
|
|
changes or options available to make Red Hat users happier.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [DavidM]
|
|
This is important in the business world where you need 50 machines
|
|
exactly the same, not close but exactly the same. Also unless you make
|
|
your own Debian depository the changes in the Debian tree make it all
|
|
but impossible to do this if you are installing machines over the course
|
|
of several months.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Another irritant is that Debian package
|
|
maintainers patch the packages to run in funny places and have odd
|
|
patches on them. We were running SAMBA on one machine and we were having
|
|
a major problem that we could not explain. As luck would have it I was
|
|
able to get tridge to take a look and even he was mystified for several
|
|
hours. As it turned out the package maintainer had really messed up the
|
|
package. There is not enough testing done on the edge cases by the
|
|
Debian developers, so either leave the source alone or truly understand
|
|
it and test all possible uses of the package which in the case of SAMBA
|
|
is impossible, the SAMBA developers have spent a huge amount of time
|
|
getting donated machines available to be able to test the edge cases,
|
|
there is no way a Debian developer is going to have access to the same
|
|
resources that the SAMBA developers have.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
At tridge's advice and this is advice I've been given many times from
|
|
others as well. "Use Debian as a base install but for packages you
|
|
really care about make your own from source as you never quite know what
|
|
they've done to them." The problem with this of course is if I can't
|
|
trust what I'm installing then why am I installing it at all?
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Followed by the fact that stable is most always too old thus forcing me
|
|
to use testing which gets broken at times.
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] Odd. I agree that sometimes, stable can have packages that are a little
|
|
to out of date, but then that won't stop you from doing a "dist-upgrade"
|
|
at any point. And as for "testing" being a little too unstable, I am
|
|
going to have to refute that and ask for you to give an example.
|
|
</blockquote>
|
|
<blockquote>While the Debain BTS (Bug tracking System): <A HREF="http://bugs.debian.org"
|
|
>http://bugs.debian.org</A> does
|
|
a good job at fixing loose ends in Sarge, many of the problems that I have
|
|
seen people encounter is compilation of programs. I have been running
|
|
Sarge (Debian testing) for ages now with absolutely no problems
|
|
whatsoever.
|
|
</blockquote>
|
|
<blockquote>I'm therefore going to guess that David was meaning to say the
|
|
"Unstable" causes problems.
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [DavidM]
|
|
I don't think it's possible for Debian developers to make Red Hat users
|
|
happier, they like to do things their way and the hell with the rest of
|
|
the folks. An example, change the init levels to match Red Hats, make
|
|
init 3 the normal run level sans X and level 5 with X. Virtually every
|
|
other Linux distro is the same as Red Hat very very few are different.
|
|
But as a business software developer I need to know that if my package
|
|
it to be installed on both Red Hat and Debian I need to install my
|
|
startup scripts in different run levels or bad things happen. That is
|
|
silly.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
I agree that one does need to minimize <EM>gratuitous</EM> differences so
|
|
tackle the run level differences first, if you can get that changed
|
|
(which I strongly doubt) perhaps there is a possibility that Debian can
|
|
become a stronger player in the Corporate market place. What I think you
|
|
will get is many reasons why Debian is correct but that is irrelevant,
|
|
it's not about being technically correct it's about minimizing
|
|
<EM>gratuitous</EM> differences, and I don't think it's possible for the Debian
|
|
community to change.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [JimD]
|
|
Well "funny places" is the main sort of gratuitous change I also object
|
|
too. FHS was supposed to reduce this (and probably has, somewhat).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
We could argue that Red Hat and <A HREF="http://www.suse.com/">SuSE</A> put their stuff in "funny"
|
|
places; then we could both reach for copies of the FHS to bolster
|
|
our arguments.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
I agree about the runlevels and the way the run xdm as an rc script
|
|
rather than in inittab. Those are gratuitous and Debian should bow
|
|
to the more widespread convention in both cases.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
As for the Samba anecdote: so what. Red Hat applies over a 100 patches
|
|
to their kernels and they apply patches to many packages, including
|
|
core packages like Samba. We could exchange package maintainer horror
|
|
stories for hours. <EM>Usually</EM> the Debian packaging is better than
|
|
Red Hat packaging. Debian has a published policy that is derived from
|
|
the consensus of it's maintainers/developers. There are ongoing
|
|
discussions on how to change that policy. Maintainers that don't
|
|
conform to the policy see NMUs (non-maintainer uploads) of their
|
|
packages and are eventually replaced by new maintainers.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Of course it's possible for them to change. It is easier for us to
|
|
change Debian than it would be for us to change Red Hat Inc.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [DavidM]
|
|
Jim, here again we differ, I feel it's easier to change Red Hat all it
|
|
takes is cash, nothing more nothing less. Changing Debian is akin to
|
|
herding cats you have to get a large portion of the entire development
|
|
community into agreement which is damned hard if not impossible to do.
|
|
You need to join them in overwhelming force in order to out vote them on
|
|
policy. Any single person is doomed to failure, it was designed that way
|
|
and it works quite well. Debian is a hackers play land, it was designed
|
|
to be that and that it will stay, the bylaws they live by are
|
|
specifically designed to keep it that way and human inertia and apathy
|
|
will tend to keep it that way.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
How long did it take to fix the networking init script that would only
|
|
start networking and not stop or reset it take? More then 3 years by my
|
|
count, if you can't fix something like a simple init script how you
|
|
expect to fix a fundamental difference in philosophy?
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] That's not quite the point. It is my belief that Debian is very much a
|
|
"hands-on" distribution -- that allows one to get one's hands dirty. If
|
|
you thought that there was a problem, you should have submitted a patch
|
|
|
|
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
|
height="24" width="20" align="middle">
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [JimD]
|
|
To effectively change Red Hat Inc. we have to either buy them, or
|
|
represent a large enough portion of their revenues that they'll listen.
|
|
To change Debian all we have to do is join them, work on the project and
|
|
explain our reasons for recommending the change.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
My problem with the Red Hat "distribution" is that it's been
|
|
essentially abandoned by Red Hat Inc. Now, the community will maintain
|
|
it; RH Inc. will take parts that they like and fold them into their
|
|
proprietary AS/ES products. However, RH will also make changes that
|
|
may make AS/ES diverge somewhat from the RH distro.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
My comments are mostly intended to discourage people from create
|
|
<EM>yet another</EM> distro for broad consumer use.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
I'm not saying everyone should just abandon the RH distro -- just
|
|
try to transition <EM>some</EM> parts to the Debian base (where that makes
|
|
sense) <EM>and</EM> to join Debian in sufficient numbers and quality to effect
|
|
changes there.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Notice that I'm mostly a proponent of changing Debian in many of the
|
|
specifics. The one thing that I would push on the other distros
|
|
is the use of the same package/dependency infrastructure and
|
|
granularity. I'm not talking about the commands used to manipulate
|
|
the packages (apt-get, dpkg, aptitude, rpm, etc) --- I personally
|
|
would prefer to see a command named 'pkg' taking arguments somewhat
|
|
like the rpm command (except for that idiocy of -U being "upgrade"
|
|
<EM>and</EM> install thus necessitating the odd -F --freshen switch to mean
|
|
just "upgrade"). The difference would be that pkg -i foo would
|
|
look at your local policy file (<TT>/etc/apt/sources.list</TT>) and know how
|
|
to fetch the foo from your preferred location or media.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [DavidM]
|
|
That is not the only problem, as far as I can tell, when a package
|
|
changes (is updated) there is no history, the old package is removed and
|
|
the new inserted replacing it. I could be wrong but the gents I used at
|
|
my last place were dedicated Debian devotees and they could not find
|
|
where "outdated" packages were stored. Thus if a package was "updated"
|
|
you were screwed and could not make an identical from that point forward
|
|
unless you went to the extreme of maintaining your own Debian
|
|
depository.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [JimD]
|
|
If it happens at all I expect it to take several years and releases
|
|
of each of the two distributions. We've already seen lots of people
|
|
implementing apt on RPM based distributions. The problem with that
|
|
superficial approach is that the underlying granularity and dependency
|
|
cycle problems remain. The real value of Debian in in that
|
|
acyclic dependency tree.
|
|
</blockQuote>
|
|
<HR width="10%" align="left"><blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Kapil]
|
|
Joining the distro wars once more ...
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Just some random points.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
1. While Kickstart is a great idea, systemimager is not a bad
|
|
replacement. For the more hardcore debian-ers, Kickstart seems too
|
|
complicated when compared with "dpkg --get-selections" in combination with
|
|
"dpkg --set-selections".
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] I have to agree here. I have used RH's kickstart one when I first setup
|
|
my little 386 server. It was a pain to begin with.
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Kapil]
|
|
2. When comparing "rpm" with "dpkg" (or deb) what is lacking in dpkg is
|
|
the automated signature/md5sum checking. On the other hand try to unpack
|
|
an "rpm" on a non-RedHat machine...not all that automatic (you need to
|
|
install "alien"). To unpack a "deb"...you will (most likely) find "ar" on
|
|
any machine and so can unpack deb's quite easily.
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] I have to disagree slightly here. If one does not care for the "install"
|
|
script that is inherent in either a .deb or .rpm (depending on which
|
|
distro it is) then using "mc" is an efficient alternative to view the
|
|
package in question and manually copy the files across to the specific
|
|
directories. I don't recommend this for hugely dependent packages, but
|
|
it is an effective means for smaller packages, where there are no
|
|
dependencies
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Kapil]
|
|
3. I don't dislike RedHat as intensely as David seems to dislike Debian!
|
|
However, the choice was made for me by RedHat when they decided to exclude
|
|
text-mode tools for installation and management. Even "dselect" is
|
|
better than nothing except "rpm". I used "purp" on RedHat systems for
|
|
a while but it was always in "contrib" and often out-of-date.
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] Using "dselect" under Debian is NOT a good idea -- it is extremely
|
|
clunky, not to mention it has a terrible UI. I would always recommend
|
|
people to use "aptitude"; both as a replacement for "dselect" AND
|
|
"apt-get". It functions as both dselect (without any arguments) and as
|
|
apt-get on invocation. It also handles dependencies and logging much
|
|
better, in my opinion.
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Kapil]
|
|
4. Re: xdm. I think all daemons were "meant to be" started from rc scripts
|
|
so in fact the RedHat policy of starting "xdm" from inittab is strange.
|
|
For example, in the old days it was possible for the console user
|
|
to somehow "kill" the xdm/gdm/kdm on RedHat (possibly by killing the
|
|
X server or something) causing all external Xterminal users to be
|
|
logged out!
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] Exactly! I have had this very gripe with RH and even tried e-mailing
|
|
them to ask them why they did not move xdm et al to rc scripts. They
|
|
never did reply to me. As Kapil notes, if something goes wrong with xdm
|
|
then it can be of consequences to other processes.
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Kapil]
|
|
5. Finally, about building things from source. To some extent I agree. It
|
|
would be nice if we had the following set-up:
|
|
</blockQuote>
|
|
<blockQuote><BLOCKQuote>
|
|
A. All the system administrator had to do to was install a base system.
|
|
</BLOCKQuote></blockQuote>
|
|
<blockQuote>
|
|
B. Most utility/application packages could be installed
|
|
by <EM>users</EM> in (say) <TT>/opt/username/packagename/{bin</TT>,lib,...}.
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] I disagree with this suggestion. Instead installing applications to
|
|
$HOME is still an acceptable solution as $PATH usually includes
|
|
$HOME/bin anyhow.
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Kapil]
|
|
C. There would be a user-level package management system that would
|
|
allow users to mix and match their requirements by creating symlink
|
|
farms in <TT>/home/username/{bin</TT>,lib,...} that point to different packages
|
|
under <TT>/opt</TT> possibly installed by different users.
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] Hmmm, installing applications system-wide and then allowing users to
|
|
have custom settings in $HOME is no more different than the
|
|
suggestion above.
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Kapil]
|
|
This way, those users who need "cutting edge" or even "bleeding edge"
|
|
tools could install them. The system could remain "stable" and
|
|
(hopefully) "secure". Such a setup may even be useful on single-user
|
|
systems as the user could play with upgrades without messing up the
|
|
running system. Disk space is not really an issue any more unless you
|
|
use "<A HREF="http://www.kde.org/">KDE</A>" or "Gnome" or "Openoffice"
|
|
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)"
|
|
height="24" width="20" align="middle">
|
|
</blockQuote>
|
|
|
|
<!-- end 3 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<A NAME="tag.4"><HR WIDTH="75%" ALIGN="center"></A>
|
|
<!-- begin 4 -->
|
|
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
|
|
height="50" width="60" alt="(?) " border="0"
|
|
>a linux solution for the office</H3>
|
|
|
|
|
|
<p><strong>From amitava maity
|
|
</strong></p>
|
|
<p></strong></p>
|
|
|
|
<p align="right"><strong>Answered By: Ben Okopnik, Kapil Hari Paranjape, Heather Stern, Thomas Adam
|
|
</strong></p>
|
|
<P><STRONG>
|
|
Hello all!
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
We have three Windows machines at our office. These are shared by 10 to
|
|
12 persons. I am trying to find out if one of these machines could be
|
|
converted into a Linux box. Hopefully this Linux box can then be
|
|
configured to meet the demands of 8 terminals connected via serial
|
|
cables and an appropriate 8 terminal serial adaptor.GUI is necessary at
|
|
all the terminals. Is this a feasible configuration? Can a Pentium-II,
|
|
233MHz machine with an IDE hard disk be used for this purpose?
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
Linux Gazette, you are doing a great job.
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
A Maity.
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Ben]
|
|
Take a look at the Linux Terminal Server Project <<A HREF="http://ltsp.org/>"
|
|
>http://ltsp.org/></A>;. It
|
|
sounds like they'll fit your needs just fine.
|
|
</blockQuote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
Is this a feasible configuration?
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Kapil]
|
|
There are two possible configurations:
|
|
</blockQuote>
|
|
|
|
<blockQuote><ol>
|
|
<LI>A server with a multi-port serial adapter which is connected via
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<LI>A server connected to an ethernet hub to which GUI terminals (such
|
|
|
|
|
|
|
|
|
|
</ol></blockQuote>
|
|
<blockQuote>
|
|
In modern times, (2) is the way to go unless you already have the full
|
|
infrastructure of (1). (Where will you find vt100 terminals nowadays?).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
If you are going to buy some PC's you can anyway buy them with ethernet
|
|
cards built-in and a small 16-port ethernet hub. In fact, you can buy
|
|
"thin clients" if you use a server---in particular, you can save on
|
|
disk costs.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
I would suggest that you do not buy 8 vt100 terminals! This is not
|
|
cost effective nowadays. Second-hand vt100 terminals are likely to be a
|
|
hardware headache (since it would appear from your message that you are
|
|
not a seasoned sysadmin of the unix days) and (more importantly) will
|
|
not satisfy those of your users who are used to the colorful graphical
|
|
interface of Windows.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Instead, you can "share" the use of the GNU/Linux machine as you have
|
|
been sharing the use of the Windows machines---in fact this is a more
|
|
shareable system!
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Advantages over your existing configuration:
|
|
</blockQuote>
|
|
|
|
<blockQuote><ol>
|
|
<LI>Users will be able to customize their desktop without interfering
|
|
|
|
|
|
|
|
|
|
<LI>Users will be able to run jobs that can run unattended in the
|
|
|
|
|
|
|
|
|
|
<LI>You can find and use a lot of useful software without attracting
|
|
|
|
|
|
|
|
|
|
<LI>When you get some funds you can add some more Linux machines very
|
|
|
|
|
|
</ol></blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Heather]
|
|
Probably, esp. if you use something a bit on the lightweight side for
|
|
basic window management details (such as fvwm instead of more weighty
|
|
desktops, abiword with gnumeric instead of staroffice, etc.)
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] Siag office (<A HREF="http://www.siag.org"
|
|
>http://www.siag.org</A>) isn't too bad.
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Heather]
|
|
Ben's right, LTSP is a good place to look. If these "terminals" are
|
|
PCs but you'd reather they stay hard-diskless, consider keeping them
|
|
having CD bays and run knoppix (a live CD distro). Or maybe another
|
|
liveCD distro (for instance <A HREF="http://www.suse.com/">SuSE</A> has a free one) but I'm advised, most
|
|
of them ask a few sysadminly questions during bootup, and Knoppix doesn't.
|
|
</blockQuote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
Linux Gazette, you are doing a great job.
|
|
A Maity.
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Heather]
|
|
Thanks, we love to hear that sort of thing!
|
|
</blockQuote>
|
|
|
|
<!-- end 4 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<A NAME="tag.5"><HR WIDTH="75%" ALIGN="center"></A>
|
|
<!-- begin 5 -->
|
|
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
|
|
height="50" width="60" alt="(?) " border="0"
|
|
>Simple DNS solution with Red Hat 9</H3>
|
|
|
|
|
|
<p><strong>From - E J -
|
|
</strong></p>
|
|
<p></strong></p>
|
|
|
|
<p align="right"><strong>Answered By: Faber Fedor, Kapil Hari Paranjape, Jim Dennis
|
|
</strong></p>
|
|
|
|
<pre><strong>[root@localhost sbin]# ./ifconfig eth0 address
|
|
192.168.1.103
|
|
address: Unknown host
|
|
ifconfig: `--help' gives usage information.
|
|
[root@localhost sbin]#
|
|
</strong></pre>
|
|
<P><STRONG>
|
|
Please note I believe I need a DNS server (solution)
|
|
for my home <A HREF="http://www.redhat.com/">Red Hat</A> Network. Is there a simple DNS
|
|
solution I can establish?
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
I have checked some books - this does not seem to be
|
|
as simple as editing <TT>/etc/host.conf</TT>
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Faber]
|
|
Okay, so? You mis-typed a command. I do it all the time.
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] Hopefully though, Faber doesn't mis-type too often while as "root"
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Faber]
|
|
What are you attempting to do? What is "address"? Is it supposed to be
|
|
an actual (IP) address? Is it an enviromant variable? What?
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [JimD]
|
|
I'm going out on a limb here to guess that this was supposed
|
|
to be rendered as:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>[root@localhost sbin]# ./ifconfig eth0 address 192.168.1.103
|
|
address: Unknown host
|
|
ifconfig: `--help' gives usage information.
|
|
[root@localhost sbin]#
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
... cut and pasted from a root shell session.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
You wanted to type:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>[root@localhost sbin]# ./ifconfig eth0 192.168.1.103
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
... which would seet your eth0 address to 192.168.1.103
|
|
That would also implicitly set the netmask to 255.255.255.0 and
|
|
the broadcast address to 192.168.1.255. That netmask is the
|
|
default for the traditional "Class C" network address blocks
|
|
(all of 192.*.*.* among many others). The broadcast address is
|
|
then calculated by masking off the high order bit using the netmask
|
|
then setting that many bits to "on" (1). Then replacing the bits
|
|
at the end original addresses with the broadcast.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
In other words you can often just specify the address without spelling
|
|
out the other settings. You only have to specify the others when
|
|
you're network isn't following the "Classical" parameters and defaults.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
The problem with your command was that the word "address" was parsed
|
|
as the <EM>name</EM> of a host. The ifconfig command then tried to resolve
|
|
that name into an IP address (presumably via your <TT>/etc/hosts</TT> file,
|
|
then DNS --- though that depends on the settings in your nsswitch.conf)
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Here's a couple of other examples of ifconfig commands:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre># ifconfig eth1 10.0.1.10 netmask 255.255.255.0 broadcast 10.0.1.255 up
|
|
# ifconfig eth2 123.45.67.8 netmask 255.255.255.224 broadcast 123.45.67.31
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
Notice that the address is the one argument that is not prefixed by
|
|
a literal/keyword or label. It's usually the first argument, though
|
|
it might work even if you don't follow that convention.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Notice in my last example that we're using a smaller netmask, like
|
|
the kind you might get from an ISP that was only giving you a block
|
|
of 30 IP addresses. Long ago I wrote and article on "subnetting and
|
|
routing" which is still one of the most popular article in LG/TAG
|
|
history. I've been told it's used for some college TCP/IP fundamentals
|
|
classes.
|
|
</blockQuote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
Please note I believe I need a DNS server (solution)
|
|
for my home Red Hat Network. Is there a simple DNS
|
|
solution I can establish?
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [JimD]
|
|
Perhaps you will need a DNS or other directory service (NIS or LDAP).
|
|
However, in this case you just needed to look at the error and read
|
|
the usage section of the --help and/or man page a little more
|
|
carefully.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
It also helps to think about the problem your trying to solve.
|
|
You're trying to configure a network interface. DNS and other
|
|
directory services need to use that interface (or <EM>some</EM> interface)
|
|
in order to resolve names into IP addresses. That would create a
|
|
chicken & egg problem if the ifconfig command truly depended on
|
|
the name resolution. It would be unreasonable to assume that everyone
|
|
has to run a network directory services daemon on localhost --- and
|
|
you'd still need it to ifconfig the lo (localhost/loopback) interface.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
(That line of reasoning should alert you to the fact that their
|
|
was something wrong with your premise --- that your conclusion was
|
|
dubious).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
You almost certainly don't want to play with your <TT>/etc/host.conf</TT>
|
|
</blockQuote>
|
|
<blockQuote>
|
|
However, it could be as simple (in this case) as editing
|
|
/etc/hosts
|
|
</blockQuote>
|
|
<blockQuote>
|
|
If you'd put an entry "192.168.1.103 address" as a line in
|
|
your etc host file then your command would have <EM>almost</EM> worked.
|
|
It would complain about extra arguments --- the lookup/resolution
|
|
of the <EM>hostname</EM> "address" would have succeeded (assuming you have
|
|
a normal <TT>/etc/nsswitch.conf</TT>).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
If you put more reasonable address/name pairs in <TT>/etc/hosts</TT> and you
|
|
securely distribute those (rsync -e ssh) to your other machines
|
|
--- you have a working system of host name resolution without DNS
|
|
NIS or LDAP.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<TT>/etc/nsswitch.conf</TT> defines the list of services and methods used by
|
|
glibc (C library) functions to resolve names (hostnames, network
|
|
names, netgroup, user, group, and service) into numbers (IP addresses,
|
|
lists of hosts, UIDs, GIDs, and TCP/UDP port numbers). Almost all of
|
|
the programs on your system are dynamically linked against glibc
|
|
(a.k.a. just libc). glibc implements resolvers that read
|
|
<TT>/etc/nsswitch.conf</TT> and dynamically load <TT>/lib/libnss*</TT> modules as listed.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Such run-time linkage uses the <TT> dlopen()</TT> interface. There are two
|
|
types of dynamic linking in Linux. Link/compile time, such as the
|
|
way that almost all programs are linked to libc and many programs are
|
|
linked to libm (the C math functions library). These are listed by
|
|
the ldd (ld dump --- ld is a non-intuitive mnemonic for "linker").
|
|
Run-time linking is done via the <TT> dlopen()</TT> interface. Any time a
|
|
program must read a configuration file, command line option or
|
|
environment setting, or any other run-time source of information
|
|
to determine which modules to load --- it uses <TT> dlopen()</TT> Obviously
|
|
this would be true of the NSS modules since any program that uses
|
|
any of these name services it has to read <TT>/etc/nsswitch.conf</TT>
|
|
to determine which libraries to load (NSS == "name services selection"
|
|
or "name services subsystem" or something like that).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<TT>dlopen()</TT> (run-time dynamic linking) is also used by PAM, for PERL and
|
|
Python binary modules, <A HREF="http://www.apache.org/">Apache</A> modules, and XFree86 version 4 and later.
|
|
You can think of these as being a way to implement some object oriented
|
|
features in normal C programs. The primary uses of these modules are
|
|
to extend and/or modularize the functionality of a base binary program.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Thus you can get a custom authentication module (say one of those
|
|
little electronic credit card PIN tokens) and drop it into your system;
|
|
add one configuration line and all of the PAM linked programs have been
|
|
extended to use this module. All without recompiling anything.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
As another example you can install XFree86, as compiled by your
|
|
distribution vendor, and you can install a driver module for your
|
|
video card from some third party (perhaps even the manufacturer of
|
|
the card).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
I realize I've delved deeply under the hood here --- into details
|
|
that you won't understand at first reading (and probably don't
|
|
care about).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
My point is that you don't need to run a <EM>network</EM> name service.
|
|
Most of the NSS linked programs check local config files <TT>/etc/hosts</TT>,
|
|
<TT>/etc/passwd</TT>, <TT>/etc/groups</TT>, <TT>/etc/services</TT>, etc. first. They then check
|
|
with other services as listed in the <TT>/etc/nsswitch.conf.</TT> <TT>/etc/host.conf</TT>
|
|
is still used, but its usage is somewhat superceded by <TT>/etc/nsswitch.conf.</TT>
|
|
</blockQuote>
|
|
<blockQuote>
|
|
(I'd love to see a good explanation of why we have both nsswitch.conf
|
|
and host.conf on modern systems --- something at a higher level than
|
|
their respective man pages).
|
|
</blockQuote>
|
|
|
|
<!-- end 5 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<A NAME="tag.6"><HR WIDTH="75%" ALIGN="center"></A>
|
|
<!-- begin 6 -->
|
|
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
|
|
height="50" width="60" alt="(?) " border="0"
|
|
>Creating RAMDISK</H3>
|
|
|
|
|
|
<p><strong>From Jose Nathaniel G. Nengasca
|
|
</strong></p>
|
|
<p></strong></p>
|
|
|
|
<p align="right"><strong>Answered By: Ben Okopnik, Kapil Hari Paranjape, Thomas Adam
|
|
</strong></p>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
Hi there,
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
I just want to create a RAMDISK of 100MB to use as temporary storage for
|
|
squid cache files, I am using redhat 8.0, using grub bootloader, with 750MB
|
|
of RAM, the one on linux focus site is rather old (november 1999) howto.
|
|
Can someone help me with this?
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
Respectfully yours,
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Kapil]
|
|
I think you have something confused here. As I understand it:
|
|
</blockQuote>
|
|
<blockQuote><BLOCKQuote>
|
|
Squid creates an object cache in memory <EM>and</EM> periodically saves
|
|
objects to disk when it runs out of space in memory.
|
|
</BLOCKQuote></blockQuote>
|
|
<blockQuote>
|
|
You want to create a virtual (RAM) disk for squid to use as its
|
|
disk. Instead why don't you increase the amount of memory
|
|
available to its in-memory object cache?
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Ben]
|
|
If you have the kernel sources installed, take a look at
|
|
"<TT>/usr/src/kernel-source-<version>/Documentation/filesystems/tmpfs</TT>". It's
|
|
a memory-based file system, and is created (by root) with "mount".
|
|
Here's an example:
|
|
</blockQuote>
|
|
<p align="center">See attached <tt><a href="misc/tag/ben-fstab.txt">ben-fstab.txt</a></tt></p>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas]
|
|
I think Ben has missed the point. Squid doesn't care for the <EM>type</EM> of
|
|
RAM being used. Sure, it needs physical RAM, but this is accessed
|
|
on-disk by squid's "object cache". It is this that determines how much
|
|
RAM is being used (see Kapil's answer above).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
In <TT>/etc/squid.conf</TT> you can adjust this by changing:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>cache_mem=50MB
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
to something more appropriate. Don't forget to issue:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>squid -k reconfigure
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
once changes have been made to the file.
|
|
</blockQuote>
|
|
|
|
<!-- end 6 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<A NAME="tag.7"><HR WIDTH="75%" ALIGN="center"></A>
|
|
<!-- begin 7 -->
|
|
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
|
|
height="50" width="60" alt="(?) " border="0"
|
|
>X server crash when starting up RH9 for the first time</H3>
|
|
|
|
|
|
<p><strong>From Claudiu Spataru
|
|
</strong></p>
|
|
<p></strong></p>
|
|
|
|
<p align="right"><strong>Answered By: Mike Martin, Ben Okopnik, Thomas Adam, Heather Stern
|
|
</strong></p>
|
|
<P><STRONG>
|
|
This is a multi-part message in MIME format.
|
|
</STRONG></P>
|
|
|
|
<font color="red"><blockquote><em>This is naughty, please send e-mails in plain-text ONLY.
|
|
-- Thomas Adam</em></blockquote></font>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
Hello
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
My X server crashes with the following error messages (see attached
|
|
log).
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
My system is an Athlon 2500+, GeForce FX 5200 graphic card, A7N8X deluxe
|
|
mainboard (not sure how relevant this info is, but added it anyway).
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
The font server can be stopped and restarted by using '<TT>/etc/init.d/xfs</TT>
|
|
start|stop' without any problems. When eliminating the Fontpath line
|
|
that points to unix/:7100 from the XF86Config file, it complains about a
|
|
different fontpath that it cannot find and crashes once again. (There is
|
|
also either no path set to run Xconfigurator or there is no such thing
|
|
in my installation of RH9.)
|
|
</STRONG></P>
|
|
<P><STRONG>
|
|
Any known solution to the above problem?
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [MikeM]
|
|
dont do this - put it back. If you dont use the xfs server then you
|
|
need to hardcode the fontpath into <TT>/etc/X11/XF86Config</TT>
|
|
</blockQuote>
|
|
<blockQuote>
|
|
X wont start without xfs running, when X fails to start, is xfs
|
|
running?
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Ben]
|
|
That's inaccurate. Either a font server <em> _or</em> a hard-coded font set is
|
|
sufficient, and there's no advantage that I know of to a server if
|
|
you're not doing X over a network. My system has run without "xfs" for
|
|
years now.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [MikeM]
|
|
I know this is generally true, however the querent is using <A HREF="http://www.redhat.com/">Red Hat</A> 9
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Red Hat does a fair bit with the font server, including dealing with
|
|
easy adding of fonts, TTF fonts etc.
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] That's inaccurate -- TrueType fonts are handled by the xtt
|
|
server, NOT by xfs itself. There are two different servers. I still fail
|
|
to see how RH find running another process to handle fonts an
|
|
<EM>advantage</EM>
|
|
</blockquote></font>
|
|
|
|
<font color="#000066"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Heather] Smaller part to kick if it needs a restart? But within X this is often
|
|
false economy, yanking live font servers is rather like pulling the rug
|
|
out from under you. It can be done - I've done it (read the 'xset' man
|
|
page if you're crazy enough to mess with this) - but I think the
|
|
split is a holdover from an earlier time (only a year or two ago) when
|
|
the X server did not speak Truetype on its own. You needed an external
|
|
fontserver for it, and that was usually xfs patched for freetype access
|
|
(the way I did it) but there was a competitor from the asian countries,
|
|
who had a real need for readable letters.
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [MikeM]
|
|
So to avoid other problems/questions IMHO, it is safe to say that the
|
|
querent is better off using the installed font server. (ie: dont add
|
|
unnecesary complications), especially as it sounds like it is actually
|
|
working.
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] I disagree with this -- X11 and fonts is rarely, if at all, distro
|
|
specific. Just because RH uses a font server initially, doesn't mean to
|
|
say that you have to continue using it. That is one of the ideals of
|
|
Linux -- it is <EM>your</EM> OS. Do whatever you like
|
|
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
|
height="24" width="20" align="middle">
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [MikeM]
|
|
just did a quick google - its possible that the card is not recognised
|
|
properly
|
|
</blockQuote>
|
|
<blockQuote>
|
|
so try this (as root)
|
|
</blockQuote>
|
|
<blockQuote>
|
|
edit the file <TT>/etc/X11/XF86Config</TT>
|
|
look for the device section eg:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>Section "Device"
|
|
Identifier "Videocard0"
|
|
Driver "nv"
|
|
VendorName "Videocard vendor"
|
|
BoardName "NVIDIA GeForce 4 (generic)"
|
|
BUSID "PCI:1:0:0"
|
|
EndSection
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
and experiment changing the Driver entry to vesa or nv, depending what
|
|
is there already
|
|
</blockQuote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
Thank you very much for the replies! It was indeed the fact that my graphic
|
|
card did not get recognized properly and the generic vesa driver did not
|
|
work in my case.
|
|
After changing the values for 'BoardName' and 'Driver' as per Mike's
|
|
suggestion, I was able to start X Windows.
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [MikeM]
|
|
Generic X error problem solving
|
|
</blockQuote>
|
|
<blockQuote>
|
|
There are a few very common reasons for X not starting
|
|
</blockQuote>
|
|
<blockQuote>
|
|
1. Not enough disk space in <TT>/</TT> or <TT>/var</TT>
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] If this is the case, then I doubt one would be able to login anyhow,
|
|
since /var/log/wtmp would have to be written to so that the "last(1)"
|
|
command can keep a log of who has logged in.
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [MikeM]
|
|
2. Font server not starting (can be caused by 1.)
|
|
</blockQuote>
|
|
|
|
<font color="#000066"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Heather] More accurately, "fixed" or some font needed by your window manager
|
|
isn't available, so the session manager dies -- taking X with it.
|
|
</blockquote>
|
|
<blockquote>This may be a dead font server, or some other buggy FontPath.
|
|
</blockquote></font>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] RedHat like to use xfs/xfs-xtt to issue fonts. The truth is that a font
|
|
server is NOT necessary, no matter which distribution one uses. The only
|
|
time I can think when you might want to use it is when one is having to
|
|
share fonts over the network.
|
|
</blockquote>
|
|
<blockquote>In anycase, if the font server fails to load, the default fonts listed
|
|
in /etc/XF86Config (under other distros: /etc/X11/XF86Config-4) are used
|
|
as the "fallback".
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [MikeM]
|
|
3. Mouse not being initialised
|
|
</blockQuote>
|
|
|
|
<font color="#000066"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Heather] This is actually quite rare, much more common is it being <EM>incorrectly</EM>
|
|
initialized, due to incorrect protocol being specified for the input
|
|
device -- which will get you into X, but with a mouse that doesn't move,
|
|
or does something crazy as soon as you touch it, like race to one edge
|
|
of the screen and flutter there like a trapped moth.
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [MikeM]
|
|
4. If you use the Nvidia binary module, the kernel module not being
|
|
loaded.
|
|
</blockQuote>
|
|
|
|
<font color="#000066"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Heather] i810s and other "memory sharing with CPU" video cards can have this
|
|
problem too. It may also matter to embedded designers. In short if you
|
|
can't see the video without kernel help - it needs to be loaded.
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
5. Generic error "No screens", often a problem with the video driver.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas]
|
|
Yes, either that or the <EM>wrong</EM> video driver has been selected. In that
|
|
instance, a new one should be chosen. Under <A HREF="http://www.debian.org/">Debian</A>, the fix for that
|
|
would be to run:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>dpkg-reconfigure xserver-xfree86
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
Commonly, the "no screens" error can also be caused by FrameBuffer
|
|
options turned on. If one comments these out, the problem may also go
|
|
away.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [MikeM]
|
|
points 3,4 and 5 will show an error in the X error log (or on the
|
|
terminal that starts X)
|
|
</blockQuote>
|
|
|
|
<font color="#660000"><blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas] They'll only show a message assuming point 1 above is false, otherwise,
|
|
how is it to write to the log file?
|
|
</blockquote></font>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Heather]
|
|
It will show the same message on the controlling terminal, if you launch
|
|
X as a command at a shell prompt instead of allowing anything automatic
|
|
to try it. And while we're at it, <EM>disable</EM> any attempt whatever to
|
|
launch X automatically if X isn't tuned up and happy. The infamous
|
|
message "ID x respawning too fast" is a common symptom of that. The
|
|
"ID" in that case is an <TT>/etc/inittab</TT> entry for your GUI login prompt.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [MikeM]
|
|
What can often work as a quick fix is to run the script xf86config
|
|
(all lower case)
|
|
</blockQuote>
|
|
<blockQuote>
|
|
This will wipe out the config for the font server though.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Thomas]
|
|
In any case, adding the line:
|
|
</blockQuote>
|
|
|
|
<blockquote><pre>FontPath "Unix/:7100"
|
|
</pre></blockquote>
|
|
<blockQuote>
|
|
as the first line under: Section "Files" should work.
|
|
</blockQuote>
|
|
|
|
<!-- end 7 -->
|
|
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
|
<A NAME="tag.8"><HR WIDTH="75%" ALIGN="center"></A>
|
|
<!-- begin 8 -->
|
|
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
|
|
height="50" width="60" alt="(?) " border="0"
|
|
>Converting from Win2k to Linux</H3>
|
|
|
|
|
|
<p><strong>From Tim Grossenbacher
|
|
</strong></p>
|
|
<p></strong></p>
|
|
|
|
<p align="right"><strong>Answered By: Faber Fedor, Jim Dennis
|
|
</strong></p>
|
|
<P><STRONG>
|
|
Gradually converting from a Windows 2000 server to Linux running Redhat 7.2.
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Faber]
|
|
First off, kudos on converting, but hy 7.2? You should at least be
|
|
doing 7.3 (although I've found 9 to be nice and stable). You have
|
|
patched the 7.2 box, haven't you?
|
|
</blockQuote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
For many years, we have used social security numbers as login names within
|
|
the Win2k domain to login.
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Faber]
|
|
My gawd, man! Are you mad! I certainly hope this domain is nowhere
|
|
near the Internet! <
|
|
<IMG SRC="../gx/dennis/smily.gif" ALT=";D"
|
|
height="24" width="20" align="middle">r. Evil> But if it is, how do you translate
|
|
between the login of the employee's SSN and his email name? Can you tell
|
|
me the name of that file and which machine it is on??</Dr. Evil>
|
|
</blockQuote>
|
|
<blockQuote>
|
|
And you've never had a problem with identity theft? Amazing.
|
|
</blockQuote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
Linux does not appear to allow me to create a
|
|
user with numbers only as the user.
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Faber]
|
|
Correct. Linux (and every *nix I've seen) won't allow login names to
|
|
start with a number. <Turns to the audience> Why is that? Anyone know?
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [JimD]
|
|
Because any place in the code that's expecting a user toke looks at
|
|
the first character to determine if it's a UID or a name; then it
|
|
looks up <TT>(getpwnam()</TT>) the username and translates it into a UID.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
In other words "names" beginning with digits create an ambiguity between
|
|
different representations of the same object (UID vs. name).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Now, granted this could be changed. Programs could search the entire
|
|
string for any non-digit and declare it to be a name rather than a
|
|
UID. However, even then there'd be an ambiguity when the "name"
|
|
consisted entirely of digits. Also changing this would entail finding
|
|
<EM>every</EM> piece of code that was parsing UIDs and user names <EM>anywhere</EM>
|
|
(precisely the sort of change that is nearly impossible for an
|
|
operating system that's been in use in hundreds of implementions for
|
|
over thirty years).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
You could certainly just use a letter prefix to your SSN as your
|
|
user naming scheme. u1234567890 (123-45-7890) would work just as
|
|
well as 1234567890.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
As Faber as said, using SSN's in ANY visible way is an incredibly bad
|
|
idea. Perusing the Privacy SSN FAQ:
|
|
</blockQuote>
|
|
<blockQuote><BLOCKQuote>
|
|
<A HREF="http://www.faqs.org/faqs/privacy/ssn-faq/index.html"
|
|
>http://www.faqs.org/faqs/privacy/ssn-faq/index.html</A>
|
|
</BLOCKQuote></blockQuote>
|
|
<blockQuote>
|
|
... would be a good idea.
|
|
</blockQuote>
|
|
<P><STRONG>
|
|
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
>
|
|
I have created test users with both alpha and numeric characters, and all
|
|
works perfectly. Is there a work around?
|
|
</STRONG></P>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [JimD]
|
|
Re-think your policy.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [Faber]
|
|
Well, you could always hack the source, of course, of course. But I
|
|
assume there's a Good Reason why they don't allow it, I just don't know
|
|
what it is.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
|
HEIGHT="28" WIDTH="50" BORDER="0"
|
|
> [JimD]
|
|
Think ambiguity. Then think, millions of lines of code in thousands
|
|
of programs. Then think 30 years of books, education and programmer
|
|
experience --- hundreds of thousands of programmers who already <EM>know</EM>
|
|
that usernames like most identifiers in most languages must start with
|
|
an alpha or some suitable punctuation and that leading digits signify
|
|
a UID.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
Sounds like a bad idea all around.
|
|
</blockQuote>
|
|
<blockQuote>
|
|
I suppose you could just modify the login programs to accept numerics
|
|
and prefix them with some letter or even an _ (underscore) before
|
|
logging the user in. This would keep the change focused just to a few
|
|
programs and libraries (basically just the PAM and login suite).
|
|
</blockQuote>
|
|
<blockQuote>
|
|
However, this sort of hack has a way of causing more confusion later.
|
|
Everyone at your site will then be "logging in" one way and getting a
|
|
username that doesn't quite match the string they use to log in ---
|
|
could cause lots of confusion.
|
|
</blockQuote>
|
|
|
|
<!-- end 8 -->
|
|
<!-- *** BEGIN copyright *** -->
|
|
<hr>
|
|
<CENTER><SMALL><STRONG>
|
|
<h5>
|
|
<br>Copyright © 2003
|
|
<br>Copying license <A HREF="">http://www.linuxgazette.com/copying.html</A>
|
|
<BR>Published in Issue 95 of <i>Linux Gazette</i>, October 2003</H5>
|
|
</STRONG></SMALL></CENTER>
|
|
<!-- *** END copyright *** -->
|
|
|
|
<SMALL><CENTER><H6 ALIGN="center">HTML script maintained by
|
|
<A HREF="mailto:star@starshine.org">Heather Stern</a> of
|
|
Starshine Technical Services,
|
|
<A HREF="http://www.starshine.org/">http://www.starshine.org/</A>
|
|
</H6></SMALL></CENTER>
|
|
<HR>
|
|
|
|
|
|
<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">News Bytes</FONT></STRONG></BIG></BIG>
|
|
<BR>
|
|
<STRONG>By <A HREF="../authors/conry.html">Michael Conry</A></STRONG>
|
|
</CENTER>
|
|
|
|
</TD></TR>
|
|
</TABLE>
|
|
<P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</p><center>
|
|
<table cellpadding="7"><tbody><tr><td>
|
|
<img src="../gx/bytes.gif" border="1" alt="News Bytes">
|
|
</td><td>
|
|
<h3>Contents:</h3>
|
|
<ul>
|
|
<li><a href="#leg">Legislation and More Legislation</a>
|
|
</li><li><a href="#links">Linux Links</a>
|
|
</li><li><a href="#conferences">Conferences and Events</a>
|
|
</li><li><a href="#general">News in General</a>
|
|
</li><li><a href="#distro">Distro News</a>
|
|
</li><li><a href="#commercial">Software and Product News</a>
|
|
</li></ul>
|
|
</td></tr></tbody></table>
|
|
|
|
<strong>Selected and formatted by <a href="mailto:michael.conry@softhome.net">Michael Conry</a></strong>
|
|
</center>
|
|
|
|
|
|
<p> Submitters, send your News Bytes items in
|
|
<font size="+2"><strong>PLAIN TEXT</strong></font>
|
|
format. Other formats may be rejected without reading. You have been
|
|
warned! A one- or two-paragraph summary plus URL gets you a better
|
|
announcement than an entire press release. Submit items to
|
|
<a href="mailto:bytes@linuxgazette.com">bytes@linuxgazette.com</a>
|
|
|
|
|
|
</p><hr> <p>
|
|
<!-- =================================================================== -->
|
|
|
|
</p><h3><img alt=" " src="../gx/bolt.gif">
|
|
<font color="green">
|
|
November 2003 <i>Linux Journal</i>
|
|
</font>
|
|
</h3>
|
|
|
|
<img alt="[issue 114 cover image]" src="misc/bytes/lj-cover114.png" width="200" height="268" align="left" hspace="20">
|
|
|
|
The November issue of <a href="http://www.linuxjournal.com/"><i>Linux
|
|
Journal</i></a> is on newsstands now.
|
|
This issue focuses on System Administration. Click
|
|
<a href="http://www.linuxjournal.com/modules.php?op=modload&name=NS-lj-issues/issue114&file=index">here</a>
|
|
to view the table of contents, or
|
|
<a href="http://www.linuxjournal.com/subscribe/">here</a>
|
|
to subscribe.
|
|
|
|
<p>
|
|
<font color="green">All articles in issues 1-102 are available for public reading at
|
|
<a href="http://www.linuxjournal.com/magazine.php">
|
|
http://www.linuxjournal.com/magazine.php</a></font>.
|
|
Recent articles are available on-line for subscribers only at
|
|
<a href="http://interactive.linuxjournal.com/">http://interactive.linuxjournal.com/</a>.
|
|
|
|
|
|
|
|
<BR CLEAR="all">
|
|
<!-- =================================================================== -->
|
|
|
|
<a name="leg"></a>
|
|
<p><hr><p>
|
|
<!-- =================================================================== -->
|
|
<center><H3><font color="green">Legislation and More Legislation</font></H3></center>
|
|
|
|
<P> <hr> <P>
|
|
<!-- =================================================================== -->
|
|
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
|
<FONT COLOR="green">European Patents
|
|
</FONT>
|
|
</H3>
|
|
<P>
|
|
Last month we reported on an upcoming vote in the European Parliament
|
|
regarding the future of software patents in Europe. According to many
|
|
Free and Open Software advocates, the proposals in front of the
|
|
parliament would, probably permanently, establish the practice of
|
|
software patenting in Europe. This, they argued, would lead to a
|
|
reduction in innovation and give an unnecessary and crushing advantage
|
|
to large software companies who could use their greater resources to
|
|
legally elbow smaller competitors out of the market.
|
|
You can read a cogent and well-argued discussion of these views in the
|
|
<a href="http://newsforge.com/article.pl?sid=03/09/22/1311217">
|
|
open letter addressed by Linux Torvalds and Alan Cox</a> to the
|
|
members of the European Parliament
|
|
<P>
|
|
There are many people out there who were not content simply to
|
|
complain about the direction events were taking. Instead, they lobbied,
|
|
and lobbied hard, to get the concerns of financially small (though
|
|
numerically large) interest groups onto the agenda. An initial sign
|
|
that these efforts might be having an effect was the
|
|
<a href="http://promote-opensource.org/modules/news/article.php?storyid=262">
|
|
announcement of a further postponement</a>
|
|
of the vote on the proposed directive. Though no reason was given for
|
|
the delay, the first postponement was the result of widespread confusion
|
|
regarding the issues at stake, and a feeling that the directive was
|
|
being forced through with undue haste. It seems likely that similar
|
|
sentiments lead to this second deferment.
|
|
<P>
|
|
The ultimate, and welcome, result of this concerted lobbying process was
|
|
that amendments were proposed to the directive which removed many of the
|
|
most objectionable proposals. This
|
|
<a href="http://www.theregister.co.uk/content/4/33016.html">
|
|
amended directive was approved</a> by the parliament with a margin of
|
|
364 votes to 153 with 33 abstentions.
|
|
LWN have helpfully <a href="http://lwn.net/Articles/50722/">
|
|
reproduced the directive online</a> in a readable HTML format.
|
|
<P>
|
|
It is important to learn lessons from this success and to apply them in
|
|
future struggles. Many Free Software enthusiasts have learnt valuable
|
|
lobbying skills in the course of their advocacy, and these skills must
|
|
be developed and shared. A particularly
|
|
<a href="http://newsforge.com/newsforge/03/09/16/1428222.shtml?tid=17">
|
|
interesting account of this lobbying process</a> has been published by
|
|
NewsForge, and it gives useful information both on how to lobby, and on
|
|
what level of understanding can be expected of politicians and their
|
|
staff. Additionally, it is important to follow up on politicians who
|
|
have been lobbied and to check how they actually voted. As
|
|
<a href="http://www.ntk.net/2003/09/26/">
|
|
pointed out by NTKnow</a>, the UK Liberal Democrats made very positive
|
|
noises, but ultimately voted in favour of patents. Of the UK parties,
|
|
only the Greens and the UK Independence Party voted against software
|
|
patents. If politicians realise that Free software advocates pay
|
|
attention (and draw attention) to their voting records, they will be far
|
|
more likely to heed future representations.
|
|
These skills will be especially important since pro-patent interests are
|
|
likely to try to get their way through the alternative route of national
|
|
parliaments.
|
|
<P>
|
|
For more information on this story, if you are interested in an
|
|
anti-patents, pro-free-software point of view you should look at
|
|
<a href="http://www.ffii.org/">FFII.org</a>.
|
|
Their
|
|
<a href="http://swpat.ffii.org/news/03/plen0924/index.en.html">
|
|
account of the final amendments and vote</a> is worth reading.
|
|
|
|
|
|
|
|
|
|
<a name="links"></a>
|
|
<p><hr><p>
|
|
<!-- =================================================================== -->
|
|
<center><H3><font color="green">Linux Links</font></H3></center>
|
|
|
|
<P>
|
|
A <a href="http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=55">
|
|
comparison of four Linux Office suites</a>
|
|
and how well they handle random MS Word/Excel/PowerPoint doucments.
|
|
<P>
|
|
Some links from NewsForge:
|
|
<ul>
|
|
<li>
|
|
<a href="http://newsforge.com/article.pl?sid=03/08/29/1948223">
|
|
How to retrain yourself for embedded Linux</a>
|
|
</li>
|
|
<li>
|
|
<a href="http://newsforge.com/article.pl?sid=03/09/05/1958235">
|
|
Open source in East Timor and India</a>
|
|
</li>
|
|
<li>
|
|
<a href="http://newsforge.com/article.pl?sid=03/09/03/2053203">
|
|
The indispensable GPL</a>
|
|
</li>
|
|
<li>
|
|
<a href="http://newsforge.com/article.pl?sid=03/09/13/1538208">
|
|
Iran's First GNU/Linux Seminar</a>
|
|
</li>
|
|
<li>
|
|
<a href="http://newsforge.com/article.pl?sid=03/09/12/1544240">
|
|
Opportunities for Open Source software in the publishing industry</a>
|
|
</li>
|
|
<li>
|
|
<a href="http://newsvac.newsforge.com/article.pl?sid=03/09/22/2037238">
|
|
Linux on the AMD Opteron: Are We Ready?</a>
|
|
</li>
|
|
</ul>
|
|
<P>
|
|
Bellevue's Linare sees Linux future,
|
|
<a href="http://seattletimes.nwsource.com/text/2001739669_btinterface22.html">
|
|
launches $19.95 operating system</a>.
|
|
<P>
|
|
<a href="http://acmqueue.org/modules.php?name=Content&pa=showpage&pid=54&page=1">
|
|
The age of corporate open source enlightenment</a>
|
|
<P>
|
|
Some links from Linux Weekly News:
|
|
<ul>
|
|
<li>
|
|
<a href="http://lwn.net/Articles/47699/">
|
|
Is Taiwan is falling behind China in Linux adoption.</a>
|
|
</li>
|
|
<li>
|
|
US Library of Congress is
|
|
<a href="http://lwn.net/Articles/47497/">
|
|
using Linux for an online video archive</a>
|
|
</li>
|
|
</ul>
|
|
<P>
|
|
And since they generate so much media noise, lets list a few relating to
|
|
SCO:
|
|
<ul>
|
|
<li>
|
|
<a href="http://www.linuxjournal.com/article.php?sid=7117">
|
|
What does SCO v. IBM mean for users?</a>, a view from Linux Journal.
|
|
</li>
|
|
<li>
|
|
Dee-Ann LeBlanc at O'Reilly provides
|
|
<a href="http://www.oreillynet.com/pub/wlg/3702">
|
|
A SCO-Fighting Press Kit</a>
|
|
</li>
|
|
<li>
|
|
<a href="http://www.eweek.com/article2/0,4149,1257617,00.asp">
|
|
ESR and SCO:</a>
|
|
"But [Raymond] did admit that 'I am grinning a grin that should
|
|
frighten the thieves and liars at SCO out of a week's sleep...'"
|
|
</li>
|
|
<li>
|
|
Novell 'puts entire ecosystem behind Linux'
|
|
<a href="http://www.theregister.co.uk/content/53/32708.html">
|
|
and CEO downplays SCO derailment risk</a>
|
|
</li>
|
|
<li>
|
|
Linux Torvalds, in open letter to Darl McBride says
|
|
<a href="http://newsforge.com/article.pl?sid=03/09/10/2321224">
|
|
pLease grow up</a>.
|
|
</li>
|
|
</ul>
|
|
<P>
|
|
Some links from O'Reilly:
|
|
<ul>
|
|
<li>
|
|
<a href="http://linux.oreillynet.com/pub/a/linux/2003/09/04/oracle_install.html">
|
|
Running Oracle on Red Hat</a>
|
|
</li>
|
|
<li>
|
|
<a href="http://linux.oreillynet.com/pub/a/linux/2003/09/04/email_pki.html">
|
|
Encrypted Email Cookbook</a>
|
|
</li>
|
|
<li>
|
|
<a href="http://www.onlamp.com/pub/a/onlamp/2003/09/18/prelude.html">
|
|
The Prelude open source intrusion detection system</a>
|
|
</li>
|
|
</ul>
|
|
<P>
|
|
Some links via LinuxToday:
|
|
<ul>
|
|
<li>
|
|
<a href="http://www-106.ibm.com/developerworks/linux/library/l-datavis/?ca=dgr-lnxw02UsingPerl/Tk">
|
|
Data visualization using perl/TK</a>
|
|
</li>
|
|
<li>
|
|
<a href="http://www.bayarea.com/mld/mercurynews/business/6769286.htm">
|
|
Open source helps education effort in third world</a>
|
|
</li>
|
|
<li>
|
|
<a href="http://www.ofb.biz/modules.php?name=News&file=article&sid=263&mode=&order=0&thold=0">
|
|
A free desktop for free people</a>
|
|
</li>
|
|
<li>
|
|
The Indian government is
|
|
<a href="http://economictimes.indiatimes.com/cms.dll/html/uncomp/articleshow?msid=185058">
|
|
releasing GNU/Linux in 11 Indian languages</a>
|
|
by the end of the year
|
|
</li>
|
|
<li>
|
|
<a href="http://articles.linmagau.org/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=295&page=1">
|
|
Setting up an ADSL connection under Linux</a>
|
|
</li>
|
|
<li>
|
|
<a href="http://www.thejemreport.com/software/wordprocessors.htm">
|
|
Comparison of word processors</a> on Linux.
|
|
</li>
|
|
</ul>
|
|
<P>
|
|
<a href="http://newsvac.newsforge.com/article.pl?sid=03/09/27/1444237">
|
|
IRC Linux Help for beginners</a>.
|
|
|
|
|
|
|
|
|
|
<a name="conferences"></a>
|
|
<p><hr><p>
|
|
<!-- =================================================================== -->
|
|
<center><H3><font color="green">Upcoming conferences and events</font></H3></center>
|
|
|
|
<P> Listings courtesy <EM>Linux Journal</EM>. See <EM>LJ</EM>'s
|
|
<A HREF="http://www.linuxjournal.com/events.php">Events</A> page for the
|
|
latest goings-on.
|
|
|
|
<table cellpadding=5 border=0 width=100%>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>IDUG 2003 - Europe</b><BR></TD>
|
|
<td valign=top>October 7-10, 2003<BR>Nice, France<BR>
|
|
<a href="http://www.idug.org" target="_blank">
|
|
http://www.idug.org</A><BR></TD></TR>
|
|
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>Linux Clusters Institute Workshops</b><BR></TD>
|
|
<td valign=top>October 13-18, 2003<BR>Montpellier, France<BR>
|
|
<a href="http://www.linuxclustersinstitute.org/"
|
|
target="_blank">
|
|
http://www.linuxclustersinstitute.org</A><BR></TD></TR>
|
|
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>Coast Open Source Software Technology (COSST) Symposium</b><BR></TD>
|
|
<td valign=top>October 18, 2003<BR>Newport Beach, CA<BR>
|
|
<a href="http://cosst.ieee-occs.org" target="_blank">
|
|
http://cosst.ieee-occs.org</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>Enterprise Linux Forum</b><BR></TD>
|
|
<td valign=top>October 22-23, 2003<BR>Washington, DC<BR>
|
|
<a href="http://www.enterpriselinuxforum.com/" target="_blank">
|
|
http://www.enterpriselinuxforum.com/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>Media Advisory/Open Source Software Chicago Forum</b><BR></TD>
|
|
<td valign=top>October 23, 2003<BR>Chicago, IL<BR>
|
|
<a href="http://www.osschicago.com" target="_blank">
|
|
http://www.osschicago.com/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>PhreakNic</b><BR></TD>
|
|
<td valign=top>October 24-26, 2003<BR>Nasheville, TN<BR>
|
|
<a href="http://www.phreaknic.info/" target="_blank">
|
|
http://www.phreaknic.info/</A><BR></TD></TR>
|
|
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>LISA (17th USENIX Systems Administration Conference)</b><BR></TD>
|
|
<td valign=top>October 26-30, 2003<BR>San Diego, CA<BR>
|
|
<a href="http://www.usenix.org/events/lisa03/" target="_blank">
|
|
http://www.usenix.org/events/lisa03/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>Linux Open Alternative Days</b><BR></TD>
|
|
<td valign=top>October 30-31, 2003<BR>Bucharest, Romania<BR>
|
|
<a href="http://www.load.ro/" target="_blank">
|
|
http://www.load.ro/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>O'Reilly Mac OS X Conference</b><BR></TD>
|
|
<td valign=top>October 27-30, 2003<BR>Santa Clara, CA<BR>
|
|
<a href="http://conferences.oreillynet.com/macosx2003/" target="_blank">
|
|
http://conferences.oreillynet.com/macosx2003/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>HiverCon 2003</b><BR></TD>
|
|
<td valign=top>November 6-7, 2003<BR>Dublin, Ireland<BR>
|
|
<a href="http://www.hivercon.com/" target="_blank">
|
|
http://www.hivercon.com/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>COMDEX Fall</b><BR></TD>
|
|
<td valign=top>November 17-21, 2003<BR>Las Vegas, NV<BR>
|
|
<a href="http://www.comdex.com/fall2003/" target="_blank">
|
|
http://www.comdex.com/fall2003/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>Southern California Linux Expo (SCALE)</b><BR></TD>
|
|
<td valign=top>November 22, 2003<BR>Los Angeles, CA<BR>
|
|
<a href="http://socallinuxexpo.com/" target="_blank">
|
|
http://socallinuxexpo.com/</A><BR></TD></TR>
|
|
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>Annual Computer Security Applications Conference (ACSAC)</b><BR></TD>
|
|
<td valign=top>December 8-12, 2003<BR>Las Vegas, NV<BR>
|
|
<a href="http://www.acsac.org/" target="_blank">
|
|
http://www.acsac.org/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>Linux Clusters Institute Workshops</b><BR></TD>
|
|
<td valign=top>December 8-12, 2003<BR>Albuquerque, NM<BR>
|
|
<a href="http://www.linuxclustersinstitute.org/"
|
|
target="_blank">
|
|
http://www.linuxclustersinstitute.org</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>Storage Expo 2003, co-located with Infosecurity 2003</b><BR></TD>
|
|
<td valign=top>December 9-11, 2003<BR>New York, NY<BR>
|
|
<a href="http://www.infosecurityevent.com/" target="_blank">
|
|
http://www.infosecurityevent.com/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>Consumer Electronics Show</b><BR></TD>
|
|
<td valign=top>January 8-11, 2004<BR>Las Vegas, NV<BR>
|
|
<a href="http://www.cesweb.org/" target="_blank">
|
|
http://www.cesweb.org/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>Linux.Conf.AU</b><BR></TD>
|
|
<td valign=top>January 12-17, 2004<BR>Australia<BR>
|
|
<a href="http://conf.linux.org.au/" target="_blank">
|
|
http://conf.linux.org.au/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>LinuxWorld Conference & Expo</b><BR></TD>
|
|
<td valign=top>January 20-23, 2004<BR>New York, NY<BR>
|
|
<a href="http://linuxworldexpo.com/" target="_blank">
|
|
http://linuxworldexpo.com/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>O'Reilly Emerging Technology Conference</b><BR></TD>
|
|
<td valign=top>February 9-12, 2004<BR>San Diego, CA<BR>
|
|
<a href="http://conferences.oreillynet.com/etcon/" target="_blank">
|
|
http://conferences.oreillynet.com/etcon/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>SXSW</b><BR></TD>
|
|
<td valign=top>March 12-21, 2004<BR>Austin, TX<BR>
|
|
<a href="http://sxsw.com/" target="_blank">
|
|
http://sxsw.com/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>SD West</b><BR></TD>
|
|
<td valign=top>March 15-19, 2004<BR>Santa Clara, CA<BR>
|
|
<a href="http://www.sdexpo.com" target="_blank">
|
|
http://www.sdexpo.com</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>CeBit Hannover</b><BR></TD>
|
|
<td valign=top>March 18-24, 2004<BR>Hannover, Germany<BR>
|
|
<a href="http://www.cebit.de" target="_blank">
|
|
http://www.cebit.de</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>COMDEX Canada</b><BR></TD>
|
|
<td valign=top>March 24-26, 2004<BR>Toronto, Ontario<BR>
|
|
<a href="http://www.comdex.com" target="_blank">
|
|
http://www.comdex.com</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>2004 USENIX/ACM Symposium on Networked Systems Design and
|
|
Implementation (NSDI)</b><BR></TD>
|
|
<td valign=top>March 29-31, 2004<BR>San Francisco, CA<BR>
|
|
<a href="http://www.usenix.org/events/nsdi04/" target="_blank">
|
|
http://www.usenix.org/events/nsdi04/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>RealWorld Linux</b><BR></TD>
|
|
<td valign=top>April 13-15, 2004<BR>Toronto, Ontario<BR>
|
|
<a href="http://www.realworldlinux.com" target="_blank">
|
|
http://www.realworldlinux.com</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>CeBit America</b><BR></TD>
|
|
<td valign=top>May 25-27, 2004<BR>New York, NY<BR>
|
|
<a href="http://www.cebit-america.com/" target="_blank">
|
|
http://www.cebit-america.com/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>Strictly Business Solutions Expo</b><BR></TD>
|
|
<td valign=top>June 9-10, 2004<BR>Minneapolis, MN<BR>
|
|
<a href="http://www.strictlyebusiness.net/sb/mpls/index.po"
|
|
target="_blank">
|
|
http://www.strictlyebusiness.net/sb/mpls/index.po</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>USENIX Annual Technical Conference</b><BR></TD>
|
|
<td valign=top>June 27 - July 2, 2004<BR>Boston, MA<BR>
|
|
<a href="http://www.usenix.com/events/usenix04/" target="_blank">
|
|
http://www.usenix.com/events/usenix04/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>O'Reilly Open Source Convention</b><BR></TD>
|
|
<td valign=top>July 26-30, 2004<BR>Portland, OR<BR>
|
|
<a href="http://conferences.oreillynet.com/" target="_blank">
|
|
http://conferences.oreillynet.com/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>LinuxWorld Conference & Expo</b><BR></TD>
|
|
<td valign=top>August 3-5, 2004<BR>San Francisco, CA<BR>
|
|
<a href="http://www.linuxworldexpo.com/" target="_blank">
|
|
http://www.linuxworldexpo.com/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>USENIX Security Symposium</b><BR></TD>
|
|
<td valign=top>August 9-13, 2004<BR>San Diego, CA<BR>
|
|
<a href="http://www.usenix.com/events/sec04/" target="_blank">
|
|
http://www.usenix.com/events/sec04/</A><BR></TD></TR>
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
<tr><td valign=top>
|
|
<b>USENIX Systems Administration Conference (LISA)</b><BR></TD>
|
|
<td valign=top>November 14-19, 2004<BR>Atlanta, GA<BR>
|
|
<a href="http://www.usenix.com/events/" target="_blank">
|
|
http://www.usenix.com/events/</A><BR></TD></TR>
|
|
|
|
|
|
|
|
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
|
|
|
</table>
|
|
|
|
|
|
<a name="general"></a>
|
|
<p><hr><p>
|
|
<!-- =================================================================== -->
|
|
<center><H3><font color="green">News in General</font></H3></center>
|
|
|
|
<P> <hr> <P>
|
|
<!-- =================================================================== -->
|
|
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
|
<FONT COLOR="green">Mobilix
|
|
</FONT>
|
|
</H3>
|
|
<P>
|
|
In the final roll of the dice for Mobilix, (a site providing information
|
|
on mobile Linux systems), the highest German civil court
|
|
<a href="http://linuxtoday.com/news/2003090600226NWCYLL">
|
|
has found in favour of Les Edition Albert Rene</a> and has dismissed the
|
|
appeal brought by Werner Heuser.
|
|
The work that formerly took place under the Mobilix banner will still
|
|
continue, thankfully, under the new name
|
|
<a href="http://tuxmobil.org/">
|
|
Tuxmobil</a>
|
|
|
|
|
|
|
|
<a name="distro"></a>
|
|
<p><hr><p>
|
|
<!-- =================================================================== -->
|
|
<center><H3><font color="green">Distro News</font></H3></center>
|
|
|
|
<P> <hr> <P>
|
|
<!-- =================================================================== -->
|
|
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
|
<FONT COLOR="green">Debian
|
|
</FONT>
|
|
</H3>
|
|
|
|
<P>
|
|
<a href="http://www.debian.org/News/weekly/2003/35/">
|
|
Debian Weekly News reported</a>
|
|
that
|
|
The Debian project has
|
|
<a href="http://lists.debian.org/debian-amd64-0308/msg00035.html">
|
|
received full access</a>
|
|
to a Dual Opteron machine for
|
|
<a href="http://www.debian.org/ports/amd64/">
|
|
porting efforts</a> to the new amd64 architecture.
|
|
<P>
|
|
<hr width="20%" noshade>
|
|
<P>
|
|
Also
|
|
<a href="http://www.debian.org/News/weekly/2003/37/">
|
|
from Debian Weekly News</a>
|
|
debian-installer team have put together
|
|
<a href="http://cvs.debian.org/debian-installer/doc/INSTALLATION-HOWTO?rev=HEAD&content-type=text/vnd.viewcvs-markup">
|
|
a HOWTO which guides through the process of installing sarge</a>.
|
|
|
|
<P> <hr> <P>
|
|
<!-- =================================================================== -->
|
|
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
|
<FONT COLOR="green">Morphix
|
|
</FONT>
|
|
</H3>
|
|
<P>
|
|
Prakash Advani conducted
|
|
<a href="http://newsforge.com/newsforge/03/08/19/1518217.shtml">
|
|
an interview with Alex de Landgraaf</a>, the founder and the lead
|
|
maintainer of the Morphix project.
|
|
[<a href="http://www.debian.org/News/weekly/2003/35/">via DWN</a>]
|
|
|
|
<P> <hr> <P>
|
|
<!-- =================================================================== -->
|
|
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
|
<FONT COLOR="green">Mandrake
|
|
</FONT>
|
|
</H3>
|
|
Mandrake Linux is planning to
|
|
<a href="http://www.mandrakesoft.com/partners/advertising">
|
|
sell advertising space</a>
|
|
in the upcoming release of Mandrake Linux 9.2.
|
|
There is further information in the
|
|
<a href="http://newsforge.com/article.pl?sid=03/09/12/157237">
|
|
NewsForge story</a>.
|
|
|
|
<a name="commercial"></a>
|
|
<p><hr><p>
|
|
<!-- =================================================================== -->
|
|
<center><H3><font color="green">Software and Product News</font></H3></center>
|
|
|
|
<P> <hr> <P>
|
|
<!-- =================================================================== -->
|
|
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
|
<FONT COLOR="green">Python 2.3.1
|
|
</FONT>
|
|
</H3>
|
|
<P>
|
|
The Python Software Foundation
|
|
<a href="http://newsvac.newsforge.com/article.pl?sid=03/09/24/1726203">
|
|
has announced the release of version 2.3.1</a>
|
|
of the Python programming
|
|
language. This minor release introduces a number of enhancements based
|
|
on two months of experience since release of version 2.3.
|
|
|
|
<P> <hr> <P>
|
|
<!-- =================================================================== -->
|
|
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
|
<FONT COLOR="green">Scribus 1.1.0
|
|
</FONT>
|
|
</H3>
|
|
<P>
|
|
Franz Schmid
|
|
<a href="http://newsvac.newsforge.com/article.pl?sid=03/09/14/1629236">
|
|
has announced the release of Scribus 1.1.0 - Linux Desktop Publishing</a>,
|
|
which builds upon the recently released Scribus 1.0, as well as the
|
|
launching of an integrated Scribus Web site at
|
|
<a href="http://www.scribus.org.uk">
|
|
www.scribus.org.uk</a>.
|
|
|
|
|
|
<P> <hr> <P>
|
|
<!-- =================================================================== -->
|
|
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
|
<FONT COLOR="green">GNOME-Office 1.0 Released
|
|
</FONT>
|
|
</H3>
|
|
<P>
|
|
The GNOME-Office team
|
|
<a href="http://newsvac.newsforge.com/article.pl?sid=03/09/16/2228225">
|
|
has announced the immediate availability of GNOME-Office 1.0</a>.
|
|
GNOME-Office is a suite of
|
|
Free Software productivity applications that seamlessly blend with the
|
|
GNOME Desktop Environment. GNOME-Office includes the AbiWord-2.0 Word
|
|
Processor, GNOME-DB-1.0 Database Interface and Gnumeric-1.2.0
|
|
Spreadsheet."
|
|
|
|
|
|
|
|
<P> <hr> <P>
|
|
<!-- =================================================================== -->
|
|
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
|
<FONT COLOR="green">MuNAS
|
|
</FONT>
|
|
</H3>
|
|
<a href="http://www.advancedthintech.com">
|
|
MuNAS</a> is a piece of software which addresses the problem that the X
|
|
Window system does not support the handling of audio data. It allows the
|
|
thin-client/server computing model in Linux to handle multimedia
|
|
applications: the audio data generated by Open Sound System (OSS/Free)
|
|
compatible audio applications which are executed in the terminal server can
|
|
be transferred to X-terminals. Thus, with MuNAS installed, you can execute
|
|
multimedia applications in the terminal server and listen to the sound from
|
|
your X-terminal. Currently, several manufactures of windows terminal are
|
|
planning to install the MuNAS in their X-terminals.
|
|
|
|
|
|
<P> <hr> <P>
|
|
<!-- =================================================================== -->
|
|
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
|
<FONT COLOR="green">XFce 4.0
|
|
</FONT>
|
|
</H3>
|
|
<P>
|
|
The XFce Project
|
|
<a href="http://www.xfce.org/en/press_release_en.html">
|
|
has announced the release of version 4.0</a> of their desktop environment
|
|
and development platform.
|
|
|
|
|
|
|
|
<!-- =================================================================== -->
|
|
<!-- =================================================================== -->
|
|
|
|
|
|
<!-- *** BEGIN bio *** -->
|
|
|
|
<!-- *** END bio *** -->
|
|
|
|
|
|
|
|
|
|
|
|
<!-- *** BEGIN author bio *** -->
|
|
<P>
|
|
<P>
|
|
<P> Mick is LG's News Bytes Editor.
|
|
|
|
<!-- *** BEGIN bio *** -->
|
|
<P>
|
|
<IMG ALIGN="LEFT" VALIGN="top" ALT="[Picture]" SRC="../gx/2002/tagbio/conry.jpg"
|
|
WIDTH="128" HEIGHT="158">
|
|
<em>Born some time ago in Ireland, Michael is currently working on
|
|
a PhD thesis in the Department of Mechanical Engineering, University
|
|
College Dublin. The topic of this work is the use of Lamb waves in
|
|
nondestructive testing. GNU/Linux has been very useful in this work, and
|
|
Michael has a strong interest in applying free software solutions to
|
|
other problems in engineering. When his thesis is completed, Michael
|
|
plans to take a long walk.
|
|
</em>
|
|
<br CLEAR="all">
|
|
<!-- *** END bio *** -->
|
|
|
|
<!-- *** END author bio *** -->
|
|
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<hr>
|
|
<CENTER><SMALL><STRONG>
|
|
Copyright © 2003, Michael Conry.
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 95 of <i>Linux Gazette</i>, October 2003
|
|
</STRONG></SMALL></CENTER>
|
|
<!-- *** END copyright *** -->
|
|
<HR>
|
|
|
|
|
|
<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">Ecol</FONT></STRONG></BIG></BIG>
|
|
<BR>
|
|
<STRONG>By <A HREF="../authors/malonda.html">Javier Malonda</A></STRONG>
|
|
</CENTER>
|
|
|
|
</TD></TR>
|
|
</TABLE>
|
|
<P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
The Ecol comic strip is written for <A
|
|
HREF="http://escomposlinux.org">escomposlinux.org</A> (ECOL), the web site tha
|
|
t supports, es.comp.os.linux, the Spanish USENET newsgroup for Linux. The
|
|
strips are drawn in Spanish and then translated to English by the author.
|
|
<P>
|
|
<EM>These images are scaled down to minimize horizontal scrolling.
|
|
To see a panel in all its clarity, click on it.</EM>
|
|
|
|
|
|
<P>
|
|
|
|
<A HREF="misc/ecol/ecol-126-e-as.png">
|
|
<IMG ALT="[cartoon]" SRC="misc/ecol/ecol-126-e-as.png"
|
|
WIDTH="640" HEIGHT="240"></A>
|
|
<BR CLEAR="all">
|
|
|
|
<A HREF="misc/ecol/ecol-127-e-as.png">
|
|
<IMG ALT="[cartoon]" SRC="misc/ecol/ecol-127-e-as.png"
|
|
WIDTH="640" HEIGHT="240"></A>
|
|
<BR CLEAR="all">
|
|
|
|
<A HREF="misc/ecol/ecol-125-e-as.png">
|
|
<IMG ALT="[cartoon]" SRC="misc/ecol/ecol-125-e-as.png"
|
|
WIDTH="640" HEIGHT="240"></A>
|
|
<BR CLEAR="all">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<P>
|
|
|
|
All Ecol cartoons are at
|
|
<A HREF="http://tira.escomposlinux.org/">tira.escomposlinux.org</A> (Spanish),
|
|
<A HREF="http://comic.escomposlinux.org/">comic.escomposlinux.org</A> (English)
|
|
and
|
|
<A HREF="http://tira.puntbarra.com/">http://tira.puntbarra.com/</A> (Catalan).
|
|
The Catalan version is translated by the people who run the site; only a few
|
|
episodes are currently available.
|
|
|
|
<P> <SMALL>These cartoons are copyright Javier Malonda. They may be copied,
|
|
linked or distributed by any means. However, you may not distribute
|
|
modifications. If you link to a cartoon, please <A
|
|
HREF="mailto:jmr@escomposlinux.org">notify</A> Javier, who would appreciate
|
|
hearing from you.
|
|
</SMALL>
|
|
|
|
|
|
|
|
|
|
<!-- *** BEGIN author bio *** -->
|
|
<P>
|
|
<P>
|
|
<!-- *** BEGIN bio *** -->
|
|
<!-- P>
|
|
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
|
<em>
|
|
</em>
|
|
<br CLEAR="all" -->
|
|
<!-- *** END bio *** -->
|
|
|
|
<!-- *** END author bio *** -->
|
|
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<hr>
|
|
<CENTER><SMALL><STRONG>
|
|
Copyright © 2003, Javier Malonda.
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 95 of <i>Linux Gazette</i>, October 2003
|
|
</STRONG></SMALL></CENTER>
|
|
<!-- *** END copyright *** -->
|
|
<HR>
|
|
|
|
|
|
<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 and Dirty Data Extraction in AWK</FONT></STRONG></BIG></BIG>
|
|
<BR>
|
|
<STRONG>By <A HREF="../authors/hughes.html">Phil Hughes</A></STRONG>
|
|
</CENTER>
|
|
|
|
</TD></TR>
|
|
</TABLE>
|
|
<P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
<html>
|
|
<head>
|
|
<title>CC: Quick and Dirty Data Extraction in AWK</title>
|
|
</head>
|
|
<body>
|
|
<p>
|
|
Many years ago, probably close to 20, there was a regular point made on
|
|
the comp Usenet newsgroups about using the minimum tool to get the job
|
|
done.
|
|
That is, someone would ask for a quick and dirty way to do something
|
|
and the followups could include a C solution followed by an AWK
|
|
solution, followed by a sed solution and so on.
|
|
<p>
|
|
Today, I still try to use this philosophy when addressing a problem.
|
|
In this particular case, I picked AWK but if any of you old-timers are
|
|
reading this I expect you will come up with a sed-based solution.
|
|
|
|
<h2>The Problem: Extracting Data from E-mail Messages</h2>
|
|
<p>
|
|
I signed up for a daily summary of currency exchange rates. It's free
|
|
and you can subscribe too--just go <a
|
|
href="http://www.xe.com/cus" target="_blank">here</a>.
|
|
Most days I take a quick look at how the $ is doing against the Euro
|
|
and then save the e-mail. Some days I just save it.
|
|
I have always thought that, someday, I would write a program to show me
|
|
the trend but it has always been low priority.
|
|
<p>
|
|
Yesterday, as I was looking at a few of the save mail messages, I
|
|
realized that while writing a fancy graphing program was low-priority,
|
|
writing a quick and dirty hack would take less time than the random
|
|
sampling I was doing.
|
|
What I wanted was dates and numbers along with a minimalist graphical
|
|
display of the trend.
|
|
|
|
<p>First step was to look at the data.
|
|
Here is an extract of part of a message.
|
|
<pre>
|
|
|
|
>From list@en.ucc.xe.net Wed Sep 10 12:22:53 2003
|
|
...
|
|
|
|
XE.com's Currency Update Service writes:
|
|
|
|
Here is today's Currency Update, a service of XE.com. Please read the
|
|
copyright, terms of use agreement, and information sections at the
|
|
end of this message. CUS5D0B3D5C16D9
|
|
____________________________________________________________________________
|
|
|
|
If you find our free currency e-mail updates useful, please forward this
|
|
message to a friend! Subscribe for free at: http://www.xe.com/cus/
|
|
____________________________________________________________________________
|
|
<PRE>
|
|
|
|
Rates as of 2003.09.09 20:46:35 UTC (GMT). Base currency is EUR.
|
|
|
|
Currency Unit EUR per Unit Units per EUR
|
|
================================ =================== ===================
|
|
USD United States Dollars 0.890585 1.12286
|
|
EUR Euro 1.00000 1.00000
|
|
GBP United Kingdom Pounds 1.41659 0.705920
|
|
CAD Canada Dollars 0.651411 1.53513
|
|
...
|
|
|
|
</PRE>
|
|
|
|
For help reading this mailout, refer to: http://www.xe.com/cus/sample.htm
|
|
|
|
...
|
|
</pre>
|
|
|
|
The ... lines just indicate that I tossed a lot of uninteresting lines.
|
|
<p>
|
|
There are three things I use to produce the report:
|
|
<ul>
|
|
<li> The "Rates as of" line to get the date
|
|
<li> The "USD" line to get the actual conversion rate
|
|
<li> The </PRE> line to tell me to print the info and clear my variables.
|
|
Note that I don't really have to clear them if the data is good
|
|
but it just seemed like a good way to detect bad data. Quick
|
|
hack yes, but not disgustingly quick hack.
|
|
</ul>
|
|
|
|
<h2>The Solution</h2>
|
|
<p>
|
|
The numeric part of the solution is really easy. Just grab the date
|
|
info and the rate info. When I get the </PRE> line, print it out.
|
|
<p>
|
|
The graphical part is just done by printing a number of plus signs that
|
|
corresponds to the rate.
|
|
To get decent resolution I would either need a very wide printout or
|
|
some sort of offset. I went for the offset assuming the Euro will not
|
|
drop below $.90 which is pretty safe considering the direction it is
|
|
going.
|
|
<p>
|
|
Finally, I wanted a heading. Using AWK's BEGIN block, I put in a couple
|
|
of print statements. Not liking to count characters, I defined the
|
|
variable <code>over</code> to be the number of spaces that needed to be
|
|
placed before the title info to align everything.
|
|
This just meant that I had to run the program, see how far I was off
|
|
and adjust the variable.
|
|
<p>
|
|
Here is the code.
|
|
|
|
<pre>
|
|
|
|
BEGIN {
|
|
over = " "
|
|
print over, " Cost of Euros in $ by date"
|
|
print over, ".9 1.0 1.1 1.2 1.3"
|
|
print over, "| | | | |"
|
|
}
|
|
/Rates as of/ { date = $4 }
|
|
/^USD/ { rate = $6 }
|
|
/^<\/PRE>/ {
|
|
printf "%s %6.3f ", date, rate
|
|
rc = (rate - .895) * 100
|
|
for (i=0; i < rc; i++) printf "+"
|
|
printf "\n"
|
|
date = "xxx"
|
|
rate = 0
|
|
}
|
|
</pre>
|
|
|
|
<p>
|
|
Just running the program with the mail file as input prints all the
|
|
result lines but the order is that of the data in the mail file.
|
|
The sort program to the rescue. The first field in the output is the
|
|
date and some careful choice of the first character of the title lines
|
|
means everything sorts just right with no options.
|
|
Thus, to run, use:
|
|
<pre>
|
|
awk -f cc.as messages | sort
|
|
</pre>
|
|
and you get your fancy report. Pipe the result thru <code>more</code>
|
|
if you have a lot of lines to look at.
|
|
<p>
|
|
Here is a sample of the output:
|
|
<pre>
|
|
|
|
Cost of Euros in $ by date
|
|
.9 1.0 1.1 1.2 1.3
|
|
| | | | |
|
|
2003.01.02 1.036 +++++++++++++++
|
|
...
|
|
2003.08.28 1.087 ++++++++++++++++++++
|
|
2003.08.29 1.098 +++++++++++++++++++++
|
|
2003.08.31 1.099 +++++++++++++++++++++
|
|
2003.09.01 1.097 +++++++++++++++++++++
|
|
2003.09.02 1.081 +++++++++++++++++++
|
|
2003.09.04 1.094 ++++++++++++++++++++
|
|
2003.09.05 1.110 ++++++++++++++++++++++
|
|
2003.09.07 1.110 ++++++++++++++++++++++
|
|
2003.09.08 1.107 ++++++++++++++++++++++
|
|
2003.09.09 1.123 +++++++++++++++++++++++
|
|
2003.09.10 1.121 +++++++++++++++++++++++
|
|
2003.09.11 1.120 +++++++++++++++++++++++
|
|
2003.09.12 1.129 ++++++++++++++++++++++++
|
|
2003.09.14 1.127 ++++++++++++++++++++++++
|
|
2003.09.15 1.128 ++++++++++++++++++++++++
|
|
2003.09.16 1.117 +++++++++++++++++++++++
|
|
2003.09.17 1.129 ++++++++++++++++++++++++
|
|
2003.09.18 1.124 +++++++++++++++++++++++
|
|
2003.09.19 1.138 +++++++++++++++++++++++++
|
|
|
|
</pre>
|
|
|
|
<p>Ok sed experts, have at it.
|
|
--
|
|
|
|
|
|
<!-- *** BEGIN author bio *** -->
|
|
<P>
|
|
<P>
|
|
Phil Hughes is the publisher of <I>Linux Journal</I>, and thereby <I>Linux
|
|
Gazette</I>. He dreams of permanently tele-commuting from his home on the
|
|
Pacific coast of the Olympic Peninsula.
|
|
As an employer, he is "Vicious, Evil,
|
|
Mean, & Nasty, but kind of mellow" as a boss should be.
|
|
|
|
|
|
<!-- *** END author bio *** -->
|
|
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<hr>
|
|
<CENTER><SMALL><STRONG>
|
|
Copyright © 2003, Phil Hughes.
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 95 of <i>Linux Gazette</i>, October 2003
|
|
</STRONG></SMALL></CENTER>
|
|
<!-- *** END copyright *** -->
|
|
<HR>
|
|
|
|
|
|
<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">Integrating Tomcat and Apache on RedHat 9</FONT></STRONG></BIG></BIG>
|
|
<BR>
|
|
<STRONG>By <A HREF="../authors/millson.html">Mike Millson</A></STRONG>
|
|
</CENTER>
|
|
|
|
</TD></TR>
|
|
</TABLE>
|
|
<P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title>Integrating Tomcat and Apache on RedHat 9.0</title>
|
|
</head>
|
|
<body>
|
|
<h1>Integrating Tomcat and Apache on RedHat 9.0</h1>
|
|
<hr>
|
|
<table width="100%" summary="byline">
|
|
<tr>
|
|
<td>Mike Millson<br>Web Systems Engineer<br><a href="mailto:mmillson@meritonlinesystems.com">mmillson@meritonlinesystems.com</a></td>
|
|
<td align="right">August 26, 2003<br>Merit Online Systems, Inc.<br><a href="http://www.meritonlinesystems.com/" target="_blank">www.meritonlinesystems.com</a></td>
|
|
</tr>
|
|
</table>
|
|
<hr>
|
|
<h2>Introduction</h2>
|
|
<p>Java servlets are a powerful tool for building websites and web based applications. One skill that every Java web developer should have is the ability to install and configure the Tomcat servlet engine. Many thanks to the <a href="http://www.apache.org/" target="_blank">Apache Software Foundation</a> for providing this mature, stable, open source software. It was recently voted the <a href="http://www.infoworld.com/article/03/07/25/29FErcamain_1.html?s=feature" target="_blank">Best Application Server of 2003</a> by InfoWorld readers.</p>
|
|
<p>This article discusses how to integrate Tomcat with the Apache web server on RedHat 9.0. The goal is to provide a simple, stable configuration that will allow users to gain confidence using Tomcat.</p>
|
|
<p>Please note all commands are issued as root unless otherwise noted.</p>
|
|
<h2>Installing Apache</h2>
|
|
<p>I chose to install Apache using the RedHat RPM. Using the RPM instead of compiling Apache from source simplifies system administration in the following ways:</p>
|
|
<ul>
|
|
<li>Updates and bug fixes can be installed automatically from the <a href="http://rhn.redhat.com/" target="_blank">RedHat Network</a>.</li>
|
|
<li>Startup and shutdown scripts are already configured and available.</li>
|
|
</ul>
|
|
<p>I recommend using the RedHat up2date command line utility to install RedHat RPMs. Although up2date can be used without purchasing a RedHat Network subscription, a basic subscription is a great value. It eliminates a multitude of headaches by ensuring the software you install is the correct version and you have the right dependencies installed on your system.</p>
|
|
<p>RedHat RPMs that must be installed:</p>
|
|
<ul>
|
|
<li>httpd: the Apache web server</li>
|
|
<li>httpd-devel: development tools that will be needed to create the mod_jk connector</li>
|
|
</ul>
|
|
<p>To install these packages using up2date, make sure you are connected to the Internet, and enter the following:</p>
|
|
<div class="code">
|
|
<pre>
|
|
up2date -i httpd
|
|
up2date -i httpd-devel
|
|
</pre>
|
|
</div>
|
|
<p>You should now be able to start/stop/restart Apache as follows:</p>
|
|
<div class="code">
|
|
<pre>
|
|
service httpd start
|
|
service httpd stop
|
|
service httpd restart
|
|
</pre>
|
|
</div>
|
|
<p>Verify that Apache is working by starting Apache and typing http://localhost/ into your browser. You should see the default Apache install page with links to documentation.</p>
|
|
<h2>Installing Tomcat</h2>
|
|
<p>The only requirements to run Tomcat are that a Java Development Kit (JDK), also called a Java Software Developement Kit (SDK), be installed and the JAVA_HOME environment variable be set.</p>
|
|
<h3>Java SDK</h3>
|
|
<p>I chose to install Sun's Java 2 Platform, Standard Edition, which can be downloaded from <a href="http://java.sun.com/j2se/" target="_blank">http://java.sun.com/j2se/)</a>. I chose the J2SE v1.4.2 SDK Linux self-extracting binary file.</p>
|
|
<p>Change to the directory where you downloaded the SDK and make the self-extracting binary executable:</p>
|
|
<div class="code">
|
|
<pre>
|
|
chmod +x j2sdk-1_4_2-linux-i586.bin
|
|
</pre>
|
|
</div>
|
|
<p>Run the self-extracting binary:</p>
|
|
<div class="code">
|
|
<pre>
|
|
./j2sdk-1_4_2-linux-i586.bin
|
|
</pre>
|
|
</div>
|
|
<p>There should now be a directory called j2sdk1.4.2 in the download directory. Move the SDK directory to where you want it to be installed. I chose to install it in /usr/java. Create /usr/java if it doesn't exist. Here is the command I used from inside the download directory:</p>
|
|
<div class="code">
|
|
<pre>
|
|
mv j2sdk1.4.2 /usr/java
|
|
</pre>
|
|
</div>
|
|
<p>Set the JAVA_HOME environment variable, by modifying /etc/profile so it includes the following:</p>
|
|
<div class="code">
|
|
<pre>
|
|
JAVA_HOME="usr/java/j2sdk1.4.2"
|
|
export JAVA_HOME
|
|
</pre>
|
|
</div>
|
|
<p>There will be other environment variables being set in /etc/profile, so you will probably be adding JAVA_HOME to an existing export command. /etc/profile is run at startup and when a user logs into a system.</p>
|
|
<h3>Tomcat Account</h3>
|
|
<p>You will install and configure Tomcat as root; however, you should create a group and user account for Tomcat to run under as follows:</p>
|
|
<div class="code">
|
|
<pre>
|
|
groupadd tomcat
|
|
useradd -g tomcat tomcat
|
|
</pre>
|
|
</div>
|
|
<p>This will create the /home/tomcat directory, where I will install my Tomcat applications.</p>
|
|
<h3>Download Tomcat</h3>
|
|
<p>Download the latest release build from <a href="http://www.apache.org/dist/jakarta/tomcat-4/binaries/" target="_blank">http://www.apache.org/dist/jakarta/tomcat-4/binaries/</a>. Since Tomcat runs directly on top of a standard JDK, I cannot think of any reason to building it from source.</p>
|
|
<p>The Tomcat binary is available in two different flavors:</p>
|
|
<ol>
|
|
<li>non-LE
|
|
<ul>
|
|
<li>Full binary distribution</li>
|
|
<li>Includes all optional libraries and an XML parser (Xerces)</li>
|
|
<li>Can be run on JDK 1.2+</li>
|
|
</ul>
|
|
<li>LE
|
|
<ul>
|
|
<li>Lightweight binary distribution</li>
|
|
<li>Designed to be run on JDK 1.4</li>
|
|
<li>Does not include an XML parser because one is included in JDK 1.4</li>
|
|
<li>Can be run on JDK 1.2 by adding an XML parser</li>
|
|
<li>All the components of this distribution are open source software</li>
|
|
<li>Does not include any of the following optional binaries: JavaMail, Java Activation Framework, Xerces, JNDI, or the JDBC Standard Extension</li>
|
|
</ul>
|
|
</ol>
|
|
<p>There are a number of different download formats. I chose the LE version gnu zipped tar file (jakarta-tomcat-4.1.27-LE-jdk14.tar.gz).</p>
|
|
<h3>Tomcat Standalone</h3>
|
|
<p>Unzip Tomcat by issuing the following command from your download directory:</p>
|
|
<div class="code">
|
|
<pre>
|
|
tar xvzf tomcat-4.1.27-LE-jdk14.tar.gz
|
|
</pre>
|
|
</div>
|
|
<p>This will create a directory called jakarta-tomcat-4.1.27-LE-jdk14. Move this directory to wherever you would like to install Tomcat. I chose /usr/local. Here is the command I issued from inside the download directory:</p>
|
|
<div class="code">
|
|
<pre>
|
|
mv jakarta-tomcat-4.1.27-LE-jdk14 /usr/local/
|
|
</pre>
|
|
</div>
|
|
<p>The directory where Tomcat is installed is referred to as CATALINA_HOME in the Tomcat documentation. In this case CATALINA_HOME=/usr/local/jakarta-tomcat-4.1.27-LE-jdk14.</p>
|
|
<p>I recommend setting up a symbolic link to point to your current Tomcat version. This will save you from having to change your startup and shutdown scripts each time you upgrade Tomcat or set a CATALINA_HOME environment variable. It also allows you to keep several versions of Tomcat on your system and easily switch amongst them. Here is the command I issued from inside /usr/local to create a symbolic link called /usr/local/jakarta-tomcat that points to /usr/local/jakarta-tomcat-4.1.27-LE-jdk14:</p>
|
|
<div class="code">
|
|
<pre>
|
|
ln -s jakarta-tomcat-4.1.27-LE-jdk14 jakarta-tomcat
|
|
</pre>
|
|
</div>
|
|
<p>Change the group and owner of the /usr/local/jakarta-tomcat and /usr/local/jakarta-tomcat-4.1.27-LE-jdk14 directories to tomcat:</p>
|
|
<div class="code">
|
|
<pre>
|
|
chown tomcat.tomcat /usr/local/jakarta-tomcat
|
|
chown -R tomcat.tomcat /usr/local/jakarta-tomcat-4.1.27-LE-jdk14
|
|
</pre>
|
|
</div>
|
|
<p>It is not necessary to set the CATALINA_HOME environment variable. Tomcat is smart enough to figure out CATALINA_HOME on its own.</p>
|
|
<p>You should now be able to start and stop Tomcat from the CATALINA_HOME/bin directory by typing ./startup.sh and ./shutdown.sh respectively. Test that Tomcat is working by starting it and typing http://localhost:8080 into your browser. You should see the Tomcat welcome page with links to documentation and sample code. Verify Tomcat is working by clicking on some of the examples links.</p>
|
|
<h3>Selecting A Connector</h3>
|
|
<p>At this point, Apache and Tomcat should be working separately in standalone mode. You can run Tomcat in standalone mode as an alternative to Apache. In fact, in some cases, it is said that Tomcat standalone is faster than serving static content from Apache and dynamic content from Tomcat. However, there are compelling reasons to use Apache as the front end. If you run Tomcat standalone:</p>
|
|
<ol>
|
|
<li>You will have to run Tomcat as root on port 80. This is a security concern.</li>
|
|
<li>You will not be able to use a connector such as mod_jk to load balance amongst several Tomcat instances.</li>
|
|
<li>You will not be able to take advantage of Apache features such as cgi and PHP.</li>
|
|
<li>You will not be able to take advantage of Apache modules such as mod_rewrite.</li>
|
|
<li>You will not be able to isolate virtual hosts in their own Tomcat instances.</li>
|
|
</ol>
|
|
<p>I think the increased functionality obtained by using Apache on the front end far outweighs the effort required to install and configure a connector. With that said, I selected the tried and true mod_jk connector. It has been around a long while and is very stable. mod_jk2 is the wave of the future, but I'm holding off on that for now. In early 2002 I invested a considerable amount of time on the "wave of the future" connector at that time, mod_webapp, which is now no longer being developed. For that reason, I am being cautious about migrating to mod_jk2.</p>
|
|
<h3>Building the mod_jk Connector</h3>
|
|
<p>The mod_jk connector is the communication link between Apache and Tomcat. It listens on port 8009 for requests from Apache.</p>
|
|
<p>In my experience, it's safest to think of connectors as being version dependent. If you upgrade Tomcat and you have a connector issue, try compiling the connector using the version-specific connector source.</p>
|
|
<p>Download the connector source for your version of Tomcat from <a href="http://www.apache.org/dist/jakarta/tomcat-4/source/" target="_blank">http://www.apache.org/dist/jakarta/tomcat-4/source/</a>. I used jakarta-tomcat-connectors-4.1.27-src.tar.gz. The source for all the different connectors (mod_jk, mod_jk2, coyote, etc.) is distributed in this one file.</p>
|
|
<p>Unzip the contents of the file into your download directory as follows:</p>
|
|
<div class="code">
|
|
<pre>
|
|
tar xvzf jakarta-tomcat-connectors-4.1.27-src.tar.gz
|
|
</pre>
|
|
</div>
|
|
<p>This will create a folder called jakarta-tomcat-connectors-4.1.27-src. Move this folder to wherever you store source files on your system. I chose /usr/src. Here is the command I issued from inside the download directory:</p>
|
|
<div class="code">
|
|
<pre>
|
|
mv jakarta-tomcat-connectors-4.1.27-src /usr/src/
|
|
</pre>
|
|
</div>
|
|
<p>I refer to the folder where the connector source is installed as CONN_SRC_HOME. In my case CONN_SRC_HOME = /usr/src/jakarta-tomcat-connectors-4.1.27-src.</p>
|
|
<p>Run the buildconf script to to create the CONN_SRC_HOME/jk/native/configure file.</p>
|
|
<div class="code">
|
|
<pre>
|
|
CONN_SRC_HOME/jk/native/buildconf.sh
|
|
</pre>
|
|
</div>
|
|
<p>Run the configure script with the path to the apxs file on your system and the options below:</p>
|
|
<div class="code">
|
|
<pre>
|
|
./configure --with-apxs=/usr/sbin/apxs
|
|
</pre>
|
|
</div>
|
|
<p>Build mod_jk with the following command:</p>
|
|
<div class="code">
|
|
<pre>
|
|
make
|
|
</pre>
|
|
</div>
|
|
<p>If all went well, the mod_jk.so file was successfully created. Manually copy it to Apache's shared object files directory:</p>
|
|
<div class="code">
|
|
<pre>
|
|
cp CONN_SRC_HOME/jk/native/apache-2.0/mod_jk.so /etc/httpd/modules
|
|
</pre>
|
|
</div>
|
|
<h2>Configuring Tomcat</h2>
|
|
<h3>workers.properties</h3>
|
|
<p>The workers.properties file contains information so mod_jk can connect to the Tomcat worker processes.</p>
|
|
<p>Create a directory called CATALINA_HOME/conf/jk and place the workers.properties file found in the <a href="#wp">Appendix</a> in this directory.</p>
|
|
<h3>server.xml</h3>
|
|
<p>The server.xml file contains Tomcat server configuration information. The default CATALINA_HOME/conf/server.xml file that comes with Tomcat contains so much information that I recommend saving it for future reference (e.g. server.xml.bak) and starting from scratch. The default server.xml is great for verifying that Tomcat works in standalone mode and for viewing the examples that come with the application, but I have found it is not the best starting point when you want to integrate Apache with Tomcat. Instead, create a bare bones server.xml file as follows:</p>
|
|
<div class="code">
|
|
<pre>
|
|
<Server port="8005" shutdown="SHUTDOWN" debug="0">
|
|
|
|
<Service name="Tomcat-Apache">
|
|
|
|
<Connector className="org.apache.ajp.tomcat.Ajp13Connector"
|
|
port="8009" minProcessors="5" maxProcessors="75"
|
|
acceptCount="10" debug="0"/>
|
|
|
|
<Engine name="your_engine" debug="0" defaultHost="your_domain.com">
|
|
<Logger className="org.apache.catalina.logger.FileLogger"
|
|
prefix="apache_log." suffix=".txt"
|
|
timestamp="true"/>
|
|
<Host name="your_domain" debug="0" appBase="webapps"
|
|
unpackWARs="true">
|
|
|
|
<Context path="" docBase="/home/tomcat/your_application"
|
|
debug="0" reloadable="true" />
|
|
|
|
</Host>
|
|
</Engine>
|
|
|
|
</Service>
|
|
|
|
</Server>
|
|
</pre>
|
|
</div>
|
|
Notes:
|
|
<ol>
|
|
<li>The setup assumes you will put your Tomcat applications in /home/tomcat, not CATALINA_HOME/webapps. This will allow you to easily upgrade Tomcat and back up your Tomcat applications.</li>
|
|
<li>If you do keep the default server.xml, make sure you comment out any other connectors besides mod_jk that are listening on port 8009. The default file comes with the Coyote/JK2 connector enabled for the Tomcat-Standalone service. This will conflict with the mod_jk connector in your Tomcat-Apache service. You should comment this connector out. It isn't needed when you connect directly to Tomcat in standalone mode (port 8080), so I'm not sure why this connector is enabled by default.</li>
|
|
</ol>
|
|
<h2>Configuring Apache</h2>
|
|
<h3>httpd.conf</h3>
|
|
<p>Apache is configured with directives placed in the Apache configuration file, /etc/httpd/conf/httpd.conf. You will notice that there are three sections labeled in the httpd.conf file supplied by RedHat: (1) Global Environment, (2) Main Server Configuration, and (3) Virtual Hosts.</p>
|
|
<p>Add the following to the bottom of the existing LoadModule directives in the Global Environment section:</p>
|
|
<div class="code">
|
|
<pre>
|
|
LoadModule jk_module modules/mod_jk.so
|
|
</pre>
|
|
</div>
|
|
<p>Add the following to the bottom of the existing AddModule directives in the Global Environment section:</p>
|
|
<div class="code">
|
|
<pre>
|
|
AddModule mod_jk.c
|
|
</pre>
|
|
</div>
|
|
<p>Add the following to the bottom of the Main Server Configuration section:</p>
|
|
<div class="code">
|
|
<pre>
|
|
JkWorkersFile "/usr/local/jakarta-tomcat/conf/jk/workers.properties"
|
|
JkLogFile "/usr/local/jakarta-tomcat/logs/mod_jk.log"
|
|
JkLogLevel info
|
|
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
|
|
</pre>
|
|
</div>
|
|
<p>The configuration above assumes you created a symbolic link /usr/jakarta-tomcat that points to the directory where your version of Tomcat is installed.</p>
|
|
<p>Set up a Virtual Host directive in the Virtual Hosts section of httpd.conf. Below is an example of how to set up the your_domain website to forward all URLs with "servlet" in the path to Tomcat:</p>
|
|
<div class="code">
|
|
<pre>
|
|
NameVirtualHost *:80
|
|
|
|
<VirtualHost 192.168.1.1>
|
|
ServerAdmin webmaster@your_domain
|
|
ServerName your_domain
|
|
DocumentRoot /home/www/your_domain/html
|
|
ErrorLog /home/www/your_domain/logs/error_log
|
|
CustomLog /home/www/your_domain/logs/access_log common
|
|
JkMount /servlet/* ajp13
|
|
</VirtualHost>
|
|
</pre>
|
|
</div>
|
|
<p>The configuration above assumes that your application's static html files will be served from the /home/www/your_domain/html directory.</p>
|
|
<p>You can test your Apache configuration by typing the following:</p>
|
|
<div class="code">
|
|
<pre>
|
|
apachectl configtest
|
|
</pre>
|
|
</div>
|
|
<p>You will receive the response "Syntax OK" if there are no errors in httpd.conf.</p>
|
|
<h2>Setting Up your_domain</h2>
|
|
<p>your_domain.com does not need to be a domain name with a DNS entry. For testing purposes, you can set up any domain you want in the /etc/hosts file of the machine that you will be using to access your_application.</p>
|
|
<p>The example below shows the entry for your_domain when running Apache and Tomcat on a single machine, typical for a development computer.</p>
|
|
<div class="code">
|
|
<pre>
|
|
127.0.0.1 your_domain
|
|
</pre>
|
|
</div>
|
|
<h2>Testing</h2>
|
|
<p>We will now create and install a simple Hello World servlet so we can test our setup.</p>
|
|
<h3>Hello World Servlet</h3>
|
|
<p>Copy the following into a file called HelloWorld.java:</p>
|
|
<div class="code">
|
|
<pre>
|
|
import java.io.*;
|
|
import javax.servlet.*;
|
|
import javax.servlet.http.*;
|
|
public class HelloWorld
|
|
extends HttpServlet {
|
|
public void doGet(HttpServletRequest request,
|
|
HttpServletResponse response)
|
|
throws IOException, ServletException {
|
|
|
|
response.setContentType("text/html");
|
|
PrintWriter out = response.getWriter();
|
|
|
|
out.println("Hello World");
|
|
|
|
}
|
|
|
|
}
|
|
</pre>
|
|
</div>
|
|
<p>Compile the source into a class file as follows:</p>
|
|
<div class="code">
|
|
<pre>
|
|
javac -classpath /usr/java/jakarta-tomcat/common/lib/servlet.jar HelloWorld.java
|
|
</pre>
|
|
</div>
|
|
<p>This will create a file called HelloWorld.class.</p>
|
|
<h3>Tomcat Application</h3>
|
|
<p>Create the following directories and files in /home/tomcat/your_application:</p>
|
|
<div class="code">
|
|
<pre>
|
|
/home/tomcat/your_application/WEB_INF
|
|
/home/tomcat/your_application/WEB_INF/classes
|
|
/home/tomcat/your_application/WEB_INF/web.xml
|
|
</pre>
|
|
</div>
|
|
<p>The web.xml file is where you map the name of your servlet to a URL pattern so Tomcat can run your servlet when requested. Below is the web.xml file that runs the HelloWorld servlet whenever the URL http://your_domain/servlet/HelloWorld is entered in the browser:</p>
|
|
<div class="code">
|
|
<pre>
|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
|
|
<!DOCTYPE web-app
|
|
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
|
|
"http://java.sun.com/dtd/web-app_2_3.dtd">
|
|
|
|
<web-app>
|
|
|
|
<servlet>
|
|
<servlet-name>HelloWorld</servlet-name>
|
|
<servlet-class>HelloWorld</servlet-class>
|
|
</servlet>
|
|
<servlet-mapping>
|
|
<servlet-name>HelloWorld</servlet-name>
|
|
<url-pattern>/servlet/HelloWorld</url-pattern>
|
|
</servlet-mapping>
|
|
|
|
</web-app>
|
|
</pre>
|
|
</div>
|
|
<p>Copy the HelloWorld.class file to the /tomcat/home/your_application/WEB-INF/classes directory.</p>
|
|
<p>Restart Tomcat as follows:</p>
|
|
<div class="code">
|
|
<pre>
|
|
/CATALINA_HOME/bin/shutdown.sh
|
|
/CATALINA_HOME/bin/startup.sh
|
|
</pre>
|
|
</div>
|
|
<p>Restart Apache as follows:</p>
|
|
<div class="code">
|
|
<pre>
|
|
service httpd restart
|
|
</pre>
|
|
</div>
|
|
<p>You should now be able to type http://your_domain/servlet/HelloWorld into your browser and see the always-exciting "Hello World" message.</p>
|
|
<h2>Advanced Configuration</h2>
|
|
<p>The following steps are not mandatory, but are suggested for a better, tighter Tomcat installation.</p>
|
|
<h3>Tomcat Startup Script</h3>
|
|
<p>If you want to automatically start Tomcat when your system boots and manage it using the service command as we do Apache, you must create an initialization script.</p>
|
|
<p>Create the following Tomcat initialization script as /etc/rc.d/init.d/tomcat</p>
|
|
<div class="code">
|
|
<pre>
|
|
#!/bin/sh
|
|
#
|
|
# Startup script for Tomcat, the Apache Servlet Engine
|
|
#
|
|
# chkconfig: 345 80 20
|
|
# description: Tomcat is the Apache Servlet Engine
|
|
# processname: tomcat
|
|
# pidfile: /var/run/tomcat.pid
|
|
#
|
|
# Mike Millson <mmillson@meritonlinesystems.com>
|
|
#
|
|
# version 1.02 - Clear work directory on shutdown per John Turner suggestion.
|
|
# version 1.01 - Cross between RedHat Tomcat RPM and Chris Bush scripts
|
|
|
|
# Tomcat name :)
|
|
TOMCAT_PROG=tomcat
|
|
|
|
# if TOMCAT_USER is not set, use tomcat like Apache HTTP server
|
|
if [ -z "$TOMCAT_USER" ]; then
|
|
TOMCAT_USER="tomcat"
|
|
fi
|
|
|
|
RETVAL=0
|
|
|
|
# start and stop functions
|
|
start() {
|
|
echo -n "Starting tomcat: "
|
|
|
|
chown -R $TOMCAT_USER:$TOMCAT_USER /usr/local/jakarta-tomcat/*
|
|
chown -R $TOMCAT_USER:$TOMCAT_USER /home/tomcat/*
|
|
su -l $TOMCAT_USER -c '/usr/local/jakarta-tomcat/bin/startup.sh'
|
|
RETVAL=$?
|
|
echo
|
|
[ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat
|
|
return $RETVAL
|
|
}
|
|
|
|
stop() {
|
|
echo -n "Stopping tomcat: "
|
|
su -l $TOMCAT_USER -c '/usr/local/jakarta-tomcat/bin/shutdown.sh'
|
|
RETVAL=$?
|
|
Echo
|
|
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/tomcat /var/run/tomcat.pid
|
|
rm -rf /usr/local/jakarta-tomcat/work/*
|
|
}
|
|
|
|
# See how we were called.
|
|
case "$1" in
|
|
start)
|
|
start
|
|
;;
|
|
stop)
|
|
stop
|
|
;;
|
|
restart)
|
|
stop
|
|
# Ugly hack
|
|
# We should really make sure tomcat
|
|
# is stopped before leaving stop
|
|
sleep 2
|
|
start
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {start|stop|restart}"
|
|
exit 1
|
|
esac
|
|
|
|
exit $RETVAL
|
|
</pre>
|
|
</div>
|
|
<p>Add the startup script to your system as follows:
|
|
</p>
|
|
<div class="code">
|
|
<pre>
|
|
chkconfig --add tomcat
|
|
</pre>
|
|
</div>
|
|
<p>You will be able to start/stop/restart it using the following commands:</p>
|
|
<div class="code">
|
|
<pre>
|
|
service tomcat start
|
|
service tomcat stop
|
|
service tomcat restart
|
|
</pre>
|
|
</div>
|
|
<p>If you want Tomcat to start automatically when your system boots, you need to add tomcat to your runlevel as follows:</p>
|
|
<div class="code">
|
|
<pre>
|
|
chkconfig --level 5 tomcat on
|
|
</pre>
|
|
</div>
|
|
<p>Runlevel 5 is the X Window System, typical for a development computer. Runlevel 3 is typical for a dedicated web server.</p>
|
|
<p>The start order of Apache and Tomcat is very important. Tomcat must be started before you start Apache so Apache can attach itself to the Tomcat processes.</p>
|
|
<h3>Development Setup</h3>
|
|
<p>During development, you will need access to your tomcat application directory. Add the user account under which you will be doing development to the tomcat group in /etc/group. For example, this is what the tomcat entry might look like in /etc/group if you do development under the <pre>yourname</pre> account:</p>
|
|
<div class="code">
|
|
<pre>
|
|
tomcat:x:502:yourname
|
|
</pre>
|
|
</div>
|
|
<p>Make sure the tomcat group has write permission to /home/tomcat so you can publish files (e.g. using ant) to your Tomcat application in /home/tomcat/your_application. Issue the following command as root:</p>
|
|
<div class="code">
|
|
<pre>
|
|
chmod g+w /home/tomcat
|
|
</pre>
|
|
</div>
|
|
<hr>
|
|
<h2><a name="wp">Appendix</a></h2>
|
|
<h3>workers.properties</h3>
|
|
<div class="code">
|
|
<pre>
|
|
# workers.properties
|
|
#
|
|
# This file provides jk derived plugins with the needed information to
|
|
# connect to the different tomcat workers. Note that the distributed
|
|
# version of this file requires modification before it is usable by a
|
|
# plugin.
|
|
#
|
|
# As a general note, the characters $( and ) are used internally to define
|
|
# macros. Do not use them in your own configuration!!!
|
|
#
|
|
# Whenever you see a set of lines such as:
|
|
# x=value
|
|
# y=$(x)\something
|
|
#
|
|
# the final value for y will be value\something
|
|
#
|
|
# Normaly all you will need to do is un-comment and modify the first three
|
|
# properties, i.e. workers.tomcat_home, workers.java_home and ps.
|
|
# Most of the configuration is derived from these.
|
|
#
|
|
# When you are done updating workers.tomcat_home, workers.java_home and ps
|
|
# you should have 3 workers configured:
|
|
#
|
|
# - An ajp12 worker that connects to localhost:8007
|
|
# - An ajp13 worker that connects to localhost:8009
|
|
# - A jni inprocess worker.
|
|
# - A load balancer worker
|
|
#
|
|
# However by default the plugins will only use the ajp12 worker. To have
|
|
# the plugins use other workers you should modify the worker.list property.
|
|
#
|
|
# OPTIONS ( very important for jni mode )
|
|
#
|
|
# workers.tomcat_home should point to the location where you
|
|
# installed tomcat. This is where you have your conf, webapps and lib
|
|
# directories.
|
|
#
|
|
workers.tomcat_home=/usr/local/jakarta-tomcat
|
|
#
|
|
# workers.java_home should point to your Java installation. Normally
|
|
# you should have a bin and lib directories beneath it.
|
|
#
|
|
workers.java_home=$(JAVA_HOME)
|
|
#
|
|
# You should configure your environment slash... ps=\ on NT and / on UNIX
|
|
# and maybe something different elsewhere.
|
|
#
|
|
ps=/
|
|
#
|
|
#------ ADVANCED MODE ------------------------------------------------
|
|
#---------------------------------------------------------------------
|
|
#
|
|
#------ DEFAULT worket list ------------------------------------------
|
|
#---------------------------------------------------------------------
|
|
#
|
|
# The workers that your plugins should create and work with
|
|
#
|
|
worker.list=ajp12, ajp13
|
|
#
|
|
#------ DEFAULT ajp12 WORKER DEFINITION ------------------------------
|
|
#---------------------------------------------------------------------
|
|
#
|
|
#
|
|
# Defining a worker named ajp12 and of type ajp12
|
|
# Note that the name and the type do not have to match.
|
|
#
|
|
worker.ajp12.port=8007
|
|
worker.ajp12.host=localhost
|
|
worker.ajp12.type=ajp12
|
|
#
|
|
# Specifies the load balance factor when used with
|
|
# a load balancing worker.
|
|
# Note:
|
|
# ----> lbfactor must be > 0
|
|
# ----> Low lbfactor means less work done by the worker.
|
|
worker.ajp12.lbfactor=1
|
|
#
|
|
#------ DEFAULT ajp13 WORKER DEFINITION ------------------------------
|
|
#---------------------------------------------------------------------
|
|
#
|
|
# Defining a worker named ajp13 and of type ajp13
|
|
# Note that the name and the type do not have to match.
|
|
#
|
|
worker.ajp13.port=8009
|
|
worker.ajp13.host=localhost
|
|
worker.ajp13.type=ajp13
|
|
#
|
|
# Specifies the load balance factor when used with
|
|
# a load balancing worker.
|
|
# Note:
|
|
# ----> lbfactor must be > 0
|
|
# ----> Low lbfactor means less work done by the worker.
|
|
worker.ajp13.lbfactor=1
|
|
#
|
|
# Specify the size of the open connection cache.
|
|
#worker.ajp13.cachesize
|
|
#
|
|
#------ DEFAULT LOAD BALANCER WORKER DEFINITION ----------------------
|
|
#---------------------------------------------------------------------
|
|
#
|
|
# The loadbalancer (type lb) workers perform wighted round-robin
|
|
# load balancing with sticky sessions.
|
|
# Note:
|
|
# ----> If a worker dies, the load balancer will check its state
|
|
# once in a while. Until then all work is redirected to peer
|
|
# workers.
|
|
worker.loadbalancer.type=lb
|
|
worker.loadbalancer.balanced_workers=ajp12, ajp13
|
|
#
|
|
#------ DEFAULT JNI WORKER DEFINITION---------------------------------
|
|
#---------------------------------------------------------------------
|
|
#
|
|
# Defining a worker named inprocess and of type jni
|
|
# Note that the name and the type do not have to match.
|
|
#
|
|
worker.inprocess.type=jni
|
|
#
|
|
#------ CLASSPATH DEFINITION -----------------------------------------
|
|
#---------------------------------------------------------------------
|
|
#
|
|
# Additional class path components.
|
|
#
|
|
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
|
|
#
|
|
# Setting the command line for tomcat.
|
|
# Note: The cmd_line string may not contain spaces.
|
|
#
|
|
worker.inprocess.cmd_line=start
|
|
#
|
|
# Not needed, but can be customized.
|
|
# worker.inprocess.cmd_line=-config
|
|
# worker.inprocess.cmd_line=$(workers.tomcat_home)$(ps)conf$(ps)server.xml
|
|
# worker.inprocess.cmd_line=-home
|
|
# worker.inprocess.cmd_line=$(workers.tomcat_home)
|
|
#
|
|
# The JVM that we are about to use
|
|
#
|
|
# This is for Java2
|
|
#
|
|
# Windows
|
|
# #worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
|
|
# IBM JDK1.3
|
|
# worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)libjvm.so
|
|
# Unix - Sun VM or blackdown
|
|
#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.so
|
|
# RH + JDK1.4
|
|
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)i386$(ps)server$(ps)libjvm.so
|
|
#
|
|
# And this is for jdk1.1.X
|
|
#
|
|
# worker.inprocess.jvm_lib=$(workers.java_home)$(ps)bin$(ps)javai.dll
|
|
#
|
|
# Setting the place for the stdout and stderr of tomcat
|
|
#
|
|
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
|
|
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr
|
|
#
|
|
# Setting the tomcat.home Java property
|
|
#
|
|
# worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)
|
|
#
|
|
# Java system properties
|
|
#
|
|
# worker.inprocess.sysprops=java.compiler=NONE
|
|
# worker.inprocess.sysprops=myprop=mypropvalue
|
|
#
|
|
# Additional path components.
|
|
#
|
|
# worker.inprocess.ld_path=d:$(ps)SQLLIB$(ps)bin
|
|
</pre>
|
|
</div>
|
|
<hr>
|
|
<h2>Related Linux Gazette Articles</h2>
|
|
<p><a href="http://www.linuxgazette.com/issue69/peda.html" target="_blank">Installing Tomcat on Linux</a> by Allan Peda, August 2001</p>
|
|
<hr>
|
|
<h2>Bio</h2>
|
|
<p>Mike is a Web Systems Engineer with <a href="http://www.meritonlinesystems.com/" target="_blank">Merit Online Systems</a> in Atlanta, GA. His first computer experience came programming BASIC on an IBM PC in 1981. When he isn't wearing his propeller cap, he enjoys spending time with his wife, Debora, and spoiling his Golden Retriever, Belle.</p>
|
|
<hr>
|
|
© 2003 Merit Online Systems, Inc.
|
|
</body>
|
|
</html>
|
|
|
|
|
|
|
|
|
|
<!-- *** BEGIN author bio *** -->
|
|
<P>
|
|
<P>
|
|
<!-- *** BEGIN bio *** -->
|
|
<P>
|
|
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
|
<em>
|
|
Mike is a Web Systems Engineer with <a href="http://www.meritonlinesystems.com/" target="_blank">Merit Online Systems</a> in Atlanta, GA. His first computer experience came programming BASIC on an IBM PC in 1981. When he isn't wearing his propeller cap, he enjoys spending time with his wife, Debora, and spoiling his Golden Retriever, Belle.
|
|
</em>
|
|
<br CLEAR="all">
|
|
<!-- *** END bio *** -->
|
|
|
|
<!-- *** END author bio *** -->
|
|
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<hr>
|
|
<CENTER><SMALL><STRONG>
|
|
Copyright © 2003, Mike Millson.
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 95 of <i>Linux Gazette</i>, October 2003
|
|
</STRONG></SMALL></CENTER>
|
|
<!-- *** END copyright *** -->
|
|
<HR>
|
|
|
|
|
|
<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">Linux Through an Oscilloscope</FONT></STRONG></BIG></BIG>
|
|
<BR>
|
|
<STRONG>By <A HREF="../authors/pramode.html">Pramode C.E</A></STRONG>
|
|
</CENTER>
|
|
|
|
</TD></TR>
|
|
</TABLE>
|
|
<P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
|
|
<html>
|
|
<head>
|
|
<title>Linux Through an Oscilloscope</title>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h2>Introduction</h2>
|
|
<p>
|
|
|
|
It was some time since I had wired up a few
|
|
circuits and watched them on my old 20MHz
|
|
Oscilloscope. I thought it might be interesting
|
|
to observe how the complex, dynamic nature of
|
|
a multitasking operating system influences the
|
|
working of timing sensitive code by viewing
|
|
signals generated by such programs
|
|
on the scope. This article
|
|
describes a few experiments which I did, first
|
|
with a `normal' 2.4.18 kernel and then with a
|
|
kernel patched with `real time extensions'
|
|
provided by the RTAI project. The reader is assumed
|
|
to have some background in simple kernel programming.
|
|
|
|
<h2>Experimental setup</h2>
|
|
<p>
|
|
I converted an old Cyrix CPU based system which was lying
|
|
around unused to my `embedded linux' experimentation platform.
|
|
The motherboard was taken out of the cabinet - HDD, monitor,
|
|
keyboard etc were removed - only the Ethernet card with a boot
|
|
ROM remained - together with an ISA protoboard. This machine boots
|
|
from a full fledged Linux system situated just a few feet away.
|
|
This way, I can conduct hardware experiments without worrying
|
|
too much about damaging expensive hardware. I have the option of
|
|
booting either a plain 2.4.18 kernel or an RTAI patched one.
|
|
|
|
<h2>Simple waveform generation</h2>
|
|
<p>
|
|
Here is a little user space program which, when executed as the superuser,
|
|
generates a waveform on the parallel port output pins - I can view this
|
|
on the scope.
|
|
|
|
<pre>
|
|
|
|
#include <asm/io.h>
|
|
|
|
#define ON 100000
|
|
#define OFF ON*10
|
|
|
|
delay(unsigned int i)
|
|
{
|
|
while(i--);
|
|
}
|
|
|
|
main()
|
|
{
|
|
iopl(3);
|
|
while(1) {
|
|
outb(0xff, 0x378);
|
|
delay(ON);
|
|
outb(0x0, 0x378);
|
|
delay(OFF);
|
|
}
|
|
}
|
|
|
|
</pre>
|
|
|
|
The working of the program is simple. Parallel port pins 2 to 9 act as output
|
|
pins - they can be accessed through an i/o port whose address is 0x378. You write
|
|
0xff to 0x378, you are turning on (ie, putting about 5V) on all these pins, you
|
|
write 0x0 and your are turning off the voltage on these pins. The program has to be
|
|
compiled with the -O2 option and executed as super user (if the outb is to work, the
|
|
iopl call, which is concerned with setting some privilege levels, should work. For
|
|
iopl to work, you have to be the superuser).
|
|
|
|
<p>
|
|
On my system, I observe a waveform with an on time of about 2.5 to 2.7ms with
|
|
my scope set at 1ms/division. The result will
|
|
surely vary depending on the speed of your processor.
|
|
|
|
<h2>Why simple things are not so simple</h2>
|
|
<p>
|
|
Anybody who has done a basic course in microprocessors will know how
|
|
to generate `delays' by writing loops. That's exactly what we have
|
|
done here - absolute kids stuff.
|
|
<p>
|
|
Just being curious, I log on to another console and run the `yes'
|
|
command, which generates a continuous stream of the character `y'
|
|
on the screen. I watch the scope and see that my nice looking signal
|
|
has gone haywire. The ON and OFF periods have been so lengthened that
|
|
what I see is mostly a continuos line which keeps on jumping from 0V
|
|
to 5V.
|
|
<p>
|
|
I do another experiment. I `flood ping' (the ping command with the -f
|
|
option) the sytem from a faster machine - again, I notice that the signal
|
|
on the scope gets wildly disturbed.
|
|
<p>
|
|
The reason behind this behaviour is not at all difficult to see. My
|
|
program is now contesting with another one for CPU cycles. In between
|
|
executing the delay loop, control can switch to the other program, thereby
|
|
lengthening the delay perceived by the first program. Flood pinging
|
|
results in lots of activity within the OS kernel, this too has a
|
|
detrimental effect on the timing of my program.
|
|
<p>
|
|
The solution to the problem is simple - just don't disturb the program
|
|
which generates the waveform. Let it have full control of the CPU. Then
|
|
the question is why have a complex multitasking OS at all? Let's see.
|
|
<p>
|
|
I call the program which generates the signal a `realtime' program.
|
|
Let's visualize the program as a `task' whose job is to `toggle' the
|
|
parallel port pins at specified intervals. If the generated waveform
|
|
is used to control a physical appliance like, say, a servo motor (the
|
|
rotation of the servo is controlled by the length of the `on period'
|
|
of a pulse whose total on+off period is somewhere around 20ms. When the
|
|
ON period varies from 1ms to 2ms, the servo rotates by about 180 degree),
|
|
variation in pulse length can have dramatic effects. My Futaba S2003
|
|
servo swings wildly when it is controlled by a program like the one
|
|
above, if it is perturbed by some other process. A real time program has
|
|
timing deadlines which it HAS to meet, for correct operation. The
|
|
classical solution to designing control applications has been to use
|
|
dedicated microcontrollers and digital signal processors. But with PC
|
|
hardware becoming so cheap, a very wide range of applications are cropping
|
|
up where we require the ability to run programs with
|
|
sensitive timing requirements correctly, and, at the same time, also
|
|
do things like communicate over the network, visualize data with
|
|
graphical interfaces, log data on to secondary storage etc, jobs
|
|
where timing deadlines are not an issue, so called `non-realtime' jobs.
|
|
|
|
<p>
|
|
If it is possible to modify the Linux kernel in some way so that
|
|
the timing constraints imposed on some tasks (which are created and executed
|
|
in some special manner) are always met, even under the prescence of
|
|
other `non-realtime' tasks, then we have an ideal situation. We will
|
|
see a bit later in this article that not one, but many such solutions
|
|
are available.
|
|
|
|
|
|
<h2>Sleeping Vs Looping</h2>
|
|
<p>
|
|
Besides the fact that the timing of the program depends a lot on
|
|
other activities going on in the system, we are burning up CPU
|
|
cycles by executing a tight loop (also, on a complex microprocessor
|
|
like the Pentium, it is difficult to compute delays by counting
|
|
instructions). Why not let the program sleep?
|
|
<p>
|
|
By using functions like `nanosleep', we instruct the Operating System
|
|
to put our process to sleep, to be woken up at a specified time. But,
|
|
here again, there is a possibility that our process does not wake up
|
|
and execute at the desired time because the Operating System was too
|
|
busy executing some action in kernel mode (say, processing TCP/IP packets,
|
|
or doing disk I/O) or another process got scheduled just before the
|
|
kernel woke up our process.
|
|
|
|
<h2>Doing it in kernel space</h2>
|
|
<p>
|
|
What if we implement our signal generation code as a kernel space
|
|
module?
|
|
|
|
<pre>
|
|
#include <linux/module.h>
|
|
#include <linux/fs.h>
|
|
#include <linux/param.h>
|
|
#include <asm/uaccess.h>
|
|
#include <asm/io.h>
|
|
|
|
static char *name = "foo";
|
|
static int major;
|
|
|
|
#define ON 100000
|
|
#define OFF ON*10
|
|
|
|
void delay(unsigned int i)
|
|
{
|
|
while(i--);
|
|
}
|
|
|
|
static int
|
|
foo_read(struct file* filp, char *buf, size_t count, loff_t *f_pos)
|
|
{
|
|
while(1) {
|
|
outb(0xff, 0x378);
|
|
delay(ON);
|
|
outb(0x0, 0x378);
|
|
delay(OFF);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
|
|
static struct file_operations fops = {
|
|
read: foo_read,
|
|
};
|
|
|
|
int init_module(void)
|
|
{
|
|
major = register_chrdev(0, name, &fops);
|
|
printk("Registered, got major = %d\n", major);
|
|
return 0;
|
|
}
|
|
|
|
void cleanup_module(void)
|
|
{
|
|
printk("Cleaning up...\n");
|
|
unregister_chrdev(major, name);
|
|
}
|
|
</pre>
|
|
|
|
Executing an infinte loop in the kernel has disastrous consequences - as far
|
|
as user processes are concerned. No user process would be able to execute
|
|
until control comes out of kernel mode (this is the way the OS is designed).
|
|
What we would like to have is a situation where realtime as well as nonrealtime
|
|
processes coexist.
|
|
<p>
|
|
Although user space processes now can't disturb our program, it is still
|
|
possible to generate interrupts on the network card by flood pinging. As
|
|
interrupts are serviced even when kernel code is executing, the waveform
|
|
displayed on the scope starts jumping around as usual.
|
|
<p>
|
|
It is possible to go to sleep within the kernel - this prevents the system
|
|
from getting locked up - but then it does not solve our problem of peaceful
|
|
coexistence of realtime as well as non realtime code.
|
|
|
|
<h2>Enter Real Time Linux</h2>
|
|
<p>
|
|
What if we slide in a `nano kernel' between Linux and our hardware? This
|
|
kernel would be in control of both Linux as well as a set of `real time
|
|
tasks'. Linux will be treated as a very low priority task which will be
|
|
executed only when no other higher priority `real time' tasks are
|
|
executing. The control of interrupts would be in the hands of this
|
|
specialized kernel - requests by Linux to disable interrupts will be
|
|
treated in such a way that interrupts don't really get disabled - only
|
|
Linux won't be able to see those interrupts - the real time tasks will
|
|
still be able to execute their interrupt handlers without too much delay.
|
|
<p>
|
|
This novel concept, introduced by Dr.Victor Yodaiken, lead to the birth of
|
|
RTLinux. Many other universities and research instituitions have attempted
|
|
their own implementations - one of the most promising (and completely
|
|
non proprietary) being RTAI, developed by researchers at Dipartimento
|
|
di Ingegneria Aerospaziale - Politecnico di Milano (DIAPM).
|
|
|
|
<h2>Getting and Installing RTAI</h2>
|
|
<p>
|
|
RTAI can be obtained from <a href="http://www.aero.polimi.it/~rtai">here</a>. There are two
|
|
major components:
|
|
<ul>
|
|
<li>An HAL (hardware abstraction layer) patch to the Linux kernel.
|
|
<li>A set of modules for performing scheduling, interprocess communication,
|
|
synchronization etc.
|
|
</ul>
|
|
Before patching and installing the new kernel, the instructions given in
|
|
the README.INSTALL file should be read carefully (especially those regarding
|
|
certain kernel configuration options. "Set version information on
|
|
loadable modules" should be disabled. You are most probably using a uni
|
|
processor system - so don't forget to disable SMP support (maybe, disable
|
|
power management also)). Once you reboot with the new kernel, you can
|
|
compile the main RTAI modules and examples. Before running any programs,
|
|
you will need to load the three modules - rtai.o, rtai_fifos.o and
|
|
rtai_sched.o.
|
|
|
|
<h2>Generating waveforms with RTAI tasks</h2>
|
|
<p>
|
|
Let's look at an RTAI program which creates a waveform on the parallel
|
|
port output pins:
|
|
|
|
<pre>
|
|
|
|
#include <linux/module.h>
|
|
#include <rtai.h>
|
|
#include <rtai_sched.h>
|
|
|
|
#define LPT1_BASE 0x378
|
|
#define STACK_SIZE 4096
|
|
#define TIMERTICKS 1000000 /* 1 milli second */
|
|
|
|
static RT_TASK my_task;
|
|
|
|
static void fun(int t)
|
|
{
|
|
unsigned char c = 0x0;
|
|
while(1) {
|
|
outb(c, LPT1_BASE);
|
|
c = ~c;
|
|
rt_task_wait_period();
|
|
}
|
|
}
|
|
|
|
int init_module(void)
|
|
{
|
|
RTIME tick_period, now;
|
|
|
|
rt_set_periodic_mode();
|
|
rt_task_init(&my_task, fun, 0, STACK_SIZE, 0, 0, 0);
|
|
tick_period = start_rt_timer(nano2count(TIMERTICKS));
|
|
now = rt_get_time();
|
|
rt_task_make_periodic(&my_task, now + tick_period, 2*tick_period);
|
|
return 0;
|
|
}
|
|
|
|
void cleanup_module(void)
|
|
{
|
|
stop_rt_timer();
|
|
rt_busy_sleep(10000000);
|
|
rt_task_delete(&my_task);
|
|
}
|
|
|
|
</pre>
|
|
|
|
<p>
|
|
Let's look at the general idea before we examine specific
|
|
details. First, we need a `task' to do anything useful. The `task'
|
|
is simply a C function. The structure of most of our tasks would
|
|
be something like this - perform some action, sleep for some time,
|
|
perform some action again, repeat. One way to sleep is to call
|
|
`rt_task_wait_period' - the question is how long do we sleep? We
|
|
sleep for a certain fixed `period', which will be a multiple of
|
|
a base `tick'. The system 8254 timer can be programmed to generate
|
|
interrupts at a rate of say 1KHz (ie, 1000 times a second). The RTAI
|
|
scheduler takes scheduling decisions at each tick - if we set the
|
|
period of our task to be `2 ticks' and if the interval between each
|
|
tick is 1ms, then the scheduler will wake up our task after 2ms.
|
|
|
|
<p>
|
|
We start with `init_module'. We first configure the timer as a
|
|
`periodic timer' (another mode is available). The `rt_task_init'
|
|
function accepts the address of an object of type RT_TASK, the
|
|
address of our function and a stack size, besides some other
|
|
values. Some kind of `initialization' is performed and information
|
|
is stored in the object of type RT_TASK which can be later used
|
|
for identifying this particular task.
|
|
<p>
|
|
Our TICK_PERIOD is 1000000 nano seconds (1 milli second). The
|
|
nano2count function converts this time into internal `count
|
|
units'. The timer is started with a tick period equal to 1ms
|
|
(which is what the `start_rt_timer' function does).
|
|
<p>
|
|
What remains is to start our task and set its period (remeber,
|
|
the period is used by rt_task_wait_period to set the time at
|
|
which the task is to be awakened). We set the period to 2 ticks
|
|
and instruct the scheduler to start it at the next tick itself.
|
|
<p>
|
|
The body of our task is very simple - it simply writes a value
|
|
to the parallel port output pins, complements the variable which
|
|
stores that value and waits for the next period (which will be
|
|
2ms). After waking up, it performs the same sequence. Again and
|
|
again and again... The end result is we observe a waveform on
|
|
the scope whose on time is 2ms and off time also is 2ms.
|
|
|
|
<p>
|
|
I observed the waveform first on an unloaded system. I then
|
|
resorted to flood pinging the system. The waveform on the
|
|
scope remained steady. The promise that RTAI gives us is that
|
|
it will always run Linux as a very low priority task - Linux will
|
|
execute only when no real time tasks are to be serviced. A
|
|
real time task waking up will result in control getting transferred
|
|
to it immediately (of course, there are delays involved in
|
|
preempting whatever is being done now, activating the real time
|
|
scheduler and transferring control back to the task which just
|
|
woke up - these delays also need not be constant). That is
|
|
why we are able to observe a fairly steady signal even under
|
|
load.
|
|
|
|
<p>
|
|
Here is a code segment which demonstrates the use of a
|
|
function - `rt_sleep':
|
|
|
|
<pre>
|
|
|
|
#define LPT1_BASE 0x378
|
|
#define STACK_SIZE 4096
|
|
#define TIMERTICKS 1000000 /* 1 milli second */
|
|
|
|
#define ON_TIME 3000000 /* 3 milli seconds */
|
|
#define OFF_TIME 1000000 /* 1 milli second */
|
|
|
|
static RT_TASK my_task;
|
|
RTIME on_time, off_time;
|
|
|
|
static void fun(int t)
|
|
{
|
|
while(1) {
|
|
outb(0xff, LPT1_BASE);
|
|
rt_sleep(on_time);
|
|
outb(0x0, LPT1_BASE);
|
|
rt_sleep(off_time);
|
|
}
|
|
}
|
|
|
|
int init_module(void)
|
|
{
|
|
RTIME tick_period, now;
|
|
|
|
rt_set_periodic_mode();
|
|
rt_task_init(&my_task, fun, 0, STACK_SIZE, 0, 0, 0);
|
|
tick_period = start_rt_timer(nano2count(TIMERTICKS));
|
|
on_time = nano2count(ON_TIME);
|
|
off_time = nano2count(OFF_TIME);
|
|
now = rt_get_time();
|
|
rt_task_make_periodic(&my_task, now + tick_period, 2*tick_period);
|
|
return 0;
|
|
}
|
|
</pre>
|
|
The basic tick period is 1ms. Our on and off times are
|
|
integral multiples of this period (3ms and 1ms each).
|
|
An invocation of `rt_sleep(on_time)' will put the task
|
|
to sleep - it gets woken up after 3 tick periods. It does
|
|
some action and again goes to sleep for one tick period.
|
|
|
|
<h2>Using FIFO's to communicate between real time
|
|
and non real time tasks</h2>
|
|
<p>
|
|
|
|
It may be required to transmit data from a user space
|
|
non realtime program to an RTAI task (and back). This
|
|
is very easily done with the use of fifo's. For example,
|
|
an RTAI task may be generating a PWM (pulse width modulated)
|
|
signal and you may have to control the width from user
|
|
space.
|
|
The RTAI
|
|
installation creates several device files under /dev/
|
|
going by the name rtf0, rtf1 etc. The user program
|
|
identifies each fifo by its name while the RTAI task
|
|
does it with numbers 0, 1, 2 etc.
|
|
|
|
<pre>
|
|
|
|
#include <linux/module.h>
|
|
#include <linux/errno.h>
|
|
#include <rtai.h>
|
|
#include <rtai_sched.h>
|
|
#include <rtai_fifos.h>
|
|
|
|
|
|
#define STACK_SIZE 4096
|
|
#define COMMAND_FIFO 0
|
|
#define FIFO_SIZE 1024
|
|
|
|
|
|
int fifo_handler(unsigned int fifo)
|
|
{
|
|
char buf[100];
|
|
int r;
|
|
|
|
r = rtf_get(COMMAND_FIFO, buf, sizeof(buf)-1);
|
|
if (r <= 0) return r;
|
|
rt_printk("handler called for fifo %d, get = %d\n", fifo, r);
|
|
buf[r] = 0;
|
|
rt_printk("data = %s\n", buf);
|
|
return 0;
|
|
}
|
|
|
|
int init_module(void)
|
|
{
|
|
/* Create fifo, set handler */
|
|
rtf_create(COMMAND_FIFO, FIFO_SIZE);
|
|
rtf_create_handler(COMMAND_FIFO, fifo_handler);
|
|
|
|
return 0;
|
|
}
|
|
|
|
void cleanup_module(void)
|
|
{
|
|
printk("cleaning up...\n");
|
|
}
|
|
|
|
</pre>
|
|
|
|
In `init_module', we create a fifo and set `fifo_handler' as
|
|
a function to be invoked when somebody writes to the fifo. The
|
|
`rtf_get' function reads data from the fifo. After compiling and
|
|
loading the module, if we do something like:
|
|
<pre>
|
|
|
|
echo hello > /dev/rtf0
|
|
|
|
</pre>
|
|
we will see the handler getting invoked and reading data from the
|
|
fifo.
|
|
|
|
<h2>Further Reading</h2>
|
|
<p>
|
|
If you are interested in general real time programming
|
|
issues, you should start with the excellent <a href="http://people.mech.kuleuven.ac.be/~bruyninc/rthowto/">Real Time and Embedded Guide</a> written
|
|
by <b>Herman Bruyninckx</b>. RTAI programming is explained in
|
|
detail in the <b>RTAI manual</b> and <b>RTAI programming guide</b>
|
|
available for download from the project home page.
|
|
|
|
<h2>Conclusion</h2>
|
|
<p>
|
|
An Operating System which provides support for deterministic execution
|
|
of tasks with stringent timing requirements is just one part of
|
|
the realtime system design landscape. After playing with RTAI for a few
|
|
days, I realized that this (realtime design) is something which can't
|
|
be done as a hobby by a novice like me - you have to invest a lot of
|
|
time, effort and patience in understanding your system thoroughly (hardware
|
|
as well as software) and using the tools well. But then, that shouldn't
|
|
stop you from experimenting and having a little bit of fun!
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- *** BEGIN author bio *** -->
|
|
<P>
|
|
<P>
|
|
<!-- *** BEGIN bio *** -->
|
|
<P>
|
|
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
|
<em>
|
|
I am an instructor working for IC Software in Kerala, India. I would have loved
|
|
becoming an organic chemist, but I do the second best thing possible, which is
|
|
play with Linux and teach programming!
|
|
</em>
|
|
<br CLEAR="all">
|
|
<!-- *** END bio *** -->
|
|
|
|
<!-- *** END author bio *** -->
|
|
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<hr>
|
|
<CENTER><SMALL><STRONG>
|
|
Copyright © 2003, Pramode C.E.
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 95 of <i>Linux Gazette</i>, October 2003
|
|
</STRONG></SMALL></CENTER>
|
|
<!-- *** END copyright *** -->
|
|
<HR>
|
|
|
|
|
|
<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">Software Engineering</FONT></STRONG></BIG></BIG>
|
|
<BR>
|
|
<STRONG>By <A HREF="../authors/rondina.html">Gustavo Rondina</A></STRONG>
|
|
</CENTER>
|
|
|
|
</TD></TR>
|
|
</TABLE>
|
|
<P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
<H2>Abstract</H2>
|
|
|
|
The so called software crisis can generate several and serious consequences to computing and IT in the future, mainly on
|
|
issues that refers to the free software. This article intends to quickly introduce the reader to some of the problems which
|
|
can contribute with this crisis and maybe encouraje users and programmers to adopt the necessary measures to avoid it.
|
|
|
|
<H2>1. Introduction</H2>
|
|
|
|
<P>Nowdays the hardware devces are becaming more powerfull and are expanding its capacities and features every day.
|
|
But those devices are useless if there are not software that are able to explore those features as much as possible,
|
|
thus it is appropriate to say that the software development process, called software engineering, is one of the most
|
|
important areas of computing.</P>
|
|
|
|
<P>To catch up with the rapidly technological advance at the hardware industry, the programmers and software engineers,
|
|
whose job is develop the core of the softwares, must keep the idea that it is necessary not just create and develop
|
|
a product that works, but a product that implements good software engineering practices, assuring that no computer or
|
|
programmer's efforts will be wasted.</P>
|
|
|
|
<H2>2. Linux, free software and software engineering</H2>
|
|
|
|
<P>You might be asking yourselves: where does Linux fit on that scenario ? Well, the free software movement can answer
|
|
that question. The Linux OS have been one great and successfull project that helped to spread the free software principles,
|
|
concepts and philosophy.</P>
|
|
|
|
<P>In the last decade we can note a significant increasing if we look at the number of Linux users. Users that have
|
|
adopted the system at home, at work or even at school. Many of these users had joined to Linux due its source code
|
|
availability: any person over the world can get the source, read it, make modifications, copy and redistribute this
|
|
code. Most of those users have had already a previous knowledge of computer programming and OSes based on Unix.</P>
|
|
|
|
<P>However there were users that have adopted Linux just to fill their curiosity, to know and explore a new and different
|
|
system and have an idea of how a Unix-like system works; some of them didn't like or didn't get used to Linux and droped
|
|
it soon, but most of them have adopted Linux as a way of life and a philosophy.</P>
|
|
|
|
<P>This new Linux's enthusiastics wanted to learn as much as possible about the system, so, with the source code open
|
|
to anyone and built under C and assembler programming languages, they have decided that learning how to programm
|
|
would be a good way to start understanting Linux. And this was what happened, a lot of new users have started to programm
|
|
and hack codes volunteerly, giving their time and efforts to projects aimming to contribute with the open source community.
|
|
Today there are a lot of successfull projects which show to the world that the free software development philosofy really
|
|
works.</P>
|
|
|
|
<H2>3. So, where is the problem ?</H2>
|
|
|
|
<P>These new programmers had learned the programming languages that are necessary to software development and had put in
|
|
practice their knowledge developing software that fits their needs, producing the expected results. However, there are
|
|
no warranty that those products are totally realiable and the ideas have been implemented at the best way possible.</P>
|
|
|
|
<P>This happens due the lack of knowledge at the software engineering area. There are many projects that are developed
|
|
by people who don't have much experience at the software development and production, so there are a lack of concepts and
|
|
theory to these programmers. To programm isn't just about launching a text editor and start to hack some code and then
|
|
compile it, even getting the expected results.</P>
|
|
|
|
<P>To know the syntax of a programming language doesn't mean to know how to programm and develop good and quality software.
|
|
The software development is complex process, since the first algorithm design until the debugging and testing phase. A
|
|
programmer who doesn't have the conecpts os language paradigms and their differences (i.e. oriented object programming and
|
|
procedural programming); who doesn't know deeply the several types os data structures, such as stacks, queues, lists and
|
|
binary trees; or the programmer who doesn't know how a hardware achitecture does arithmetic operations and how their
|
|
logical circuits works, can develop a software that, even working, have not been implemented at it must have.</P>
|
|
|
|
<P>A software that isn't implemented at the right way may cause wast of hardware resources such as processing time of the CPU
|
|
or how the memory is managed; waste the programmer's efforts as well, once he can solve trivial problems using a complex and
|
|
expensive methods, since he doesn't know an easier way; waste also the features of the language by using it poorly or even
|
|
incorrectly. All this things increases the final cost of the project.</P>
|
|
|
|
<H2>4. How to solve this problem ?</H2>
|
|
|
|
<P>This kind of problem is know as "the software crisis". Each person who starts to hack and produce new codes without
|
|
the right knowledges of good software engineering contributes to the increasement of this crisis.</P>
|
|
|
|
<P>In the future that can be very dangerous, mainly to the free software community since, in some cases, there is no one in
|
|
charge of monitoring and moderating the development phase of the project, once that several projects are developed by
|
|
volunteers programmers.</P>
|
|
|
|
<P>The solution of this problem may be clear: the users and the programmers must study deeply software engineering and
|
|
modeling, algorithms analisys, software testing and each paradigms and languages' details. The developers should read more
|
|
scientific papers and tecnical books about software engineering. Many programmers just want their software producting the
|
|
expected results, but if a programmer wants to be a successfull developer and have high quality and reliable software, it
|
|
is essential to know all the theorycal bases that is hide under the practice. Theorycal knowledge is the base to everything.
|
|
</P>
|
|
|
|
<P>A lot of programs and projects starts in the paper, it is not a shame to make some rough draft of the algorithm. Some
|
|
times an idea can achieve a high abstraction level which can be more understantable trought a draw. To test the software
|
|
before it get into the consumer hands is also important, and there are many different tecnics and issues related to
|
|
software testing. To know several programming languages and languages paradigms give the programmer more flexibility
|
|
while choosing the best way to solve a problem, since each language has its own limitations. Even the source code
|
|
identation is important to increase the readability of the sources. All this things are related with the good software
|
|
engineering and improves the quality of your product.</P>
|
|
|
|
<H2>5. Conclusion</H2>
|
|
|
|
<P>This article does not intend to criticize neither to discourage hobbyst programmers, but encourage them to know
|
|
further and deeply the issues related with the software development process. Only that way we will have good and realiable
|
|
software at the next generations.</P>
|
|
|
|
<P>I hope you have enjoyed this article. Please forgive my really poor english, this is not my native language. Maybe on
|
|
a future article it will be improved a bit. Comments, questions and suggestions are always welcome. Feel free to email me
|
|
at <a href="mailto:gustavorondina@uol.com.br">gustavorondina at uol dot com dot br</a></P>
|
|
|
|
|
|
|
|
<!-- *** BEGIN author bio *** -->
|
|
<P>
|
|
<P>
|
|
<!-- *** BEGIN bio *** -->
|
|
<P>
|
|
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
|
<em>
|
|
I am Gustavo Rondina, and I am from Brazil. I am a graduation
|
|
student taking the 4th semester of Computer Science course,
|
|
but I have been in touch with computers and Linux for about 5
|
|
years.
|
|
</em>
|
|
<br CLEAR="all">
|
|
<!-- *** END bio *** -->
|
|
|
|
<!-- *** END author bio *** -->
|
|
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<hr>
|
|
<CENTER><SMALL><STRONG>
|
|
Copyright © 2003, Gustavo Rondina.
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 95 of <i>Linux Gazette</i>, October 2003
|
|
</STRONG></SMALL></CENTER>
|
|
<!-- *** END copyright *** -->
|
|
<HR>
|
|
|
|
|
|
<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">An introduction to MultiTail</FONT></STRONG></BIG></BIG>
|
|
<BR>
|
|
<STRONG>By <A HREF="../authors/vanheusden.html">Folkert van Heusden</A></STRONG>
|
|
</CENTER>
|
|
|
|
</TD></TR>
|
|
</TABLE>
|
|
<P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>An introduction to MultiTail</TITLE>
|
|
<!-- Written by Folkert van Heusden - www.vanheusden.com -->
|
|
</HEAD>
|
|
<BODY>
|
|
<H2>An introduction to MultiTail</H2>
|
|
|
|
<H3>Introduction</H3>
|
|
<H4>What is MultiTail?</H4>
|
|
MultiTail lets you view one or multiple files like the original tail
|
|
program. The difference is that it creates multiple windows on your
|
|
console (with ncurses). Merging of 2 or even more logfiles is possible. It
|
|
can also use colors while displaying the logfiles (through regular
|
|
expressions), for faster recognition of what is important and what not. It
|
|
can also filter lines (again with regular expressions). It has interactive
|
|
menus for editing given regular expressions and deleting and adding
|
|
windows. One can also have windows with the output of shell scripts and
|
|
other software. When viewing the output of external software, MultiTail
|
|
can mimic the functionality of tools like 'watch' and such.
|
|
|
|
<H4>Why this text?</H4>
|
|
When you start multitail without any parameters, it clears the screen and
|
|
shows a couple of keys you can press together with a short explanation what
|
|
they do. You can then press any of those keys or 'x', 'q' or 'CTRL'+'C' to
|
|
exit the program. If you like to know what commandlineparameters can be
|
|
given, start multitail with the '-h' parameter.<BR>
|
|
The "help" that is given with the methods described above might not be
|
|
sufficient, that's why this text was written. If there is still anything
|
|
not clear after reading this, do not hesitate to contact me at the
|
|
following e-mail address: folkert@vanheusden.com<BR>
|
|
|
|
<H3>The Basics</H3>
|
|
The most trivial use of MultiTail is as follows:
|
|
<PRE>
|
|
multitail [-i] file
|
|
</PRE>
|
|
This shows the file 'file' in your terminal-window. At the bottom, a line
|
|
(the statusline) is displayed with the name of the file, its size and the
|
|
date/time of when the last time the file changed. You can make this status-
|
|
line static (not updated) with the '-d' commandline parameter. With '-D' no
|
|
statusline is displayed at all.<BR>
|
|
You only need to specify the '-i' when the filename starts with a dash ('-').
|
|
Something a little more complex is this:
|
|
<PRE>
|
|
multitail [-i] file1 [-i] file2
|
|
</PRE>
|
|
This splits your terminalwindow in two windows. In each window, one file is
|
|
displayed. Both windows have a statusline giving info. The window with
|
|
'file1' is displayed above the window with 'file2'. Instead of above each
|
|
other, you can also have them displayed side by side. For that, you can
|
|
enter the parameter '-s' on the commandline or press the 'v' key while the
|
|
program is running.<BR>
|
|
|
|
<H3>Scrolling</H3>
|
|
Of course you can scroll in the shown files. For that, press the 'b' key.
|
|
When you're viewing multiple files, you'll first get a fileselector. Then a
|
|
window is displayed with the buffered contents of the selected file
|
|
(=window). You can then scroll with the cursorkeys and the page-up and
|
|
pagedown key. Press 'x' or 'q' to exit this window. You cannot scroll the
|
|
whole file, only the last 100 lines. To reset this limit to something
|
|
bigger (or smaller), press the 'm' key. You will then be asked to enter a
|
|
new value, e.g. 1000. This parameter can also be set from the commandline
|
|
with the '-m <B>value</B>' parameter. With '-m' you set the limit for the next
|
|
file, with '-M <B>value</B>' you'll set this parameter for all following files
|
|
on the commandline. When you press the 'm'-key, the current buffer is
|
|
cleared. So it is also a replacement for pressing the enter key a few times
|
|
when using 'tail -f' to view a file.<BR>
|
|
|
|
<H3>Merging Files</H3>
|
|
Then there's the '-I' commandline parameter. It is the same as '-i', only
|
|
'-I' merges two or more files together. For example:
|
|
<PRE>
|
|
multitail [-i] file1 -I file2
|
|
</PRE>
|
|
a reallife example:
|
|
<PRE>
|
|
multitail /var/log/apache/access.log -I /var/log/apache/error.log
|
|
</PRE>
|
|
These two examples will merge the output of the given files into one
|
|
window. This can be usefull with, for example, the files given in the
|
|
second example: with this example you see what happend just before an
|
|
error appeared in the Apache errorlog.
|
|
|
|
<H3>Viewing Output of External Programs</H3>
|
|
As I mentioned in the foreword, one can not only view files with
|
|
MultiTail, also the output of other programs (scripts/executables/etc.)
|
|
can be put inside one or more windows. To make this happen, you need to
|
|
use the '-l' switch. For example:
|
|
<PRE>
|
|
multitail -l ls
|
|
</PRE>
|
|
another example:
|
|
<PRE>
|
|
multitail -l "ping localhost"
|
|
</PRE>
|
|
As you can see, you need to add doublequotes around the command when it
|
|
needs parameters, otherwhise MultiTail would not be able to recognize
|
|
what parameters are intended for the selected program or for MultiTail
|
|
itself.<BR>
|
|
You might have tried the example with the ls-command. You then saw that
|
|
MultiTail automatically closes the window when the external command has
|
|
finished. There are a few options you can use to control this behaviour.
|
|
For example the '-z' parameter: when given, the window is just closed,
|
|
the screen redrawed and MultiTail goes on without the popup window
|
|
telling you that the program ended.<BR>
|
|
Another option is: '-r <B>interval</B>': this will cause the command to be
|
|
run every 'interval' seconds. Instead of '-r <B>interval</B>' also the '-R <B>interval</B>'
|
|
option is available: when fed to MultiTail, it makes it run the next
|
|
command with an interval of 'interval' seconds displaying only the
|
|
difference with the previous run of the command! So if you run MultiTail
|
|
like this:
|
|
<PRE>
|
|
multitail -R 3 -l "netstat -p tcp"
|
|
</PRE>
|
|
you will see state-changes for every TCP-connection: new connections
|
|
and connections getting closed.<BR>
|
|
As with '-I <B>file</B>', '-L <B>command</B>' also merges the output of the
|
|
external command to the previous file or command. Yes: output of
|
|
commands can be safely merged with logfiles. Multiple commands, multiple
|
|
logfiles, most things you can think of are possible.<BR>
|
|
|
|
<H3>Colors</H3>
|
|
When you have been watching logfiles scrolling by, it can get a little
|
|
though after a while to still recognize what is important and what not.
|
|
Because of that, MultiTail has the ability to display logfiles in color.
|
|
When you give the '-c' parameter, the next given file or command is
|
|
showed in color. It decides what color to use by looking at the whole
|
|
log-line. If you want it to only use at the programname causing that
|
|
logline (when monitoring syslog logfiles for example), you can use the
|
|
'-cs' switch. The last option is the '-cS <B>colorscheme</B>' switch. As
|
|
parameter it needs the name of a colorscheme. The colorschemes are read
|
|
from multitail.conf. In multitail.conf you set by entering regular
|
|
expressions what color to use for what "patterns". By default, MultiTail
|
|
looks for multitail.conf in the current directory and in the /etc directory.
|
|
With the '-z' parameter you can explicitly define what file it should use.<BR>
|
|
An example:
|
|
<PRE>
|
|
colorscheme:postfix
|
|
cs_re:yellow:status=sent
|
|
cs_re:magenta:queue active
|
|
</PRE>
|
|
The first line names the current colorscheme. The 'cs_re'-lines define
|
|
combinations of regular expressions and a color. With the first 'cs_re'-
|
|
line you define that if MultiTail encounters the string 'status=sent' in
|
|
a logline that it should print it in the color yellow. The next line
|
|
defines that the string 'queue active' must be printed in magenta.
|
|
Another example, a little more complex:
|
|
<PRE>
|
|
colorscheme:syslog
|
|
cs_re:green:\[|\]
|
|
cs_re:blue:^... .. ..:..:..
|
|
</PRE>
|
|
The first 'cs_re'-line sets all occurences of '[' or ']' to green and
|
|
all lines starting with a date in the format 'Mon DD HH:MM:SS' in blue.
|
|
For more details on regular expressions: o'Reilly has <A HREF="http://www.oreillynet.com/search/index.ncsp?sp-q=regular+expressions&sp-k=all&search=search" TARGET="_new">few books</A> on this topic.<BR>
|
|
One last thing on colors: if you use '-C' (uppercase 'C') instead of '-c', <I>all</I> following
|
|
files will use the parameters you specify at that time, unless you override them with a new
|
|
'-c<FONT SIZE=-1>x</FONT>' or '-C<FONT SIZE=-1>x</FONT>' parameter.
|
|
|
|
<H3>Filtering using regular expressions</H3>
|
|
For filtering MultiTail uses regular expressions. To keep things simple, it uses them the
|
|
exact same way as 'grep' does: '-e' says: a regular expression follows and '-v' says: invert
|
|
it.<BR>
|
|
Examples:
|
|
<PRE>
|
|
multitail -e "gnu-pop3d" /var/log/messages
|
|
multitail -v -e "ssh" -v -e "gnu-pop3d" -e "localhost" /var/log/messages
|
|
</PRE>
|
|
The first example shows only lines from /var/log/messages which have the string "gnu-pop3d" somewhere in them. The second example only shows lines which do <I>not</I> have the string "ssh" and <I>not</I> have the string "gnu-pop3d" and <I>DO HAVE</I> the string "localhost" in them.
|
|
|
|
<H3>Miscellaneous Options</H3>
|
|
There are a few other options not fitting elsewhere, these are:
|
|
<TABLE BORDER=1 WIDTH=75%>
|
|
<TR><TD WIDTH=75>-f</TD><TD>This makes MultiTail follow the file. In case the original file
|
|
gets renamed and a new file is created with the original filename, MultiTail will start
|
|
watching the file with the original filename (the one you entered).</TD></TR>
|
|
<TR><TD WIDTH=75>-u <B>seconds</B></TD><TD>When using MultiTail over a slow link (a modem connection or
|
|
maybe even over HAM) you might want to have a little less frequent updates. With this parameter you
|
|
set how frequently MultiTail updates the screen. The default is immediately.</TD></TR>
|
|
<TR><TD WIDTH=75>-H <B>interval</B></TD><TD>If you have a connection to some host (on which
|
|
you're using MultiTail) which gets automatically disconnected when nothing happens for a
|
|
while, you can use '-H'. When used, MultiTail moves the cursor around the screen generating
|
|
traffic, keeping your line up.</TD></TR>
|
|
<TR><TD WIDTH=75>-V</TD><TD>In case you're wondering what version of MultiTail you're using,
|
|
you can start it with the '-V' option. It'll then display its version and exit. You can
|
|
also press the 'i' key while it is running.</TD></TR>
|
|
</TABLE>
|
|
|
|
<H3>Is that all?</H3>
|
|
<I>Not everything</I> was covered in this manual. For a complete list of options and keys
|
|
you can press while MultiTail runs, have a look at the man-page, the output of the '-h'
|
|
commandline parameter and the help when you press 'h'-key while the program runs.<BR>
|
|
And let's not forget the sourcecode!
|
|
|
|
<BR>
|
|
<BR>
|
|
<BR>
|
|
<BR>
|
|
<FONT SIZE=-1>The latest version of MultiTail can always be found here: <A HREF="http://www.vanheusden.com/multitail/">http://www.vanheusden.com/multitail/</A></FONT>
|
|
|
|
</BODY>
|
|
</HTML>
|
|
|
|
|
|
|
|
|
|
<!-- *** BEGIN author bio *** -->
|
|
<P>
|
|
<P>
|
|
<!-- *** BEGIN bio *** -->
|
|
<P>
|
|
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
|
<em>
|
|
|
|
</em>
|
|
<br CLEAR="all">
|
|
<!-- *** END bio *** -->
|
|
|
|
<!-- *** END author bio *** -->
|
|
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<hr>
|
|
<CENTER><SMALL><STRONG>
|
|
Copyright © 2003, Folkert van Heusden.
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 95 of <i>Linux Gazette</i>, October 2003
|
|
</STRONG></SMALL></CENTER>
|
|
<!-- *** END copyright *** -->
|
|
<HR>
|
|
|
|
|
|
<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">Mexico is conquered by FLOSS</FONT></STRONG></BIG></BIG>
|
|
<BR>
|
|
<STRONG>By <A HREF="../authors/boue.html">Felipe Barousse Boue</A></STRONG>
|
|
</CENTER>
|
|
|
|
</TD></TR>
|
|
</TABLE>
|
|
<P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
<CENTER>
|
|
<TABLE WIDTH=580 BORDER=1 CELLPADDING=5 CELLSPACING=2 STYLE="page-break-before: always">
|
|
<TR BGCOLOR="#7788aa">
|
|
<TD>
|
|
<P ALIGN=CENTER><FONT SIZE=4><FONT COLOR="#ffffff">G A C E T A
|
|
D E L I N U X</FONT></FONT> <FONT SIZE=2>...<I>Making
|
|
Linux just a little more fun!</I></FONT>
|
|
</P>
|
|
</TD>
|
|
</TR>
|
|
<TR>
|
|
<TD>
|
|
<P ALIGN=CENTER><STRONG><FONT SIZE=5><FONT COLOR="#800000">Veracruz,
|
|
México is conquered by FLOSS</FONT></FONT></STRONG><BR><STRONG>By:
|
|
<A HREF="mailto:editor@gacetadelinux.com">La Gaceta de Linux</A></STRONG>
|
|
</P>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
</CENTER>
|
|
<P ALIGN=RIGHT> </P>
|
|
<P>During the past week (17-19 Sept, 2003) an international crowd of free/libre and Open
|
|
Source Software experts gathered at the Mexican port of Veracruz
|
|
during the celebration of the third edition of the <A HREF="http://congreso.gulev.org.mx/">GULEV
|
|
Linux Congress</A>. (GULEV = Veracruz LUG)</P>
|
|
<P>Names such as Bruce Momjian from the <A HREF="http://www.postgresql.org/">PostgreSQL</A>
|
|
project, Miguel de Icaza from <A HREF="http://www.ximian.com/">Novell/Ximian</A>,
|
|
Felipe Barousse from <A HREF="http://www.piensa.com/">Piensa
|
|
Technologies</A>, Bdale Garbee from <A HREF="http://www.debian.org/">Debian</A>,
|
|
Gunnar Wolf a <A HREF="http://www.gwolf.cx/"><SPAN LANG="en-US">leading
|
|
Mexican software engineer</SPAN></A> and contributor to Debian and
|
|
many many more <A HREF="http://congreso.gulev.org.mx/invitado.php">top
|
|
stars</A> of the worldwide FLOSS community gave conferences,
|
|
tutorials and personal chat sessions during the three day event in
|
|
Veracruz.</P>
|
|
<P>Weather was warn,<SPAN LANG="en-US"> attendees </SPAN>were excited
|
|
and you could even look in everyone's faces the joy of being able to
|
|
share experiences, ideas and learn more about the new libre
|
|
technologies.
|
|
</P>
|
|
<P>I could tell that most of the<SPAN LANG="en-US"> attendees </SPAN>were
|
|
actually students and young programmers -in the twenties or early
|
|
thirties-<SPAN LANG="en-US"> although </SPAN>you could see in each
|
|
session a couple of business people and even some... lets say;
|
|
seniors, interested in Linux when they stood up to ask a question or
|
|
express a comment or idea. I was glad to see this mix in the various
|
|
audiences.</P>
|
|
<P>In this third year of the GULEV Congress, the scenario was nothing
|
|
less than the <A HREF="http://www.wtcveracruz.com.mx/Page_English.htm">World
|
|
Trade Center in Veracruz, México</A>... What other place could
|
|
Linux, free software and open source ask for to host an event like
|
|
this ? The place was indeed superb.</P>
|
|
<P>The first year the Congress was held at a University's premises,
|
|
the second year at the ball rooms in a hotel within the city. The
|
|
main organizers of the event, Miguel Angel López and Lucy
|
|
Guzmán Mijangos made a great job in making this year's show
|
|
run smoothly, making everyone feel satisfied with the Congress'
|
|
programme and returning home with an enhanced sensation that the
|
|
FLOSS movement in Mexico is really growing up, getting mature and
|
|
ready to compete with any other technologies out there. “We
|
|
need to improve a lot more...” said Miguel Angel, I couldn't
|
|
agree more, there is always room to improve an event like this, but I
|
|
can also tell that we have come a long way since the first time, two
|
|
years ago.</P>
|
|
<P>Some of the anecdotes about conferences and topics I have and that
|
|
you could hear people commenting while on the hallways just after a
|
|
conference and while waiting for the next are:</P>
|
|
<P>Bruce Momjian, who came with his son Mathew gave a session about
|
|
Mastering PostgreSQL administration. The room was full and everyone
|
|
attentive to all tips, hints and recipes that Bruce had to say. On a
|
|
fun side of the Congress, I had a chance to briefly chat with Mathew
|
|
who said he really likes “...<SPAN LANG="en-US"> traveling </SPAN>with
|
|
dad and liked<SPAN LANG="en-US"> Mexican </SPAN>food a lot... yummy!”
|
|
he said.</P>
|
|
<P>The second Bruce's conference was a bit more in the visionary side
|
|
of PostgreSQL and what to<SPAN LANG="en-US"> expecting </SPAN>the
|
|
next versions.</P>
|
|
<P>Larry Wall was expected to be in Veracruz with all of us,
|
|
unfortunately he got ill and couldn't make it. We hope that by the
|
|
time you are reading this, he is well up again.</P>
|
|
<P>Miguel de Icaza spoke about Mono and how it<SPAN LANG="en-US">
|
|
accelerated </SPAN>the productivity for software<SPAN LANG="en-US">
|
|
development </SPAN>in Linux. He is clearly concerned in providing the
|
|
most powerful tools and<SPAN LANG="en-US"> technologies </SPAN>to
|
|
Linux programmers as to keep and enhance their competitiveness while
|
|
developing software.</P>
|
|
<P>Bdale Garbee on the other hand spoke about where is Debian
|
|
standing now; meanwhile the well known technology research engineer
|
|
Francisco de Urquijo Niembro gave a lecture regarding the current
|
|
status of Mexico in relation to the ongoing digital revolution. “Open
|
|
and Free technologies are the<SPAN LANG="en-US"> future..... we </SPAN>will
|
|
have open specifications and standards in cars, home building, and
|
|
everything else....” he said.</P>
|
|
<P>Felipe Barousse conference was about the Zope Corporation's Zope
|
|
framework and how he has been using it to develop powerful business
|
|
applications which are already being used by large companies; he
|
|
concluded: “Zope is very <SPAN LANG="en-US">inexpensive</SPAN>,
|
|
great,powerful, easy to use and extremely scalable.... in short an
|
|
ideal platform for web based business applications.”</P>
|
|
<P>Federico Mena Quintero participation was about the concepts and
|
|
ideas used for programming applications in GTK+ where Drag and Drop
|
|
features are required.
|
|
</P>
|
|
<P>During his conference, Fernando Romo talked about the concepts of
|
|
constructing application's logic within the data base itself rather
|
|
than leaving all logic at the application level. A nice collection of
|
|
suggestions and experiences where discussed in Fernando's conference.</P>
|
|
<P>On another hand of topics, Gunnar Wolf talked about Object
|
|
Oriented Perl.</P>
|
|
<P>There were many more topics addressed in Veracruz, actually 53
|
|
conferences took place with themes ranging from building clusters, to
|
|
designing and installing a WiFi networks, to programming in Perl and
|
|
Python.
|
|
</P>
|
|
<P>More than 500 confirmed persons went to Veracruz just to
|
|
participate in this great FLOSS show in Mexico. A great touch to the
|
|
event was that there was free WiFi internet connectivity in all
|
|
conference rooms and during all conference times.</P>
|
|
<P>At the end of the event, the following day, there was a small trip
|
|
to the prehispanic ruins site called the “Tajin”, about a
|
|
4 hours drive from Veracruz.<SPAN LANG="en-US"> Although </SPAN>I was
|
|
supposed to get a phone call and or note advising me of the meeting
|
|
point and time to leave, somehow I never got that note so I missed
|
|
the excursion which I really regret since I bet it for sure was fun
|
|
to be in the bus with all my fellow speakers..... maybe next time,
|
|
now I have a great excuse for going next year.
|
|
</P>
|
|
<P>I really expect next year's congress to be even better and to see
|
|
it grow in many more aspects as it has been doing during these<SPAN LANG="en-US">
|
|
three editions. </SPAN>I can't wait to my 2004 trip to Veracruz.</P>
|
|
<P>In the mean time what we can say is that the port of Veracruz,
|
|
México was indeed conquered by the penguins and by FLOSS
|
|
enthusiasts just as it was taken by the conquistadores many centuries
|
|
ago.</P>
|
|
|
|
|
|
|
|
|
|
<!-- *** BEGIN author bio *** -->
|
|
<P>
|
|
<P>
|
|
<!-- *** BEGIN bio *** -->
|
|
<P>
|
|
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
|
<em>
|
|
</em>
|
|
<br CLEAR="all">
|
|
<!-- *** END bio *** -->
|
|
|
|
<!-- *** END author bio *** -->
|
|
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<hr>
|
|
<CENTER><SMALL><STRONG>
|
|
Copyright © 2003, Felipe Barousse Boue.
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 95 of <i>Linux Gazette</i>, October 2003
|
|
</STRONG></SMALL></CENTER>
|
|
<!-- *** END copyright *** -->
|
|
<HR>
|
|
|
|
</BODY></HTML>
|