old-www/LDP/LG/issue66/issue66.html

5567 lines
222 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> Linux Gazette Table of Contents LG #66</TITLE>
<META NAME="robots" CONTENT="noindex, nofollow">
</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>May 2001, Issue 66 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Published by <I>Linux Journal</I></H2>
<A HREF=../index.html>Front Page</A> &nbsp;|&nbsp;
<A HREF=../index.html>Back Issues</A> &nbsp;|&nbsp;
<A HREF=../faq/index.html>FAQ</A> &nbsp;|&nbsp;
<A HREF=../mirrors.html>Mirrors</A> &nbsp;|&nbsp;
<A HREF=http://www.linuxgazette.com/search.html>Search</A>
</center>
<!--=================================================================-->
<table>
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
<tr><td>
<table>
<tr>
<td VALIGN="top"><H1><font color="#BB0000">Visit Our Sponsors:</font></H1></td></tr>
<!-- *** BEGIN sponsors *** -->
<TR><TD>
<A HREF="http://www.linuxnetworx.com"><IMG ALT="Linux NetworX" SRC="../gx/sponsors/linuxnetworx.gif" BORDER="0" VSPACE="10"></A>
</TD></TR>
<TR><TD>
<A HREF="http://www.tuxtops.com"><IMG ALT="Tuxtops" SRC="../gx/sponsors/tuxtops.gif" BORDER="0" VSPACE="10"></A>
</TD></TR>
<TR><TD>
<A HREF="http://www.elinux.com/xwb00120"><IMG ALT="eLinux.com" SRC="../gx/sponsors/elinux.gif" BORDER="0" VSPACE="10"></A>
</TD></TR>
<!-- *** END sponsors *** -->
</table>
</td>
<!--==================================================================-->
<TD ROWSPAN="3" WIDTH="2" BGCOLOR="#000000" NOSAVE><IMG
SRC="../gx/hammel/cleardot.gif" ALT="" HSPACE=1 HEIGHT=1 WIDTH=1%></TD>
<td VALIGN=top>
<H1><font color="#BB0000">Table of Contents:</font></H1>
<!-- *** BEGIN toc *** -->
<UL>
<LI> <a HREF="lg_mail66.html">The MailBag</A>
<LI> <a HREF="lg_bytes66.html">News Bytes</A>
<UL>
<LI> <a HREF="lg_bytes66.html#distro">Distro News</A>
<LI> <a HREF="lg_bytes66.html#general">News in General</A>
<LI> <a HREF="lg_bytes66.html#software">Software Announcements</A>
</UL>
<LI> <a HREF="lg_answer66.html">The Answer Gang</A>
<LI> <a HREF="lg_tips66.html">More 2-Cent Tips</A>
<LI> <a HREF="adam.html">The Weekend Mechanic</A> , <EM>by Thomas Adam</EM>
<LI> <a HREF="collinge.html">HelpDex</A> , <EM>by Shane Collinge</EM>
<LI> <a HREF="correa.html">Interview with Ben Collins, the new Debian Project Leader</A> , <EM>by Fernando Ribeiro Corr&ecirc;a &amp; Marcos Martins Manh&atilde;es</EM>
<LI> <a HREF="nielsen.html">Converting Linux HOWTOs into Book Format</A> , <EM>by Mark Nielsen</EM>
<LI> <a HREF="nielsen2.html">Configuring GDM 2.2</A> , <EM>by Mark Nielsen</EM>
<LI> <a HREF="sharma.html">CVS: Client-Server Version Control</A> , <EM>by Kapil Sharma</EM>
<LI> <a HREF="suresh.html">Stopping Spam on Your Linux Box</A> , <EM>by Suresh Ramasubramanian</EM>
<LI> <a HREF="lg_backpage66.html">The Back Page</A>
<UL>
<LI> <a HREF="lg_backpage66.html#authors">About This Month's Authors</A>
<LI> <a HREF="lg_backpage66.html#notlinux">Not Linux</A>
</UL>
</UL>
<!-- *** END toc *** -->
</td>
</tr>
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif"
ALT="-------------------------------------------------------------"
HSPACE=30 VSPACE=2 HEIGHT=1 WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
</table> <!-- ******************************************* -->
<H3 ALIGN="center"><EM>Linux Gazette</EM> Staff and The Answer Gang</H3>
<BLOCKQUOTE>
<STRONG>Editor:</STRONG> Michael Orr<BR>
<STRONG>Technical Editor:</STRONG> Heather Stern<BR>
<STRONG>Senior Contributing Editor:</STRONG> Jim Dennis<BR>
<STRONG>Contributing Editors:</STRONG>
Ben Okopnik, Dan Wilder, Don Marti
</BLOCKQUOTE>
<TABLE WIDTH="100%"><TR>
<TD WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
</TR></TABLE>
<P> <!-- ************************************************** -->
<table>
<tr><td>
<A HREF="issue66.txt.gz">TWDT 1 (gzipped text file)</A><BR>
<A HREF="issue66.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.
</td></tr>
<!--==================================================================-->
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
<tr><td>
<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 Editor of <I>Linux Gazette</I>,
<A HREF="mailto: gazette@ssc.com"> gazette@ssc.com</A>
<P>
<H5>Copyright &copy; 1996-2001 Specialized Systems Consultants, Inc.</H5>
</center>
</td></tr>
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
</table>
<center>
<H1><A NAME="wanted"><IMG ALIGN=MIDDLE ALT="" SRC="../gx/mailbox.gif">
The Mailbag</A></H1> <BR>
<!-- BEGIN wanted -->
</center>
<P> <hr> <P>
<!-- =================================================================== -->
<center><H3><font color="maroon">HELP WANTED -- Article Ideas</font></H3></center>
<P>
<P> Send tech-support questions, answers and article ideas to The Answer Gang
&lt;<A HREF="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</A>&gt;. Other mail (including
questions or comments about the <EM>Gazette</EM> itself) should go to
&lt;<A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A>&gt;. All material
sent to either of these addresses will be considered for publication in the
next issue. <EM>Please send answers to the original querent too, so that s/he
can get the answer without waiting for the next issue.</EM>
<P> Unanswered questions might appear here. Questions with
answers--or answers only--appear in The Answer Gang, 2-Cent Tips, or here,
depending on their content. There is no guarantee that questions will
<em>ever</em> be answered, especially if not related to Linux.
<P> <STRONG>Before asking a question, please check the
<A HREF=../faq/index.html><I>Linux Gazette</I> FAQ</A> to see if it has been
answered there.</STRONG>
<P> <HR> <P>
<!--====================================================================-->
<!-- BEGIN HELP WANTED : Article Ideas -->
<UL>
<!-- index_text begins -->
<li><A HREF="#wanted/1"
><strong>Device Drivers for Linux Gazette</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">Device Drivers for Linux Gazette</FONT></H3>
Wed, 18 Apr 2001 22:39:40 -0700
<BR>Ryan Thibodeau (<a href="mailto:linux-questions-only@ssc.com?cc=rthibode@onlineathens.com"
>rthibode from onlineathens.com</a>)
<!-- ::
Device Drivers for Linux Gazette
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi. Just dicovered Linuxgazette today. This is a really great site.
</STRONG></P>
<P><STRONG>
If you are looking for article ideas, I'd like to see an article, or
even series, on writing device drivers for Linux. This is a topic I
have found very little information about on the net.
</STRONG></P>
<P><STRONG>
Just my two cents.
</STRONG></P>
<P>
Writing the Linux kernel's device driver interfaces are enough
of a subject to fill a whole book. Maybe the O'Reilly
<EM>Writing Linux Device Drivers</EM> (by Allessandro Rubini) and
their <EM>Understanding the Linux Kernel</em> by Daniel Pierre Bovet
(among others) would be a good choice for you.
</P>
<P>
As for documention online: You could always read the sources,
copy and paste parts of the Makefiles, copy an existing (similar)
device driver and edit. I realize that this is a horrible
oversimplification; but that's how must of the Linux kernel hackers
started.
<br>-- JimD</P>
<!-- end 0 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<P><HR WIDTH="40%" ALIGN="center"><P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
<FONT COLOR="navy"></FONT></H3>
Mon, 16 Apr 2001 22:04:56 -0700
<BR>Vivek Kumar (<a href="mailto:linux-questions-only@ssc.com?cc=ascon_system@netkracker.com"
>ascon_system from netkracker.com</a>)
<P><STRONG>
how to write a parallel port device driver,ie, interrupt driven.
Not, for printer, but,for general device connected to EPP port..?
</STRONG></P>
<P>
If you need something to be interrupt driven than you need a
kernel module. You might be able to have a very simple kernel
module that simply relays the interrupt as a character through
a device node. Then you could have a user space process listening...
</P>
<P>
[ Some guesses about the nature of <TT>poll()</TT> and <TT>select()</TT>,
trimmed. ] Please post a message to a good linux programming
newsgroup for better details. Actually I've posted an abstracted
version of this question to the
<a href="news:comp.os.linux.development.system"
>comp.os.linux.development.system</a>
newsgroup on your behalf. So, perhaps there's already an answer
waiting...
<br>-- JimD</P>
<p><em>Well, the Answer Guy is just barely getting into this subject,
so for this topic, he's a newbie like the rest of us. It
looks like some of our weekend mechanics really want to get
down into the spark plugs, there.
So, if anyone feels inclined to write a down and dirty device
driver article that explains a bit of deep wizardry in plain
english, especially if it covers something that's new in the
2.4 series kernels, we'd love to publish it. -- Heather</em></p>
<p><em>Or if anybody would like to dissect and explain a small driver
they've written, that would also make a good article. -- Mike</em></p>
<!-- end 1 -->
<a name="mailbag"></a>
<P> <hr> <P>
<!-- =================================================================== -->
<center><H3><font color="maroon">GENERAL MAIL</font></H3></center>
<P> <HR> <P>
<!--====================================================================-->
<!-- BEGIN GENERAL MAIL -->
<UL>
<!-- index_text begins -->
<li><A HREF="#mailbag/1"
><strong>Great</strong></a>
<li><A HREF="#mailbag/2"
><strong>Subscribing to LG</strong></a>
<li><A HREF="#mailbag/3"
><strong>Your writing of: "Integrating" Linux/sendmail with MS Exchange</strong></a>
<li><A HREF="#mailbag/4"
><strong>Thank you</strong></a>
<li><A HREF="#mailbag/5"
><strong>incensative, and down right rude,</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">Great</FONT></H3>
Sat, 31 Mar 2001 23:07:10 -0600
<BR>James E. Touma (<a href="mailto:gazette@ssc.com">toumaj from home.com</a>)
<P><STRONG>
Great April edition. Thanks a lot. Keep up the good work (and the
interesting topics).
</STRONG></P>
<P>
Thanks for reading us, Jim! -- Heather
</P>
<!-- end 1 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="mailbag/2"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
<FONT COLOR="navy">Subscribing to LG</FONT></H3>
Sun, 1 Apr 2001 20:36:36 -0700
<BR>Mike Orr (<a href="mailto:gazette@ssc.com">iron from mso.oz.net</a>)
<P>
Finally, a way to subscribe to Linux Gazette!
</P>
<P>
<A HREF="http://www.debian.org/">Debian</A> has long had the lg-issue## packages. Now it has a couple
new packages:
</P>
<ul>
<li> lg-subscription : install new issues as they arrive.
<li> lg-ltest-two : install the latest two issues and remove older ones.
<li> lg-all : install all of the currently-available issue.
</ul>
<P>
Of course, it adds/removes packages only when you do a general package
update.
Note that these programs are supported by Debian, not by <EM>LG</EM>.</p>
<P>
-- Mike (your friendly <EM>Linux Gazette</EM> Editor)
</P>
<P>
Looks like you have to get it from testing (aka woody) or unstable (aka
sid) but at least it shouldn't require a libc update, if you temporarily
add one of these to your sources list to get them. If one of these
<EM>does</EM> ask for a libc change, it's a packaging bug and you should
report it immediately.
</P>
<P>
But be especially careful to change things back, or you may find yourself
in for a big surprise when you run "<tt>apt-get upgrade</tt>" to catch
the latest security patches. -- Heather
</P>
<!-- end 2 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="mailbag/3"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
<FONT COLOR="navy">Your writing of: "Integrating" Linux/sendmail with MS Exchange</FONT></H3>
Tue, 10 Apr 2001 10:39:15 -0400
<BR>Dave Tabor (<a href="mailto:gazette@ssc.com">dtabor from mageeop.com</a>)
<P><STRONG>
Hi,
</STRONG></P>
<P><STRONG>
Just a note of constructive criticism.
</STRONG></P>
<P><STRONG>
I just read a copy of your writing of "Integrating" Linux/sendmail with MS
Exchange, on this site.
</STRONG></P>
<P><STRONG>
<A HREF="../issue38/tag/5.html"
>http://lhd.datapower.com/LDP/LDP/LG/issue38/tag/5.html</A>
</STRONG></P>
<P><STRONG>
It's something you wrote in 1999, so you may be writing differently now. If
so, please disregard this letter.
</STRONG></P>
<p>What you are about to say is still valuable as a reminder to new members
of the Answer Gang, potential article authors, and in fact just about
anybody who hopes to be a very vocal Linux advocate. So I hope you
don't mind that we've published it anyway. -- Heather</p>
<P><STRONG>
Although I found this information helpful, you appear to have trouble
staying on track with the useful information, and like to get off subject
with the Microsoft bashing.
</STRONG></P>
<P><STRONG>
I do use Microsoft products, as well as Linux and AIX products, and
understand your point of view (even agree with most, if not all, of it).
</STRONG></P>
<P><STRONG>
My constructive criticism is that you should refrain from the Microsoft
bashing or at least keep it to one line, and keep more to the point of
trying to relay useful information. (I'm assuming that is what you are
really trying to do.)
</STRONG></P>
<P><STRONG>
If someone is having trouble with something like integrating sendmail and
exchange, they may not have a choice about what systems or software to use,
and just need some well written, detailed information, not an anti-Microsoft
commercial.
</STRONG></P>
<P><STRONG>
- Dave
</STRONG></P>
<P>
Thanks, Dave. Issue 38 was a long time ago now.
</P>
<P>
The Answer Gang now includes a number of more cheerful sorts in addition to
the curmudgeonly Answer Guy himself. One or two even still use Windows for
some of their work. (Note: we avoid answering Windows questions at all,
unless they're really about working with Linux environments.) Having more
of us frees the ones who really don't want to touch anything about MS, from
even having to answer. Also, a heavier editorial hand is being applied now.
</P>
<P>
As for myself, I look forward to the day when systems will be sufficiently
easy to use that it will not be clear... nor terribly necessary to know...
which OS is chugging along "under the hood". I don't think that day is at
all <EM>close</EM> but I look forward to it anyway.
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
</P>
<P>
-- Heather
</P>
<!-- end 3 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="mailbag/4"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
<FONT COLOR="navy">Thank you</FONT></H3>
Wed, 28 Mar 2001 22:10:12 EST
<BR>Spartaco Cicerchia (<a href="mailto:gazette@ssc.com">MI1SA from aol.com</a>)
<P>
Dear Mike
</P>
<P>
I want to take the opportunity to thank you very much for the feed back
and for taking the time to give me the information.
</P>
<!-- end 4 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="mailbag/5"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
<FONT COLOR="navy">incensative, and down right rude,</FONT></H3>
Wed, 4 Apr 2001 00:04:53 -0400
<BR>Joe Agate (<a href="mailto:gazette@ssc.com">joetagate from home.com</a>)
<P>
sorry pal, but after reading your reponse to a post for help, i couldnt
help but send you this note about what an
[&nbsp;rude&nbsp;word&nbsp;deleted&nbsp;] you must be...and would be
very much surprised if anyone would want you on the payroll....
</P>
<P>
respectfully,
<br>joe agate
</P>
<P>
<A HREF="../issue50/tag/33.html"
>http://rpmfind.net/linux/mdw/LDP/LG/issue50/tag/33.html</A>
</P>
<P>
[ HTML version of same text, also deleted ]
</P>
<P>
Curiously, he chose to "rag" on the Answer Guy for one of his clearer
answers to an unclear question. He calls him a bad name, then signs
off "respectfully". Right.
</P>
<P>
Is it really "insensitive" to mention that LG has a search engine
(<A HREF="http://www.linuxgazette.com/search.html"
>http://www.linuxgazette.com/search.html</A>)?
Nope, I think not.
</P>
<P>
Is it "insensitive" to ask that querents mention what they've tried
already? Maybe - but it's a fact of life in tech support, most people
say "it's broken" not "I tried this, and that, and the other thing, and...
yada yada ... anyways so you can see I tried everything, and it hates
me". In plain verbal conversation it's rude to maunder on like that,
so people tend not to do it. In tech support, the more info you can
send us (that is related to the question) the better we can help. If
this were a phone call, we could have this merry back and forth, and
it still probably wouldn't take an hour. At typical Answer Gang speeds
though... more info will help you as much as it helps us.
</P>
<P>
Is it "insensitive" to suggest that the poor bloke may have to buy a
new card or new server? Probably. Oh well. Life's tough that way
sometimes. Turns out that he's probably okay, according to another
reader who assured us that the Jotan is indeed a Trident relative.
</P>
<P>
Is it insensitive to send us the same text as both plaintext and HTML?
No, usually it just means someone didn't know how to turn off this "feature"
(cough cough. cough. no, I'm okay. cough cough. water. Ahem) in
MS Outlook. Try this great answer from Chris G. in last month's Answer Gang:
</P>
<P><BLOCKQuote>
<A HREF="../issue65/tag/8.html"
>http://www.linuxgazette.com/issue65/tag/8.html</A>
</BLOCKQuote></P>
<P>
Lastly, I'm pretty sure it's insensitive to publish this, but Joe, you
mailed us, and this is what we normally do with letters to the editors.
Let us know when you have a linux question, and we'll try to answer it --
if you give us enough information!
</P>
<!-- end 5 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/jobs"></A>
<!-- begin jobs -->
<P> <A NAME="mailbag/5"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
<FONT COLOR="navy">Linux jobs</FONT></H3>
Wed, Apr 11, 2001 12:17:14PM -0500
<br>Stuart (<A HREF="mailto:gazette@ssc.com?cc=stuart-5757@hushmail.com"
>stuart-5757 from hushmail.com</A>)
<!-- ::
Linux jobs
~~~~~~~~~~
:: -->
<P><STRONG>
Would it be possible for someone at your publication to provide me with
a resource as to where I could locate an experienced Linux programmer for
the Tampa Florida area. Is there a website for Linux job postings or a
publication that I might be able to contact. I would appreciate any help
that you could give me.
</STRONG></P>
<BLOCKQUOTE>
The Answer Gang published a list of sites for job searchers in the
last issue. I'm sure you can post openings at these sites as well.
</BLOCKQUOTE>
<BLOCKQUOTE>
<A HREF="http://www.linuxgazette.com/issue65/lg_answer65.html#tag/greeting"
>http://www.linuxgazette.com/issue65/lg_answer65.html#tag/greeting</A>
</BLOCKQUOTE>
<BLOCKQUOTE>
LG does not publish job listings because they are so temporary in
nature: the job may be filled by the time the issue is published!
<br>-- Mike
</BLOCKQUOTE>
<p>
To repeat from last time:
</p>
<BLOCKQuote>
You can check out <I>Linux
Journal</I>'s Career Center (<A HREF="http://www.linuxjournal.com/employ/"
>http://www.linuxjournal.com/employ</A>),
Geekfinder (<A HREF="http://www.geekfinder.com/"
>http://www.geekfinder.com</A>), the Sysadmin's Guild (SAGE)
Job Center (<A HREF="http://www.usenix.org/sage/jobs/sage-jobs.html"
>http://www.usenix.org/sage/jobs/sage-jobs.html</A>), or pay
attention to your local area papers for when major high tech Job
Fairs are in your area, so you can go to them. There are also some
really generic job sites like Dice.Com (<A HREF="http://www.dice.com/"
>http://www.dice.com</A>) or
MonsterBoard (<A HREF="http://www.monsterboard.com/"
>http://www.monsterboard.com</A>). If you hate the
corporate mold, check out some of the project offers at
Cosource (<A HREF="http://www.cosource.com/"
>http://www.cosource.com</A>) or Collab.Net
(<A HREF="http://www.collab.net/"
>http://www.collab.net</A>). Or put up your consulting shingle by
listing yourself at Linuxports (<A HREF="http://www.linuxports.com/"
>http://www.linuxports.com</A>) and
getting listed into a few search engines.
</BLOCKQUOTE>
<p>
... and expand a little:
</p>
<BLOCKQuote>
When I went to Google! and typed in the keywords:
<br>
<A HREF="http://www.google.com/search?q=linux+jobs&amp;btnG=Google+Search"
>linux jobs</a>
</BLOCKQUOTE>
<BLOCKQuote>
-- it claimed it has about 400 entries.
</BLOCKQUOTE>
<p>
As Mike noted, many
of these allow employers to post job offers, as well as
having jobseekers post resum&eacute;s.
<br>-- Heather
</p>
<!-- end jobs -->
<!--endcut ============================================================-->
<H4 ALIGN="center">"Linux Gazette...<I>making Linux just a little more fun!</I>"</H4>
<HR>
<center>
<table cellpadding=7><tr><td>
<IMG SRC="../gx/bytes.gif" border=1 ALT="News Bytes">
</td><td>
<H3>Contents:</H3>
<ul>
<li><a HREF="#distro">Distro News</A>
<li><a HREF="#general">News in General</a>
<li><a HREF="#software">Software Announcements</a>
</ul>
</td></tr></table>
<STRONG>Selected and formatted by <A HREF="mailto:michael.conry@softhome.net">Michael Conry</A> and Mike Orr</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.
<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>
<a href="http://www.debian.org/">Debian</a> Potato users out there itching
to get their hands on the new 2.4 kernels may be interested in these links.
<a href="http://www.lwn.net/">Linux Weekly News</a>
have posted the Debian-News
<a href="http://lwn.net/2001/0419/a/deb22-2.4.php3">message</a>
of Apr 16, which has advice on getting kernel 2.4 working on you 2.2 potato
install. The
<a href="http://www.fs.tum.de/~bunk/kernel-24.html">instructions</a> should
be read carefully before upgrading.
<hr noshade width="20%">
In other Debian news, The third revision of Debian GNU/Linux 2.2 (nickname
`potato') has been released. This point release, version 2.2r3, mostly
includes security updates, along with a few corrections to important bugs in
the stable distribution. The details are
<a href="http://lists.debian.org/debian-announce-01/msg00002.html">
online</a>.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Mandrake
</FONT>
</H3>
<P>
<a href="http://www.linux-mandrake.com">
Linux-Mandrake</a> 8.0 has been released.
New features can be studied in detail on their
<a href="http://www.linux-mandrake.com/en/8.0.php">website</a>. Highlights
include KDE 2.1.1, GNOME 1.4, Kernel 2.4.3, Xfree86 4.0.3, and
Anti-aliasing.
If you would like to donate to the project, go to
<a href="http://www.linux-mandrake.com/donations">
http://www.linux-mandrake.com/donations/</a>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Progeny
</FONT>
</H3>
<P> <a href="http://www.progeny.com/">Progeny</a> Debian is
<a href="http://www.progeny.com/news/newsreleases/?newsrelease=04_09_2001">
out</a> now. The download edition is already
<a href="http://www.progeny.com/download/">available</a>, and the box set
will be on sale from April 23. Ian Murdock, Progeny CEO and President, has
said that Progeny Debian is not trying to be another distribution of Linux.
"In fact, we don't see Progeny Debian as a separate distribution. It is an
enhanced version of Debian for the commercial market. All of our development
efforts are being contributed back to the Debian community, and we hope that
our work can help make Debian better for all users", he comments.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Red Hat
</FONT>
</H3>
<P>
<a href="http://www.redhat.com/">Red Hat</a> have announced Red Hat Linux 7.1
<a href="http://www.redhat.com/about/presscenter/2001/press_sevenone.html">
with 2.4 kernel</a>.
The Red Hat website has a complete list of the
<a href="http://www.redhat.com/products/software/linux/rhl_new_features.html">
new features</a>.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Slackware
</FONT>
</H3>
<a href="http://www.lwn.net/">Linux Weekly News</a>
have a
<a href="http://lwn.net/2001/0419/dists.php3">story</a>
on
<a href="http://www.slackware.com/">Slackware</a>'s difficulties.
Apparently, Wind River have laid off the
Slackware development staff. Patrick Volkerding, who is also laid off, says
that he has sufficient funds to publish the next edition of Slackware, but
not enough to pay developers for their input.
This was a big
<a href="http://www.slackware.com/forum/read.php?f=5&i=7887&t=7887">
topic</a>
of conversation on the Slackware forum (might break Netscape).
<p> If you want to see Slackware continue, you can donate to the project via
their <a href="http://www.paypal.com/">PayPal</a> account. Donate to
paypal@slackware.com
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">SuSE
</FONT>
</H3>
<a href="http://www.suse.de/en/">SuSE Linux</a>
have announced the release of SuSE Linux 7.1 for the Sparc
architecture of Sun Microsystems.
SuSE Linux 7.1 for Sparc comes with the proven Linux Kernel 2.2.18
as well as the latest Kernel 2.4.2 as a special bonus for
technophile users. SuSE Linux 7.1 is based on the program library
glibc 2.2. The popular SBUS graphics cards are supported by
XFree86 4.0.2.
Application support for LFS (Large File Support) and
IPv6 (Internet Protocol
Version 6) has grown.
<P> SuSE Linux 7.1 for Sparc (Item No. 99985-21SPC) is supplied on
five CD-ROMs with online documentation. It can be obtained
exclusively directly from SuSE at the price of EUR 159 plus VAT.
SuSE Linux 7.1 for Sparc is also available for download from
<a href="ftp://ftp.suse.com/pub/suse/sparc/suse-sparc/">
ftp://ftp.suse.com/pub/suse/sparc/suse-sparc/</a>
<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">Upcoming conferences and events
</FONT>
</H3>
<P> Listings courtesy <EM>Linux Journal</EM>. See <EM>LJ</EM>'s
<A HREF="http://noframes.linuxjournal.com/events/">Events</A> page for the
latest goings-on.
<!-- *** BEGIN events table [this line needed by Linux Gazette events.py *** -->
<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>Linux for Industrial Applications</b><br>3rd Braunschweiger
Linux-Tage<BR>
<td valign=top>May 4-6, 2001<BR>Braunschweig, Germany<BR>
<A HREF="http://braunschweiger.linuxtage.de/industrie/" target=_blank>
http://braunschweiger.linuxtage.de/industrie/</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>Linux@Work Europe 2001</b><BR>
<td valign=top>May 8 - June 15, 2001<BR>Various Locations<BR>
<A HREF="http://www.ltt.de/linux_at_work.2001/" target=_blank>
http://www.ltt.de/linux_at_work.2001</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>Linux Expo, S&atilde;o Paulo</b><BR>
<td valign=top>May 9-10, 2001<BR>S&atilde;o Paulo, Brazil<BR>
<A HREF="http://www.linux-expo.com" target=_blank>
http://www.linux-expo.com</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>SANS 2001</b><BR><td valign=top>May 13-20, 2001<BR>
Baltimore, MD<BR>
<A HREF="http://www.sans.org/SANS2001.htm" target=_blank>
http://www.sans.org/SANS2001.htm</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>7th Annual Applied Computing Conference</b><BR>
<td valign=top>May 14-17, 2001<BR>Santa Clara, CA<BR>
<A HREF="http://www.annatechnology.com/annatech/HomeConf2.asp"
target=_blank>
http://www.annatechnology.com/annatech/HomeConf2.asp</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>Linux Expo, China</b><BR>
<td valign=top>May 15-18, 2001<BR>Shanghai, China<BR>
<A HREF="http://www.linux-expo.com/" target=_blank>
http://www.linux-expo.com</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>SITI International Information Technologies Week</b><br>
OpenWorld Expo 2001<BR>
<td valign=top>May 22-25, 2001<BR>Montr&eacute;al, Canada<BR>
<A HREF="http://www.mediapublik.com/en/" target=_blank>
http://www.mediapublik.com/en/</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>Strictly e-Business Solutions Expo</b><BR>
<td valign=top>May 23-24, 2001<BR>Minneapolis, MN<BR>
<A HREF="http://www.strictlyebusinessexpo.com/" target=_blank>
http://www.strictlyebusinessexpo.com</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>Linux Expo, Milan</b><BR>
<td valign=top>June 6-7, 2001<BR>Milan, Italy<BR>
<A HREF="http://www.linux-expo.com" target=_blank>
http://www.linux-expo.com</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>Linux Expo Montr&eacute;al</b><BR>
<td valign=top>June 13-14, 2001<BR>Montr&eacute;al, Canada<BR>
<A HREF="http://www.linuxexpomontreal.com/EN/home/" target="_blank">
http://www.linuxexpomontreal.com/EN/home/</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>Open Source Handhelds Summit</b><BR>
<td valign=top>June 18-19, 2001<BR>Austin, TX<BR>
<A HREF="http://osdn.com/conferences/handhelds/" target=_blank>
http://osdn.com/conferences/handhelds/</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 valign=top>June 25-30, 2001<BR>Boston, MA<BR>
<A HREF="http://www.usenix.org/events/usenix01/" target=_blank>
http://www.usenix.org/events/usenix01</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>PC Expo</b><BR>
<td valign=top>June 26-29, 2001<BR>New York, NY<BR>
<A HREF="http://www.pcexpo.com/" target=_blank>www.pcexpo.com</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>Internet World Summer</b><BR><td valign=top>July 10-12, 2001<BR>
Chicago, IL<BR>
<A HREF="http://www.internetworld.com/" target=_blank>
http://www.internetworld.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 Open Source Convention</b><BR>
<td valign=top>July 23-27, 2001<BR>San Diego, CA<BR>
<A HREF="http://conferences.oreilly.com/" target=_blank>
http://conferences.oreilly.com</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>10th USENIX Security Symposium</b><BR>
<td valign=top>August 13-17, 2001<BR>Washington, D.C.<BR>
<A HREF="http://www.usenix.org/events/sec01/" target=_blank>
http://www.usenix.org/events/sec01/</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>HunTEC Technology Expo & Conference</b><br>Hosted by Hunstville IEEE<BR>
<td valign=top>August 17-18, 2001<BR>Huntsville, AL<BR>
URL unkown at present<br>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>Computerfest</b><BR>
<td valign=top>August 25-26, 2001<BR>Dayton, OH<BR>
<A HREF="http://www.computerfest.com/" target=_blank>
http://www.computerfest.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 valign=top>August 27-30, 2001<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>The O'Reilly Peer-to-Peer Conference</b><BR>
<td valign=top>September 17-20, 2001<BR>Washington, DC<BR>
<A HREF="http://conferences.oreilly.com/p2p/call_fall.html"
target=_blank>
http://conferences.oreilly.com/p2p/call_fall.html</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>Linux Lunacy<br>Co-Produced by <i>Linux
Journal</i> and Geek Cruises</b><BR>
<A HREF="http://www.linuxjournal.com/lunacy/cruise.html" target=_blank>
Send a Friend <i>LJ</i> and Enter to Win a Cruise!</A><BR>
<td valign=top>October 21-28, 2001<BR>Eastern Caribbean<BR>
<A HREF="http://www.geekcruises.com/" target=_blank>
http://www.geekcruises.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 valign=top>October 30 - November 1, 2001<BR>Frankfurt, Germany<BR>
<A HREF="http://www.linuxworldexpo.de/linuxworldexpo/index.html"
target=_blank>
http://www.linuxworldexpo.de/linuxworldexpo/index.html</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>5th Annual Linux Showcase & Conference</b><BR>
<td valign=top>November 6-10, 2001<BR>Oakland, CA<BR>
<A HREF="http://www.linuxshowcase.org/" target=_blank>
http://www.linuxshowcase.org/</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>Strictly e-Business Solutions Expo</b><BR>
<td valign=top>November 7-8, 2001<BR>Houston, TX<BR>
<A HREF="http://www.strictlyebusinessexpo.com/" target=_blank>
http://www.strictlyebusinessexpo.com</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>LINUX Business Expo</b><BR>Co-located with COMDEX<br>
<td valign=top>November 12-16, 2001<BR>Las Vegas, NV<BR>
<A HREF="http://www.linuxbusinessexpo.com" target=_blank>
http://www.linuxbusinessexpo.com</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
<tr><td valign=top>
<b>15th Systems Administration Conference/LISA 2001</b><BR>
<td valign=top>December 2-7, 2001<BR>San Diego, CA<BR>
<A HREF="http://www.usenix.org/events/lisa2001/" target=_blank>
http://www.usenix.org/events/lisa2001</A><BR>
</td></tr>
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
</table>
<!-- *** END events table [this line needed by Linux Gazette events.py *** -->
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Newlix ServerWare
</FONT>
</H3>
<P> <a href="http://www.newlix.com">
Newlix Corporation</a> has developed an intelligent and customisable
administration solution for Linux based server appliances. Newlix
ServerWare contains an intelligent administration engine so intuitive that
it creators say
"it can be seen as having an entire IT team sucked right into the server
appliance!"
This technology is intended to improve the functionality and ease of use of
server appliances.
Full details are
<a href="http://www.newlix.com/products/datasheet.html">available</a> on the
Newlix website.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">eCluster Internet Server Clustering
</FONT>
</H3>
<P>eCluster from
<a href="http://www.xgforce.com/">XGforce</a>
is a scalable, Intelligent load-balance
cluster system, which can be scaled up to 1024 Internet cluster
groups and each contains 1024 cluster nodes(1024X1024).
With round trip time load balance algorithm, one can cluster
any OSes on any CPUs, such as NT, Novell,
UNIXes (SUN SPARC, OS2000 BSD, Linux), etc. The
support of load balance or fail safe mode, ensured non-stoppable
and fast business transactions for SQL Database Servers, such as
Oracle, MS SQL, Informix, MySQL, Postgress, etc.
<p>
A load balance algorithm is used which includes CPU load, weighted load,
vm usage, round trip time, CPU usage, etc.
Other features include Network Traffic Distribution, Network Failsafe,
CFS(tm), and Large Network Management for both Internet and Intranet.
Ports for LINUX, SUN, FreeBSD, and NT are available and free support
is provided. For more information, consult the XGforce
<a href="http://www.xgforce.com/">website</a>.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">ActiveState Launches ASPN Initiative
</FONT>
</H3>
<P>
<a href="http://www.ACtiveState.com/">
ActiveState</a> has launched a new initiative to enable programming with
open source technologies. The ActiveState Programmer Network (ASPN)
includes quality assured binary distributions of Perl, Python and Tcl;
multi-language and platform IDEs; technical references, sample code, recipes
and more. For additional details or go to the
<a href="http://www.ACtiveState.com/ASPN">
ASPN website</a>.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">OTG Software
</FONT>
</H3>
<p><a href="http://www.otg.com/">
OTG Software</a> has announced its acquisition of
<a href="http://www.smartstorage.com">
Smart Storage</a>, a privately held provider
of standards based DVD and CD storage management software.
OTG expects Smart Storage's CD/DVD technology to speed its
entry into the rich media market, to boost its international
momentum, and to enable it to offer more solutions for storing
and accessing data on the UNIX and Linux platforms.
<hr noshade width="20%">
OTG, has also announced its participation and strategic partnership in
<a href="http://www.bmc.com/">
BMC Software</a>'s Application-Centric Storage Management Consortium
(<a href="http://www.bmc.com/products/storage/index.html?p041001er">
ACSM</a>),
a partner program that provides a competitive edge and
additional avenues to members for market development, customer services and
market expansion.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linux Fortran
</FONT>
</H3>
Many of us involved in scientific computing make considerable use of
Fortran, either for writing our own code, or for the many libraries which
have been written in the language. Dr. Bronson Messer of the University of
Tennessee has recommended
<a href="http://studbolt.physast.uga.edu/templon/fortran.html">
http://studbolt.physast.uga.edu/templon/fortran.html</a> as a good source of
information relating to Linux and Fortran.
It has comparisons of various compilers, news, tips, etc.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green"><IMG ALT="Linux Focus" SRC="../gx/linuxfocus.jpg" WIDTH="143" HEIGHT="45">
</FONT>
</H3>
Here are the May-June articles for the ezine
<A HREF="http://www.linuxfocus.org/">Linux Focus</A>.
<br>
<UL>
<LI><a href="http://linuxfocus.org/English/May2001/article205.shtml">Building a Linux-controlled walking robot</a><br></LI>
<LI><a href="http://linuxfocus.org/English/May2001/article202.shtml">Through the tunnel</a><br></LI>
<LI><a href="http://linuxfocus.org/English/May2001/article190.shtml">Avoiding security holes when developing an application - Part 3 : buffer overflows</a><br></LI>
<LI><a href="http://linuxfocus.org/English/May2001/article181.shtml">Do your job with make!</a><br></LI>
<LI><a href="http://linuxfocus.org/English/May2001/article200.shtml">Introduction to BORG</a><br></LI>
<LI><a href="http://linuxfocus.org/English/May2001/article204.shtml">Real-time mp3 recording, part 2</a><br></LI>
<LI><a href="http://linuxfocus.org/English/May2001/article194.shtml">Game Review - GLTron</a><br></LI>
</UL>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linux Links
</FONT>
</H3>
<P>
There is a
<a href="http://www.tempest.com.br/advisories/01-2001.html">
vulnerability</a> in kernel 2.4.x IPTables which you should patch if you use
Linux 2.4 for firewalling.
Quoting from the SANS Institute's alert:
"A vulnerability in the ip_conntrack_ftp module, which is responsible
for tracking incoming FTP connections, has been found. This
vulnerability could be used to bypass IPTables firewall rules if
IPTables is configured to allow RELATED connections to pass unhindered,
which is a standard configuration used with FTP servers. An attacker
can trick the ip_conntrack_ftp module into creating RELATED connections,
thus allowing various outbound connections to the network of the
firewall itself."
A <a href="http://netfilter.samba.org/security-fix/">
patch</a> is available.
<p>
<a href="http://www.thedukeofurl.org/">The Duke of URL</a> has the following
links to tempt you:
<ul>
<li><a href="http://www.thedukeofurl.org/reviews/misc/suse71">
review</a> of SuSE Linux 7.1
http://www.thedukeofurl.org
<li><a href="http://www.thedukeofurl.org/reviews/systems/pogovelocity">
Review</a> of the Pogo Linux Velocity, a desktop Linux machine which sports
IDE RAID 1 or RAID 0.
<li><a href="http://www.thedukeofurl.org/reviews/network/wirelesslan2">
Wireless LAN Overview</a> Part 2: the Devices. This is a good article for
anyone interested in how the new 802.11b devices run on both Linux and
Windows systems. Both cards are tested on each OS.
<li>An <a href="http://www.thedukeofurl.org/reviews/network/v92">
editorial</a> on V.92, its benefits, if you're eligible for the update
and if V.92 is really that much better than the older V.90 standard for
modems.
</ul>
<P>
Since the point of FAQ's is to get newbies up to speed, let's take this
opportunity to direct attention to <a href="http://www.tux.org/lkml">
The linux-kernel mailing list FAQ</a>. Then when you have digested that, you
can see what's happening
<a href="http://vger.kernel.org/">on-list</a>.
<p>
<a href="http://www.slashdot.org/">SlashDot</a> has offered the following
links in the past month:
<ul>
<li> An <a href="http://www.daemonnews.org/200104/bsd_family.html">
article</a> discussing the differences between FreeBSD, NetBSD, OpenBSD and
Apple's OS X/Darwin
<li> Slashdot have an
<a href="http://slashdot.org/interviews/01/04/04/1345213.shtml">
interview</a> with Microsoft's Doug Miller
<li>
<a href="http://www.oreilly.com/news/parrotstory_0401.html">
Parrot:</a> how the April Fool's joke of the Perl and Python merger was
perputrated.
</ul>
Suresh Ramasubramanian mailed a link to
<a href="http://www.hserus.net/dlhowto.html">
an article</a> he has prepared, providing a HOWTO
on configuring a linux box dialup connection, complete with
configuring email services (using sendmail, exim and postfix as the MTA
and mutt as the MUA) on the box. You might find this useful.
<P> Bryan Pfaffenberger writes about
<a href="http://www.linuxjournal.com/articles/currents/0030.html">
Why Open Content Matters</a> in his
Linux Journal web column
"<a href="http://www.linuxjournal.com/articles/currents/">
Currents</a>".
<P> And please, some paper-clip sized sympathy for The Microsoft Office
help clip who became the latest (and most welcome ;-)
<a href="http://news.cnet.com/news/0-1003-200-5575112.html?tag=st.cn.1.lthd">
redundancy</a> in the tech-sector recently.
<p>
Finally, not strictly Linux, but
<a href="http://www.unixspace.com/">UnixSpace.com</a> have announced a free
on-line internet access
<a href="http://www.unixspace.com/context">service</a>
to their ConteXt database server. Includes 30Mb space, Unix shell command line, and some GUI treats focused on DataBase building.
<a name="software"></a>
<P> <hr> <P>
<!-- =================================================================== -->
<center><H3><font color="green">Software Announcements</font></H3></center>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">SSH
</FONT>
</H3>
<P>
<a href="http://openssh.com/">
Open SSH</a> have announced the release of version 2.5.2 of their software.
The Open SSH suite includes the ssh program which replaces rlogin and
telnet, scp which replaces rcp, and
<A HREF="../issue64/dellomodarme.html">sftp</A>
which replaces ftp. Also included
is sshd which is the server side of the package, and the other basic
utilities like ssh-add, ssh-agent, ssh-keygen and sftp-server. OpenSSH
supports SSH protocol versions 1.3, 1.5, and 2.0. You cannot afford to
ignore security!
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">PostgreSQL 7.1 version announced
</FONT>
</H3>
The
<a href="http://www.ca.postgresql.org/index.html">
PostgreSQL</a> open source database core development community have
announced the official release of the PostgreSQL 7.1 version. Check their
<a href="http://www.ca.postgresql.org/news.html">news</a> page for more information.
PostgreSQL 7.1 will feature several upgrades and improvement from the
previous version, including:
<ul>
<li> full support for outer joins
<li> removal of the notorious 8k row length limit
<li> write-ahead logging performance enhancement
<li> even greater support for complex queries
<li> support for a larger number of complex queries
<li> a boost in overall performance (speed)
<li> improvements to the JDBC and ODBC interfaces and backup/restore
features
<li> Fuller support for ANSI SQL92 standards.
</ul>
PostgreSQL version 7.1 includes contributions from more than 120 members of
the PostgreSQL open source development community.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Python
</FONT>
</H3>
<a href="http://www.python.org/2.1/">
Python 2.1</a> has been released. Find out
<a href="http://www.amk.ca/python/2.1/">
what's new</a>, and read the full
<a href="http://sourceforge.net/project/shownotes.php?release_id=31464">
release notes</a>.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Cylant IDS for Linux: prevents unknown attacks too
</FONT>
</H3>
<P><a href="http://www.cylant.com">
Cylant Technology</a> have released CylantSecure
for Linux, an intrusion detection system that protects against both known
and previously unknown forms of attack.
It uses a modified kernel in conjunction with custom kernel modules to
provide system protection -- and becomes part of the running kernel.
Unlike other IDS products,
CylantSecure does not use rules or patterns for identifying attacks,
eliminating the need to rely on a database of known attack signatures.
Instead, it focuses on actual software behaviour and builds a statistical
model of nominal system behaviour. It enables a computer to distinguish
between normal and abnormal behaviour, and then uses that information
to stop malicious attacks before any damage can occur.
Details on the software are in an online
<a href="http://www.cylant.com/products/secure.htm">
press release</a>.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">ICS Integrates Themes Into Open Motif
</FONT>
</H3>
<a href="http://www.ics.com/">
Integrated Computer Solutions</a> has announced the Developer's
Release of its initiative to add themes to Open Motif. Themes is a
capability supplied with Linux desktop environments that provides users with
the ability to personalise the overall look of the user interface of their
desktop.
The Developer Release of Themes for Open Motif works with GTK themes created
for Gnome. Currently, themes are
converted by hand into a format that Open Motif can process. As the Open
Motif Themes capability evolves, no conversion will be necessary and Open
Motif based applications will automatically adopt the theme set by the end
user. The objective of the initiative is to support both the Gnome and KDE
desktop environments. ICS is actively looking to recruit other Open Source
developers to help with this project.
Further details can be found at the ICS forum
<a href="http://www.ics.com/forum/forum.php?forum_idG">
website</a>.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Internet Exchange Messaging Server 5
</FONT>
</H3>
Messaging software developer
<a href="http://www.ima.com/">International Messaging Associates</a>
have launched the beta version of its latest product,
Internet Exchange Messaging Server 5 (IEMS 5). IEMS 5 supports distributed
computing environments and is said to run well on mixed Linux and Windows
platforms.
"Currently, we are working on providing support for several Linux
distributions," said Tim Kehres, IMA Managing Director. These Linux
distributions include RedHat, SuSE, VALinux, Turbo Linux, Caldera, Mandrake,
among others.
This product enables users to access
their mailboxes via POP3 or IMAP4-capable clients such as Microsoft Outlook,
Netscape Navigator, Eudora Mail, as well as the Internet Exchange Web Mail
Client.
<P> You can get a copy of IEMS 5 at
<a href="http://www.ima.com/download/v5eval.html">
http://www.ima.com/download/v5eval.html</a>.
The product overview can, also be
<a href="http://www.ima.com/pdf/iemsoverview.pdf">
downloaded</a>. Beta participants of the Linux-Windows-based
Internet Exchange Messaging Server (IEMS) 5 shall get a US$300 price
reduction (about 30% off) if
they purchase the messaging solution now than wait for its forthcoming
official release.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Other software
</FONT>
</H3>
<a href="http://www.ba.be/">Better Access Networking</a> in Leuven is
<a href="http://www.teamware.com/">Teamware's</a> new reselling partner for
Teamware Office 5.3 for Linux in Belgium. Teamware Office for Linux completes
Better Access' product offering by bringing e-mail, calendar and document
management functionalities to Linux. Teamware have also made a partner
agreement with
<a href="http://www.coresys.se">
Coresys AB</a> in Sweden.
For latest news, check out the Teamware
<a href="http://www.teamware.com/mail/">newsletter</a>.
<hr noshade width="20%">
<P> The new version of
<a href="http://www.gnu.org/software/mailman/">
Mailman</a>, 2.0.4, compatible with
<a href="http://www.python.org/2.1/">Python 2.1</a>, is out.
<a href="http://lwn.net/">
LWN</a> have the
<a href="http://lwn.net/2001/0419/a/mailman.php3">
story</a>.
<hr noshade width="20%">
<a href="http://www.insignia.com/">Insignia</a> sponsored a technical
interest forum at the recent Embedded Systems Conference. The subsequent
detailed press release is wide-ranging and available
<a href="http://www.insignia.com/news/e_041001.asp">online</a>.
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2001, Michael Conry and
the Editors of <A HREF="mailto:gazette@ssc.com"><I>Linux Gazette</I></A>.<BR>
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
Published in Issue 66 of <i>Linux Gazette</i>, May 2001</H5>
<!-- *** END copyright *** -->
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<center>
<H1><A NAME="answer">
<img src="../gx/dennis/qbubble.gif" alt="(?)"
border="0" align="middle">
<font color="#B03060">The Answer Gang</font>
<img src="../gx/dennis/bbubble.gif" alt="(!)"
border="0" align="middle">
</A></H1>
<BR>
<H4>By Jim Dennis, Ben Okopnik, Dan Wilder, Breen, Chris, and the Gang,
the Editors of Linux Gazette...
and You!
<br>Send questions (or interesting answers) to
<a href="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</a>
</H4>
<p><em><font color="#990000">There is no guarantee that your questions
here will <b>ever</b> be answered. You can be published anonymously
- just let us know!
</font></em></p>
</center>
<p><hr><p>
<!-- endcut ======================================================= -->
<H3>Contents:</H3>
<dl>
<dt><a href="#tag/greeting"
><strong>&para;: 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>help installing telnetd</strong></a>
<dt><A HREF="#tag/2"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>touch files recursively linux mandrake 7.2</strong></a>
<dt><A HREF="#tag/3"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Winprinters</strong></a>
<dt><A HREF="#tag/4"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>your mail --or--
<dd><A HREF="#tag/4"
><strong>Search and Replace Without Breaking Permissions</strong></a>
<dt><A HREF="#tag/5"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>your mail --or--
<dd><A HREF="#tag/5"
><strong>Kernel Panic after putting disk back</strong></a>
<dt><A HREF="#tag/6"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Procmail and regular expressions....(Snowwhite...)</strong></a>
<dt><A HREF="#tag/7"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Need to milk you again --or--
<dd><A HREF="#tag/7"
><strong>Timely Samba Release?</strong></a>
<dt><A HREF="#tag/8"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>3d linux</strong></a>
<dt><A HREF="#tag/9"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>linux vectoring synergy</strong></a>
<dt><A HREF="#tag/10"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Why linux for routing</strong></a>
<dt><A HREF="#tag/11"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>disappearing act</strong></a>
<dt><A HREF="#tag/12"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>getting 2 dynamic ip addresses</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="(&para;) " border="0"
>Greetings from Heather Stern</H3>
<!-- begin hgreeting -->
<p>Once again, welcome to the wonderful world of The Answer Gang. The peeve
of the month this time is a tie:</p>
<ul>
<li><strong>AOL users asking for help regarding things which clearly would
not be answered by AOL's tollfree tech support by anything but closing the
offending account.</strong>
<br>&nbsp;
<br>Folks, AOL doesn't <em>have</em> a Linux version, not even for SVGAlib.
The closest we can get are a zillion instant messanger clients,
including Netscape, for which the universal trick is "tell it who you
are on AOL, then start IM'ing your friends." If you can't figure
out who you are on AOL, we certainly don't know! So, we can't answer
any AOL questions at all. Even ethical ones.
<br>&nbsp;
<li><strong>Business people who want us to do <em>their</em> homework -
asking very complicated questions clearly worth a certain amount of
consulting time, frosted with an automatically tacked on "This message
is confidential and may not be given to anyone but the intended recipient,
legal mumbo jumbo, etc. etc." message which they may not even be aware of,
and possible cherry on top "Please hurry."</strong>
<br>&nbsp;
<br>Understand we're not really peeved at the person who's asking, so much
as the presumption. <em>Linux Gazette</em> is for everyone ... to
make Linux just a little more fun ... and if we don't get to (potentially)
give your answer to the masses, too, then <em>LG</em> isn't getting
"paid" to pass your question along to us.
<br>&nbsp;
<br>If you're a corporate type with an outbound mail gateway that adds such
notes, and you're fairly sure your answer will be useful (maybe even fun)
for the rest of the <em>Linux Gazette</em> readership, then
<blockquote><em><font color="#FF0000">give us permission to
publish the thread, up front, when you ask the question.
</font></em></blockquote>
<br>&nbsp;
<br>Your company will still be anonymous. You can be anonymous too, if
you say so.
<br>&nbsp;
<br>As for "hurry" -- if you want a timely answer, or even to be sure of
getting one, pay a consultant.
(Cheap plug: some of the Gang happen to be consultants. But not
all of us.)
</ul>
<p>We could probably use a few more articles that appeal to corporate
users, though! Enough of that, though. Onward to something fun. The
fun I took on this month is to upgrade my system.</p>
<p>Oh boy.</p>
<p>Surely I mentioned that I've been on a continuous upgrade path of
<a href="http://www.suse.com/">SuSE</a> since early 5.1? No? Well,
okay, I admit, I did a "real" reinstall sometime around 6.1 or so,
and then have chugged along on security updates and adding RPMs from
the latest 6.x branch for a while. With an occasional graft from
Debian packages and source tarballs.</p>
<p>Like any normal user I also have lots of different things I do, so
my home directory's a bit messy, I have a few projects here and there,
and I haven't been real prissy about which account I use to download
general things like cartoons (Hi
<a href="http://www.shanecollinge.com/Linux">Shane</a>!)
or new kernel sources into. Usually I remember to move them to
someplace under /usr/src eventually.</p>
<p>As Piglet was fond of saying, "Whatta... whatta mess."</p>
<p>Surely it would have been easier for me if I hadn't decided to buy an
extra hard disk at the same time, discovered that my floppy bay stopped
working (p.s. can't boot from my CD. Something to do with it being a SCSI
device in an IDE system), and (eek!) was reminded that we'd like to get
the column fragments in early this month.</p>
<p>Of course, I was able to abuse about a CD's worth of free disk space to
cover for this. I made the extra hard disk a feature rather than more
trouble by installing the new setup solely to it.</p>
<p>The install went fine, but it wasn't completely smooth. Here's a few
hints if you're plotting an upgrade, and I promise, they don't depend on
you using SuSE:</p>
<ul>
<li><strong>Decide how much stuff you're going to put on there <em>before</em>
you lay out your partitions, so you have enough.</strong>
<br>I ended up experimenting with <tt>parted</tt> after I foolishly
made <tt>/usr</tt> a bit small (Hint: 2 Gb is <em>not</em> big enough.
What was I <em>thinking</em>? Oh yeah. My old drive didn't use Gnome and K
desktop. Now they're par for the course. Heh.) <tt>parted</tt> works
great so far, provided you've had prior training with the "Towers of
Hanoi" game first. It can resize partitions, and it can move them, but
it can't slide them forward. I had this great wooden Hanoi game when
I was a kid, and while I was juggling partitions I could almost hear the
wooden clicks and swaps in my head.
<br>&nbsp;
<li><strong>Check that you're going to be able to use the same account
numbers.</strong>
<br>This is more of a biggie if you're completely changing distros, but
it still applies. If you've created "system level" accounts for a
database or something, and it wasn't a package designed for your
distro, you may discover that something else expects to use that number
now. Whether you move your own, or decide to do something about the
interloper, things aren't going to work right until it's fixed.
<br>&nbsp;
<br>If you can't, and you're restoring accounts from a tarball, then
just make sure you have the user and group accounts you need
already assigned to their new numbers before you restore. Then
<tt>tar</tt> will deal with the number change for you.
<br>&nbsp;
<li><strong>While we're talking about version numbers, check that config files
haven't completely changed style during the upgrade.</strong>
<br>If they have, you probably cannot just drop the old ones back in
safely at all. In this category, I got off light... maybe because
I'd already gone and upgraded a few things on my own.
<br>&nbsp;
<li><strong>If it's in the retail channel, it's out of date -- get your security
patches.</strong>
<br>The new version of YaST makes this easier, but I also had a few things
of my own to add to the security plan.
</ul>
<p>Beyond these normal things, I really needed to get some of these projects
into directories of their own, so it's clear where I should put stuff for
those things from now on. Rather like ordering the teenager to clean up
their room...</p>
<p>Next thing I know the end of the month is approaching, and my dreams of
handling TAG at a dreamy summertime pace are dashed again
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
</p>
<p>I still think backups are your friend, but at least I didn't need 'em
this time. All I need is more RAM and I'm set! The weather is
improving and I'm having a great time. So here's those answers --
share and enjoy.</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"
>help installing telnetd</H3>
<p><strong>From dtrott
</strong></p>
<p align="right"><strong>Answered By Ben Okopnik
<br></strong></p>
<!-- sig -->
<P><STRONG>
Hi
<br>I have recently installed debian 2.2, i was just wonderin if someone had a link
or could suggest where i might find some basic instructions on setting up
telnetd.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
&lt;Warning! Opinion time!&gt; I can give you a one-word instruction manual:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQuote>
Don't.
</BLOCKQuote></BLOCKQUOTE>
<BLOCKQUOTE>
Telnet is insecure, and its capabilities are seriously limited by
comparison with SSH. Install ssh/sshd, and create an executable file in
your <TT>/etc/init.d/</TT> directory called "sshd" with the following content:
</BLOCKQUOTE>
<p align="center">See attached <a href="misc/tag/sshd.sh.txt"
>sshd init script</a></p>
<BLOCKQUOTE>
Now, create a symlink in your <TT>/etc/rc2.d/:</TT>
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
ln -s /etc/init.d/sshd /etc/rc2.d/S20sshd
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
The "S20" part says to 'S'tart the service (rather than 'K'illing it); the
'20' places it (on my system, at least - take a look at your own "rc2.d"
and number it appropriately) just after the link to "inetd". The position
of the link is not all that critical; next to "inetd" (which starts other
network services) seems appropriate, though. If you want to run the server
immediately after doing this, but don't want to reboot, simply type
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
sshd
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
at the command prompt.
</BLOCKQUOTE>
<BLOCKQUOTE>
That's it. Just type 'ssh' where you would usually type 'telnet'. Oh, and
make sure to at least skim the 'ssh' and 'sshd' man pages; this will make
you aware of the many options that are available with this protocol.
</BLOCKQUOTE>
<BLOCKQUOTE>
I have not researched SSH in great depth, by the way; "kill telnet" is
sorta common wisdom at this point, and I've read just enough to agree with
it. After using telnet for a number of years, I find that I'm very pleased
by the configurability of SSH; that alone, security aspects aside, made it
worth switching for me. It would be nice if the other TAG members chimed
in with their take on the proper usage and better reasons, but I'm highly
satisfied with my installation.
</BLOCKQUOTE>
<!-- 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"
>touch files recursively linux mandrake 7.2</H3>
<p><strong>From Martin Colello
</strong></p>
<p align="right"><strong>Answered By Ben Okopnik
<br></strong></p>
<P><STRONG>
This is probably so easy as to be considered a joke, but I can't figure out how
to do it.
</STRONG></P>
<P><STRONG>
I need to touch a bunch of directories recursively. All the directories and
their contents, but I can't find any option in the touch command that allows
this.
</STRONG></P>
<P><STRONG>
Any help appreciated, thanks!
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
I've never seen a 'recurse' option in any "touch" I've used. Doesn't mean
that one doesn't exist, though. Since yours doesn't, try this:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
find DIR -exec touch {} \;
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
where DIR is either the path to the top directory that contains all the
subdirectories you want to touch, OR is a list of the paths to those
subdirectories themselves. One of those two options should do what you
want. If you want to touch only the files (not the directories), add the
'-type f' option before '-exec'.
</BLOCKQUOTE>
<BLOCKQUOTE>
It can also be a healthy idea to try it with "echo" instead of "touch" the
first time; I test a lot of my "dangerous" scripts that way before letting
them loose on live data.
</BLOCKQUOTE>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Mike]
Or:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
find DIR | xargs touch
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Hi, just wanted to let you know the command worked great, I never thought of
using any other argument with find except -name.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
"find" is a <em>very</em> cool utility. The man page is pretty big, but it's well
worth reading up on. Lots and lots of good options.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Linux Gazette rocks, thanks a lot for your help.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
Yeah, we know.
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
</BLOCKQUOTE>
<BLOCKQUOTE>
You're welcome!
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Just out of curiosity, the reason I needed to touch everything was because my
anonymous ftp server wouldn't show certain files even though the permissions
were the same as others that worked. But I found if I touched one then it
showed up. Now they all show up thanks to you, by why should this have happened
in the first place?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
I haven't experienced any problems with setting up FTP servers, so I can't
really comment.
</BLOCKQUOTE>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Readers, if you think you know what it might have been, let us know.
You can reach The Answer Gang as <A HREF="mailto:linux-questions-only@ssc.com"
>linux-questions-only@ssc.com</A>.
</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"
>Winprinters</H3>
<p><strong>From jzaragoza alberich
</strong></p>
<p align="right"><strong>Answered By Mike Orr, Heather Stern
<br></strong></p>
<p><strong>
I know what a winmodem is. I know too that they must be thrown off. All
of them.
But what is a winprinter? How can they be recognized? Must they be
thrown off too? Or do they work under Linux?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Mike]
Beware of any hardware that lists only Windows operating systems on the
box. If it says "Windows and Macintosh", there's a good chance it will work
with Linux too. But if it lists only Windows 95/98/2000, NT and Me, be
suspicious. It could be like a Winmodem, where vital parts of the modem
functionality are missing in the modem and must be emulated by the driver.
or it could mean there's Windows-specific code <EM>in the printer</EM>. For
instance, instead of using a standard page-description language like PCL
or Postscript, the printer may be tied to the Windows printing system
directly (e.g., it may communicate with the computer via Windows API calls).
</BLOCKQUOTE>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
A winprinter (like a winmodem) does not have complete printer brains.
It uses WIndows GDI calls to preprocess a buffer with the printable image
and then just accepts it straight. If I read the original description
right. Anyways like a winmodem it rally hits CPU when trying to get work
done.
</BLOCKQUOTE>
<BLOCKQUOTE>
Under Windows that means the driver is really tiny, since GDI is part of
the default DLLs that make the rest of the GUI work.
</BLOCKQUOTE>
<BLOCKQUOTE>
Under Linux that means if it's a Lexmark you can convince it to work,
and if it's something else, you <EM>could</EM> try the Lexmark winprinter
drivers ... and if they don't work, oh well, give that to someone who only
uses windows and needs a cheap printer.
</BLOCKQUOTE>
<BLOCKQUOTE>
Under a debian system you can use the package lexmark7000linux. For
others you should try Henryk Paluch's website:
<A HREF="http://bimbo.fjfi.cvut.cz/~paluch/l7kdriver"
>http://bimbo.fjfi.cvut.cz/~paluch/l7kdriver</A>
</BLOCKQUOTE>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Mike]
Combined printer/fax/copier/scanners should especially be avoided unless
you know that model works with Linux.
</BLOCKQUOTE>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
It turns out there's a really great site that keeps track of all sorts
of things about printing under linux. Wouldn't you guess, it's:
<A HREF="http://www.linuxprinting.org"
>http://www.linuxprinting.org</A>
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Thank you very much. You are very kind. Of course it will be an honor
to get into your magazine.
Perhaps would you find it interesting to talk about other
"winsoftware": scanners, digital photography devices, joysticks, etc.
</strong></p>
<!-- 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"
>Search and Replace Without Breaking Permissions</H3>
<p><strong>From Peagler Kelley
</strong></p>
<p align="right"><strong>Answered By Ben Okopnik
<br></strong></p>
<!-- ::
Search and Replace Without Breaking Permissions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi,
</STRONG></P>
<P><STRONG>
I am doing a global search and replace on some files via a unix script. I
use the sed command (saving a copy of the original in $file.old) like so:
</STRONG></P>
<P><STRONG><CODE>
sed "s/$INPUT_TXT/$OUTPUT_TXT/g" $file &gt; $NEW_FILE
</CODE></STRONG></P>
<P><STRONG>
Then I perform a diff on the original file ($file) and the new file
($NEW_FILE) and redirect the output to <TT>/dev/null</TT>. If there is a difference
between the two files, then I move the new file to the old file.
Unfortunately I end up changing the permissions on all the files in the
directory, depending on whatever default umask is set. Is there a way that
I can either 1) find out what the permissions of the original file are and
change them accordingly to the new file, or 2) move the new file to the
original file while keeping the permissions of the old file?? Please let me
know. Thanks!!
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
"sed" is not the best tool for "in-place editing" of the kind you want to
do - all you really want is to change the data in the file, right? Perl
offers a solution that reduces it from a three-step process
(change/diff/move) to one:
</BLOCKQUOTE>
<blockquote><code><font color="#000033"><br>perl -i -wpe 's/$INPUT_TXT/$OUTPUT_TXT/g' $file
</font></code></blockquote>
<BLOCKQUOTE>
That's it. The editing is done in the file itself; the permissions are
unchanged. No muss, no fuss, no greasy aftertaste.
</BLOCKQUOTE>
<!-- sig -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I agree with you. I wanted to use perl, but the person who I'm creating this
for does not know perl and will be responsible for supporting it. I like your
quick, dirty solution and I may force them to use it just because it's
easier
<IMG SRC="../gx/dennis/smily.gif" ALT=";-)"
height="24" width="20" align="middle">. Thanks!
</strong></p>
<!-- 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"
>Kernel Panic after putting disk back</H3>
<p><strong>From hma
</strong></p>
<p align="right"><strong>Answered By Heather Stern
<br></strong></p>
<!-- sig -->
<!-- ::
Kernel Panic after putting disk back
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi,
</STRONG></P>
<P><STRONG>
I like to thank u guys for great job. Am still going thru your past issues.
I have sent 2 questions here and I have not heard anything from u guys..
is my pattern wrong?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
1. We can't reply to every message. There are hundreds and hundreds of them
every month. That you received no reply before is not a personal slight.
We will never get to all of them. Just continue to look for whether
someone else's answers apply to your questions too.
</BLOCKQUOTE>
<BLOCKQUOTE>
2. You had no subject this time - that usually doesn't help.
For good behavior patterns that help your message get seen, see the TAG
entry "Creed of the Querent" a few issues ago:
<A HREF="http://www.linuxgazette.com/issue62/tag/5.html"
>http://www.linuxgazette.com/issue62/tag/5.html</A>
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I still have the following problem and I hope U can help now...The problem
am having is that when I boot to my linux I recieve the following message:
" Vfs: Kernel panic" and that it. It doesn't go.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
This message means the kernel loaded, then could not find what it's looking
for next. VFS means virtual file system - that's what really manages all
of Linux' filesystem drivers - it probably can't find the root fs. Although
usually if that's the problem it says so. Odd.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
When I try doing fsck,
I get command not found.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
You're doing fsck from where? fsck is a linux utility, so you need to come
up from a linux rescue disk of some sort. Toms Root Boot perhaps - handy
because you can download and create one using DOS if you have to:
<A HREF="http://www.toms.net/rb"
>http://www.toms.net/rb</A>
</BLOCKQUOTE>
<BLOCKQUOTE>
There are Windows utilities for accessing ext2 volumes, but they won't
directly help you get back into Linux, and I don't know of a Windows based
ext2 analogue to Scandisk.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The problem started when I remove one of my harddisk and after puting it
back, I got this problem. But I get into win when I select it.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
When you select Win from what? Have you replaced LILO with something else?
(LILO doesn't normally have a selector, it makes you type things. Of course
you could have Storm Linux, which replaced the boot: prompt with a cool
selector screen.) Did you move any partitions before you put the drive back?
Is the drive now your second drive?
</BLOCKQUOTE>
<BLOCKQUOTE>
To fix LILO:
</BLOCKQUOTE>
<BLOCKQUOTE><ol>
<li> Boot from that rescue disk
<li> mount up the <TT>/</TT> volume on some empty directory ... <tt>/mnt</tt>
would do nicely ... <em> don't forget to tell it to use ext2, example:
<br><tt>mount -t ext2 /dev/hda5 /mnt</tt></em>
<li> cd into the mountpoint and run chroot
<li> edit your <TT>/etc/lilo.conf</TT> so it mentions your new volumes... and
points
at the right volume as your root partition now! For example, if it's
now the second drive, than all your references to <TT>/dev/hda</TT> have to
refer to <TT>/dev/hdb</TT>, except for "boot" (which says where to put the
LILO first stage)
<li> (If it has become the second drive) you'll also want to edit
<TT>/etc/fstab</TT>,
since all its drive references are off, too. Otherwise you'll get a
failure in the next stage when Linux really spins up.
<li> Run <TT>/sbin/lilo</TT> to put your bootloader back together.
Or else fix your new bootloader so it passes good options to your linux
kernel - I think NT needs a copy of a (correct) LILO bootsector for its
mechanism, in a tiny little file.
<br>
In short, LILO hates it when you move stuff around. Sorry.
</ol></BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I hope u reply now.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
My inbox load today was light and I'm in a crossplatform mood, so you got
lucky. Usually I leave LILO matters for the rest of the Gang.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Thanks.
<br>Hassan
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Have a happier day
</BLOCKQUOTE>
<p>... I merged answers about his chroot troubles into the steps above ...</p>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Once again, thanx and keep up the good work...some day when I become a guru, I hope to help too...
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)"
height="24" width="20" align="middle">
</STRONG></P>
<P><STRONG>
Hassan
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
When you feel ready, I'm pretty sure the Gang will still be here to welcome
you aboard!
</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"
>Procmail and regular expressions....(Snowwhite...)</H3>
<p><strong>From Andrew Higgs
</strong></p>
<p align="right"><strong>Answered By Ben Okopnik, Mike Orr, Faber Fedor
<br></strong></p>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Hi all,
</STRONG></P>
<P><STRONG>
While on the subject....any suggestions on a good place to find out
about regular expressions and procmail.
</STRONG></P>
<P><STRONG>
I collect mail from one ISP mailbox and send it on to the correct user
based on email address. I also have a problem with people who use
mailing list groups in Outlook etc. How do I split these properly?
</STRONG></P>
<P><STRONG>
Any pointers gratiously accepted.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
"procmail" uses extended regexes, much the same as "egrep". So, for some
good examples and broad-scope explanations of those, try
</BLOCKQUOTE>
<PRE>
man procmailex
man procmailrc
man grep # The "REGULAR EXPRESSIONS" section is a great reference
man regex # Somewhat different "flavor", but useful
</PRE>
<BLOCKQUOTE>
For single address to multiple local user resolution, read the "Email
Addressing FAQ (How to use user+box@host addresses)" at
<A HREF="http://www.faqs.org/faqs/mail/addressing/">www.faqs.org/faqs/mail/addressing/</A> - as it happens, I just ran into this
thing yesterday, and was much impressed with the logical style and layout
of it. Even if this is not <em>exactly</em> what you're doing, there are a number
of relevant useful techniques described in this document - and it's mostly
based on doing it with "procmail".
</BLOCKQUOTE>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Mike]
Ben! You even wrote the article about procmail antispam filtering and
you didn't mention it.
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle"> Just in case Andrew hasn't seen it:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQuote>
<A HREF="../issue62/okopnik.html"
>http://www.linuxgazette.com/issue62/okopnik.html</A>
</BLOCKQuote></BLOCKQUOTE>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Faber]
Let me through out this little tidbit:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQuote>
If you use the \&lt; and \&gt; word boundary markers in procmail, keep in mind
that they consume (eat) the word boundary. Every other program I've
used the word boundary markers on did <EM>not</EM> eat them.
</BLOCKQuote></BLOCKQUOTE>
<BLOCKQUOTE>
Makes a BIG difference when your grepping your text (and took me an hour
to figure out!).
</BLOCKQUOTE>
<BLOCKQUOTE>
Regards,
<br>Faber Fedor
</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"
>Timely Samba Release?</H3>
<p><strong>From Andrew
</strong></p>
<p align="right"><strong>Answered By Andrew Higgs, Jim Dennis
<br></strong></p>
<!-- ::
Timely Samba Release?
~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hello,
</STRONG></P>
<P><STRONG>
I swear that the hardest thing to setup under Linux (at least for
me ) has been samba. Running Linux RedHat 6.1 &amp; have a windows 98
se machine. I see the Linux machine when i go into Network
Neighbourhood &amp; when i click on it i get the password box but it
ALWAYS fails. The message i am getting at the moment is this
</STRONG></P>
<pre><strong> [2001/04/08 04:02:05, 0] smbd/server.c:sig_hup(340)
Got SIGHUP
[2001/04/09 00:18:04, 0] smbd/password.c:domain_client_validate(1213)
domain_client_validate: no challenge done - password failed
[2001/04/09 00:18:05, 0] smbd/password.c:domain_client_validate(1213)
domain_client_validate: no challenge done - password failed
[2001/04/09 00:18:09, 0] smbd/password.c:domain_client_validate(1213)
domain_client_validate: no challenge done - password failed
[2001/04/09 00:18:10, 0] smbd/password.c:domain_client_validate(1213)
domain_client_validate: no challenge done - password failed
</strong></pre>
<P><STRONG>
What i would truley like is to setup Linux as a domain controller
so when booting the windows machine validation is done via the
Linux machine by verifying against the password file or smbpasswd
file &amp; so then u have access to shares at that point. Does it have
to be WinNT to get this to work. I know their is the issue with
encrypted passwords. Currently my Linux machine is set to yes
Regards...
</STRONG></P>
<P><STRONG>
Andrew
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Andrew Higgs]
Hi Andrew,
</blockquote>
<blockquote>
It is very possible to have Win 95 and 98 logon to a Samba domain. I
assume you have read the relevant docs which come with Samba.
</blockquote>
<blockquote>
Have you added a Samba user to correspond with the one (your windows
username) you are trying to use. It seems to me that it is failing
because the username (and consequently the password) is not
there. Try 'smbpasswd -a username' also 'man smbpasswd' for further
details. Also bear in mind that Win 95 (and I assume 98) don't let
you specify a username when trying to login to the Samba server,
they just use your windows username.
</blockquote>
<blockquote>
I hope this is sorts out your problem.
</blockquote>
<blockquote>
Kind regards
<br>Andrew Higgs
</blockquote>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [JimD]
I was just reading about the Samba 2.2.0 release at
<A HREF="http://www.samba.org/samba/samba.html"
>http://www.samba.org/samba/samba.html</A>. The Samba team is continuing
to strive towards full domain controller and "MS Active Directory"
functionality. You should look at the new release and read every
shred of documentation. Linux/Samba as a domain controller is
still cutting edge (sometimes brushing against the cutting edge leaves
us dripping a bit of blood).
</BLOCKQUOTE>
<BLOCKQUOTE>
You'll especially want to read the PDC HOWTO documentation at
your nearest mirror of the Samba web site: <A HREF="http://www.samba.org"
>http://www.samba.org</A>
Just follow the "Documentation" link and look for the FAQs and
HOWTOs under the "New PDC Documentation" heading.
</BLOCKQUOTE>
<BLOCKQUOTE>
There are Samba mailing lists and discussion of Samba predominates
the discussion on the news:comp.protocols.smb newsgroup. If you
have a connection to a good NNTP server you can post your questions
to a forum where hundreds of Samba users and specialists can see it.
</BLOCKQUOTE>
<BLOCKQUOTE>
Also, no tech support suggestions for Samba would be complete if
we didn't point you to the Samba DIAGNOSIS guide. You can see that
at: <A HREF="http://WWW.samba.org/samba/docs/DIAGNOSIS.html"
>http://WWW.samba.org/samba/docs/DIAGNOSIS.html</A> (where WWW can
be www or the names of one of the many samba mirrors).
</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"
>3d linux</H3>
<p><strong>From Philippe CABAL
</strong></p>
<p align="right"><strong>Answered By Michael J. Hammel
<br></strong></p>
<P><STRONG>
hi
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [The Graphics Muse]
Howdy.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
i am looking for a free multiplateform (win32 + unix)
3d modeling <TT>/</TT> rendering <TT>/</TT> animating software
all i found is povray and blender
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [The Graphics Muse]
That's about it.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
but id like a software as open as pov (data souces)
as intuitive as a blender
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [The Graphics Muse]
No such beast.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
actually i am a proggramer so i need to have a look at the scene-source
isnt there a vrml stuff that do broadcast output ?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [The Graphics Muse]
Nope. You have a few choices, but nothing that fits all your desires here.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you want VRML, you can try SCED or SCEDA. Both have pretty primitive
interfaces, but are fairly sophisticated underneath. They include a
constraint-based mechanism. The source is available. They are the only
ones I know of that produce VRML output.
</BLOCKQUOTE>
<BLOCKQUOTE>
Outside of these two, all the other tools do not provide source: Blender,
Houdini, Maya, etc. Blender is by far the least expensive but the most
sophisticated for the money. Houdini and Maya are high end, high dollar
products. POVRay is just a rendering engine, not an interactive modelling
tool. A better option for rendering is probably BMRT, the Blue Moon
Rendering Tools, which is a Renderman compliant renderer. It was actually
used for several movies. However, like POVRay, it is just a rendering
engine, not an interactive modeller.
</BLOCKQUOTE>
<BLOCKQUOTE>
Nothing is available on Linux for free and with source provided that can do
broadcast output. You have to string together a few different tools in
order to do that - for example Blender for modelling, something else to
convert Blender files to RIB files (it doesn't do RIB yet), and then BMRT
for rendering.
</BLOCKQUOTE>
<BLOCKQUOTE>
Blender is really the best thing going in this department, since you can
add scripting to it fairly well using Python. It's interface is production
quality. It just doesn't export to formats that can be used by other
rendering engines, like RIB for PRMan (Pixar's rendering engine) or BMRT.
</BLOCKQUOTE>
<BLOCKQUOTE>
As for cross platform, give it up. Blender I think is cross platform.
POVRay doesn't much care where it's ported to and I believe BMRT has been
ported to Windows (much to the consternation of the original author, no
doubt). But cross platform graphics tools are pretty difficult to do since
such tools are often very happy close to the hardware, and getting close to
the hardware on different OS's is not quite so easy a proposition.
</BLOCKQUOTE>
<BLOCKQUOTE>
Hope that helps.
</BLOCKQUOTE>
<!-- end 8 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/9"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 9 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>linux vectoring synergy</H3>
<p><strong>From darrell rolstone
</strong></p>
<p align="right"><strong>Answered By Ben Okopnik
<br></strong></p>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Dear Staff of the Answer Gang!
</STRONG></P>
<P><STRONG>
I hope you folks appreciate the occasional question from a
non-techie....whose really into seeing and helping the information
revolution FLOURISH!
</STRONG></P>
<P><STRONG>
I'm a 52 year old "synergy design consultant" from Marin County
California....living in Thailand for the last 6 plus years. I was a pioneer
in the Wholistic Health movement of the 70's and a student of R.Buckminister
Fuller. I'm a world class Nordic Physical Therapist.....and I have trouble
with even the simplest technological things like copying something onto a
disk! REALLY!
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
&lt;laugh&gt; The two are not necessarily related... but say on.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
But inspite of nearly total techno ignorance.....I'm quite skilled in the
social aspects of the techno evolution/revolution! And I sincerely want to
help that process along it's path.
</STRONG></P>
<P><STRONG>
So, my question('s) to you guru's of "geekness"....just what is being
done in the area of co-ordinating all the linux "programing development"
that is manifesting? Is there a "co-operative" formed? Can a (traditionally
"left-brained" dominant) programer offer up his/her work to a linux "group
of (traditionally right-brained dominant)marketers" that will then take
over and bring his/her work to fruition?!
(thereby "sharing the knowledge" at a higher level of efficiency).
</STRONG></P>
<P><STRONG>
If there is such a "group"......can you direct me to them?
Praises upon you all for sharing your knowledge! Really!
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
Well, Darrell... <em>that's</em> a heck of a question to ask of a bunch of
traditionally left-brained computer types. &lt;smile&gt; Actually, if you're a
student of revolutionary processes, you may find Linux <em>very</em> interesting
for just that reason.
</BLOCKQUOTE>
<BLOCKQUOTE>
The Linux kernel itself - as wonderful of a thing as it is - is not (from
my perspective) the thing that is responsible for the popularity and the
tremendous growth of Linux. What is responsible for it is the Linux/Open
Source <em>model</em> - that of people working on their own, or with a team, and
getting full recognition for their work. The traditional hurdle of
marketing a product is largely eliminated, since the greatest majority of
the programs for Linux are free; the "distribution channel" - the Internet
- is also mostly free (the costs are not assignable to Linux, so it is
free in this regard.) In those terms, the marketing model for Linux and its
software is not the traditional "push" - we have no need to stuff it down
the gullets of barely willing customers - it is "pull": when people need a
piece of software, they research it, download it, and install it. As well,
the "feedback loop" that is usually set up between the programmer and the
interested users of the program is a tremendously powerful tool: if fifty
thousand people have pounded on your program for a few months, and the
flow of bug reports has finally ground to a halt, either that program is as
perfect as code can be, or it has simply been cowed into submission.
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
</BLOCKQUOTE>
<BLOCKQUOTE>
The effect of this is exactly what Robert Pirsig talked about in his "Zen
and the Art of Motorcycle Maintenance" (I would guess that you're familiar
with the work) - a shift toward Quality being the focus. That, to me, is
the most exciting thing about Linux: quality really <EM>is</EM> "Job #1".
</BLOCKQUOTE>
<BLOCKQUOTE>
As to co-operatives... well, have you ever tried herding cats?
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle"> There
are several things that have worked well in the Open Source community,
usually by providing maximum assistance and convenience but minimum
direction: any of the large-scale programming projects, such as <A HREF="http://www.winehq.com/">WINE</A>,
Mozilla, the whole series of GNU projects, <A HREF="http://www.kde.org/">KDE</A>, etc. There is also
SourceForge, which provides an archive/code repository/distribution
point for development efforts.
</BLOCKQUOTE>
<BLOCKQUOTE>
I'm not sure if this is any kind of an answer that you were looking for;
mostly, these are just the ramblings of a right-brained guy who loves
using his creativity in a left-brained way. &lt;chuckle&gt; I think that
dichotomy was a no-starter, for me; never could see it...
</BLOCKQUOTE>
<!-- end 9 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<A NAME="tag/10"><HR WIDTH="75%" ALIGN="center"></A>
<HR WIDTH="40%" ALIGN="center">
<!-- begin 0 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Why Linux for routing</H3>
<p><strong>From Ian Carr-de Avelon
</strong></p>
<p align="right"><strong>Answered By Mike Orr
<br></strong></p>
<P><STRONG>
In LG#65 I read:
<br>"Another thing this article does is raise the question, just because we
can use Linux in a wide variety of routing situations, should we? Are
you choosing a Linux router because it's the most appropriate solution
for the task, or simply because "we're a Linux-only shop"? "
</STRONG></P>
<P><STRONG>
Well... What are the choices? Basicly:
</STRONG></P>
<P><STRONG><ol>
<li>CISCO - expensive and involving commands which are unrelated to any
other other task you do.
<li> Also ran dedicated routers - less expensive but an ever changing sea of
this month's best offer leaving you with a different web based configuration
on virtually every router you will buy and if an interface card blows,
they don't make them any more. If the system ever gets hacked - they
don't provide updates, it is obsolete.
<li>DOS based old PC - cheap but involving commands which are unrelated to any
other other task you do. If an interface card blows, it is the same as
every PC in your office and local PC store.
<li>Linux based old PC - cheap and allowing you to use the same shell, editor
etc which you use for every other computing task (assuming you are Linux based).
If an interface card blows, it is the same as every PC in your office and
local PC store.
</ol></STRONG></P>
<P><STRONG>
The Linux option has a lot going for it especially if you are an organisation
which does not have a team only dedicated to routers, like large telcos do.
Routing sits causing no problems for months, while you forget how to
work on the router, and then when problems arrive it is panic stations,
because nobody can work, clients are not being served and business is
being lost.
I run a Polish ISP with Linux and one CISCO router, which we bought because
I was over ruled, because although the WAN card for Linux was cheaper,
the CISCO dealer offered unbeatable financing. I don't see that changing soon.
</STRONG></P>
<P><STRONG>
Yours
<br>Ian
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Mike]
You bring up some good points, but that does not invalidate the question.
I'm not saying Linux *shouldn't* be used for routing, just that each
organization needs to weigh the price-vs-performance-vs-maintainability
factors for iteself. The situation I was thinking about (and perhaps
it wasn't clear in the paragraph) was not a small, low-traffic
network, for which Linux's price and maintainability certainly runs circles
over proprietary systems, but rather an an enterprise-level,
high-traffic situation. Is there an amount of thoroughput above which
Linux routers are not (currently) scalable, a point at which Ciscos
would be more economical? I don't know, but a netadmin in that situation
would want to explore both options before making a decision.
</BLOCKQUOTE>
<BLOCKQUOTE>
My point is not so much about Linux vs Cisco, but about jumping on the
Linux bandwagon too quickly. We all know hundreds of companies that
refused to consider any alternatives to buying NT servers, WINS servers,
Novell servers, etc. The same can happen in the Linux world, if one
refuses to consider an alternative to a Linux router more because it's
politically incorrect than because of an actual comparision of price,
performance and maintainability and how they would all affect your
organization in its situation.
</BLOCKQUOTE>
<!-- end 0 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<A NAME="tag/11"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 0 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>disappearing act</H3>
<p><strong>From eric lin
</strong></p>
<p align="right"><strong>Answered By Ben Okopnik
<br></strong></p>
<P><STRONG>
Hello Answer Gang,
</STRONG></P>
<P><STRONG>
Let me start off by thanking all of you for providing such excellent
service.
</STRONG></P>
<P><STRONG>
I'm running RedHat 6.2 with apache 1.3.9 and Sendmail 8.9.3 as an Internal
web/mail server.
I use it on a daily basis, but haven't changed any of the configurations
since the initial install. Yet mysteriously the httpd.conf and the
sendmail.conf files becomes null (file size of 0)!!! This occurs randomly
and usually after a reboot of the system.
</STRONG></P>
<P><STRONG>
Since it is internal and no one uses it except for myself, I have no way of
explaining why this is.
</STRONG></P>
<P><STRONG>
Do you guys have any ideas???
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
Wow. That's odd. <EM>Very</EM> odd. It sounds like maybe some sort of a config
file backup procedure (?) gone wrong. One of the first things I'd do is
switch to "<TT>/etc/init.d</TT>" and grep the scripts there for any mention of the
above files. I'd investigate anything I found with a <em>very</em> sceptical eye,
possibly looking for evidence of intrusion (I can see some script kiddie
being very interested in those two files...) or just a badly-written
script.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you can't find anything, try setting the immutable attribute on those
files via "<tt>chattr</tt>" (see the manpage); this should at least stop them from
"disappearing". I, for one, would be <em>very</em> interested to know what you
find out in your troubleshooting process.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 0 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<A NAME="tag/12"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 0 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>getting 2 dynamic ip addresses</H3>
<p><strong>From Christi Gell
</strong></p>
<p align="right"><strong>Answered By Mike Orr
<br></strong></p>
<P><STRONG>
I have a DSL and I want to get 2 dynamic IP addresses w/it. I've got a
hub, but every time my husband needs to get online, I need to release my
IP address.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Mike]
Your hub is connected directly to the DSL modem? In that case, you will
have to contact your ISP to get a second dynamic address from them... if
you can.
</BLOCKQUOTE>
<BLOCKQUOTE>
A more common scenario is to have one computer (the server) connected to the
modem and also to the hub. The second computer is connected only to the hub.
The first computer has IP firewalling and IP masquerading compiled into the
kernel. (I assume you're running Linux, since you sent this to a Linux answer
forum. If you're using Windows, you'll have to go somewhere else for help.)
Then you enable IP masquerading on the server. Now the second computer
can reach the Internet without needing a second dynamic IP from the ISP.
</BLOCKQUOTE>
<BLOCKQUOTE>
To set this up, search for "masquerading" or "masquerade" in the Linux
Gazette search engine (<a href="http://www.linuxgazette.com/search.html"
>www.linuxgazette.com/search.html</a>). Or pick up a Linux
configuration book from the bookstore or look in the manual that came
with your distribution.
</BLOCKQUOTE>
<!-- end 0 -->
<center>
<H1><A NAME="tips"><IMG ALIGN=MIDDLE ALT="" SRC="../gx/twocent.jpg">
More 2&cent; Tips!</A></H1> <BR>
<!-- BEGIN tips -->
Send Linux Tips and Tricks to <A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A></center>
<UL>
<!-- index_text begins -->
<li><A HREF="#tips/1"
><strong>Easy LG browsing 2 cent tip</strong></a>
<li><A HREF="#tips/2"
><strong>vim hot color swapping</strong></a>
<li><A HREF="#tips/3"
><strong>linux version of dos commands</strong></a>
<li><A HREF="#tips/4"
><strong>Booting w/ CD-ROM</strong></a>
<li><A HREF="#tips/6"
><strong>dvi and Deskjet</strong></a>
<li><A HREF="#tips/7"
><strong>how to find an i/o adress for an specific pci slot</strong></a>
<li><A HREF="#tips/8"
><strong>Pam.d questions</strong></a>
<li><A HREF="#tips/9"
><strong>Finding my computer at home from the outside LG #65</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">Easy LG browsing 2 cent tip</FONT></H3>
Fri, 20 Apr 2001 20:31:35 +1000 (EST)
<BR>bandido (<a href="mailto:linux-questions-only@ssc.com">bandido from drinkordie.com</a>)
<P>
This handy dandy function is courtasy of Cobratek on <tt>#Mandrake</tt>
on Efnet, it is super kewl, since you can unpack all your LG issues (you
do have all 65 don't you?) and instanty view any one.
</P>
<P>
Simply add this function to either <tt>~/.bashrc</tt> or better yet
<TT>/etc/bashrc</TT> so everyone on your system can read LG.
</P>
<P><code>
function lg () { lynx /home/bandido/docs/Linux.Gazette/$1/index.html ; }
</code></P>
<P>
Remember to change path to whatever you unpack your LG issues to, and do
not use <tt>~/</tt> dirname of course if you put the function in
<TT>/etc/bashrc</TT>
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
</P>
<P>
Personally I unpack all issues like this,
</P>
<P><code>
<br>/home/bandido/doc/Linux.Gazette/1
<br>/home/bandido/doc/Linux.Gazette/2</code>
<br>3 4 5
<br>etc
</P>
<P>
Thus, I type lg 20 or lg 35 etc, to open 20 or 35 instanlty in lynx, and I
am in prior dir when I exit. Nice and handy, never far away from LG
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
Feel feel to drop by <tt>#Mandrake</tt> on Efnet too, unlike most linux
channeols, newbies are very much welcome.
</P>
<!-- 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">vim hot color swapping</FONT></H3>
Thu, 19 Apr 2001 07:37:04 -0700
<BR>Adam Monsen (<a href="mailto:linux-questions-only@ssc.com">meonkeys from hotmail.com</a>)
<P>
Vim's syntax highlighting can be helpful at times at painful at other times.
Add this to your <tt>.vimrc</tt> and you can turn colors on and off with
the tap of a button.
</P>
<Pre>
" map F8 to switch on and off syntax highlighting
function Swapcolor()
if exists("g:syntax_on")
syntax off
set nohlsearch
else
syntax on
set hlsearch
endif
endfunction
map &lt;F8&gt; :call Swapcolor()&lt;CR&gt;
</Pre>
<!-- 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">linux version of dos commands</FONT></H3>
Sun, 01 Apr 2001 15:06:34 -0700
<BR>Steve Winston (<a href="mailto:linux-questions-only@ssc.com">xee from mediaone.net</a>)
<P>
They start with letter "m." They look at a floppy disk as "a:" or "a:\"
as Windoze
does.
<br>To copy one file to another, use "mcopy"
<br>If you want to copy a file "myfile" from <tt>a:</tt>
to your home directory, use this command:
</p>
<blockquote><code>
mcopy a:\myfile /home
</code></blockquote>
<p>If you want to copy myfile from <TT>/home</TT> to <tt>a:</tt> use this
command:
<blockquote><code>
mcopy /home/myfile a
</code></blockquote>
<p>
To check the contents of a file or directory, use mdir.
<br>To check the contents of a:
</P>
<blockquote><code>
mdir a:
</code></blockquote>
<P>
Hope that helps a little bit,
<br>stevew
</P>
<!-- 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">Booting w/ CD-ROM</FONT></H3>
Tue, 17 Apr 2001 23:38:57 -0400
<BR>joseph.lalingo (<a href="mailto:linux-questions-only@ssc.com">joseph.lalingo from ablelink.org</a>)
<BR>Tip from Daniel S. Washko
<P><STRONG>
Hello,
</STRONG></P>
<P><STRONG>
How can I use CFDISK from my REDHAT CD-ROM as though it was from a
hard drive linux installation?
</STRONG></P>
<P>
If this is during the install process, I am pretty sure you could hit
&lt;ctrl&gt;&lt;alt&gt;&lt;f1-?&gt; to switch to another terminal. Keep cycling through the
keys until you find a free terminal. You should then be able to use
cfdisk.
</P>
<P>
-- Daniel
</P>
<!-- sig -->
<!-- end 4 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/6"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">dvi and Deskjet</FONT></H3>
Sat, 14 Apr 2001 09:55:53 -0400
<BR>C. Martinet (<a href="mailto:linux-questions-only@ssc.com">email from cmarti.net</a>)
<br>Tip from Ben Okopnik
<P><STRONG>
Dear answer guy,
</STRONG></P>
<P><STRONG>
I would like to print a dvi file on an HP600 deskjet printer. Is it possible ?
I've tried with the commands dvilj, dvilj2p, dvilj4 and dvil4l, but there
are all for LaserJet printers. So I have some strange results.
</STRONG></P>
<P>
Have you tried "dvihp"? It's supposed to convert DVIs to HP PCL (Printer
Control Language.) Or, you could always just run "dvips" - it'll produce a
PostScript file that you should be able to print without any problems.
<br>-- Ben</P>
<!-- end 6 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/7"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">how to find an i/o adress for an specific pci slot</FONT></H3>
Thu, 29 Mar 2001 09:35:37 -0800
<BR>Christer Olsen (<a href="mailto:linux-questions-only@ssc.com">christer.olsen from cegal.com</a>)
<br>Tip from Mike Orr
<P><STRONG>
i need to find out the slot adress for my pci network card , how can i
easily track down this
</STRONG></P>
<P><STRONG>
my network card is in slot 1 and i need to find out the adress
(0x0081 or ???)
</STRONG></P>
<P>
Does it say in the boot messages? Run "dmesg | less" to see your boot
messages again. If you don't find the right information, please
send us back a copy of your boot messages (in particular, the portions
beginning with "PCI: " and anything that looks like it may be related
to the network card).
</P>
<P>
Each PCI slot corresponds to a fixed address. Perhaps looking in
<tt>include/linux/pci.h</tt> or <tt>drivers/pci/pci.c</tt>
in the kernel source would help.
<br>-- Mike</P>
<!-- end 7 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/8"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Pam.d questions</FONT></H3>
Tue, 3 Apr 2001 15:11:42 +1000
<BR>andrew (<a href="mailto:linux-questions-only@ssc.com">andrewkennedy from optusnet.com.au</a>)
<BR>Tips from Faber Fedor, Ben Okopnik, and Heather Stern
<P><STRONG>
Back for more of your knowledge
</STRONG></P>
<P>
And we're still here dishing it out!
</P>
<P><STRONG>
I have an authlog file &amp; i keep seeing this info within it
</STRONG></P>
<pre><strong>Apr 3 11:31:58 echelon pam_limits[27640]: invalid line 'hard^Icore^I0'
Apr 3 11:31:58 echelon pam_limits[27640]: invalid line 'soft^Inproc^I100'
Apr 3 11:31:58 echelon pam_limits[27640]: invalid line 'hard^Inproc^I150'
Apr 3 11:31:58 echelon pam_limits[27640]: invalid line 'hard^Ifsize^I40000'
</strong></pre>
<P><STRONG>
Pam was installed via an RPM &amp; seems to be working fine within everything else.
</STRONG></P>
<P><STRONG>
I would just like to fix this area of it if possible
</STRONG></P>
<P>
Check your <TT>/etc/security/limits.conf</TT> file. It seems PAM doesn't like it.
Why? I don't know, but I checked my limits.conf file and my columns were
separated by spaces, not tabs.
</P>
<P>
If you do a <tt>cat -v -t -e /etc/security/limits.conf</TT>, you'll see tabs
as <tt>^I</tt> and eon-oflines as <tt>$</tt>. -- Faber
</P>
<P>
Just to be nitpicky, <tt>cat -A</tt> is a combination of those options. -- Ben
</P>
<P>
<tt>cat -T</tt> is enough to see the dratted tabs as <tt>^I</tt> but stray
spaces at the end of the line still won't be obvious. -- Heather
</P>
<!-- end 8 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/9"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Finding my computer at home from the outside LG #65</FONT></H3>
Wed, 11 Apr 2001 11:17:02 -0400
<BR>Ben Walton (<a href="mailto:linux-questions-only@ssc.com">bdwalton from mail.lakeheadu.ca</a>)
<P>
Hi there Linux Gazette Team!
</P>
<P>
I was browsing through LG today, and came across the article 'Finding my
computer at home from the outside'. This is a topic that interests me,
as I like to be able to access my home machine from school. Although
technically accurate, I found that writing these scripts is an extremely
cumbersome way to do the job. (Not to mention that passwordless logins
(secure tunnel or no) are just plain bad form...). I'm not writing this
email to complain (you guys do too much good work), but rather to
inform!
</P>
<P>
If you're in a situation like me, and you either can't get (or can't
afford) a static IP on broadband, there is a much simpler solution.
<A HREF="http://www.dyndns.org"
>http://www.dyndns.org</A>. A free service (they DO accept
donations), DynDNS allows you to register a hostname (within one of
their domains...for now), and run a client to update with them each time
your IP changes. After registering with DynDNS, you can download a
little client utility (I prefer ipcheck.py), and have it run from your
<TT>/etc/ppp/ip-up</TT> script (I'm on DSL, so my connection is still
PPP)...which is run every time that your IP changes.
</P>
<P>
I've found the service to be most valuable.
</P>
<P>
Thanks
<br>-Ben Walton
</P>
<!-- sig -->
<!-- end 9 -->
<H4 ALIGN="center">
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">The Weekend Mechanic</font></H1>
<H4>By <a href="mailto:n6tadam@users.purbeck.dorset.sch.uk">Thomas Adam</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<H1><CENTER>Welcome to the new Linux Weekend Mechanic!</CENTER></H1>
<H2>Table of Contents</H2>
<UL>
<LI><A HREF="#wmdesc">What exactly is the Weekend Mechanic?</A>
<LI><A HREF="#customshell">Customising the shell environment</A>
<LI><A HREF="#crontab">Setting up and using crontab</A>
<LI><A HREF="#closing">Closing Time</A>
</LI>
</UL>
<HR>
<!-- Section one - what is the LWM-->
<A NAME="wmdesc"><H2>What exactly is the Weekend Mechanic?</H2></A>
<P>Welcome to this months new feature....<B>The Weekend Mechanic</B>. Actually,
for those of you who have been avid readers since LG's initial release, you'll
realise that this column used to be written by John M Fisk in 1996-1998 and so
it is not that new. However, I thought it would be nice to re-introduce this as
a regular feature.</P>
<P>The Weekend Mechanic will draw together my experiences of Linux and the problems that I have had to solve either at home or at school each month. So, The Weekend Mechanic will concentrate on the following:</P>
<P>
<UL>
<LI>General Linux News
<LI>Shell Programming
<LI>Shell Customisations
<LI>Sed, Awk, hints
<LI>Program Reviews
<LI>And anything else.....
</LI>
</UL>
</P>
<P>So, with that in mind, lets begin this months fixing and tinkering session......</P>
<!-- ** END SECTION ONE ** -->
<HR>
<!-- ** BEGIN "CustomShell" -->
<A NAME="customshell"><H2>Customising the Shell Environment</H2></A>
<P>I have noticed that more and more people when using Linux tend solely to rely on the GUI, hoping in vein that they do not have to type in any commands in fear of deleting their work, making a fatal mistake, etc. Although the only real threat of this happening is if you are logged in as "root", I find that people are still wary!! However, there will come a time regardless when typing in commands will be a necessity and it is important that your shell environment is customised so that you can complete your tasks with ease. This article will show you how to customise the login shell so that features such as <I>Aliases, editors, shells</I>, etc can work in the way that you want them to.</P>
<P>Firstly, we should make sure that you have an appropriate editor installed. There are many console editors to choose from, such as: emacs, joe, jed, pico, vi. Once you have found an editor that you like (I happen to use both Pico and Jed) then you can tell the shell to use. Some programs such as Cron (as we shall see later on..) rely on the shell having an editor set up so that you can edit the crontab.</P>
<P>There are two files that we shall be concentrating on. They are located in
your home directory as: <B>.bashrc</B> and <B>.bash_profile</B>. In my .bashrc
file, I find that it begins with the following:</P>
<PRE>
# User specific aliases and functions
alias ls='ls -o --color=auto'
alias cad='cat /var/squidGuard/db/blacklist/adverts'
alias cc='cd /mnt/cdrom/Mandrake/RPMS'
alias mail='mail -v'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias d='ls'
alias s='cd ..'
alias p='cd -'
</PRE>
<P>Aliases are useful, especially if you find yourself typing out a command that has a deep directory listing. For example, if you found yourself having to keep typing in the command <PRE>cd /var/spool/users/home/mail/root/sun</PRE>to save all that typing you can specify a "shortcut" word that automatically does just that. Cool eh?</P>
<P>So to tell the shell that you want to use the word "checkmail" to do the command <PRE>cd /var/spool/users/home/mail/root/sun</PRE>you would add to the list:</P>
<P><PRE>alias checkmail='cd /var/spool/users/home/mail/root/sun'</PRE> Then you could type the alias <B>checkmail</B> and hey presto....it works!!</P>
<P>Of course many people like to issue aliases to accommodate their typographical errors; i.e.,
<PRE>
alias eamcs='emacs'
alias emcas='emacs'
</PRE>
Personally I think this is a bad idea, and you should learn to type more accurately!</P>
<BR>
<P>The next section we shall look at is how to tell the shell which programs to run when it is suitable to run them. In my <B>.bash_profile</B> file I have among the following:</P>
<PRE>
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
ENV=$HOME/.bashrc
USERNAME="root"
export USERNAME ENV PATH
</PRE>
<P>This is the section that we shall be concentrating upon setting these variables. Common variables that have not been set are ones like "EDITOR" and "MAIL". These variables are common to the user that is currently logged in, meaning that different values can be specifies for each user.
The variable <NOBR><PRE>EDITOR</PRE></NOBR> specifies the editor to use when editing files. This variable is usually called from programs such as <I>Pine</I> and <I>Cron</I>, but it can be very useful when writing shell scripts.</P>
<P>To set the variable, one has to add it to the "export" list, like this:<BR><BR><PRE>export USERNAME ENV PATH EDITOR</PRE></P>
<P>Exporting a variable releases it into the environment, rather than keeping it within a single program. Exporting is done, so that many different programs can use the same variable name with the same value, get it :-).</P>
<P>Once added to the export list, save the file, and exit your editor. So, now that we have defined a new variable, the next thing to do is to tell Bash, that it is there. To do this, you must "source" the file. This is a bash builtin that re-reads the file. You can either type this in, in one of two ways. Either you can specify <BR><PRE>source filename</PRE>or you can specify a "." thus:</P>
<PRE>. filename</PRE>
<P>And that will then active your new added variable. Well, thats it for this section....</P>
<!-- ** END "customshell" ** -->
<HR>
<!-- ** BEGIN "crontab" ** -->
<A NAME="crontab"><H2>Setting up and Using Crontab</H2></A>
<P>Do you ever find yourself repeating common tasks throughout the day, and wished that there was some sort of program that would automate it all for you? Well, look no further, Mr. Cron is here :-)</P>
<P>Cron is a scheduling program, and even more specifically it is known as a <I>daemon</I>. By daemon, I do not mean that it is a nasty creature with two horns!! A daemon is simply a program that runs in the background waiting for instructions. When it receives them, it executes them and when it has finished, it goes dormant again.</P>
<P>Cron is usually started when you switch to one of your run-levels. However, just to make sure it has started, issue the following command:</P>
<PRE>
ps ax | grep crond
</PRE>
<P>If you get a response similar to:</P>
<PRE>
root 311 0.0 0.7 1284 112 ? S Dec24 0:00 crond
root 8606 4.0 2.6 1148 388 tty2 S 12:47 0:00 grep crond
</PRE>
<P>Then cron has started, and you are ready to use it. If you don't get "crond" returned, then you must start the daemon, by typing <PRE>crond</PRE></P>
<P>Cron is particularly useful when you find yourself needing to run backup and general maintenance programs. To tell cron when to run a program, you have to fill out several fields. Each separate program that is scheduled via cron is put into a file known as a <I>crontab</I> file. The fields are defined as the following:</P>
<PRE>
Min Hour DOM Month DOW User Cmd
</PRE>
<P>And a description of their input values are summarized in the table below:</P>
<TABLE CELLPADDING="5" BORDER="1" WIDTH=100%>
<TH>FIELD</TH>
<TH>DESCRIPTION</TH>
<TR>
<TD ALIGN="center"><B>Min</B></TD>
<TD ALIGN="left">Specifies the minute on or past the hour. Values range from 0 to 59.</TD>
</TR>
<TR>
<TD ALIGN="center"><B>Hour</B></TD>
<TD ALIGN="left">Specifies the hour (Military style) that the script should run at. The range is from 0 to 23 where "0" is Midnight</TD>
</TR>
<TR>
<TD ALIGN="center"><B>DOM</B></TD>
<TD ALIGN="left">This is the Day of Month, that you want the command run on, e.g. to run a command on the 23th of each month, the DOM would be 23</TD>
</TR>
<TR>
<TD ALIGN="center"><B>Month</B></TD>
<TD ALIGN="left">Specifies the month to run the script in. Values range from 1 to 12, where "1" is January and "12" is December. Or it can be specified using the first three letters of the month, e.g. May</TD>
</TR>
<TR>
<TD ALIGN="center"><B>DOW</B></TD>
<TD ALIGN="left">Specifies the day of the week, either as a numeric value of 0 to 7 (0 and 7 are both Sunday) or as the name of the week (using first three letters only), e.g. Mon</TD>
</TR>
<TD ALIGN="center"><B>User</B></TD>
<TD ALIGN="left">Indicates who is running the command</TD>
</TR>
<TR>
<TD ALIGN="center"><B>Cmd</B></TD>
<TD ALIGN="left">The path and name of the script/program to be run</TD>
</TR>
</TABLE>
<P>You can use a "*" (without the quotes) in any of the time fields to mean
"every minute", "every hour", etc.
<P>So, with the above descriptions in mind, the following examples are all valid:</P>
<PRE>
01 * * * * root /usr/bin/script <B>"This command is run at one min past every hour"</B>
17 8 * * * root /bin/mail <B>"This command is run daily at 8:17 am"</B>
17 20 * * * root /usr/bin/fetch <B>"This command is run daily at 8:17 pm"</B>
00 4 * * 0 root /bin/qweb <B>"This command is run at 4 am every Sunday"</B>
* 4 * * Sun root /usr/bin/file2rpm <B>"This command is run at 4 am every Sunday"</B>
42 4 1 * * root /usr/bin/squidlog <B>"This command is run 4:42 am every 1st of the month"</B>
01 * 19 07 * root /usr/bin/xman <B>"This command is run hourly on the 19th of July"</B>
</PRE>
<P>See how easy it is? :-). Cron also accepts more sophisticated time
specifications: run "man 5 crontab" for an explanation of these.
<P>
Of course this is all very well, but I have not told you where to put any of your cron entries. So.........hang on there, reader.</P>
<P>The most common version of cron installed on linux systems is "vixie-cron", and so in the "/etc" folder should be a file called "crontab". If you have specified the environment variable EDITOR (see the above section) then you can simply type in:</P>
<PRE>
crontab -e
</PRE>
<P>And that will load the file into your text editor
<P>If you did not open it using the above command, then open it using a text editor of your choice and you should find something that looks like the following</P>
<PRE>
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root@grangedairy.linux
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
</PRE>
<P>The SHELL variable indicates the current shell that we are using</P>
<P>The PATH indicates the path to the most common programs</P>
<P>The MAILTO option indicates to whom the output of the cron result (i.e. whether it has worked or not) and any output from the program is to be mailed. If you find that it is annoying, then you can delete this variable.</P>
<P>The section below "#runparts" is supposed to work so that in the folder "/etc/cron.daily" for example, whatever script is in there gets executed daily. However, for some strange reason, it has never worked well for me, and I have since found it easier to specify my own cron list.</P>
<P> So, to add the above examples to our crontab, it is just a matter of <I>copying</I> and <I>pasting</I> them in:</P>
<PRE>
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root@grangedairy.linux
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
#Custom Crontabs -- Put in by Thomas Adam
01 * * * * root /usr/bin/script
17 8 * * * root /bin/mail
17 20 * * * root /usr/bin/fetch
00 4 * * 0 root /bin/qweb
* 4 * * Sun root /usr/bin/file2rpm
42 4 1 * * root /usr/bin/squidlog
01 * 19 07 * root /usr/bin/xman
</PRE>
<P>Then save the file. Now the last thing we have to do is to tell cron that we have edited the file. That is done, with the following command:</P>
<PRE>
crontab -u root /etc/crontab
</PRE>
<P>And thats it...just sit back and wait..... You should find that by now your workload has diminished by about 25% or so!!!</P>
<P>Cron also has the ability of allowing and denying certain users who are allowed to use cron. To implement this, two files called <I>cron.allow</I> and <I>cron.deny</I> have to be created in the folder "/etc".</P>
<P>These files work in the following way. If for example you wanted nobody to have access to cron, then you would add the line "ALL" to the <I>cron.deny</I> file. If you wanted only certain people to use cron then you would add their username to the <I>cron.allow</I> file.</P>
<P>Rather than having to edit the file each time, I find it much easier to use the following command:</P>
<PRE>
cat username &gt;&gt;/etc/cron.allow
</PRE>
<P>Thats all there is to it....have a go and see what you think......!?!</P>
<!-- ** END "crontab" ** -->
<HR>
<!-- ** BEGIN "closing" ** -->
<A NAME="closing"><H2>Closing Time</H2></A>
<P>Well folks, thats it for this month. I had hoped to do more, but unfortunately school work had intervened yet again!! I would really appreciate some feedback, general comments, hints as to articles, etc. Armed with this information I can then go about "making linux just that little more fun" :-)</P>
<P>I am now off to go and teach piano, do some Geography revision (yay) and then maybe continue working on some of my ongoing "bash script projects". After which, I might even be able to get some sleep. who knows?????</P>
<P>In the meantime however, I wish everyone....<B>"happy Linuxing"</B></P>
<!-- ** END "closing" ** -->
<HR>
<H1 ALIGN="center"><FONT COLOR="red">Send me comments....</FONT></H1>
<H2 ALIGN="center">Any comments, suggestions, ideas, etc can be mailed to me by clicking the e-mail address link below:</H2>
<H2 ALIGN="center"><A HREF="mailto:n6tadam@users.purbeck.dorset.sch.uk">Thomas Adam</A></H2>
<!-- *** BEGIN bio *** -->
<!-- *** END bio *** -->
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2001, Thomas Adam.<BR>
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
Published in Issue 66 of <i>Linux Gazette</i>, May 2001</H5>
<!-- *** END copyright *** -->
<H4 ALIGN="center">
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">HelpDex</font></H1>
<H4>By <a href="mailto:shane_collinge@yahoo.com">Shane Collinge</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<IMG ALT="clippy.jpg" SRC="misc/collinge/clippy.jpg"
WIDTH="750" HEIGHT="303">
<BR CLEAR="all">
<IMG ALT="deepregret.jpg" SRC="misc/collinge/deepregret.jpg"
WIDTH="750" HEIGHT="303">
<BR CLEAR="all">
<IMG ALT="comicsml.jpg" SRC="misc/collinge/comicsml.jpg"
WIDTH="750" HEIGHT="303">
<BR CLEAR="all">
<P> For those not into gaming, "All your base are belong to us", is a
video-game slogan translated from the Japanese. Read the
<A HREF="http://www.latimes.com/business/cutting/features/lat_allbase010315.htm">LA Times article</A>,
see the <A HREF="http://hubert.retrogames.com/history.htm">history</A>, or watch
Clippy sing it on the <A HREF="http://www.officeclippy.com/">Microsoft site</A>
(turn on Javascript and run the mouse back and forth over the links in the left
column and watch what the Clippy image does, then click on the "Click" button
several times).
<BLOCKQUOTE><EM>
[Too bad I can't listen to the song, "It Looks Like You're Writing a
Letter", since it's in Windows Media format. I would just like to see
its parody version,
<A HREF="../issue63/lg_backpage63.html#notlinux">"It Looks Like You're
Writing a Suicide Note"</A>. -Mike.]
</EM></BLOCKQUOTE>
<HR NOSHADE WIDTH="80%"> <!-- ****************************************** -->
<P> I read the
<A HREF="http://www.xml.com/pub/a/2001/04/18/comicsml.html">overview</A> by
Jason McIntosh about ComicsML over the weekend. There's a lot of sense in what
he says: about the ability to define comics and to be able to search archives
and automate processes. As an example, just last week I was searching for a
specific Far Side and luckily the text had been reproduced within a HTML page
so I was able to find it. Otherwise I could have been searching fruitlessly for
weeks.
<P> That said, as an artist myself the act of documenting
artwork and standardizing it seems to demystify the
process. Part of the magic of reading today "Pearls Before
Swine" or "Randolph Itch 2am" is having to track it down
and read it. Automating the process turns it into a kind of
Shakespeare-via-Brodies-Notes. There is no shortcut to art.
Add that to the technical fact that the time taken to draw
a strip will now double - once for the art which we already
draw and ink, then the marking up of the ComicsML after the
fact, thinking of an appropriate teaser, typing the spoken
text etc. Sheesh! Most cartoonists barely have enough
attention span to brush their teeth,
<BLOCKQUOTE><EM>
[And run around chasing villains all day. -Mike.]
</EM></BLOCKQUOTE>
let alone do all this
house-keeping for each and every strip.
<P> Art as revenue-raiser also requires that human intervention
be present. When HelpDex was running on LinuxToday.com the
filenames were randomized so automated scripts or robots
COULDN'T simply pull down the pics every day. LT was paying
for a service that would entice readers to their site, not
robots. There's no incentive to sponsor a strip without
being able to quantify the hits or business generated.
<P> I sound harsh, but I'm not. ComicsML does look like a good
idea being introduced at a good time. The new breed of
cartoonist literate in new technologies such as the ones
working in Flash and so on would pick this up quickly and
once standardized, could help spread information much more
rapidly than currently occurs. I feel from conventional
artists such as myself there is bound to be a slow uptake
as this simply adds more effort to setup than the benefit
it would realise.
<P> What am I trying to say? I think it's a tidy idea but I'm
too darn lazy to implement it unless I can see a direct
benefit from the extra effort required.
<!-- *** BEGIN bio *** -->
<SPACER TYPE="vertical" SIZE="30">
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Shane Collinge</H4>
Part computer programmer, part cartoonist, part Mars Bar. At night, he runs
around in a pair of colorful tights fighting criminals. During the day... well,
he just runs around. He eats when he's hungry and sleeps when he's sleepy.
<!-- *** END bio *** -->
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2001, Shane Collinge.<BR>
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
Published in Issue 66 of <i>Linux Gazette</i>, May 2001</H5>
<!-- *** END copyright *** -->
<H4 ALIGN="center">
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Interview with Ben Collins, the new Debian Project Leader</font></H1>
<H4>By <a href="mailto:frc@linux.com.br">Fernando Ribeiro Corr&ecirc;a &amp; Marcos Martins Manh&atilde;es</a><BR>
Originally published at <A HREF="http://www.olinux.com.br/Interviews">OLinux</A></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<p>
<b>OLinux: First of all, tell us about your background.</b>
</p>
<p>
<b>Ben Collins:</b>
I am generally speaking a programmer and systems
administrator. In the past I have also worked as a Desktop
Publisher and a web designer. I've worked for NASA LaRC,
several ISPs and currently am working at
<A HREF="http://www.winstar.com">Winstar</A>
.</p>
<p>
<b>OLinux: Please give a brief summary of
<A HREF="http://www.debian.org">Debian</A>'s History, Philosophy
and Organization on handling free software development?</b>
</p>
<p>
<b>Ben Collins:</b>
Our philosophy goes back a long way. Mainly we believe that
it <EM>is</EM> possible to create a completely free operating system
with all of the things you need to do your daily work. That's
what started Debian, and prompted Ian Murdock to write the
Debian Manifesto. From there began our project, and from it
has come the Debian Free Software Guidelines (DFSG), which
defines the type of software licensing we consider to be Free
in the sense of Freedom. Also came the Debian Social
Contract, which defines what we will support for our users.
Later, as we grew, came our Constitution, which defines our
operating procedures, and breakdown of authority within the
project.</p>
<p>We've basically given full control of each package to the
maintainer of that package, so long as it falls within the
guidelines of our well defined Policy. Our Policy is one of
the strengths of the Debian distribution. Without it, we
would not have a cohesive set of packages, and
installs/upgrades would be a nightmare.</p>
<p>
<b>OLinux: How excited you are about being in front of the
Debian Project? Do you have something in mind for the
Debian Project? Are you going to make changes on the way
the work is done?</b>
</p>
<p>
<b>Ben Collins:</b>
I'm extremely excited. This is my third run at the DPL
position, and it is a goal I have finally achieved thanks
completely to those in the project that have faith in my
ability to handle the job. I have plans to clean up some
loose ends that have been plaguing our internal organisation
for some time. After this, I plan to tackle some of the more
difficult situations that still linger, or are threatening to
be a problem in the near future.</p>
<p>
<b>OLinux: What are going to be the differences between your
leadership and the predecessor's?</b>
</p>
<p>
<b>Ben Collins:</b>
When I first came to Debian, Ian Jackson was finishing his
term as DPL, and he was very inactive (to his defense, I do
not know any details of his situation). Wichert then followed
for two terms. I believe he did an excellent job keeping
Debian going. However, my plans are to get Debian moving
rather than continue to limp along with some of the problems
we face.</p>
<p>
<b>OLinux: How are people organized and what are the tools
used to control the results of the work being done in
different projects and parts of the world?</b>
</p>
<p>
<b>Ben Collins:</b>
Within Debian, we have the maintainers (some 800 it seems
now). Each of them is responsible for maintaining one or more
packages (some do not maintain packages, but help with other
projects internally, such as ftp archive, www site, etc.).
They have complete control of their tasks within the
guidelines and policy. Within this, some developers have
grouped together to manage large specific tasks. Examples of
this are the Debian Junior project, as well as the ports (such
as sparc, arm, alapha, powerpc, etc.) and language
projects.</p>
<p>All work is coordinated via mailing lists. Some people
also use IRC as a way of immediate interaction (via
irc.openprojects.net). We also have the Debian Bug Tracking
System to manage bug reports for all of our packages and
systems. This system is available publicly via our web
pages. Anyone can file a bug, and track it's progress
directly with the maintainer.</p>
<p>
<b>OLinux: How many people are working for Debian nowadays?
Are you satisfied with the results?</b>
</p>
<p>
<b>Ben Collins:</b>
Last I checked, about 800. I am satisfied with the results.
What I am not satisfied with is the influx of maintainers
without a better scheme to manage them. Work is being done,
but I want to see some other things in this area discussed
and looked at.</p>
<p>
<b>OLinux: What do you think about people saying that the
Debian 2.2 has too much bugs? What are you going to do in
"Woody" to change this point of view?</b>
</p>
<p>
<b>Ben Collins:</b>
I was not aware that people said that. We have an excellent
security team that fixes all known security related bugs. We
also make regular point releases (2.2r3 is being worked on as
I write this) to update the security patches into a new
release. For woody we have a new "testing" mechanism which
should help reduce the amount of time needed to release.
Hopefully this will make more frequent releases possible.</p>
<p>
<b>OLinux: What are your expectations about the "Woody"
launch?</b>
</p>
<p>
<b>Ben Collins:</b>
I look forward to a lot of the things that are going to be
available in woody. Woody also promises to be the most
architectures we have ever released at one time (by any
distribution, that I am aware of).</p>
<p>
<b>OLinux: What are the active projects at Debian? How are
they divided and coordinated in terms of content and staff
for each project?</b>
</p>
<p>
<b>Ben Collins:</b>
Usually a project within Debian creates itself to fill a
need. The project manages itself, and delegates within its
own ranks who is responsible for what tasks. I'm not aware
of all such projects, simply because most of them work in the
background, silently making Debian better.</p>
<p>
<b>OLinux: Here, in Brazil, there is a project called
<a href="http://debian-br.sourceforge.net">
Debian BR</a>
. This is a project that is translating the Debian content
to Portuguese. Do you know that? If yes, what do you think
about it? If not, you are invited to visit the Debian BR
web site at debian-br.sourceforge.net. Do you know other
projects like this in other countries?</b>
</p>
<p>
<b>Ben Collins:</b>
I had not heard of it before. I think it is an excellent
thing, much like the JP and similar projects. The more people
we can get Debian to, the better. I'll have a look at the
web site, and I wish the best of luck to the project for it's
efforts.</p>
<p>
<b>OLinux: Do you consider Debian the leading GNU/Linux
distribution in the world?</b>
</p>
<p>
<b>Ben Collins:</b>
On many basis, yes. However, I measure Debian on what's
important to me, and am well aware that it lacks in areas
that are important to others. A recurring topic is our
installer. I'm happy to report that a new modular installer
is being worked on, and it so far appears to exceed, or will
exceed, all of the goals that the group set for itself. It
will probably not be done in time for woody, though.</p>
<p>
<b>OLinux: How is Debian's relationship with the GNOME
Foundation? And with the KDE league?</b>
</p>
<p>
<b>Ben Collins:</b>
I'm not able to answer this question. I do know that we have
some developers that work closely with both projects, and
that GNOME and KDE are both fully integrated within our
distribution.</p>
<p>
<b>OLinux: What are the advantages and what differentiates
Debian from
other popular distributions as SuSE or Red Hat, besides being a
non-commercial distribution?</b>
</p>
<p>
<b>Ben Collins:</b>
I think we have three major strengths. One is our development
model. No other distribution has all of its developers
available first hand to take bug reports and suggestions from
its user base.</p>
<p>No other distribution has as extensive a set of policies
that allows it to distribute as many packages as we do, all
integrated into our distribution, with easy installation.</p>
<p>No other distribution offers the ease of upgrades that we
do. There have been reports of people being able to
effortlessly upgrade from as far back as Debian 1.3 (bo) to
the current stable 2.2 (potato) (note, this is a libc5 to
libc6 upgrade path). Debian not only supports, but guarantees
upgradability. It is one of our primary goals.</p>
<p>
<b>OLinux: How do you describe Debian Project achievements
and what are the prospects and goals for the next
years?</b>
</p>
<p>
<b>Ben Collins:</b>
The fact that Debian is still around, and is still growing is
a major achievement. We have not lost site of our primary
goals; to produce a free and stable distribution. Over the
next few years I hope to see Debian prosper from commercial
acceptance via companies like Progeny. I'm hoping that
vendors will see us as a more viable solution for desktops
and pre-installed systems.</p>
<p>
<b>OLinux: Give us some predictions about the growth of the
GNU/Linux operating system for the next 2, 5 and 10
years.</b>
</p>
<p>
<b>Ben Collins:</b>
That's hard to predict. Unfortunately, as free as it may be,
GNU/Linux is directly affected by the economy. The current
trend of Internet companies starting to fail, will likely
scare away of a lot of the venture capital that has flooded
Linux in the past years. Hopefully this will be a good thing,
and the Linux companies will have to start working to make
their money, and not ride the wave of hype. I would guess
that over the next 2 years, Linux's hype will settle down,
and people will start taking it more seriously (not just
those in-the-know).</p>
<p>In 5 years, I suspect that GNU/Linux will be as common as
MacOS, Solaris and Windows in the home. In 10 years, who
knows. That's like an eternity to the technical world, so
Linux may be obsolete by then.</p>
<p>
<b>OLinux: What are the improvements that GNU/Linux needs
to be more deployed in by the corporate market?</b>
</p>
<p>
<b>Ben Collins:</b>
An accepted, easy to use interface. KDE and GNOME are working
toward this with great strides. But even with a good
interface, getting accepted and being "common" take far
longer than a development cycle.</p>
<p>
<b>OLinux: Debian is definitely the best Linux distro, but
its hardware configuration interface and its installer are
not so friendly. Is the Debian Project going to focus on a
best interaction with the final user or it still a
distribution for the systems administrators only?</b>
</p>
<p>
<b>Ben Collins:</b>
Yes, the debian-installer group is working very hard on this.
We do not want to remain a niche distribution only used by
administrators and hard-core hackers.</p>
<!-- *** BEGIN bio *** -->
<SPACER TYPE="vertical" SIZE="30">
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Fernando Ribeiro Corr&eci;a</H4>
I am a computer analyst just about to finish my
graduation at Federal University of Rio de Janeiro. Now, I have built
with my staff the best
<A HREF="http://www.olinux.com.br">Linux portal</A> in Brazil and have further
plans to improve services and content for our Internet users.
<SPACER TYPE="vertical" SIZE="30">
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Marcos Martins Manh&atilde;es</H4>
I'm a journalist graduated from UFRJ (Federal
University of Rio de Janeiro). I'm 25 years old and have been working at
OLinux for one year. I began studying mecanical engeneering, but I gave
up during the second year. I've spent one year in Rockville (went to
Montgomery College), Maryland, and traveled a lot around the USA (that
was a great time).
<!-- *** END bio *** -->
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2001, Fernando Ribeiro Corr&ecirc;a &amp; Marcos Martins Manh&atilde;es.<BR>
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
Published in Issue 66 of <i>Linux Gazette</i>, May 2001</H5>
<!-- *** END copyright *** -->
<H4 ALIGN="center">
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Converting Linux HOWTOs into Book Format</font></H1>
<H4>By <a href="mailto:articles@gnujobs.com">Mark Nielsen</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<ol>
<li>
<a href="#Introduction">Introduction</a></li>
<li><a href="#perl">Perl script to convert the Postscript files</a></li>
<li>
<a href="#Conclusion">Conclusion</a></li>
<li>
<a href="#REF">References</a></li>
</ol>
<h3>
<a NAME="Introduction"></a>Introduction</h3>
I wanted to print out Linux HOWTOs into book format. However, I am not fond
of manually converting the HOWTOs. Instead, since all the HOWTOs are available
in Postscript format, I figured out that I could download the Postscript
files on a regular basis and use various tools to convert the Postscript
files into book formatted Postscript and PDF files. I accomplished this
with a relatively small Perl script using a variety of Unix tools. I plan on
have a cron job run at least once a week to update the books.
<a NAME="perl"></a>
<h3>Perl script to convert the Postscript files
</h3>
The Perl script is in this section, and you can
also <a href="misc/nielsen/HOWTO_Books.pl.txt">get the Perl script here</a>.
<pre>
#!/usr/bin/perl
# ftp://ftp.tardis.ed.ac.uk/users/ajcd/psutils.tar.gz
# http://www.dcs.ed.ac.uk/home/ajcd/psutils/
# cp Makefile.unix Makefile
# ln -s /usr/bin/perl /usr/local/bin/perl
# mkdir -p /usr/local/share/man/man1
# /usr/local/bin/psbook
#system (&quot;lynx --source ftp://ftp.tardis.ed.ac.uk/users/ajcd/psutils.tar.gz &gt; /tmp/psutils.tar.gz)&quot;;
# system (&quot;cd /tmp; tar -zxvf psutils.tar.gz; cd psutils; cp Makefile.unix Makefile&quot;);
# system (&quot;ln -s /usr/bin/perl /usr/local/bin/perl; mkdir -p /usr/local/share/man/man1&quot;);
# system (&quot;cd /tmp/psutils; make; make install; ln -s /usr/local/bin/psutils /usr/bin/psutils&quot;);
# Ignore the lines above, unless you don't have psutils.
# I keep the lines above just so I remember how I installed psutils.
my $TempFile1 = &quot;/tmp/HOWTO_Convert_1.ps&quot;;
my $TempFile2 = &quot;/tmp/HOWTO_Convert_1.pdf&quot;;
my $SourceDir = &quot;/root/HOWTO&quot;;
my $Destination = &quot;/root/HOWTO_Books&quot;;
my $ZippedPDF = &quot;/root/HOWTO_books_pdf.tgz&quot;;
my $ZippedPS = &quot;/root/HOWTO_books_ps.tgz&quot;;
if (!(-d $Destination)) {system &quot;mkdir $Destination&quot;;}
print &quot;Downloading HOWTOs from http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/ps/Linux-ps-HOWTOs.tar.gz\n&quot;;
system (&quot;lynx --source http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/ps/Linux-ps-HOWTOs.tar.gz &gt; $SourceDir/Linux-ps-HOWTOs.tar.gz&quot;);
system (&quot;cd $SourceDir; tar -zxvf Linux-ps-HOWTOs.tar.gz&quot;);
my @Files = &lt;$SourceDir/*.ps.gz&gt;;
foreach my $File (@Files)
{
my $command=&quot;gunzip -c $File | /usr/bin/psbook -s4 | mpage -2 &gt; $TempFile1&quot;;
print &quot;Executing psbook and mpage on $File\n$command\n&quot;;
system ($command);
$command = &quot;ps2pdf $TempFile1 $TempFile2&quot;;
print &quot;Executing ps2pdf\n$command\n&quot;;
system ($command);
my (@Temp) = split(/\//,$File);
my $NamePDF = pop @Temp;
my $NamePS = $NamePDF;
$NamePDF =~ s/\.ps\.gz$/\.pdf/;
$NamePS =~ s/\.ps\.gz$/\.ps/;
my $NewPS = &quot;$Destination/$NamePS&quot;;
my $NewPDF = &quot;$Destination/$NamePDF&quot;;
system (&quot;mv $TempFile2 $NewPDF&quot;);
print &quot;Created the book-formatted HOWTO, $NewPDF\n&quot;;
system (&quot;mv $TempFile1 $NewPS&quot;);
print &quot;Created the book-formatted HOWTO, $NewPS\n&quot;;
}
print &quot;Creating zip files $ZippedPDF and $ZippedPS\n&quot;;
system (&quot;tar -zcvf $ZippedPDF $Destination/*.pdf&quot;);
system (&quot;tar -zcvf $ZippedPS $Destination/*.ps&quot;);
</pre>
<h3>
<a NAME="Conclusion"></a>Conclusion</h3>
This is just a simple Perl script I use to download and convert the
Postscript HOWTOs. My future goals involve:
<ol>
<li> using LWP in Perl instead of Lynx. Simple enough.
<li> converting the entire Perl script into Python.
<li> better error checking if the files don't get downloaded or if the
conversion doesn't work.
<li> creating objects accepting text, TeX, Postscript, PDF, or other formats
that can be converted into Postscript fairly easily and then into book format.
</ol>
For now, my simple Perl script works out just fine. I am interested in
converting other documents for people provided that the documentation falls
under some form of free documentation, like
<a href="http://www.gnu.org/philosophy/license-list.html#DocumentationLicenses">
Licenses For Documentation</a> located at www.gnu.org.
<h3>
<a NAME="REF"></a>References</h3>
<ol>
<li>10/2000 <a href="http://www.gnujobs.com/Articles/8/Book_Binding-3.html">Micro Publishing: Part 3 , by Mark Nielsen
</a>.
<li> 7-1-2000
<a href="http://genericbooks.com/Articles/5/Book_Binding-2.html">
Micro Publishing, part II (Mark's Update)</a>
<li> 12-1999 -- <a
href="http://genericbooks.com/Literature/Articles/1/Book_Binding-1.html">
Micro Publishing</a>.
<li>
If this article
changes, it will be available here
<a href="http://www.gnujobs.com/Articles/18/HOWTO_Books.html">
http://www.gnujobs.com/Articles/18/HOWTO_Books.html</a></li>
</ol>
<p>
<i> Mark works as an independent consultant donating time to causes like
GNUJobs.com, writing articles, writing free software, and working
as a volunteer at <a href="http://www.eastmont.net">eastmont.net</a>.</i>
<!-- *** BEGIN bio *** -->
<SPACER TYPE="vertical" SIZE="30">
<p>
<h4><img align=bottom alt="" src="../gx/note.gif">Mark Nielsen</h4>
Mark works at ZING
(<A HREF="http://www.genericbooks.com">www.genericbooks.com</A>) and
<A HREF="http://GNUJobs.com">GNUJobs.com</A>. Previously,
Mark founded <A HREF="http://www.gnujobs.com">The Computer Underground</A>.
Mark works on non-profit and volunteer projects which promote free literature
and software. To make a living, he recruits people for GNU related jobs and
also provides solutions for web/database problems using Linux, FreeBSD, Apache,
Zope, Perl, Python, and PostgreSQL.
<!-- *** END bio *** -->
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2001, Mark Nielsen.<BR>
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
Published in Issue 66 of <i>Linux Gazette</i>, May 2001</H5>
<!-- *** END copyright *** -->
<H4 ALIGN="center">
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Configuring GDM 2.2</font></H1>
<H4>By <a href="mailto:articles@gnujobs.com">Mark Nielsen</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<ol>
<li>
<a href="#Introduction">Introduction</a></li>
<li><a href="#install">Downloading and installing GDM.</a></li>
<li><a href="#config">Configuring GDM</a></li>
<li><a href="#Conclusion">Conclusion</a></li>
<li><a href="#REF">References</a></li>
</ol>
<h3>
<a NAME="Introduction"></a>Introduction</h3>
GDM or GNOME Display Manager, is a nice GUI login screen which makes it nice
and pretty to login to X-windows. It it much nicer for non-linux people to have
a GUI interface to login to rather than a console.
<p>
One thing that bothered me with some of the older versions of GDM was the
fact that I couldn't place the login window anywhere I wanted on the
screen. With the latest version, it as very easy. Also, I couldn't figure
out how to make logos of people in the login window, and now I figured
that out. The latest version of GDM is really nice and I have figured out
how to configure it the way I wanted it to be configured, so I finally
decided to write this article.
<h3><a name="install">Downloading and installing GDM.</h3>
I could have downloaded an RPM from somewhere, but instead I decided to
compile it manually. I was testing it on a RH 6.2 system. As soon as I can
get the 7.1 version of RH (as the 7.0 wasn't worth the trouble), I will
test it on it as well, and Debian of course.
<p>
The danger of not using RPMs to install GDM, is the fact that I am installing
a newer version of GDM on top of a GDM version which was installed by RPMs.
This could cause problems if I decided to use an RPM in the future. I found
an RPM version at
<a href="ftp://ftp.gnome.org/pub/GNOME/stable/latest/redhat/i386/Base/gdm-2.2.0-1.i386.rpm">
ftp://ftp.gnome.org/pub/GNOME/stable/latest/redhat/i386/Base/gdm-2.2.0-1.i386.rpm</a>
in case you don't want to install it manually.
<p>
Initial Steps
<ol>
<li> Downloaded GDM from <a href="ftp://ftp.gnome.org/pub/GNOME/stable/latest/sources/gdm-2.2.0.tar.gz">
ftp://ftp.gnome.org/pub/GNOME/stable/latest/sources/gdm-2.2.0.tar.gz</a>
<li> tar -zxvf gdm-2.2.0.tar.gz
<li> cd gdm-2.2.0
<li> ./configure --prefix=/usr
<li> make
<li> make install
</ol>
After fooling around a bit, I found out that /etc/X11/gdm wasn't being
used for the configuration files, so I linked /etc/X11/gdm to the place
that gdm was looking. I probably could have recompiled gdm to fix this problem,
but I am being lazy. Also, one directory was missing, so I created it.
<p>
Three additional Steps
<ol>
<li>mv /usr/etc/gdm /usr/etc/gdm_new
<li>ln -s /etc/X11/gdm /usr/etc/gdm
<li>mkdir /usr/share/faces/
</ol>
Again, I emphasize the fact that you should probably use the rpm and
not bother installing it manually.
<h3>
<a NAME="config"></a>Configuring GDM</h3>
The goals I had were,
<ol>
<li> Be able to place the login screen anywhere I wanted.
<li> Be able to play a game before someone has to login.
<li> Be able to put images in the background just for fun.
<li> Be able to put a clock on the background.
<li> Be able to put pictures or logos of people on the browser part of GDM.
</ol>
I had to change some of the settings in the file gdm.conf. My changes
were
<pre>
Browser=true
SetPosition=true
PositionX=100
PositionY=100
Exclude=bin,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,gdm,postgres,pvm,otherlogin
GlobalFaceDir=/usr/share/faces/
</pre>
Also, here was my Init/Default script,
<pre>
#!/bin/sh
/usr/X11R6/bin/xsetroot -solid "#363047"
xsri -geometry +5+5 /etc/X11/xdm/Logo2.png
xsri -geometry +400+5 /home/mark/public_html/wedding/wed2.jpg
xsri -geometry +700+500 /home/mark/public_html/wedding/walk.jpg
xsri -geometry +200+500 /home/mark/public_html/wedding/kiss.jpg
xsri -geometry +5+175 /home/mark/public_html/kiss.gif
xsri -geometry +5+500 /usr/local/apache_gnujobs/htdocs/images/zing.png
xeyes -geometry +825+5 &amp;
xclock -digital -geometry +825+125 -update 1 &amp;
xtriangles -geometry +800+300 &amp;
</pre>
In order to get logos or pictures of people on the GDM screen, I had to
make the name of the image exactly the name of username and put it in
/usr/share/faces/. To test this, I took my logo for ZING and copied it
to
"/usr/share/faces/root" like
<pre>
cp /usr/local/apache_gnujobs/htdocs/images/zing.png /usr/share/faces/root
</pre>
Notice that there is no extension.
<h3>
<a NAME="Conclusion"></a>Conclusion</h3>
Everything worked perfectly once I followed these steps. Using the rpm
might have been easier, but oh well. I will try that out next time. I
highly recommend to back up any gdm configuration files before installing
any new RPMs (though the RPMs should back them up for you). I don't really
see any other features that I would need. Some miscellaneous features, like maybe
a ticker tape, downloading the weather, or other games besides triangles
would be cool. I imagine it is possible, but it isn't necessary for me.
It also might be a security risk to let people play games before they
have to login, in case they figure out some way to break out to a shell,
so I wouldn't advise putting games into GDM on public computers.
<p>
I would have liked to compare KDM with GDM, but I wasn't able to easily
find a recent web page for KDM. I am also waiting until I install the latest
version of KDE before I mess around with KDM anyways.
<h3>
<a NAME="REF"></a>References</h3>
<ol>
<li><a href="http://www.socsci.auc.dk/~mkp/gdm/">Gnome Display Manager</a>
<li> 6-24-1999 <a href="../issue43/nielsen.xdm.html">Setting up XDM</a>.
<li>
If this article
changes, it will be available here
<a href="http://www.gnujobs.com/Articles/19/GDM.html">
http://www.gnujobs.com/Articles/19/GDM.html</a></li>
</ol>
<p>
<i> Mark works as an independent consultant donating time to causes like
GNUJobs.com, writing articles, writing free software, and working
as a volunteer at <a href="http://www.eastmont.net">eastmont.net</a>.</i>
<!-- *** BEGIN bio *** -->
<SPACER TYPE="vertical" SIZE="30">
<p>
<h4><img align=bottom alt="" src="../gx/note.gif">Mark Nielsen</h4>
Mark works at ZING
(<A HREF="http://www.genericbooks.com">www.genericbooks.com</A>) and
<A HREF="http://GNUJobs.com">GNUJobs.com</A>. Previously,
Mark founded <A HREF="http://www.gnujobs.com">The Computer Underground</A>.
Mark works on non-profit and volunteer projects which promote free literature
and software. To make a living, he recruits people for GNU related jobs and
also provides solutions for web/database problems using Linux, FreeBSD, Apache,
Zope, Perl, Python, and PostgreSQL.
<!-- *** END bio *** -->
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2001, Mark Nielsen.<BR>
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
Published in Issue 66 of <i>Linux Gazette</i>, May 2001</H5>
<!-- *** END copyright *** -->
<h4 align=center style='text-align:center'><!--endcut ============================================================-->&quot;Linux
Gazette...<i>making Linux just a little more fun!</i>&quot; </h4>
<div class=MsoNormal align=center style='text-align:center'>
<hr size=2 width="100%" align=center>
</div>
<h1 align=center style='text-align:center'><span style='color:maroon'><!--===================================================================-->CVS:
Client-Server Version Control</span></h1>
<h4 align=center style='text-align:center'>By <a
href="mailto:kapil@linux4biz.net">Kapil Sharma</a></h4>
<div class=MsoNormal align=center style='text-align:center'>
<hr size=2 width="100%" align=center>
</div>
<span style='font-size:12.0pt;font-family:"Times New Roman";mso-fareast-font-family:
"Times New Roman";color:black;mso-ansi-language:EN-GB;mso-fareast-language:
EN-US;mso-bidi-language:AR-SA'>
<ol start=1 type=1>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'><a href="#one"><!-- END header -->Overview</a>
</li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'><a href="#two">Getting CVS</a>
</li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'><a href="#three">The
repository</a> </li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'><a href="#four">Multiple
Developers</a> </li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'><a href="#five">Rolling
back to previous version</a> </li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'><a href="#six">Some common
CVS commands</a> </li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'><a href="#seven">Other
tools and add-ons to CVS</a> </li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'><a href="#more">More
information</a> </li>
</ol>
</span>
<h2><a name=one></a>Overview</h2>
<p>CVS is a version control system. Using it, you can record the history of
your source files. CVS helps if you are part of a group of people working on
the same project, sharing the same code. Several developers can work on the
same project remotely using CVS's client-server model in which the code exists
on a central server and each programmer get the source on his local machine
from the CVS server (checkout) and save it back on the CVS server (checkin)
after development. Each time a programmer checks in his new code into the CVS
server, the difference is saved as a new version rather than overwriting the previous
version. This allows the server to recreate any previous version upon request,
although by default it distributes the latest version.</p>
<p>This article explains how to use CVS in client-server mode and get the most
out of it.</p>
<h2><a name=two></a>Getting CVS</h2>
<p>You can find CVS in your Linux distribution or get the source from <a
href="http://www.cvshome.org/downloads.html">http://www.cvshome.org/downloads.html</a></p>
<p class=MsoNormal>The home page for CVS is <a href="http://www.cvshome.org">http://www.cvshome.org</a>.
</p>
<h2><a name=three></a>The repository</h2>
<p>The CVS repository stores a complete copy of all the files and directories
which are under version control. Normally, you never access any of the files in
the repository directly. Instead, you use CVS commands to get your own copy of
the files into a working directory, and then work on that copy. When you've
finished a set of changes, you check (or commit) them back into the repository.
The repository then contains the changes which you have made, as well as
recording exactly what you changed, when you changed it, and other such
information. </p>
<p><b>Creating a Repository</b> <br>
To create a repository, run the CVS init command. It will set up an empty
repository in the CVS root specified in the usual way . </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>cvs -d /usr/local/cvsroot init</pre>
<p class=MsoNormal>Here /usr/local/cvsroot will become the repository. </p>
<p><b>CVSROOT environment variable</b> </p>
<p>Set the CVSROOT environment variable in your shell startup script. For
instance, in ~/.bashrc: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ export CVSROOT=:pserver:username@foo.com:/usr/local/cvsroot </pre>
<p><b>Backing up the Repository</b> <br>
There are a few issues to consider when backing up the repository: </p>
<ul type=disc>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l1 level1 lfo2;tab-stops:list 36.0pt'>One should either not use
CVS during the backup, or have the backup program lock CVS while doing the
backup. </li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l1 level1 lfo2;tab-stops:list 36.0pt'>To lock CVS, you would
create `#cvs.rfl' lock files in each repository directory. </li>
</ul>
<p><b>Remote Repositories</b> <br>
Your working copy of the sources can be on a different machine than the
repository. Using CVS in this manner is known as client/server operation. </p>
<p>Setting up the server: <br>
Put the following entry in /etc/inted.conf on server: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>2401 stream tcp nowait root /usr/local/bin/cvs cvs -f --allow-root=/usr/cvsroot pserver</pre>
<p>If your inetd wants a symbolic service name instead of a raw port number,
then put this in `/etc/services': </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>cvspserver<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>2401/tcp</pre>
<p class=MsoNormal><br>
and put cvspserver instead of 2401 in `inetd.conf'. <br>
After making you changes, send a HUP signal to inetd. </p>
<p><b>Password authentication for remote repository</b> <br>
For remote password authentication put a file `$CVSROOT/CVSROOT/passwd' . The
file will look like: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>anonymous:</pre><pre>kapil:1sOp854gDF3DY</pre><pre>melissa:tGX1fS8sun6rY:pubcvs</pre>
<p>The password is in Unix encrypted form. The first line in the example will
grant access to any CVS client attempting to authenticate as user anonymous, no
matter what password they use. The second and third lines will grant access to
kapil if he supplies his respective plaintext passwords. </p>
<p>The third will grant access to melissa if she supplies the correct password,
but her CVS operations will actually run on the server side under the system
user pubcvs. </p>
<p><i>Note: CVS can be configured not to check the UNIX real passwd file i.e
/etc/passwd for CVS authentication by setting SystemAuth=no in the CVS `config'
file ($CVSROOT/CVSROOT/config).</i> </p>
<p><b>Using the client with password authentication</b> </p>
<p>You have to login to CVS server for the first time: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre><span style="mso-spacerun: yes">&nbsp; </span>cvs -d :pserver:kapil@foo.com:/usr/local/cvsroot login</pre>
<p>The you can use all the commands of CVS on the remote machine: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre><span style="mso-spacerun: yes">&nbsp; </span>cvs -d :pserver:kapil@foo.com:/usr/local/cvsroot checkout someproj</pre>
<p><b>Read only repository access</b> <br>
It is possible to grant read-only repository access to people using the
password-authenticated server. There are two ways to specify read-only access
for a user: by inclusion, and by exclusion. <br>
&quot;Inclusion&quot; means listing the user in the `$CVSROOT/CVSROOT/readers'
file, which is simply a newline-separated list of users. Here is a sample
`readers' file: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>kapil</pre><pre>yogesh</pre><pre>john</pre>
<p>(Don't forget the newline after the last user.) </p>
<p>&quot;Exclusion&quot; means listing everyone who should have write access.
If the file&nbsp;&nbsp;&nbsp; $CVSROOT/CVSROOT/writers exists, then only those
users listed in it will have write access, and everyone else will have
read-only access. The `writers' file has the same format as the `readers' file.
</p>
<p><b>Setting up the files in repository</b> <br>
If the files you want to install in CVS reside in `someproj', and you want them
to appear in the repository as `$CVSROOT/someproj', you can do this: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cd someproj</pre><pre>$ cvs import -m &quot;Imported sources&quot; someproj vendor </pre><pre><span style="mso-spacerun: yes">&nbsp;&nbsp;</span>rel1-1</pre>
<p class=MsoNormal>Here The string `vendor' is a vendor tag, and `rel1-1' is a
release tag. </p>
<p><b>CVS locks in repository</b> <br>
Any file in the repository with a name starting with `#cvs.rfl.' is a read
lock. Any file in the repository with a name starting with `#cvs.wfl' is a
write lock. The directory `#cvs.lock' serves as a master lock. That means one
must obtain this lock first before creating any of the other locks. </p>
<p>To obtain a read lock, first create the `#cvs.lock' directory. If it fails
because the directory already existed, wait for a while and try again. After
obtaining the `#cvs.lock' lock, create a file whose name is `#cvs.rfl.'
followed by information of your choice (for example, hostname and process
identification number). Then remove the `#cvs.lock' directory to release the
master lock. Then proceed with reading the repository. When you are done,
remove the `#cvs.rfl' file to release the read lock. </p>
<p>To obtain a write lock, first create the `#cvs.lock' directory, as with a
read lock. Then check that there are no files whose names start with
`#cvs.rfl.'. If there are, remove `#cvs.lock', wait for a while, and try again.
If there are no readers, then create a file whose name is `#cvs.wfl' followed
by information of your choice (for example, hostname and process identification
number). Hang on to the `#cvs.lock' lock. Proceed with writing the repository.
When you are done, first remove the `#cvs.wfl' file and then the `#cvs.lock'
directory. </p>
<p><b>Symbolic revisions using tags in CVS<br>
</b>The release number of final software releases are different from revisions
in CVS. The revision numbers might change for several times between two
releases.You can use the linux-questions-only@ssc.command to give a symbolic name to a certain
revision of a file. </p>
<p>Change to the working directory and issue the following command for tagging:
</p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs tag rel1-1 file.c</pre>
<p class=MsoNormal>This command will tag the file &quot;file.c&quot; as release
1.1 </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs tag rel1-1 .</pre>
<p class=MsoNormal>This command will tag all the files under current directory
recursively as revision 1.1</p>
<p>You can use the `-v' flag to the status command to see all tags that a file
has, and which revision numbers they represent by issuing the following
command:</p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs status -v file.c</pre>
<p>Now you can checkout any revision of a module by using the following
command: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs checkout -r rel1-1 module1</pre>
<p class=MsoNormal>here &quot;module1&quot; is the name of the module. The -r
flag with checkout option makes it easy to retrieve the sources that make up
revision 1.1 of the module `module1' at any time in the future.</p>
<h2><a name=four></a>Multiple Developers</h2>
<p><b>File status</b> <br>
The cvs status command gives a status about the states of the files. You can
get a status of the file by: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs status [options] files</pre>
<p><b>Bringing a file up to date</b> <br>
When you want to update or merge a file, use the update command. This brings
into your working copy the changes others have recently committed. Your
modifications to a file are never lost when you use update. If no newer
revision exists, running update has no effect. If you have edited the file, and
a newer revision is available, CVS will merge all changes into your working
copy. </p>
<p><b>Resolving Conflicts</b> </p>
<p>If two people simultaneously make changes to different parts of the same
file, CVS is smart enough to merge the changes itself. But if two people make
changes to the <em>same</em> part of a file, CVS cannot tell what the final
result is supposed to be, so it gives up and wines, &quot;Conflict!&quot;
Conflicts arise when one developer commits a change and a second developer,
without running cvs update to receive the first developer's change, tries to
commit his own incompatible change. Resolving changes can take hours or even
days. In this section, I will explain how to resolve source conflicts. </p>
<p>When you enter the cvs commit command to automatically upload all the files
you have changed or added to a project, the CVS repository server may inform
you that your locally-edited files are not up-to-date with the server or that
you need to manually merge one or more files with newer versions that have
already been uploaded to the repository by some other developer. Here's a
typical warning message that occurred during a CVS commit process: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs commit</pre><pre>cvs commit: Examining .</pre><pre>cvs commit: Up-to-date check failed for `andy.htm' </pre><pre>cvs commit: Up-to-date check failed for `sample.htm' </pre><pre>cvs commit: Up-to-date check failed for `index.htm' </pre><pre>...</pre><pre>cvs [commit aborted]: correct above errors first!</pre>
<p>You can use the cvs update command to update your local project copy with
the latest changes in the cvs repository. To update your entire working copy of
the site, open a command prompt, change to the directory containing the project
you're developing, and issue the command: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs update</pre>
<p class=MsoNormal>This will update and automatically merge every file that has
changed since you last copied over new files from the CVS repository.
Line-by-line updates to individual text files (such as HTML files) can often be
handled automatically. CVS will list for you any files that require your
attention for manual editing and merging. </p>
<p>Automatic merge example: <br>
You are editing some project file called &quot;index.html&quot; locally and
when you try to commit that file to CVS repository then CVS will give you the
following error: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs commit index.html</pre><pre><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>cvs commit: Up-to-date check failed for `index.html' </pre><pre><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;</span>cvs [commit aborted]: correct above errors first!</pre>
<p class=MsoNormal>This happens because there is a newer version of the same
file on the CVS repository. You should use cvs update command to get the latest
version from the CVS repository onto your local machine: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs update index.html</pre><pre>RCS file: /usr/local/cvsroot/index.html,v</pre><pre>retrieving revision 1.4</pre><pre>retrieving revision 1.5</pre><pre>Merging differences between 1.4 and 1.5 into index.html </pre><pre>M index.htm</pre>
<p class=MsoNormal>After the automatic merge process you should check the
merged copy to check if it is working properly. When you are satisfied with the
local copy of &quot;index.html&quot; file then you can commit it to CVS: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs commit index.htm</pre><pre>Checking in index.htm;</pre><pre>/usr/local/cvsroot/index.htm,v &lt;-- index.htm</pre><pre>new revision: 1.6; previous revision: 1.5 </pre><pre>done</pre>
<p>Manual merge example: <br>
In some cases, your recent work on a file might be so different that the CVS
needs your manual intervention in order to integrate everyone's work and put it
back into the site repository. </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs commit index.html cvs commit: Up-to-date check failed for</pre><pre><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>`index.html' cvs [commit aborted]: correct above errors first!</pre>
<p>Use the cvs update command to bring your local copy of the site up to date: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs update</pre><pre>cvs update: Updating .</pre><pre>RCS file: /usr/local/cvsroot/index.html,v</pre><pre>retrieving revision 1.5</pre><pre>retrieving revision 1.6</pre><pre>Merging differences between 1.5 and 1.6 into index.htm</pre><pre>rcsmerge: warning: conflicts during merge</pre><pre>cvs update: conflicts found in activity.htm</pre><pre>C index.htm</pre>
<p>This time CVS was unable to merge the files automatically, so it created a
special copy of the conflicting file in place of the original index.html. The
file has marker lines to indicate the beginning and end of conflictiong
region(s); e.g., </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre><span style="mso-spacerun: yes">&nbsp; </span>&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; filename</pre>
<p class=MsoNormal>To resolve the conflict, simply edit the index.html file and
replace the text between the markers and test the result until it works. You
should also delete the markers </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;========&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; </pre>
<p class=MsoNormal>from the file. When you have finished correcting the file
and have tested it, use the cvs commit command to put your latest copy of file
into the repository: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs commit</pre><pre>Checking in index.html;</pre><pre>/usr/local/cvsroot/index.html,v &lt;-- index.html</pre><pre>new revision: 1.7; previous revision: 1.6 </pre><pre>done</pre>
<p><b>Watches (CVS communication)</b> <br>
CVS can function as a communication device as well as a record-keeper.&nbsp; A
&quot;watches&quot; feature provides multiple developers working on the same
project with a way to notify each other about who is working on what files at a
given time. By &quot;setting a watch&quot; on a file/directory , a developer
can have CVS notify her if anyone else starts to work on that file by means of
sending e-mail or some other method. </p>
<p>To use watches you have to edit two files in the repository administrative
area. You have to edit the &quot;$CVSROOT/CVSROOT/notify&quot; file (which
tells CVS how notifications are to be performed) and
&quot;$CVSROOT/CVSROOT/users&quot; file(which supplies external e-mail
addresses). The best way to modify administrative files is to checkout one copy
from the repository ,edit them and then check in to repository . </p>
<p>To specify e-mail notification, first uncomment the following line from
&quot;$CVSROOT/CVSROOT/notify&quot; file: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>ALL mail %s -s &quot;CVS notification&quot;</pre>
<p class=MsoNormal>This command causes notifications to be sent as e-mail with
the subject line &quot;CVS notification&quot;. </p>
<p>Then you have to create/edit the file &quot;$CVSROOT/CVSROOT/users&quot; .
The format of each line in the users file is: CVS_USERNAME:EMAIL_ADDRESS. For
example: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>kapil:kapil@linux4biz.net</pre>
<p>The CVS username at the beginning of the line corresponds to a CVS username
in CVSROOT/password, or the server-side system username of the person running
CVS. Following the colon is an external e-mail address to which CVS should send
watch notifications for that user. </p>
<p><b>E-mail notification with logfile</b> <br>
CVS provides a feature of sending automated e-mail to everyone working on a
project&nbsp; with a log message whenever a commit takes place. The program to
do the mailing - contrib/log.pl in the CVS source distribution - can be
installed anywhere on your system. You can also install it into
&quot;$CVSROOT/CVSROOT&quot;. You should change the following line in log.pl : </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$mailcmd = &quot;| Mail -s 'CVS update: $modulepath'&quot;; </pre>
<p>Once you've setup the log.pl , you can put lines similar to these into your &#8220;loginfo&#8221;
file. The <tt><span style='font-size:10.0pt;font-family:"Arial Unicode MS"'>`loginfo'</span></tt>
file is used to control where <samp><span style='font-family:"Arial Unicode MS"'>`cvs
commit'</span></samp> log information is sent. You can find it in &quot;$CVSROOT/CVSROOT&quot;.</p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>projectteam1 CVSROOT/log.pl %s -f CVSROOT/commitlog -m projectteam1@linux4biz.net</pre><pre>projectteam2&nbsp; CVSROOT/log.pl %s -f CVSROOT/commitlog -m projectteam2@linux4biz.net</pre>
<p>The %s expands to the names of the files being committed; the -f option to
log.pl takes a file name, to which the log message will be appended (so
CVSROOT/commitlog is an ever-growing file of log messages); and the -m flag
takes an e-mail address, to which log.pl will send a message about the commit.
The address is usually a mailing list, but you can specify the -m option as <br>
many times as necessary in one log.pl command line. </p>
<p><b>Some commands related to setting up watches on files</b>: </p>
<p>If you only want to be notified about, say, commits, you can restrict
notifications by adjusting your watch with the -a flag (a for action): </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs watch add -a commit hello.c</pre>
<p>Or if you want to watch edits and commits but don't care about unedits, you
could pass the -a flag twice: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs watch add -a edit -a commit hello.c</pre>
<p>Adding a watch with the -a flag will never cause any of your existing
watches to be removed. If you were watching for all three kinds of actions on
hello.c, running </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs watch add -a commit hello.c</pre>
<p class=MsoNormal>has no effect - you'll still be a watcher for all three
actions. </p>
<p>To remove watches, run: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs watch remove hello.c</pre>
<p class=MsoNormal>which is similar to add in that, by default, it removes your
watches for all three actions. If you pass -a arguments, it removes only the
watches you specify: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs watch remove -a commit hello.c</pre>
<p>To find out who is watching files, run cvs watchers: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$cvs watchers</pre><pre>$cvs watchers hello.c</pre>
<p>To find out who is editing files, run cvs editors: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$cvs editors</pre><pre>$cvs editors hello.c</pre>
<p>Note: It is necessary to run &quot;cvs edit&quot; before editing any file to
be able to watch feature working. To make sure you do, CVS has a feature to
remind the someone to use cvs edit with the help of&nbsp; the watch on command:
</p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cd project</pre><pre>$ cvs watch on hello.c</pre>
<p>By running cvs watch on hello.c, kapil causes future checkouts of project to
create hello.c read-only in the working copy. When someone else tries to work
on it, he'll discover that it's read-only and be reminded to run cvs edit
first. </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$cvs edit hello.c</pre>
<h2><a name=five></a>Rolling back to previous version</h2>
<p class=MsoNormal>Sometimes you need to revert back to previous version of
your&nbsp; project.&nbsp; A project under CVS version control can quickly and
conveniently revert to an earlier stage of its life. I will explain some of the
common examples: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs checkout -D '1 year ago' preproject</pre>
<p class=MsoNormal>Here preproject is the name of the project. </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs checkout -r1.4 preproject</pre>
<p class=MsoNormal>1.4 is CVS's revision number for that version. <a name=six></a></p>
<h2>Some common CVS commands</h2>
<p><b>Some common terms:<br>
</b>Import:<span style="mso-spacerun: yes">&nbsp; </span>This means taking an
existing directory tree and copying it into the CVS repository, creating a new
CVS project.
<br>
Commit: Apply all your changes to the CVS repository. Each changed file will
be assigned a new CVS version.<br>
Checkout: Get the working copy of files from cvs repository into the local
directory.<br>
Export: export is same as checkout. The only difference is that export does not
copy out the CVS administrative directories, so you cannot run CVS commands
in the resulting tree. On the other hand, this is how you create your "final"
copy for distribution.<br>
Upload: General term for Import or commit.<br>
Download: General term for checkout or export.<br>
Checkin: General term, same as commit.</p>
<p><b>Adding a file to the CVS repository &quot;My_Files&quot;</b> </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs add File3.txt</pre><pre>$ cvs commit</pre>
<p class=MsoNormal>cvs add does not upload the file right away, but registers
it to be uploaded at the next commit. </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre>
<p>This invokes your default text editor and prompts you to enter a description
of your changes. Save the file and quit the editor. CVS will then ask you to
continue, and select the option to continue. Now you have uploaded a file to
the CVS repository &quot;My_Files&quot;. </p>
<p><b>Changing a file to the CVS repository &quot;My_Files&quot;</b> </p>
<p>&nbsp;This can be done with cvs commit command. Let us add some content to
the file File2.txt and then commit it to the cvs repository.</p>
<pre>$ ls /var &gt;&gt; File2.txt</pre><pre>$ cvs commit</pre>
<p><b>Removing files</b> <br>
To remove files from a site, you run the cvs remove command on the desired
filenames in your working copy. As a ``safeguard'', cvs remove will not work if
the working copies of your files still exist.<br>
Syntax:<span style="mso-spacerun: yes">&nbsp; </span>$ cvs remove [options]
files<br style='mso-special-character:line-break'>
<![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
<![endif]></p>
<pre>$ cvs remove file.html</pre><pre>cvs server: file `file.html' still in working directory</pre><pre>cvs server: 1 file exists; remove it first</pre><pre>$</pre>
<p>To get around this, you may use the -f option with the cvs remove command or
remove the file first and then execute the cvs remove command. </p>
<pre>$ cvs remove -f oldfile.html</pre><pre>cvs server: scheduling `oldfile.html' for removal</pre><pre>cvs server: use 'cvs commit' to remove this file permanently</pre><pre>$ cvs commit</pre><pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>Or</pre><pre>$ rm File3.txt</pre><pre>$ cvs remove File3.txt</pre><pre>$ cvs commit</pre><pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre>
<p class=MsoNormal>This will not delete the actual file from the CVS server
yet; it simply makes a note to tell the server to remove these files the next
time you commit your working copy of the project.<br>
<span style="mso-spacerun: yes">&nbsp;</span></p>
<p><b>Removing directories</b> <br>
The way that you remove a directory is to remove all the files in it. You don't
remove the directory itself: there's no way to do that. Instead you specify the
`-P' option to cvs update or cvs checkout, which will cause CVS to remove empty
directories from working directories. (Note that cvs export always removes
empty directories.) Note that `-P' is implied by the `-r' or `-D' options of
checkout. This way CVS will be able to correctly create the directory or not
depending on whether the particular version <br>
you are checking out contains any files in that directory. </p>
<p><b>Creating the directory structure from number of files in the CVS
repository</b><br>
This cvs import command is used to put several projects in cvs repository. </p>
<pre>$ cd source <br>
here source is the files that you want to put in cvs repository.<br
style='mso-special-character:line-break'>
<![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
<![endif]></pre><pre>$ cvs import -m &quot;Test Import&quot; My_Files Revision1 start<br>
The string <samp><span style='font-family:"Arial Unicode MS"'>&#8216;Revision1&#8217;</span></samp> is a <em>vendor tag</em>, and <samp><span
style='font-family:"Arial Unicode MS"'>`start'</span></samp> is a <em>release tag</em>. &#8220;My_Files&#8221; is the name of directory in cvs repository. The &#8211;m option is to put log message.</pre>
<p><b>Get the working copy of files from CVS</b> </p>
<p>Okay, now we want to download these files into a Working directory. <br>
When we checkout a package from cvs, it will create a directory for us. The
parameter &quot;My_Files&quot; that we specified when we uploaded the files
into cvs will be the name of <br>
the directory created for us when cvs downloads the package for us. </p>
<p>Now we need to get the cvs package. </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs checkout My_Files</pre>
<p><b>Downloading updates that other people make</b> </p>
<p>If you have downloaded a package from a repository that someone else is
maintaining, if you wish to download all the changes, then execute the
following command, </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs update -dP</pre>
<p>The &quot;d&quot; creates any directories that are or are missing. The
&quot;P&quot; removes any directories that were deleted from the repository. </p>
<p><b>Viewing the difference</b> <br>
You can easily see the difference between two file using cvs. </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cd project</pre><pre>$ cvs diff index.html</pre>
<p class=MsoNormal>This command runs diff to compare the version of
`index.html' that you checked out with your working copy.&nbsp; Here
&quot;project&quot; is the name of the local project directory. </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs diff -r 1.20 -r 1.21 hello.c</pre>
<p class=MsoNormal>This command will show the difference between two versions
of same file. </p>
<p><b>The annotate Command</b> <br>
With annotate, you can see who was the last person to touch each line of a
file, and at what revision they touched it. It gives you more information than
the history command: </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$cvs annotate</pre>
<p>View logs </p>
<pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre>$ cvs log -r 1.21 hello.c</pre>
<p class=MsoNormal>This will show you the logs for hello.c version 1.21 <a
name=seven></a></p>
<h2>Other tools and add-ons to CVS</h2>
<p><b>Henner Zeller's CVSweb&nbsp;</b> <br>
It has a feature of browsing the CVS repository by web browser and even shows
the latest revision and log message for each file. It presents you with a
web-based interface to browse any and all of the sites and projects you manage
by&nbsp; CVS. You can get it from <a
href="http://stud.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi/">http://stud.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi/</a>
</p>
<p><b>Martin Cleaver's CVSweb</b> <br>
&nbsp;It features capabilities for file upload as well as file browsing of CVS
repository. You can get this software from <a
href="http://sourceforge.net/projects/cvswebclient/">http://sourceforge.net/projects/cvswebclient/</a>
</p>
<p><b>LinCVS</b> <br>
A CVS GUI&nbsp;client for Linux. It provides nice features and easy to use. You
can get it from: <a href="http://www.lincvs.org/">http://www.lincvs.org/</a> </p>
<p><b>WinCVS</b> <br>
A CVS GUI&nbsp;client for Windows. It has many good features and I will
recommend this software for Windows clients. You can get it from <a
href="http://www.cvsgui.org/download.html">http://www.cvsgui.org/download.html</a>
<a name=more></a></p>
<h2>More Information</h2>
<p>CVS Manual : <a href="http://www.cvshome.org/docs/manual/index.html">http://www.cvshome.org/docs/manual/cvs.html</a></p>
<p>CVS Mailing lists: <a href="http://www.cvshome.org/communication.html">http://www.cvshome.org/communication.html</a></p>
<p>&nbsp;<o:p></o:p></p>
<h4><!-- *** BEGIN bio *** -->
<spacer type=vertical size=30>
<img border=0 width=32 height=32 id="_x0000_i1028" src="..\gx\note.gif"
align=BOTTOM>Kapil Sharma</h4>
<p class=MsoNormal>Kapil is a Linux/Unix and Internet security consultant. He
has been working on various Linux/Unix systems and Internet Security for over
three years. He maintains a web site (<a href="http://www.linux4biz.net">http://linux4biz.net</a>)
for providing free as well as commercial support for web, Linux and Unix
solutions. <!-- *** END bio *** --><!-- *** BEGIN copyright *** --></p>
<div class=MsoNormal align=center style='text-align:center'>
<hr size=2 width="100%" align=center>
</div>
<h5 align=center style='text-align:center'><!-- P -->Copyright &copy; 2001, Kapil
Sharma.<br>
Copying license <a href="..\copying.html">http://www.linuxgazette.com/copying.html</a><br>
Published in Issue 66 of <i>Linux Gazette</i>, May 2001<o:p></o:p></h5>
<div class=MsoNormal align=center style='text-align:center'>
<hr size=2 width="100%" align=center>
</div>
<!-- *** END copyright *** -->
<H4 ALIGN="center">
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Stopping Spam on Your Linux Box</font></H1>
<H4>By <a href="mailto:mallet@cluestick.org">Suresh Ramasubramanian</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<P> If you have an e-mail account, you are bo doubt getting mail
that you have not asked for, and do not want in your inbox - unsolicited e-mail
(aka spam). What's Spam? In 3D "meatspace", it is a luncheon meat manufactured
by Hormel Corp (which also owns <a href="http://www.spam.com"
>http://www.spam.com</a>). Spam on the net though is
unsolicited e-mail, unwanted e-mail, frequently sent in bulk and advertising
some commercial proposition. Most of the Spam you probably get, and what this
article deals with, is UC/BE (Unsolicited Commercial and/or Bulk E-Mail).</p>
<P> If you have a linux (or *nix) box, you have a set of powerful tools to stop
all this spam from cluttering your inbox. These tools are even more useful to
you if you run a production mailserver and want to stop spam from reaching your
users.</p>
<P>The three cardinal rules of spamfighting are:</p>
<UL>
<LI>Prevention is better than cure. Armor yourself against spam.</LI>
<LI>Filter Spam before it reaches your mailbox</LI>
<LI>Complain to the spammer's ISP and get him shut down</LI>
</UL>
<H2>I. Prevention is better than cure. Armor yourself against spam.</H2>
<P>Protect yourself and prevent spammers from harvesting your address. Don't
expose your primary e-mail addresses where a spammer can get at it and add it
to his list. This includes places like <a href="http://www.slashdot.org"
>/.</a>, usenet, publicly archived mailing lists, web based
bulletin boards - in short, anywhere online. Instead, follow one of these
steps:</P>
<P>1. Use a "throwaway" address (say abcde@yahoo.com) when posting. If you
find that this address is getting spammed, you can just throw it away and
switch to another address. To be on the safe side, when you are posting
online, "munge" your address to something like abcde@yahoo.com.Spammers.Suck.
Obviously, spammers (who use robots to crawl the web searching for mail ids and
burn the entire thing into a CD) will not be able to mail you.</P>
<P>2. If you run your own domain, use "expiring" mail addresses - addresses
which will be valid for a [week|month|year], and will then cease to exist.
This address can be something like me-mar31-apr31@mydomain.com. In case you
don't have your own domain, heck, use me-mar31-april31@yahoo.com instead :)</p>
<P>3. Both these measures have a major drawback: you have to keep changing
your e-mail address--faster than your girlfriend changes her hairstyle! :) If
your ISP uses sendmail, you have another option - "plus" addresses.</P>
<P>Plus addresses are available with newer versions of sendmail (8.8 and
above). Just add a plus sign and any string you want after the username and
before the '@'--the mail will still be delivered properly. For instance,
me+foo_bar@myisp.com will reach me - sendmail will ignore everything after the
plus. For a (slightly old) FAQ on how to implement plus addressing in
various MTAs (and how to use them in various mail clients) see <a
href="http://www.faqs.org/faqs/mail/addressing/"
>http://www.faqs.org/faqs/mail/addressing/</a>. (Note that some
MTAs use a hyphen instead of a plus sign. We'll still call them plus addresses
here--but maybe we should call them "minus" addresses instead!
<IMG SRC="../gx/dennis/smily.gif" ALT=";D" height="24" width="20"
align="middle">)
<p><EM>Obligatory disclaimer: before you start using plus addresses in your
e-mail, send yourself a test mail with a plus address and check whether it
reaches you.</EM>
<p> Plus addresses are useful because they reveal just <EM>where</EM> a
spammer harvested your mail id from.
For instance, if you subscribe to the Linux India Help mailing list,
subscribe to it as you+lih@yourdomain.com (and make sure you set your mail
client to post messages to the list only using this identity or the list will
bounce your mails). Both PINE and Mutt allow you to use different identities
when posting (roles in PINE and folder hooks in mutt). Another advantage of
plus addresses is that, if you start getting lots of spams to a plus
address, you can just send all mails reaching that address to be read by Dave
Null (aka /dev/null).</p>
<P>See <a href="#app1">Appendix #1</a> below for how to configure multiple
identities (including plus addresses) in pine 4.x and Mutt.
<H2>II. Filter Spam before it reaches your mailbox</H2>
<P>You can do this at the MTA level and by running Procmail filters. If your
remote mailbox gives you a unix shell account, run the filters there instead of
on your desktop linux box. Naturally, for the MTA level config / patching, you
have to be root :)</p>
<H3>Procmail Filtering</H3>
<P>Several procmail recipes are available for you to trap and dev/null (or even
complain about) most of the spam you get. The most popular one is Spambouncer
by Catherine Hampton. Download for free at
<a href="http://www.spambouncer.org"
>http://www.spambouncer.org</a>. Another excellent page is
maintained by Concordia University at <a
href="http://alcor.concordia.ca/topics/email/auto/procmail/spam/"
>http://alcor.concordia.ca/topics/email/auto/procmail/spam/</a>.
You can also check out <a href="http://www.waltdnes.org/email"
>SpamDunk</a> by Walt Dnes.</p>
<H3>MTA level filtering (Sendmail)</H3>
<P>As most linux boxes come installed with sendmail, I will go into slightly
more detail here. Sendmail 8.8.7 (which came with Redhat 5.1) and above have
spam blocking features, which allow you to deny mails from specific domains /
domains blackholed in the MAPS RBL and other blackhole lists. In any case,
upgrade to the latest version of sendmail available (currently 8.11.3, or the
8.12 betas).</p>
<P>Compiling sendmail is a really good idea (and is quite easy - with detailed
instructions given in a file called INSTALL in the sendmail source tree). Or
you can get prebuilt binaries in whatever format you want (rpm, deb and
such).</p>
<P>Stock sendmail installs can reject SMTP connections from domains / addresses
based on a database of filter rules - see /etc/mail/access (and
/etc/mail/access.db, which you generate using makemap hash access.db &lt;
access).</p>
<P>/etc/mail/access can have e-mail addresses, whole domains or even specific
ip addresses / ip blocks as keys.</p>
<pre>
spammer@yahoo.com 550 Get lost - No spammers allowed
spammer.com 550 Go to hell
192.168.212 REJECT
</pre>
<P>would refuse smtp connections from spammer@yahoo.com, any user from
spammer.com (or hosts within the spammer.com domain), and any host on the
192.168.212.* netblock. For further (extremely detailed) details, see Claus
Assmann's page at <a href="http://www.sendmail.org/~ca/email/"
>http://www.sendmail.org/~ca/email/</a> (and the sendmail FAQ
at <a href="http://www.sendmail.org/faq/"
target=_blank">http://www.sendmail.org/faq/</a> won't hurt either).</p>
<P>Test this by sending a test mail to yourself from that host and then
download the message using fetchmail, using the -v argument. This will allow
you to monitor the SMTP transaction - when the FROM address is parsed, if
sendmail sees that you have blacklisted the address, fetchmail will flush and
delete it. <EM>Obvious warning: never put a reject entry your own mailhost or
any host you accept mail from using fetchmail into your access db--you will
lose mail if you do this.</EM></p>
<P>You can also reject mail from all hosts listed in the MAPS RBL and other DNS
based blackhole lists by enabling the dnsbl features in sendmail.mc and
rebuilding sendmail.cf. See <a href="http://www.mail-abuse.org/rbl/usage.html"
>http://www.mail-abuse.org/rbl/usage.html</a> for more
details.</p>
<P>Oh yes - make sure you are not an open relay, which can be abused by
spammers to relay their spam, leaving you with a clogged mailqueue, a mailbox
full of thousands of bounces, angry flames from spammed people and possibly a
listing in the RBL (if you are slow to fix it). See
<A HREF="http://www.sendmail.org/tips/relaying.html">http://www.sendmail.org/tips/relaying.html</A> and
<A HREF="http://www.orbs.org/otherresources.html ">http://www.orbs.org/otherresources.html </A>for more details.</p>
<P>Newer versions of sendmail dont make you an open relay - if you resist the
temptation to configure sendmail using linuxconf (or most other auto config
tools). Create a sendmail.mc file and regenerate sendmail.cf. For example,
see
<a href="http://www.hserus.net/sendmail.html"
>http://www.hserus.net/sendmail.html</a> (part of my Dialup
HOWTO at <a href="http://www.hserus.net/dlhowto.html"
>http://www.hserus.net/dlhowto.html</a></p>
<P>See <a href="#app2">Appendix #2</a> below for antispam measures (including
closing open relays) in other MTAs
<H2>III. Complain against spammers, get them shut down.</H2>
<P>Spam, being the insiduous, creeping slime that it is, will sooner or later
slip through all your filters and enter your mailbox. A linux box gives you
all you need to track the spammer down - basic *nix tools like whois, nslookup,
traceroute, and the best one of all: dig. The best solution is to spare a
little time (less than five minutes) to send out a few complaints to the
spammer's webhost, his ISP, his freemail provider - anyone and everyone who can
do serious damage to the spammer. These tools are also available on the web at
<A HREF="http://www.samspade.org">http://www.samspade.org</A>.</P>
<P>See <a href="#app3">Appendix #3</a> below for more links on tracing and
reporting spam
<H2><a name="app1">Appendix 1</a></H2>
<P>Roles in PINE - With PINE 4.x and above, press S (Setup) and R (Roles). Add
as many roles as you feel like and switch between them using <b>#</b> (the Hash
character). Or you can choose between different roles when replying to an
e-mail.</p>
<P>Roles in Mutt - Use folder hooks, so that all outgoing mail from a
particular folder have the from field set to me+tag@myisp.com</p>
<pre>
folder-hook linux "my_hdr From: me+linux@myisp.com (My Linux Account)"
set envelope_from # sets the envelope sender, which is what's checked
# by the list server <= mutt 1.2.x and above
</pre>
<P>Procmail recipe to dev/null all mails sent to a tagged address that attracts
too much spam:</P>
<PRE>
# If mail is sent to you+spam_string@yourisp.com trash it
:0:
*^TO_ you+spam_string@yourisp.com
/dev/null
</PRE>
<H2><a name="app2">Appendix 2</A></H2>
<P>QMail: See <a
href="http://www.summersault.com/chris/techno/qmail/qmail-antispam.html"
>http://www.summersault.com/chris/techno/qmail/qmail-antispam.html</a>
for a detailed account of anti-spam features in qmail (several of them).</p>
<P>Other MTAs: Debian comes with Exim. There are other *nix MTAs as well. See
<A HREF="http://www.mail-abuse.org/tsi/ar-fix.html">http://www.mail-abuse.org/tsi/ar-fix.html</A>
(and the websites of each MTA) for a comprehensive howto.</p>
<H2><A NAME="#app3">Appendix 3</A></H2>
<P>Reference links:</p>
<P><UL>
<LI><A HREF="http://spam.abuse.net/howtocomplain.html">The abuse.net faq</A></LI>
<LI><A HREF="http://oasis.ot.com/~dmuth/spam-l/tracking.html">The Spam-L mailing list FAQ</A></LI>
<LI><A HREF="http://www.geocities.com/SiliconValley/Lakes/5362/search.html">The
Lumber Cartel Search Page</A>--see their home page for the funny story of
just <EM>how</EM> the Lumber Cartel has become an in-joke among anti-spammers)</LI>
<LI><A HREF="http://www.mail-abuse.org">MAPS</A>-The Mail Abuse Prevention
System, home of the RBL, RSS and DUL blackhole lists)</LI>
<LI><A HREF="http://www.orbs.org">ORBS</A>--another DNS based blackhole list</LI>
<LI><A HREF="http://spam.abuse.net">John R Levine's Network Abuse Clearinghouse</A></LI>
<LI><A HREF="http://www.cauce.org">CAUCE International</A></LI>
<LI><A HREF="http://www.india.cauce.org">CAUCE India</A></LI>
</UL>
<!-- *** BEGIN bio *** -->
<SPACER TYPE="vertical" SIZE="30">
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Suresh Ramasubramanian</H4>
<P><A HREF="mailto:suresh@india.cauce.org">Suresh</A> is
President of the Indian chapter of
<A HREF="http://india.cauce.org">CAUCE</A>, an international organization of
people dedicated to fighting Spam. He is webmaster of
<A HREF="http://www.kcircle.com">KCircle</A>, one of the world's most popular
trivia quiz resources.</a>
<!-- *** END bio *** -->
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2001, Suresh Ramasubramanian.<BR>
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
Published in Issue 66 of <i>Linux Gazette</i>, May 2001</H5>
<!-- *** END copyright *** -->
<H4 ALIGN="center">
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <hr> <P>
<H1><font color="maroon">The Back Page</font></H1>
<ul>
<li><a HREF="#authors">About This Month's Authors</a>
<li><a HREF="#wacko">Wacko Topic of the Month</a>
<li><a HREF="#notlinux">Not Linux</a>
<li><a HREF="#spam">World of Spam</a>
</ul>
<a name="authors"></a>
<P> <HR> <P>
<!--======================================================================-->
<center><H3><font color="maroon">About This Month's Authors</font></H3></center>
<P> <HR> <P>
<!--======================================================================-->
<P> Author bios are now at the bottom of the corresponding article. This was
suggested by <A HREF="mailto:dpuryear@usa.net">Dustin Puryear</A>, and we
decided we like the idea. What do you readers think?
<a name="wacko"></a>
<P> <hr> <P>
<!--====================================================================-->
<center><H3><font color="maroon">Wacko Topic of the Month</font></H3></center>
<P> <HR> <P>
<!--======================================================================-->
<P>
<!-- FONT COLOR="green" -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Yamaha and UFOs</H3>
<p align="right"><strong>Answered By Ben Okopnik, Mike Orr, Heather Stern
<br></strong></p>
<P> <STRONG>I wanted to ask if you service yamahe music equipment.</STRONG>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
Hey, <I>LG</I> <STRONG>does</STRONG> mention "Yamaha" a dozen times in past
issues (the sound card, obviously). Maybe the guy was getting desperate and
trying every source... That is pretty wild, though. I'm still waiting for "Dear
Earthlings: I just installed Windows on my UFO, and now I can't get back in..."
</BLOCKQUOTE>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Mike]
"Hey Earthlings, we just installed something called Windoze En-Tee on
our flying saucer, and it made all or monitors turn
<FONT COLOR="blue">blue</FONT>. There's a message
in <FONT COLOR="gray">white</FONT> letters on the screen, but we don't
understand the language. Please help <STRONG>URGENTLY</STRONG> as our
spacecraft is out of control and is locked on a crash course with Earth."
</BLOCKQUOTE>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
Fellow-being: What you need is to install something else quick.
Since your saucer can run Windoze (also called MSwin or windows or wind*ws)
I recommend "ZipSlack"
<A HREF="">http://www.slackware.com/zipslack/getzip.php</A>.
It can load quickly onto the "FAT" filesystem MSwin uses and once you have
successfully launched that you should stop crashing...
<P> You may want something more well-tuned to your saucer once you have that
going.
<P> According to my research (slim pickings, most of our movies about aliens
don't describe their software, but one notes you are able to run some of our
virus software), apparently your native operating system most closely resembles
something here called "MacOS". This is at least part of the problem, nearly
any earthling knows that the MacOS and Windows vendors are at war with each
other.
<P> Unfortunately MacOS is proprietary so getting you a working copy without
getting some Earth hardware to go with it, may be a problem, esp. if you
have no Earth currency aboard.
<P> Fortunately, we Linuxers can recommend either
<A HREF="http://www.yellowdoglinux.com">Yellow Dog Linux</A> or
<A HREF="http://www.linuxppc.com">LinuxPPC 2000</A>
, as well as
<A HREF="http://www.debian.org">Debian</A>. I can't say which will have the fastest install -
a Mac-using friend highly recommends the first... Debian is highly available
so you should be able to reach a mirror site no matter which of our land
masses you are presently nearest. To save you time the web link you need
is <A HREF="http://cdimage.debian.org/ftp-mirrors.html">http://cdimage.debian.org/ftp-mirrors.html</A>.
Normally they discourage getting ISO images directly like that but, they
expect you to have a stable system to fetch. I hope you will have no
problems whatsoever creating discs ...
By the way, most earthlings don't understand the funny messages generated
by those blue screens either. Luckily I can assure you they don't help fix
the problem...
</BLOCKQUOTE>
<!-- /FONT -->
<a name="notlinux"></a>
<P> <hr> <P>
<!--====================================================================-->
<center><H3><font color="maroon">Not Linux</font></H3></center>
<P> <HR> <P>
<!--======================================================================-->
<P>
<A HREF="http://www.faqs.org/rfcs/rfc3092.html">RFC 3092</A> muses on the
etymology of 'foo' and 'bar'. Among other things, it says the "wildly popular"
Smokey Stover comic strip of the 1930s by Bill Holman
"featured a firetruck called the Foomobile that rode
on two wheels."
<P> The RFC also has a table of which other RFCs mention "foo", "bar" or
"fubar".
<HR NOSHADE WIDTH="40%" ALIGN="center"> <!-- ************************************** -->
<P> Rory Krause and I came up with this one:<BR>
the sysadmin's dance: do the Buggy Boogie.
<HR NOSHADE WIDTH="40%" ALIGN="center"> <!-- ***************************** -->
<P> <A HREF="http://rtmark.com/cuehack/">CueJack</A> is a Windows application
that lets you scan a products with a :CueCat scanner, then displays a web page
with "alternative information" about the product's company.
As you can guess, the "alternative information" is stuff the company
doesn't want you to know.
"This could be information about corporate abuse, boycotts against the company,
even how much money the company is making, their corporate image as presented
to shareholders, etc."
Courtesy Slashdot.
<P> Miscellania: The program was renamed from CueHack because another program
already had the same name. The author is working on a Linux version but says
there are technical difficulties.
<a name="spam"></a>
<P> <hr> <P>
<!--====================================================================-->
<center><H3><font color="maroon">World of Spam</font></H3></center>
<P> <HR> <P>
<!--======================================================================-->
<P>
<H4> Some of the funnier spams found in the <EM>Gazette</EM> mailbox.</H4>
<P> ... helps Businesses to eliminate the need of hiring telemarketers
Automated initial customer application process and many more
features......... You will smile all the way to the Bank!!
<P> Automatically calls........ To market products and to make announcements.
To confirm preset appointments, prescheduled meetings, and conferences. Our
CTI software can be used by businesses and services by calling sequentially or
randomly. Automatically dials up to 2,000 - 10,000 prospects per day without
human interference. When our CTI software calls it can simply leave a message
or it can ask for a response. You may obtain responses by recording their
voices, asking them to press a key, to respond to choices or transferring to a
live operator. Just record your messages, select which group ( Data Bases) you
want to call , when you want to start and stop, and then let our CTI software
got to work calling everyone. You will save tremendous time and get results
very fast ! without increasing your overheads or hiring extra help.
<BLOCKQUOTE><EM>
[ Your Editor got an obnoxious phone call at home recently from one of
these machines. The recorded message said, "Please hold until a
representative can get to you." Click!
<P>
</EM><TT>
Subject: BOUNCE linux-questions-only@ssc.com: Message too long (>40000 chars)<BR>
</TT><EM>
It's nice to know the TAG spamfilter is working.
<IMG ALT=";)" SRC="../gx/dennis/smily.gif"
WIDTH="20" HEIGHT="24" ALIGN="middle">
-Mike.]
</EM></BLOCKQUOTE>
<HR NOSHADE WIDTH="40%" ALIGN="center"> <!-- ************************************** -->
From: Justin Catterall<BR>
Date: Fri, 6 Apr 2001 22:39:05 +0100
<P> Regarding the
<A HREF="../issue65/lg_backpage65.html#notlinux">Nigerian money scam</A>
in last month's Not Linux.
<P> I've been receiving faxes the same as this for a few years at work, the
scam is worse than it looks: they *have* been succesful on several
occaions - all UK (if not world) banks know not to let their customers
get involved.
<P> What basically happens is A N Idiot agrees to the deal, signs the papers
and money appears in his/her account. A N Idiot then transfers most of
the money to another account (the scammer's). The money coming into the
account then never arrives - originating bank denies knowledge or
whatever - A N Idiots bank ha's, in the mean time, sent the money to
another bank. The first thing the bank does is debit A N Idiot's
account... A N Idiot is holding the can for an awful lot more money than
they thought they'd ever see.
<P> Holding the can for more money than you thought you'd ever see is
probably better than holding the can for the first million you've just
made and is all you have because if you're 999,000 away from paying back
1,000,000 they aren't really going to try to get it back but if you're
nearly their they'll clean you out then lock you up.
<P> These scammers are real bastards, if I didn't know it happened I wouldn't
believe people could be so bad to other people.
<P> Anyway, I just thought I'd let you know that this scam has worked and how
it worked (roughly and AIUI).
<P> Keep up the work with the gazette.
<HR NOSHADE WIDTH="40%" ALIGN="center"> <!-- ***************************** -->
<P>
From: James Suttie<BR>
Date: Fri, 20 Apr 2001 22:36:48 +0100
<P> keep up the good work with Linux Gazette - here's one of many links to the
African spam scam!
<A HREF="http://www.state.vt.us/atg/NIGERIA.htm">http://www.state.vt.us/atg/NIGERIA.htm</A>
<HR NOSHADE WIDTH="40%" ALIGN="center"> <!-- ************************************** -->
<P> Are you planning to rent a Limousine, Sedan or a Private car for your Teen
Prom Ceremony this session?
<HR NOSHADE WIDTH="40%" ALIGN="center"> <!-- ************************************** -->
<P> ALWAYS SEND $5 CASH (U.S. CURRENCY) FOR EACH REPORT CHEQUES NOT BE ACCEPTED
ALWAYS SEND YOUR ORDER VIA FIRST CLASS MAIL Make sure the cash is concealed by
wrapping it in at least two sheets of paper. On one of those sheets of paper,
include: (a) the number & name of the report you are ordering, (b) your e-mail
address, and (c) your name & postal address.
<HR NOSHADE WIDTH="40%" ALIGN="center"> <!-- ************************************** -->
<P> Free Leads Daily - Spam FREE! No Cost to you!
<HR NOSHADE WIDTH="40%" ALIGN="center"> <!-- ************************************** -->
<P> YOU CAN make over a half million dollars every 4 to 5 months from
your home for a one time investment of only twenty five U.S.
Dollars.
<HR NOSHADE WIDTH="40%" ALIGN="center"> <!-- ***************************** -->
<P> Subject: BUSINESS OPPORTUNITY EXTRAORDINAIRE!!
<P> I understand you are seeking information about home based business
opportunities.
<P> --LEGITIMATE online business, which is SUCCESSFUL and GROWING.
<P> --PERFECT for someone who has VERY LITTLE TIME to invest or
for someone who LOVES being online!
<P> Please email me at the address below to receive FREE VITAL INFORMATION
(You'll very well Kick Yourself and your Modem if you don't)
<HR NOSHADE WIDTH="40%" ALIGN="center"> <!-- ***************************** -->
<P>Our research indicates this information may be of interest to you.
<HR NOSHADE WIDTH="40%" ALIGN="center"> <!-- ***************************** -->
<P> Hello gazette<BR>
WOW! This is absolutely amazing! Now you can put money in
your pocket at warp speed using the internet! We're not talking
weeks or even days, but within HOURS!! Wouldn't you like to
be $5,000 richer by the day after tomorrow? Then you can do it
again as often as you like - even every day! For all the fantastic
details, send a blank email to: [address]
<HR NOSHADE WIDTH="40%" ALIGN="center"> <!-- ***************************** -->
E-zine Editors... Authors... Information Publishers...** NEVER BEFORE SEEN ** Techniques For
Turning an Electronic Newsletter Into a $20,000+ a Month Profit Stream!
<BLOCKQUOTE><EM>
[Wow, something that's actually relevant to </EM>LG<EM> -Mike.]
</EM></BLOCKQUOTE>
<HR NOSHADE WIDTH="80%"> <!-- ************************************** -->
<P> Happy Linuxing!
<P> Michael Orr<br>
Editor, <A HREF="http://www.linuxgazette.com/"><i>Linux Gazette</i></A>, <A
HREF="mailto:gazette@ssc.com">gazette@ssc.com</a>
<BR CLEAR="all">
<!-- *** END Not Linux *** -->
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2001, the Editors of <I>Linux Gazette</I>.<BR>
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
Published in Issue 66 of <i>Linux Gazette</i>, May 2001</H5>
<!-- *** END copyright *** -->