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

6526 lines
267 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> Linux Gazette Table of Contents LG #58</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.jpg"
WIDTH="600" HEIGHT="124" border="0"></H1></A>
<H2>October 2000, Issue 58 &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.penguincomputing.com"><IMG ALT="Penguin Computing" SRC="../gx/sponsors/penguincomputing.gif" BORDER="0" VSPACE="10"></A>
</TD></TR>
<TR><TD>
<A HREF="http://www.redhat.com"><IMG ALT="Red Hat" SRC="../gx/sponsors/redhat.jpg" 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>
<TR><TD>
<A HREF="http://www.linuxcare.com"><IMG ALT="LinuxCare" SRC="../gx/linuxcare.gif" BORDER="0" VSPACE="10"></A>
</TD></TR>
<TR><TD>
<A HREF="http://www.linuxmall.com/"><IMG ALT="LinuxMall" SRC="../gx/linuxmall.gif" BORDER="0" VSPACE="10"></A>
</TD></TR>
<TR><TD>
<A HREF="http://www.vmware.com"><IMG ALT="VMware" SRC="../gx/sponsors/vmware.jpg" 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_mail58.html">The MailBag</A>
<UL>
<LI> <a HREF="lg_mail58.html#help">Help Wanted &amp; Article Ideas</A>
<LI> <a HREF="lg_mail58.html#gen">General Mail</A>
</UL>
<LI> <a HREF="lg_bytes58.html">News Bytes</A>
<UL>
<LI> <a HREF="lg_bytes58.html#distro">Distro News</A>
<LI> <a HREF="lg_bytes58.html#general">News in General</A>
<LI> <a HREF="lg_bytes58.html#software">Software Announcements</A>
</UL>
<LI> <a HREF="lg_answer58.html">The Answer Gang</A> , <EM>by The <EM>Linux Gazette</EM> Answer Gang</EM>
<LI> <a HREF="lg_tips58.html">More 2-Cent Tips</A>
<LI> <a HREF="collinge.html">HelpDex</A> , <EM>by Shane Collinge</EM>
<LI> <a HREF="correa.html">Interview with Chris DiBona: How does it feel to be a Linux evangelist?</A> , <EM>by Fernando Ribeiro Corr&ecirc;a</EM>
<LI> <a HREF="correa2.html">Interview with SourceForge's Quentin Cregan: Wait a minute, Sir! What about that forgotten Open Source project on your hard disk?</A> , <EM>by Fernando Ribeiro Corr&ecirc;a</EM>
<LI> <a HREF="dellomodarme.html">Cryptography, PGP and Pine</A> , <EM>by Matteo Dell'Omodarme</EM>
<LI> <a HREF="kasten.html">Tuxedo Tails</A> , <EM>by Eric Kasten</EM>
<LI> <a HREF="nielsen.html">Micro Publishing: Part 3</A> , <EM>by Mark Nielsen</EM>
<LI> <a HREF="nielsen2.html">Virtual fax to pdf files with EFax.com</A> , <EM>by Mark Nielsen</EM>
<LI> <a HREF="okopnik.html">Introduction to Shell Scripting</A> , <EM>by Ben Okopnik</EM>
<LI> <a HREF="okopnik2.html">Configuring Sendmail in RedHat 6.2</A> , <EM>by Ben Okopnik</EM>
<LI> <a HREF="sharma.html">Linux Security Tips</A> , <EM>by Kapil Sharma</EM>
<LI> <a HREF="taylor.html">Easily Porting MS-DOS Diagnostics to Linux</A> , <EM>by Mark Taylor</EM>
<LI> <a HREF="ward.html">Hooking Up a Local School Network to the Net with a Java Proxy</A> , <EM>by Alan Ward</EM>
<LI> <a HREF="washington.html">AOLserver - a web development platform</A> , <EM>by Irving Washington</EM>
<LI> <a HREF="york.html">Two Years Ago - the birth of the Linux Professional Institute (LPI)</A> , <EM>by Dan York</EM>
<LI> <a HREF="lg_backpage58.html">The Back Page</A>
<UL>
<LI> <a HREF="lg_backpage58.html#authors">About This Month's Authors</A>
<LI> <a HREF="lg_backpage58.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>
Michael "Alex" Williams, Don Marti, Ben Okopnik
</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="issue58.txt.gz">TWDT 1 (gzipped text file)</A><BR>
<A HREF="issue58.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-2000 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>
</p>
<center>
<table width="100%" cellpadding=7><tr><td>
<H2><a NAME="mail"><IMG SRC="../gx/mailbox.gif" ALIGN=MIDDLE ALT=" ">
The Mailbag!</a> </H2>
</td><td>
<H3>Contents:</H3>
<ul>
<li><a HREF="#help">Help Wanted -- Article Ideas</a>
<li><a HREF="#gen">General Mail</a>
<li><a HREF="#gaz"><em>Gazette</em> Matters</a>
</ul>
</td></tr></table>
Write the <i>Linux Gazette</i> at
<A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A>. Send technical
questions to the Answer Gang at
<A HREF="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</A>.
</center>
<a name="help"></a>
<p><hr><p>
<!-- =================================================================== -->
<center><H3><font color="maroon">Help Wanted -- Article Ideas</font></H3></center>
<P>These questions have been selected among the hundreds the <I>Gazette</I>
recieves each month. Article submissions on these topics will be eagerly
accepted at <a href="mailto:gazette@ssc.com">gazette@ssc.com</a>, and posted
in the next issue.
<P>
Answers to these questions should be sent directly to the e-mail address of
the inquirer with or without a copy to gazette@ssc.com. Answers that are
copied to <I>LG</I> will be printed in the next issue -- in the Tips column
if simple, the Answer Gang if more complex and detailed.
<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. The AnswerGuy
"<a href="../tag/kb.html">past answers index</a>" may also be helpful
(if a bit dusty).
</STRONG>
<P> <HR> <P>
<!--====================================================================-->
<UL>
<!-- index_text begins -->
<li><A HREF="#wanted/1"
><strong>Followup on Window managers</strong></a>
<li><A HREF="#wanted/2"
><strong>question on xdm documentation</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">Followup on Window managers</FONT></H3>
Thu, 7 Sep 2000 08:56:30 -0600 (MDT)
<BR>From:
Gordon Haverland
(<A HREF="mailto:ghaverla@freenet.edmonton.ab.ca"
>ghaverla@freenet.edmonton.ab.ca</A>)
<P>
Hi!
</P>
<P>
Nice article on window managers, although it would have been
nice to see a few more tried out.
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)"
height="24" width="20" align="middle">
</P>
<P>
There are many people out there who have their favorite
</P>
<P>
window manager out there, and won't try others. Sort of like the
which editor is better (vi versus emacs) battle. But what
might actually be interesting, is for the X% (90+ ?) of us
who don't have any strong feelings about window managers (or
editors for that matter), is if some kind of "popularity
contest" could be run. We login, and instead of calling
twm, fvwm, ... in some RC file, we made a call to wm, which
picked one of the N window managers on our system at random.
When we went to logout, or to force a change of window manager;
we were asked our feelings on how the session went, and then
this report (along with a list of what window managers are on
our system) went someplace for compilation. Maybe even a list
of what programs were launched during the session (and from the
command line or via the window manager/icon/however you want to
describe it). People who are interested in wm could get feedback
from the guinea pigs (so to speak) as to how useful their
wm was. I'm sure some interesting statistics might show up.
It might turn out that ZWM was most liked by left-handed
Carpathians who do GIS work.
</P>
<P>
Sorry, I don't want to write any code to do this. I've got
enough things to do.
</P>
<P>
Gord
</P>
<!-- sig -->
<p><em>Well, there is always Debian's statistics package so you
can let them know what you liked - perhaps someone will
do something similar for X. -- Heather</em></p>
<!-- end 1 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="wanted/2"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
<FONT COLOR="navy">question on xdm documentation</FONT></H3>
Wed, 20 Sep 2000 16:35:26 -0400
<BR>From: Doug James &lt;<A HREF="mailto:dcjames@home.com"
>dcjames@home.com</A>&gt;
<P>
Is there a place on the internet where I can pick up some documentation
on the latest version of xdm (The on released with XFree86 4.0.1)?
There's some stuff in the Xresources and config files that just isn't
mentioned in the man page.
</P>
<P>
I've looked everywhere I can think of, hit every search engine I know
of, and even gotten flamed as a lamer on linux IRC channels trying to
find this information.
</P>
<P>
Your help would really be appreciated.
</P>
<p> Doug
</P>
<!-- sig -->
<p><em>And speaking of X... Readers! This is your chance to</em>
Make Linux A Little More Fun
<em>-- namely, to adopt a man page today, starting with most of
the XFree86 Project... or, some articles on XFree86 4.0 would
be cheerfully accepted here, too. -- Heather</em></p>
<!-- end 2 -->
<a name="gen"></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>Thank you, [X in "Toaster" Mode]</strong></a>
<li><A HREF="#mailbag/2"
><strong>NT GINA for 95/98</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">Thank you, [X in "Toaster" Mode]</FONT></H3>
Tue, 5 Sep 2000 14:59:09 +0100
<BR>From: "Padraig Tobin" &lt;<A HREF="mailto:Padraig_Tobin@eur."
>Padraig_Tobin@eur.</A>3com.com&gt;
<P>
Saying 'thank you' seems passe these days but I feel I have to do it anyway..
</P>
<P>
I'd been trying to do this for about a week until I eventually found
[at a gazette mirror] <TT>../issue52/tag/14.html</TT>
</P>
<P>
Thanks, Much obliged,
Padraig
</P>
<!-- sig -->
<!-- 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">NT GINA for 95/98</FONT></H3>
Wed, 20 Sep 2000 13:00:34 -0600
<BR>From: <em>Anonymous</em>
<P>
FYI, re your 'and NSGINA ' article, there is a 95/98/NT/2000 GINA solution
now provided by Digital Privacy, Inc.
</P>
<P>
Cheers,
</P>
<em><dt>This note was made anonymous by request. It isn't strictly about
Linux, but, we mentioned the GINA so... you can read more:
<dd><tt><a href="http://www.digital-privacy.com"
>http://www.digital-privacy.com</a></tt>
</dl></em>
<!-- sig -->
<!-- end 2 -->
<a name="gen"></a>
<P> <hr> <P>
<!-- =================================================================== -->
<center><H3><font color="maroon"><em>Gazette</em> Matters</font></H3></center>
<P> <HR> <P>
<!--====================================================================-->
<!-- BEGIN gazette matters -->
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 05 Sep 2000 10:55:40 +0200
<BR>From: Henk Langeveld &lt;<A HREF="mailto:Henk.Langeveld@holland.sun.com">Henk.Langeveld@holland.sun.com</A>&gt;
<BR>Subject: gazette navigation
<P> I've been browsing the gazette several times, but I find the navigation
buttons rather awkward. The small size of the [Next] and [Previous] icons
makes it difficult to get a quick impression of an issue. I think the last
time I checked the Gazette before today was at least 6 months back.
<P> Please consider making these two buttons at least as large as the 'FAQ'
icon, and you may have at least one more regular reader.
<P> Note: I'm reading this on a 20" screen - the buttons are about 5x10 mm for
me, while the netscape buttons at the top of this window are approx 1/2 inch on
each side, that's about a 3 times larger area.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 5 Sep 2000 12:23:41 -0400
<BR>From: Linux Gazette &lt;<A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A>&gt;
<BR>Subject: Monthly FAQ roundup
<P> Here are the answers to this month's FAQ questions sent to <EM>LG</EM>:
<UL>
<LI> Una traducci&oacute;n de <EM>Linux Gazette</EM>
en espa&ntilde;ol est&aacute; en
<A HREF="http://gaceta.piensa.com">http://gaceta.piensa.com</A>.
<LI> Linux Gazette</LI> is not available in e-mail or postal mail
formats.
</UL>
Please see the <A HREF="../faq/index.html"><EM>Linux Gazette</EM> FAQ</A> for
answers to these and other questions. The FAQ describes the
different ways you can obtain the <EM>Gazette</EM>.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 13 Sep 2000 18:31:34 -0500
<BR>From: eL JoRgItO <jorge@hal9000.eui.upm.es> &lt;<A HREF="mailto:jorge@hal9000.eui.upm.es">jorge@hal9000.eui.upm.es</A>&gt;
<BR>Subject: Escogiendo un Administrador de Ventanas
<P> hola, una critica, :(
<BR>constructiva espero ;)
<P> Es sobre el articulo
<A HREF="../issue57/arndt.html">"Escogiendo un Administrador de Ventanas..."</A>,
no conozco muy bien vuestra publicacion y tal, pero me parece un
poco flojo, el autor solo conoce generalidades de cada gestor de ventanas
y enumera algunos reconociendo que ni siquiera los ha probado...
Me parece muy mal, pues creo que lo minimo antes de escribir sobre algo
es probar todo lo que por lo menos conozcas y nunca hablar de oidas.
Yo sin ser nadie del otro mundo he probado esos gestores y ochocientos mil
mas y solo por curiosidad, sin el proposito de escribir un articulo sobre ello.
<P> na mas, el resto de articulos que he visto tenian mejor pinta, y por eso
os comento este. gracias.
<P> saludos de un cachupin desde la peninsula :)
<H4>Felipe Barousse translates:</H4>
<P> Hello, here is a criticism, :(
a constructive one, I hope ,)
<P> It is related to the article
<A HREF="../issue57/arndt.html">"Choosing your Window Manager...."</A> I don't
really know very well your magazine but, the author of this article seems a bit
lousy to me. He only knows generalities of each window manager and names a few
and even acknowledges that he hasn't tried them...
<P> It looks so bad to me since I believe that the least thing someone has to
do before writing about something is try out everything that you know and avoid
talking by what you listened around.
<P> Me, being nobody special have tried those window managers and hundred other
ones just out of curiosity and without the specific purpose of writing an
article about it.
<P> That's it. The rest of the articles I have seen look much better and that's
why I comment on this specific one.
<P> Greetings from a "cachupin" from the peninsula :)
<P> [Translator's note: cachupin: refers to the people native of Spain.
Peninsula refers to the Iberic peninsula; that is, Spain]
<H4>Your Editor responds:</H4>
<P> The article may be weak on details, but it does contain some information
some readers might need. We have all levels of readers, from newbies to
experienced sysadmins/programmers, so we try to provide a wide variety of
articles.
<P> If you have anything you wish to write for <EM>Linux Gazette</EM>
in English,
, send it
to <A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A> if it's article length,
or <A HREF="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</A> as a 2-Cent Tip if it's
shorter. If you prefer
to write it in Spanish, send it to
<A HREF="mailto:fbarousse@piensa.com">fbarousse@piensa.com</A> and Felipe will
translate it.
<P>-Mike
<H4>Or, in Spanish:</H4>
<P> Aunque ese art&iacute;culo sea quiz&aacute;s un poco d&eacute;bil de
detalles, contiene algo de informaci&oacute;n de inter&eacute;s a unos
usuarios. Hay cada nivel de lectores, tanto usuarios nuevos como
administratores de sistemas y programadores experimentados. Pues, tratamos de
publicar art&iacute;culos a cada nivel.
<P> Si Vd quiere escribir algo por <EM>Linux Gazette</EM> en ingl&eacute;s,
env&iacute;elo a
<A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A> si es largo de
art&iacute;culo, o
a <A HREF="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</A> como Consejo de 2 Centavos si es
m&aacute;s corto. Si Vd
prefiere
escribirlo en espa&ntilde;ol, env&iacute;elo a <A HREF="mailto:fbarousse@piensa.com">fbarousse@piensa.com</A> y Felipe lo tracucir&aacute;.
<P> <FONT SIZE="+1"><STRONG>Readers, is there anyone else willing to translate
articles from other languages?</STRONG></FONT>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 18 Sep 2000 10:54:29 -0400
<BR>From: Aurelio Martinez Dalis &lt;<A HREF="mailto:aureliomd@cantv.net">aureliomd@cantv.net</A>&gt;
<BR>Subject: Information required
<P> My name is Aurelio Martinez. I am a linux begineer and I do not have
internet access (WWW). Is it possible to receive Linux Gazette by e-mail in
text file format?. Thanks.
<BLOCKQUOTE><EM>
[Not currently. The files would be too big (2-4 MB, and many mail
systems reject mail over 1 MB). In the future we may be able to offer
this, especially since it's such a highly-requested feature. -Mike
</EM></BLOCKQUOTE>
<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>
</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! Send a one- or two-paragraph summary plus URL rather than an entire
press release.
<P> <hr> <P>
<!-- =================================================================== -->
<center><IMG ALT=" " SRC="misc/cover78.jpg" WIDTH=200 HEIGHT=268></center>
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<font color="green">
October 2000 <I>Linux Journal</I>
</font>
</H3>
<P>
The October issue of <A HREF="http://www.linuxjournal.com/"><I>Linux
Journal</I></A> is on newsstands now.
This issue focuses on Security. Click
<A HREF="http://www.linuxjournal.com/lj-issues/78/index.html">here</A>
to view the table of contents, or
<A HREF="http://www.linuxjournal.com/subscribe/index.html">here</A>
to subscribe.
<P>
<FONT COLOR="green">All articles through December 1999 are available for
public reading at
<A HREF="http://www.linuxjournal.com/lj-issues/mags.html">http://www.linuxjournal.com/lg-issues/mags.html</A></FONT>.
Recent articles are available on-line for subscribers only at
<A HREF="http://interactive.linuxjournal.com">
http://interactive.linuxjournal.com/</A>.
<a name="distro"></a>
<p><hr><p>
<!-- =================================================================== -->
<center><H3><font color="green">Distro News</font></H3></center>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">General
</FONT>
</H3>
<P> <A HREF="http://linuxplanet.com/linuxplanet/opinions/2281/1/">
KDE 2 will be in Debian</A>
<P> <A HREF="http://www.linuxnewbie.org/nhf/intel/distros/distronhf.html">Comparision of Linux distributions.</A> <EM>(LinuxNewbie.org)</EM>
<P> The Duke of URL has new reviews of several distributions. See the links
below in the "Linux Links" section of <A HREF="#general">General News</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 &amp; events
</FONT>
</H3>
<P> Listing courtesy <I>Linux Journal</I>. <FONT COLOR="red">Red</FONT>
indicates shows <I>LJ</I> staff will be attending.
<P>
<!-- *** BEGIN events table [this line needed by Linux Gazette events.py *** -->
<table border=0>
<!--gray row--><tr bgcolor="BFBFBF"><td valign=top>
<table width=98%><tr><td>
<b><font color=red>Linux Business Expo</font></b><br>(co-located
with Networld + Interop event)<BR>
</td>
<td><align="right"><a href="http://www.key3media.com/linuxbizexpo"
target=_blank></a></align><br>
</td></tr></table>
<td valign=top>September 26-28, 2000<BR>Atlanta, GA<BR>
<A HREF="http://www.key3media.com/linuxbizexpo/"
target=_blank>www.key3media.com/linuxbizexpo</A><BR>
</td></tr>
<tr><td valign=top>
<table width=98%><tr><td>
<b>Embedding Linux for Data Acquisition and Telecom Applications</font>
</b><BR>
</td></tr></table>
<td valign=top>October 3, 2000 Burlington, MA<BR>October 5,
2000 Vienna, VA<BR>
<A HREF="http://www.computerio.com/news/seminar.html"
target=_blank>www.computerio.com/news/seminar.html</A><BR>
<!--gray row--><tr bgcolor="BFBFBF"><td valign=top>
<table width=98%><tr><td>
<b><font color=red>4th Annual Linux Showcase & Conference</font></b><BR>
</td><td align=right><a href="http://www.linuxshowcase.org"
target=_blank></a></align><br>
</td></tr></table>
<td valign=top>October 10-14, 2000<BR>Atlanta, GA<BR>
<A HREF="http://www.linuxshowcase.org" target=_blank>
www.linuxshowcase.org</A><BR>
</td></tr>
<td valign=top>
<b>Building Dependability in Global Infrastructures</b><br>
Host of the Real-Time and Embedded Systems Forum<br>
<td valign=top>October 23-24, 2000<br>Washington, DC<br>
<A HREF="http://www.opengroup.org" target=_blank>
www.opengroup.org</A><BR>
<A HREF="http://www.opengroup.org/rtforum" target=_blank>
www.opengroup.org/rtforum</A><BR>
<!--gray row--><tr bgcolor="BFBFBF"><td valign=top>
<b>Embedded Linux Expo & Conference</b><BR>
<td valign=top>October 27, 2000<BR>Westborough, MA<BR>
<A HREF="http://www.rtcgroup.com/elinuxexpo/index2.html"
target=_blank>www.rtcgroup.com/elinuxexpo/index2.html</A><BR>
</td></tr>
<td valign=top>
<b>ISPCON</b><BR>
<td valign=top>November 8-10, 2000<BR>San Jose, CA<BR>
<A HREF="http://www.ispcon.com" target=_blank>www.ispcon.com</A><BR>
</td></tr>
<!--gray row--><tr bgcolor="BFBFBF"><td valign=top>
<table width=98%><tr><td>
<b><font color=red>Linux Business Expo</font></b><br>(co-located
with COMDEX event)<BR>
</td><td align=right><a href="http://www.key3media.com/linuxbizexpo"
target=_blank></a><br>
</td></tr></table>
<td valign=top>November 13-17, 2000<BR>Las Vegas, NV<BR>
<A HREF="http://www.key3media.com/linuxbizexpo/"
target=_blank>www.key3media.com/linuxbizexpo</A><BR>
</td></tr>
<td valign=top>
<b>USENIX Winter - LISA 2000</b><BR>
<td valign=top>December 3-8, 2000<BR>New Orleans, LA<BR>
<A HREF="http://www.usenix.org" target=_blank>www.usenix.org</A>
</td></tr>
<!--gray row--><tr bgcolor="BFBFBF"><td valign=top>
<b>Pluto Meeting 2000</b><BR>
<td valign=top>December 9-11, 2000<BR>Terni, Italy<BR>
<A HREF="http://meeting.pluto.linux.it" target=_blank>
meeting.pluto.linux.it</A>
</td></tr>
<td valign=top>
<b><font color=red>LinuxWorld Conference & Expo</b></font><BR>
<td valign=top>January 30 - February 2, 2001<BR>New York, NY<BR>
<A HREF="http://www.linuxworldexpo.com" target=_blank>
www.linuxworldexpo.com</A><BR>
</td></tr>
<!--gray row--><tr bgcolor="BFBFBF"><td valign=top>
<b>ISPCON</b><BR><td valign=top>February 5-8, 2001<BR>Toronto,
Canada<BR><A HREF="http://events.internet.com/" target=_blank>
events.internet.com</A><BR>
</td></tr>
<td valign=top>
<b>Internet World Spring</b><BR><td valign=top>March 12-16, 2001<BR>
Los Angeles, CA<BR><A HREF="http://events.internet.com/"
target=_blank>events.internet.com</A><BR>
</td></tr>
<!--gray row--><tr bgcolor="BFBFBF"><td valign=top>
<b><font color=red>Game Developers Conference</font></b><BR>
<td valign=top>March 20-24, 2001<BR>San Jose, CA<BR>
<A HREF="http://www.cgdc.com/" target=_blank>www.cgdc.com</A><BR>
</td></tr>
<td valign=top>
<b>CeBit</b><BR><td valign=top>March 22-28, 2001<BR>
Hannover, Germany<BR><A HREF="http://www.cebit.de/" target=_blank>
www.cebit.de</A><BR>
</td></tr>
<!--gray row--><tr bgcolor="BFBFBF"><td valign=top>
<b><font color=red>Linux Business Expo</font></b><BR>
<td valign=top>April 2-5, 2001<BR>Chicago, IL<BR>
<A HREF="http://www.linuxbusinessexpo.com/" target=_blank>
www.linuxbusinessexpo.com</A><BR>
</td></tr>
<td valign=top>
<b>Strictly e-Business Solutions Expo</b><BR>
<td valign=top>May 23-24, 2001<BR>Location unknown at present<BR>
<A HREF="http://www.stricltyebusinessexpo.com/" target=_blank>
www.stricltyebusinessexpo.com</A><BR>
</td></tr>
<!--gray row--><tr bgcolor="BFBFBF"><td valign=top>
<b><font color=red>USENIX Annual Technical Conference</font></b><BR>
<td valign=top>June 25-30, 2001<BR>Boston, MA<BR>
<A HREF="http://www.usenix.org/" target=_blank>www.usenix.org</A><BR>
</td></tr>
<td valign=top>
<b><font color=red>PC Expo</font></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>
<!--gray row--><tr bgcolor="BFBFBF"><td valign=top>
<b>Internet World</b><BR><td valign=top>July 10-12, 2001<BR>
Chicago, IL<BR><A HREF="http://events.internet.com/"
target=_blank>events.internet.com</A><BR>
</td></tr>
<td valign=top>
<b><font color=red>O'Reilly Open Source Convention</font></b><BR>
<td valign=top>July 23-26, 2001<BR>San Diego, CA<BR>
<A HREF="http://conferences.oreilly.com/" target=_blank>
conferences.oreilly.com</A><BR>
</td></tr>
<!--gray row--><tr bgcolor="BFBFBF"><td valign=top>
<b><font color=red>LinuxWorld Conference & Expo</font></b><BR>
<td valign=top>August 10-14, 2001<BR>New York, NY<BR>
<A HREF="http://www.linuxworldexpo.com/" target=_blank>
www.linuxworldexpo.com</A><BR>
</td></tr>
<td valign=top>
<b><font color=red>Linux Lunacy</font><br>Co-Produced by <i>Linux
Journal</i> and Geek Cruises</b><BR>
<td valign=top>October 21-28, 2001<BR>Eastern Carribean<BR>
<A HREF="http://www.geekcruises.com/" target=_blank>
www.geekcruises.com</A><BR>
</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">Really bad ideas
</FONT>
</H3>
<P> Speaking about a kernel patch,
<A HREF="http://lwn.net/2000/0907/a/bad-ideas.php3">Linus said</A>:
"Thanks, and THIS time it really is fixed. I mean, how many times can we
get it wrong? At some point, we just have to run out of really bad ideas."
(<EM>Linux Weekly News</EM>)
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">SGI Linux certification
</FONT>
</H3>
<P> MOUNTAIN VIEW, Calif. (Sept. 12, 2000)--SGI Education Services
announced the availability of its new "eLearning for Linux"
program, a suite of Linux courses delivered over the Internet. This
allows users to study Linux operating system fundamentals in a way that
is flexible, self-paced and available on any desktop.
<P> The courses, based on Linux Professional Institute (LPI) exam
objectives, include "Introduction to Linux," "Linux System
Administration I," "Linux System Administration II" and "Linux Network
Administration."
<P> <A HREF="http://www.sgi.com/support/custeducation/">http://www.sgi.com/support/custeducation/</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Yggdrasil Linux DVD Archives
</FONT>
</H3>
<P> San Jose, CA--Yggdrasil Computing has shipped the world's
first Linux DVD9-ROM, a successor format to CD-ROM's, with over
twelve times the capacity. Linux DVD Archives (MSRP $24.95) contains
over eight billion bytes of open source software (over 23 billion
bytes uncompressed), giving Linux users a new level of convenience and
access to open source software.
<P> Linux DVD Archives is the first DVD-ROM made from dvdtape, a
program released under the GNU General Public License by Yggdrasil.
Because of the high level of technology risk inherent in building the
first DVD-9, and building it from a new development system, we chose
to begin with a very simple product. A user cannot install Linux
from Linux DVD Archives, so it is only useful as an accessory for
current Linux users. What the product does provide is the largest
collection of software from the metalab.unc.edu and ftp.gnu.org
archives ever assembled on a single mass produced medium.
<P> DVD-9 is the state of the art in disc manufacturing, requiring
equipment that can bond together layers with two different metals: the
conventional aluminum used on CD's and single-layer DVD's, with a
layer of gold, giving the discs their distinctive look: silvery on top
and gold underneath. Although the manufacturing process may be more
exotic than with smaller DVD's, Linux DVD Archives should be compatible
with all DVD-ROM drives.
<P> There have been other DVD-ROM's produced for Linux, but these
have been "DVD-5" discs, which consist of a single aluminum layer like a
conventional CD and have to 55% of the capacity available per side
with DVD technology. Yggdrasil's DVD-9 product enables use of the
full capacity. The bigger difference, in terms of which event will
improve products available to end users, is that Yggdrasil has released
its internally developed software for making DVD's under the GNU General
Public License, eliminating an expensive proprietary barrier throughout
the Linux industry for DVD production, an act which will likely presage
more widespread development of DVD-ROM's.
<P> <A HREF="http://www.yggdrasil.com/Products/dvd_arc/2000.09/">Linux DVD Archives Product Information</A>
<BR> <A HREF="http://www.yggdrasil.com/Products/dvd_arc/2000.09/making.html">How we made a Linux DVD-9 Archive</A>
<BLOCKQUOTE><EM>
[The first document cited contains an interesting quote:
"...you must be running Linux kernel 2.2.14, 2.3.28 or later in order
to access files located more than four gigabytes into the DVD."
-Mike.]
</EM></BLOCKQUOTE>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Good Morning Server
</FONT>
</H3>
<P> The Good Morning Server has its Linux operating system and 20
applications embedded on a flash memory card. This separates the OS from the
hard drive, one of the most failure-prone components of any computer.
<P> Five products are currently offered, each fulfilling a different deployment
niche: general Internet server, DNS server only, mail server only (includes
mailing lists and virtual accounts), e-commerce server, BBS server. Additional
products are coming. Each product is designed for maximum security; e.g.,
unnecessary services have been eliminated. Configuration is via a web
interface or telnet.
<P> To upgrade the system, merely change the flash card and reboot, or download
a patch file. This upgrade method is patent-pending.
<P> The Good Morning Server is made by Duli Network Corporation, Ltd. in Seoul,
South Korea.
<P> <A HREF="http://www.duli.net">http://www.duli.net</A> (Korean language)
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Jabber.com picks up some bigwigs
</FONT>
</H3>
<P> September 7, 2000 -
DENVER - <A HREF="http://jabber.com">Jabber.com Inc.</A>, a subsidiary of Webb
Interactive Services Inc., today announced the addition of two new Technical
Advisory Board members - Michael Tiemann, current CTO of Red Hat, and Dr.
David P. Reed, former vice president of research and development and chief
scientist for Lotus Development Corporation and one of the early members of
the committee that defined the Internet protocol suite TCP/IP.
<P> Meanwhile, downloads of the Jabber server have reached the 10,000
mark.
<P> Note that Jabber itself (an XML-based instant-messaging program that can
intercommunicate with proprietary systems, in case
you've been asleep), is open source, and its development happens at
<A HREF="http://www.jabber.org">Jabber.org</A>. Jabber.com provides commercial
support for it, and <A HREF="http://www.jabbercentral.com">JabberCentral</A>
provides end-user support.
<P> Jabber is now integrated with <A HREF="http://www.open3.org">Open3's</A>
e-business integration platform. This XML-based, open-source platform helps
companies move from paper-oriented office procedures to digital.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linux Security, or Rather, the Lack Thereof
</FONT>
</H3>
<P> Do you know all the services (=daemons) your Linux box is running? If not,
you'd better find out now and turn off the ones you don't want. Every extra
service gives the script kiddies another opening to try to sabotage or
commandeer your computer. OSOpinion contributer Joeri Sebrechts rakes the
Linux distributions over the coals for shipping default installations that leave
optional services on and for not setting the default access policy to "DENY".
This, he argues, is a ticking time bomb for users who just migrated from
Windows and don't know that these services--which are running now on their
computer--even exist.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Mr Gates
</FONT>
</H3>
<P> "You left them alone in a room with a penguin?! Mr Gates, your men are
already dead."
<BR><CITE>-Seen on a Slashdot posting by Tough Love.</CITE>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linux Links
</FONT>
</H3>
<P> Duke of URL articles:
<UL>
<LI> <A HREF="http://www.thedukeofurl.org/reviews/misc/mp3linux">
MP3 on Linux HOWTO</A>
<LI> <A HREF="http://www.thedukeofurl.org/reviews/misc/slackware71/">
Slackware 7.1 review</A>
<LI> <A HREF="http://www.thedukeofurl.org/reviews/misc/debian22">Debian 2.2 review</A>
<LI> <A HREF="http://www.thedukeofurl.org/reviews/misc/redhat70">Red Hat 7.0 review</A>
<LI> <A HREF="http://www.thedukeofurl.org/reviews/misc/vmware202">VMWare 2.0.2</A> review
</UL>
<P> Anchordesk UK (ZDnet) articles:
<UL>
<LI> <A HREF="http://www.anchordesk.co.uk/anchordesk/commentary/columns/0,2415,7106122,00.html">Linux great and small</A>
-- more advocacy for Beowulf clusters vs Crays
<LI> <A HREF="http://www.anchordesk.co.uk/anchordesk/commentary/columns/0,2415,7106177,00.html">The AIX and pains of 64-bit computing</A>
-- By now the folks at Caldera must have noticed the fact
that their company is involved with no less than six
operating systems. What role will Caldera play in the world of 64-bit Unix?
<LI> <A HREF="http://www.anchordesk.co.uk/anchordesk/commentary/columns/0,2415,7106271,00.html">Yggdrasil riddle</A>
-- The company with a funny name is making a comeback.
</UL>
<P> <A HREF="http://www.zdnet.com/intweek/stories/news/0,4164,2631373,00.html">The differences between the various BSDs</A>.
<EM>(ZDnet Inter@ctive Week)</EM>
<P> <A HREF="http://www.mojolin.com">Mojolin.com</A> is a free Linux job site.
<P> <A HREF="http://www.linux2order.com">Linux2order.com</A> offers over 5,000
pieces of Linux software in its web site, which can be downloaded for free or
ordered on a custom CD-ROM for US$12.95 plus shipping. The site also includes
software reviews. The company plans to offer at least 2,000 additional titles
by the year's end.
<P> A review of the
<A HREF="http://www.anandtech.com/showdoc.html?i22">Matrox Millennium G450 Under Linux
</A> <EM>(Slashdot)</EM>
<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">CRYPTOAdmin 5.0 - Strong User Authentication
</FONT>
</H3>
<P> KANATA, Canada, September 7, 2000 - CRYPTOCard Corp. has launched
CRYPTOAdmin 5.0 for protecting Web Sites, Email and Remote Access Security
CRYPTOAdmin 5.0 protectss Apache,
iPlanet and Microsoft IIS Web servers from unauthorized access - right down
to the page level.
<P> CRYPTOAdmin 5.0
CRYPTOAdmin 5.0 with WEBGuard, ensures access to protected web pages is only
permitted with the correct one-time password generated from a CRYPTOCard
hardware or software token. Web severs communicate with CRYPTOAdmin,
enabling ASP (Active Server Page) or JSP (Java Server Page) security.
WEBGuard offers seamless and transparent integration without the need for
browser configuration, plug-ins or additional software.
<P> CRYPTOAdmin 5.0 provides strong user authentication in the Linux
environment. Used in conjunction with freely available facilities such as
PAM and Kerberos, CRYPTOAdmin enhances the stability, versatility and
networkability of Linux. A new Graphical User Interface (GUI) makes
administration an easy and welcome task for Red Hat, SuSE and Caldera
network administrators.
<P> CRYPTOAdmin 5.0 server runs on Windows NT, Windows 2000, Linux and Solaris.
<P> CRYPTOCard's Authentication Server Software license is
$7,495 compared with RSA's server license of $57,512 - a savings of $50K.
And, unlike RSA, CRYPTOCard's tokens are purchased only once, are not time
limited, and have replaceable batteries.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Loki games
</FONT>
</H3>
<P> <STRONG>SimCity 3000 Unlimited</STRONG> for Linux is now
in production. The first copies will roll off the assembly lines late
next week for shipment to our online store and other distributors.
<A HREF="http://www.lokigames.com/products/sc3k/demo.php3">[demo]</A>
<P> Version 428 of <STRONG>Unreal Tournament</STRONG> for Linux is now
available.
<A HREF="http://www.lokigames.com/products/ut/updates.php3">[README and
download locations]</A>
<P> <A HREF="http://faqs.lokigames.com/">New and improved FAQs</A> on Loki
games.
<P> <A HREF="http://www.lokigames.com/products/descent3/manual.php3">
Descent3 reference card</A>
<P> Loki will partner with Timegate Studios to bring
Kohan: Immortal Sovereigns to Linux.
Kohan will be the first of the immensely-popular real-time strategy
gaming genre to be commercially available for Linux.
The Linux version of this masterpiece will
be released near-simultaneously with the Windows version in Q1 2001.
<P> VANCOUVER, British Columbia - Friday, September 15, 2000 - It's fragtime
for the Dust Puppy.
Today kicks off the UserFriendly.org and Loki Software Quake III Arena
Contest.
<P> Contestants will create and modify "skins" and levels based on the cast
of characters from the UserFriendly.org episodic comic strip for use with
Quake III Arena, the blockbuster 3D, first-person perspective, shooter
video game developed by id Software. Skins dictate the appearance of the
player within the game environment, while the levels define the
appearance and layout of the space used by the battling players inside
the game.
"I am categorically terrified by what the UserFriendly.org community
might come up with," explains J.D. "Illiad" Frazer, the comic strips
creator and Founder of UserFriendly.org. The contest runs until October 11.
For contest information, visit
<A HREF="http://www.userfriendly.org/community/quake">www.userfriendly.org/community/quake</A>.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Other software
</FONT>
</H3>
<P> BORG 0.2.90 is a graphics-rendering tool.
<A HREF="http://www.project-borg.org/news">[news]</A>
<A HREF="http://www.project-borg.org/download">[download]</A>
<P> Want an alternative to KDE and Gnome? Try
<A HREF="http://www.xfce.org/">XFce</A>, a GTK+-based"light" cousin to Gnome
that contains less features, but therefore uses less resources and is faster.
It includes a Gnome compatibility module for xfwm (XFce's window manager)
enabling you to run the Gnome panel, pager and tasklist integrated with xfwm.
There's no such compatibility module for KDE, so you can't run the KDE panel,
but KDE applications run fine. Of course, xfwm also has its own panel....
Here's a <A
<A HREF="http://www.linuxorbit.com/features/interview1.php3">LinuxOrbit
interview</A> <EM>(Slashdot)</EM>. <STRONG>Readers, anybody wanna review
it?</STRONG>
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2000, the Editors of <I>Linux Gazette</I></A><BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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">
<img src="../gx/dennis/bbubble.gif" alt="(!)"
border="0" align="middle">
<img src="../gx/dennis/bbubble.gif" alt="(!)"
border="0" align="middle">
</A></H1>
<BR>
<H4>Answered By James Dennis, Ben Okopnik, Les Catterall, Anthony Greene,
the Editors of the <em>Linux Gazette</em>
... and you!
</H4>
<h5>Got a techie Linux question? Want to answer some?
Send mail to the Answer Gang at
<a href="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</a>
<br>Thanks and general <em>Gazette</em> comments should
be sent to <em>LG</em>'s main address:
<a href="mailto:gazette@ssc.com">gazette@ssc.com</a></h5>
</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"
></a>modem installation --or--
<dd><A HREF="#tag/1"
><strong>No Modem Driver?</strong></a>
<dt><A HREF="#tag/2"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Dual (or more) Monitor support</strong></a>
<dt><A HREF="#tag/3"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Replacing an MS Exchange Mail Server with Linux</strong></a>
<dt><A HREF="#tag/4"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>question</strong></a>
<dt><A HREF="#tag/5"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Printing Trouble in Linux</strong></a>
<dt><A HREF="#tag/6"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Running XDM Without a console GUI</strong></a>
<dt><A HREF="#tag/7"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Linux security questions - Answer Gang</strong></a>
<dt><A HREF="#tag/8"
><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
><strong>Free Linux ISPs in France</strong></a>
<dt><A HREF="#tag/9"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
>re: the answer guy --and-- driver d'installazione --or--
<dd><A HREF="#tag/9"
><strong>SIS 6236</strong></a>
<dt><A HREF="#tag/10"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Linux 'read' (September 2000 issue The Answer Gang) --or--
<dd><A HREF="#tag/10"
><strong>More on: Shell Variable Scoping</strong></a>
<dt><A HREF="#tag/11"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Partitioning Linux</strong></a>
<dt><A HREF="#tag/12"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Linux on Laptop</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>
Hello everyone, it's the month for trick-or-treating and we have some
real treats for you this month.
<p>
The feast of All Hallow's Eve is a time when the spirits of the past
and the present cross the borders between each other's worlds. One might
even say they're passing into a new security context.
<p>
As you don your costumes (hey, those devil horns can double for BSDcon
this month, October 14 to 20 in Monterey - <a href="http://www.bsdcon.com"
>www.bsdcon.com</a>) and plot what kinds of eye candy to scatter
across your web pages, don't forget to consider security.
<p>
Now security is a tricky thing, many people think it just means locking
stuff down. But that's not really the case - you also want to continue
to provide whatever resources you normally do. Otherwise we'd all lock
ourselves in closets with our teddy bear and an IV drip of Jolt cola and
call ourselves secure.
<p>
It is as important to establish our rights and continued power to do things
-- to be secure in our abilities and privilege -- as it is to establish our
privacy -- the confidentiality of our data and thoughts, whether we're
talking about GPG keys and email, or business plans, or schematics and
algorithms. We also need to avoid squelcing the abilities of others --
since it's by increasing the products of our community that we grow more
capable and self-sustaining. So a real sense of security lies in defining
all of the requirements and all the constraints of what we want to
make sure to serve as well as what we want to make sure to protect.
Otherwise, we may have failed to protect our future, in the name of present
security.
<p>
Well, that's it for now. Onward to some fun answers from the Gang!
<p>
-- Heather Stern
<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"
>No Modem Driver?</H3>
<p><strong>From Maenard Martinez on Mon, 04 Sep 2000
</strong></p>
<p align="right">Answered by: Jim Dennis, Heather Stern</p>
<!-- ::
No Modem Driver?
~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
i have a dual boot pc (linux and win98). i want to use my modem in linux
(which has no driver for linux) so that i can connect to my isp. i tried
using gnome, i found out that it detects the com# of the modem but it is id
as ms-dos.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [JimD]
What does "it is id as ms-dos" mean? Does it mean that <A HREF="http://www.gnome.org/">GNOME</A>
identifies the COM# as "MS-DOS?" Which GNOME utility are you using?
GNOME is a suite of utilities and a set of programming libraries and
interfaces (and CORBA objects). So there are several different
programs that you might be running under GNOME in you attempts to
configure this modem.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [JimD]
i used kppp of kde to dial-out. i configured teh kppp so that it will use
the same com the modem is using in win98. the error message is
"modem is busy". how do i configure my modem w/o linux driver?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [JimD]
It sounds like you TRIED to use KPPP to dial out. Did it actually
dial?
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
thanks,
maenard
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [JimD]
I suspect that you are talking about an internal/winmodem here.
In that case, rip it out, throw it away and buy a real modem.
How do you know if it's a "real modem?" Basically the easy answer
is: spend a little extra money and get an external modem that
plugs into your serial port. Eventually USB might be supported as
well. If its internal then the chances are good that it is a
"winmodem" or a "softmodem" --- which are not supported under
Linux.
</BLOCKQUOTE>
<BLOCKQUOTE>
You could always try waiting for the support to become available.
There is a project that may eventually support some win/soft-modems
(linmodems.org). However, that is likely to take a long time and is
likely to require considerable technical expertise for the foreseeable
future. It is not a practical alternative to you.
</BLOCKQUOTE>
<BLOCKQUOTE>
Search our back issues on the term "winmodem" for discussions about
why winmodems are not supported by Linux (or any other decent
operating system).
</BLOCKQUOTE>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
><em><font color="#000033"> [Heather] Hey, don't forget that winmodems
are mentioned <a href="../faq/index.html#winmodem">in the
<strong>Linux Gazette</strong> FAQ</a>
<br>A couple of things I'd look at before ripping it out in disgust:
<ul>
<li> run <tt>lspci</tt> and if it is detected and says it's a winmodem,
well, junk it. If you feel like tearing your hair a bit more and it's
one of the few supported at linmodems.org, more power to you.
<li> when you say "same com port as DOS" do you mean com3=ttyS3? If so, you've
thought wrong, since in Linux we count from 0 ... the example I gave might
be on ttyS2 (because that's the 3rd comport) or ttyS0 (maybe it's the <strong>only</strong>
live one).
<li>Install <tt>wvdial</tt> and see if its config script autodetects your
modem. It's fairly configurable for strange conditions on the ISP's
end of the connection too.
</ul>
</font></em></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"
>Dual (or more) Monitor support</H3>
<p><strong>From Stamatis Sarlis on Mon, 04 Sep 2000
</strong></p>
<p align="right">Answered by: Jim Dennis</p>
<P><STRONG>
Dear Answer Guy,
</STRONG></P>
<P><STRONG>
I wonder if Linux (and XFree) supports 2 or more VGA cards in the same =
PC. If not, is there any commercial XServer that can support more than 1 =
VGA ? Where can I find more informations about this issue ?
</STRONG></P>
<P><STRONG>
Thank you in advance for your help
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The latest version of XFree (version 4.x) support "Xinerama" which
includes multi-headed support. However, I haven't tried that yet.
XFree86 version 4.x will probably be included in the next major
releases of each mainstream Linux distribution; so look for it
in a few months if you don't want to try downloading, building and
installing it yourself.
</BLOCKQUOTE>
<BLOCKQUOTE>
The two major commercial X server packages for Linux support
multiple heads as well. I forget which is which but in one
of them the multi-headed support is part of the main package, in
the other it is a separate version of the package. These two
X packages are:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
X-inside: Xig Inc
<DD><A HREF="http://www.xig.com"
>http://www.xig.com</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Metro-X:
<DD><A HREF="http://www.metrolink.com"
>http://www.metrolink.com</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
... note: I think it is the latter of these that offers multi-head
support (as well as support for some touch screens and many
proprietary laptop chipsets) in their base package. I think
that Xig's products are separated among multi-head, laptop and
desktop versions.
</BLOCKQUOTE>
<!-- sig -->
<!-- sig -->
<!-- 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"
>Replacing an MS Exchange Mail Server with Linux</H3>
<p><strong>From Jonathan Hutchins on Mon, 04 Sep 2000
</strong></p>
<p align="right">Answered by: Les Catterall, Anthony E . Greene</p>
<BLOCKQUOTE>
Hi Jonathan,
</BLOCKQUOTE>
<BLOCKQUOTE>
You say:
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
So far, I have yet to figure out a way to implement this kind of feature on
Linux workstations. The internal address scheme could probably be handled
using Netscape as a mail client and an LDAP server, but I don't know how
we would handle the external address book.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The functionality you refer to is of course implemented on mail servers,
not upon the workstations (client PCs). For example the SMTP server program
Sendmail, has "aliases" which provides the functionality you seek. See the
on-line manual entry: "man 5 aliases".
</BLOCKQUOTE>
<BLOCKQUOTE>
Cheers - Les Catterall
</BLOCKQUOTE>
<!-- sig -->
<!-- end 3 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 3 -->
<p><em>Anthony E . Greene suggested:
</em></p>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
So far, I have yet to figure out a way to implement this kind of feature on
Linux workstations. The internal address scheme could probably be handled
using Netscape as a mail client and an LDAP server, but I don't know how we
would handle the external address book.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I used LDAP both at home at at my office to create a shared address book. I update the address book using a browser and the "ldap-abook" package. Ldap-abook is a perl CGI script and module that make it easy to update an LDAP address book.
</BLOCKQUOTE>
<BLOCKQUOTE>
I use <A HREF="http://www.redhat.com/">Red Hat</A> Linux 6.2, which comes with OpenLDAP almost ready to run.
</BLOCKQUOTE>
<BLOCKQUOTE>
The hardest part was exporting the data from whatever format it was in to an LDIF file for import by the LDAP server. After that, I customized the CGI script that came with ldap-abook to improve the appearance of it's HTML output. It works just fine.
</BLOCKQUOTE>
<BLOCKQUOTE>
Tony
</BLOCKQUOTE>
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 3 -->
<p><em>Jonathan and Les wrote each other again:
</em></p>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I don't think I'd want to maintain a 300 entry "Aliases" database (And
that's just my personall address book!),...
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
But someone's got to maintain the details somewhere?
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
........ nor does this provide the address
look-up capabilities that Outlook and Exchange do together. I can even use
my Address Book from the Exchange Server to insert addresses in postal
letters in Word, but what I'm really after is the ability that Outlook and
Lotus Notes have to automatically look up (and optionally complete) names
and/or addresses during message composition (or immediately on send, keeping
the message open in then event of a lookup failure).
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It seems I misunderstood what you are trying to do. You are looking for
something which is tightly integrated with MS applications. Indeed, sendmail
e-mail aliases won't help you there.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Anthony Greene has suggested ways to connect Outlook and Netscape/Linux
clients to an LDAP database as a partial solution. I'll have to look more
carefully at how such an interface manages addresses (things such as adding
and updating), but Anthony's pointers may supply at least part of the
solution.
</STRONG></P>
<P><STRONG>
Thanks for the ideas,
</STRONG></P>
<P><STRONG>
Jonathan
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You're welcome. Good luck with LDAP.
</BLOCKQUOTE>
<BLOCKQUOTE>
Cheers - Les Catterall
</BLOCKQUOTE>
<!-- sig -->
<!-- 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"
>question</H3>
<p><strong>From Lady Wistfulee on Wed, 6 Sep 2000
</strong></p>
<p align="right">Answered by:
Mike Orr, Heather Stern, Dan Wilder, Don Marti
</p>
<!-- begin 4 -->
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I know this is a very newbie question, but a link to your URL came up in the
HTML Writers' Guild List today &amp; from the looks of your site, you MUST be
experts on Linux &amp; I "should" be able to get a straight answer from a
"definitive" source.
</STRONG></P>
<P><STRONG>
How the heck does one pronounce "Linux"? I have heard "line-ux" &amp; "len-ux".
Which is it??
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Mike Orr]
There are at least three common pronunciations, and none are
authoritative. Because Linus is an ethnic Swede from Finland, he
pronounces it with a short "ee" sound we don't have in English.
Some people pronounce it "Line-ix" like the English version of Linus.
Others pronounce it "linnix", trying to imitate the Swedish.
</BLOCKQUOTE>
<BLOCKQUOTE>
(The last vowel, being unstressed, can sound like a short i, short u,
or schwa, as is normal rules of English.)
</BLOCKQUOTE>
<BLOCKQUOTE>
Now that Linus has been in the US a few years, he's starting to adopt
an American pronunciation. When I saw him speak at LinuxWorld in 98,
he pronounced his name "Line-us" and his OS "linnix". Even when he
used both in the same sentance.
</BLOCKQUOTE>
<BLOCKQUOTE>
However, he has said he doesn't care how people pronounce it. He just
wants people to use it.
</BLOCKQUOTE>
<BLOCKQUOTE>
Mike Orr, Editor, Linux Gazette
</BLOCKQUOTE>
<!-- sig -->
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Please settle this if you can, I have two "gurus" arguing over it &amp; they
have me completely confused.
</strong></p>
<p><strong>
Thank you.
</strong></p>
<p><strong>
C<EFBFBD>line Kapiolani
<br><em>"He who asks is a fool for 5 minutes.
<br>He who doesn't ask remains a fool forever."</em>
</strong></p>
<!-- end 4 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<p><em>Please, let us <strong>definitively</strong> argue over it...
This is the point where everyone chimes in.</em></p>
<!-- begin 4 -->
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
A reasonable case could be made for the 3 following:
<dl>
<dt>
line-ux
<dd>per English standard rules for the spelling.
<dt>lin-ix
<dd>rhymes with "minix" which it was designed to resemble
</dl></blockquote>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Mike Orr]
I forgot about this. Yes, that was the original reason Linux was
pronounced that way in 1991. Minix was a Unix-like operating system
that ran on PCs (XTs in those days), which Linux was based on.
</BLOCKQUOTE>
<BLOCKQUOTE>
I have long disliked this pronunciation (linnix) because I don't see
why Linux should be tied down to the name of an OS that is inferior,
not free, and practically ceased to be used by 1993 or so.
</BLOCKQUOTE>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Heather]
<dl>
<dt>lin-ooks
<dd>rhymes with Linus, its core man but by no means its only programmer,
even for the kernel.
</dl>
</BLOCKQUOTE>
<BLOCKQUOTE>
There is a definitive soundbite record by Linux Torvalds, available from
kernel.org:
<A HREF="http://www.kernel.org/pub/linux/kernel/SillySounds"
>http://www.kernel.org/pub/linux/kernel/SillySounds</A>
</BLOCKQUOTE>
<BLOCKQUOTE>
It's available in either English or Swedish, and he says "My name is Linus
Torvalds, and I pronounce Linux, Linux." Thus it's also definitive for
how his own name is pronounced. Some of the major distributions also come
with a .wav of the sound, as a sample.
</BLOCKQUOTE>
<BLOCKQUOTE>
Hope this made Linux a little more fun!
</BLOCKQUOTE>
<BLOCKQUOTE>
* Heather Stern *
</BLOCKQUOTE>
<!-- sig -->
<p><em>Around the same time...</em></p>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Dan Marti]
Linus' reluctance to
be the pronounciation police (quite consistent with his pragmatic
character), and his move to the US and subsequent inconsistencies in
his own pronounciation.
</blockquote>
<BLOCKQUOTE>
When I met him, he introduced himself as LINE-us. And in his talks,
he says LIN-ucks (last I heard anyway.)
</BLOCKQUOTE>
<BLOCKQUOTE>
The "Hello this is LEE-nus Torvalds, and I pronounce LEE-nucks as
LEE-nucks" (as heard on the old .au file) does not match current
practice.
</BLOCKQUOTE>
<!-- end 4 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<p><em>And...</em></p>
<p><strong>
Dear Mike,
<br>This morning I received an email in response to the email I sent yesterday:
</strong></p>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Dan Wilder]
If you can play an .au file:
<blockquote>
<code>
<A HREF="http://www.kernel.org/pub/linux/kernel/SillySounds/english.au"
>http://www.kernel.org/pub/linux/kernel/SillySounds/english.au</A>
</code>
</blockquote>
Has Linus Torvalds himself explaining how to pronounce "linux".
<br>And the answer is, "lee-nooks".
<br>The nearest common English is "li-nucks"
<br>with a short "i". It certainly isn't "line-ux" with a long "i"
or "len-ux" like the water heater manufacturer, either!
</BLOCKQUOTE>
<!-- end 4 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<p><em>Summing up... </em></p>
<!-- end 4 -->
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Mike Orr]
I should tread lightly here because Dan's my boss
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">, but this sound
was recorded many years ago, around 1992 or 93, and a lot has happened
since then. For instance, the entire period of Linux ascendancy,
the loud debates about how to pronounce Linux, Linus' reluctance to
be the pronounciation police (quite consistent with his pragmatic
character), and his move to the US and subsequent inconsistencies in
his own pronounciation.
</BLOCKQUOTE>
<BLOCKQUOTE>
After 1 1/2 years of working at a company that officially pronounces it
"linnix", I've been half browbeaten into submission. Now I end up
saying "line-ux" and "linnix" inconsistently in the same sentance. For
instance, "This month's Linnix Journal has an article about Line-ix
sound drivers."
</BLOCKQUOTE>
<!-- sig -->
<!-- end 4 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<p><em>...but she says it best herself.</em></p>
<p><strong><IMG SRC="../gx/dennis/bbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>Now I am still confused...but at least no one truly cares how it is
pronounced, so all is well &amp; good.
</strong></p>
<p><strong>
Thanks for your quick response!
<br>much alohas,
<br>C<EFBFBD>line Kapiolani
</strong></p>
<p><strong><em>
"You have the right to remain silent.
Anything you say will be misquoted, then used against you."
</em></strong></p>
<!-- sig -->
<!-- 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"
>Printing Trouble in Linux</H3>
<p><strong>From Gaurav on Fri, 8 Sep 2000
</strong></p>
<p align="right">Answered by: Ben Okopnik</p>
<P><STRONG>
On Fri, Sep 08, 2000 at 12:01:38AM +0530, root wrote:
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Might want to check out your mail setup as well... See my
article on setting up Sendmail under Redhat this coming
month (if Mike doesn't shoot it on sight, that is.
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I have been trying to get my EPSON Stylus COLOR IIs (TRIGEM) printer
working on redhat 6.1 for about three months on and off,
"UNSUCCESSFULLY" of course.
</STRONG></P>
<P><STRONG>
The problem is that i want to print using black ink-cartrege,
as most of my printing is black documents.
</STRONG></P>
<P><STRONG>
I have tried various Ghostscript devices, uniprint drivers
read the docs over and over again, posted on the net....and
done many unmentionable things but to no avail.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The unmentionable things are probably the ones worth mentioning,
just to avoid repetition.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The closest i have come to getting some sane output is
with the following GS options
</STRONG></P>
<Pre><STRONG>
gs -sDEVICE=stcolor -r360x360 -dnoWeave -descp_Band=1 -sOutputFile=\|lpr fileName.ps
</STRONG></Pre>
<P><STRONG>
and
</STRONG></P>
<Pre><STRONG>
gs -sDEVICE=stcolor -sModel=st800 -sOutputFile=\|lpr fileName.ps
</STRONG></Pre>
<P><STRONG>
they both give me ouptut that is elongated in length and the verticals
lines are mis-aligned.
</STRONG></P>
<P><STRONG>
Please Please Please Please Please help me out herex
cause it is a real bother booting into windows again and again
just to get printouts.. and i cant buy a new printer just yet.
</STRONG></P>
<P><STRONG>
Gaurav
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I have an Epson Stylus 720, myself (can't see where it would be very
different). Try installing "<tt>magicfilter</tt>" and modifying the "gs" lines
in "<TT>/etc/magicfilter/stylus_color_720_filter</TT>" as follows:
</BLOCKQUOTE>
<BLOCKQUOTE><pre>
/usr/bin/gs -sDEVICE=stcolor -r720 -q -dSAFER -dNOPAUSE -dSpotSize='{2.6 2.4 2.6 2}' -sOutputFile=- -
</pre></BLOCKQUOTE>
<BLOCKQUOTE>
<EM>Remove</EM> the resolution ("<tt>-rXXX</tt>") switch.
</BLOCKQUOTE>
<BLOCKQUOTE>
That one took a while of experimenting to find (with it in place,
"<tt>magicfilter</tt>" <EM>swallowed</EM> the output without a trace), but it works
fine. I haven't tried <em>just</em> a black cartridge, but if it works
with Windows, it should work with Linux.
</BLOCKQUOTE>
<BLOCKQUOTE>
By the way - as far as I know, the horizontal and the vertical
resolution on my printer (and probably on yours) are not the
same; I believe the numbers are something like 360x720. This
is probably the reason for the "elongation" problem.
</BLOCKQUOTE>
<BLOCKQUOTE>
Ben Okopnik
</BLOCKQUOTE>
<!-- sig -->
<!-- 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"
>Running XDM Without a console GUI</H3>
<p><strong>From dwayne.bilka on Sun, 10 Sep 2000
</strong></p>
<p align="right">Answered by: Ben Okopnik, Dan Wilder</p>
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Can I run xdm in the background without the console switching into
the GUI? One of our RedHat 6.0 servers has a SiS620 AGP built into
the motherboard, and I have not been able to figure out how to get
it to work. Anyways, I don't need a GUI on the server (our servers
are in the basement, my office is on the 10th floor), however I do
have the occasional need to bring up the GUI. I use X-Win on NT to
connect to our Solaris/Linux servers.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
Try vncserver and svncviewer/xvncviewer instead. You can run the
server on your server
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">,
and connect to it from your desktop.
Clients are available for just about any platform, and you can even
log into it from your server machine locally (X Windows without running
an X server... the mind boggles). Nice GUI, <EM>excellent</EM> clients for
the Windows world (small enough to carry with you and run directly
from a floppy, or you can actually use a browser (!) as a viewer).
</BLOCKQUOTE>
<BLOCKQUOTE>
The program itself is available under the GPL from the good folx
at <A HREF="http://www.uk.research.att.com/vnc"
>http://www.uk.research.att.com/vnc</A> -
there's also a very good
FAQ/troubleshooting guide on the site.
</BLOCKQUOTE>
<!-- sig -->
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Dan]
Has vnc been maintained recently?
</BLOCKQUOTE>
<BLOCKQUOTE>
I tried it a couple of years ago and found it terribly buggy. Broken
images, crashes, the like. Good enough at the time for no more than
extremely casual use.
</BLOCKQUOTE>
<BLOCKQUOTE>
Watched it for a year or so, no apparent maintenance work being done,
gave up on it.
</BLOCKQUOTE>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
> [Ben]
The last release for Win clients was 5/26/00; Unix, 2/9/00. I used
it in a business environment almost two years ago on a regular
basis and found it stable and bug-free.
</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"
>Linux security questions - Answer Gang</H3>
<p><strong>From Joseph Wilkicki on Wed, 13 Sep 2000
</strong></p>
<p align="right">Answered by: Heather Stern</p>
<P><STRONG>
Hi!
</STRONG></P>
<P><STRONG>
I have a question for the Linux Gazette Answer gang, but didn't see an address
for submission, so I'll direct it to you.
</STRONG></P>
<P><STRONG>
I'm trying to harden my machine and to that end, I ran Bastille-Linux on my
machine when installed, added ssh, and disabled as many services as I can.
</STRONG></P>
<P><STRONG>
When I ran saint and nmap, however I saw I have a few ports open which I don't
recognize. They are
<br>listen,
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
sounds like a verb, not the name of a service
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
miroconnect,
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
A brief Google! search implies this may be something to do with a sound
card.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
and an unknown service running on port 1024.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
1024 is in the user-available range ... it is probably the second connection
of some other protocol you have running. Try running
</BLOCKQUOTE>
<BLOCKQUOTE><pre>
netstat -a
</pre></BLOCKQUOTE>
<BLOCKQUOTE>
on the system's console to see what connections are currently up, and look
at what is connecting <EM>to</EM> it.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Saint didn't seem to think they were a problem, but I didn't
explicitly turn them on, so I'm concerned they are a risk.
</STRONG></P>
<P><STRONG>
What are these services, and should I (and how do I) turn them off?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
This can't be readily determined until you know what they are; once you
do, you can look for the offending service(s) in either your inetd.conf
or among your init scripts. <tt>lsof</tt> (list open files) might also
be useful for determining the culprits.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Also, can I secure lpd? I need to print to a local printer, but I don't
need to print to network printers.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It's possible albeit unusual to run lpd from inetd - in there, you could
protect it with tcpwrappers.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Thanks!
<br>Joseph Wilkicki
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You're welcome!
</BLOCKQUOTE>
<!-- sig -->
<!-- end 7 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/8"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 8 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Free Linux ISPs in France</H3>
<p><strong>From Wilf on Sat, 2 Sep 2000
</strong></p>
<p><em>There've been a number of requests about ISPs offering "free"
(but paid by ads) services and accepting rather than rejecting
Linux users. If you're in Europe, Wilf's answer may be handy...
and if not, his warnings are still worth regarding. -- Heather</em></p>
<BLOCKQUOTE>
Hello LGs,
</BLOCKQUOTE>
<BLOCKQUOTE>
Users in France may now choose quite a few ISPs which offer
1, 2, 3, ... 12 hours free of charge (that's to say connection, personnel
web space, phone costs within a local area...).
</BLOCKQUOTE>
<BLOCKQUOTE>
Alas, some inconveniences are:
</BLOCKQUOTE>
<BLOCKQUOTE><ol>
<li>(having to) accept extensive advertising which (once your surfing analyzed)
will be tailored accordingly (someone MUST pay, mustn't s/he ?
<IMG SRC="../gx/dennis/unsmily.gif" ALT=":-{"
height="24" width="20" align="middle">.
I skip details on restrictions and services which vary from one ISP to another.
<li>most of 'em are aimed for (un)lucky Windows (Windoze?) users. Win 3.11 is
almost always left out, and Linux even more so.
</ol></BLOCKQUOTE>
<p><em>Exactly why everyone has been asking...</em></p>
<BLOCKQUOTE>
Having called an ISP (Free, to be precise), I received a letter and a CD in a
surprisingly short time which included necessary information (login,
password, POP, SMTP, DNS1 and DNS2, News and Email addresses and some example
scripts for Linux which I strangely did not need at all) to configure
programmes (under Linux, you've guessed it) which worked fine... after two
nights' spent on configuring kppp.
</BLOCKQUOTE>
<BLOCKQUOTE>
Users in France may check
<a href="http://www.free.fr/">www.free.fr</a>
for information regarding the "<em>points
d'acc<63>s</em>" within their region of residence. They, at Free, do not
impose such and such OS: you are free to use Windows and/or Linux or any
other OS capable of handling Internet's protocols and some such programmes.
</BLOCKQUOTE>
<BLOCKQUOTE>
This leads me to furnish a piece of information users of OLITEC modems might
find to be just what they needed to get <em>at last</em> connected:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQuote>
I use (under <A HREF="http://www.redhat.com/">Red Hat</A> 6.0) a modem of
Olitec, the Self Memory 56000 V90/K56Flex,
which kppp recognized straight away. However, hours and quite a couple of beers
later, the connection was still not established, raising not only the phone bill
but also resulting in a what now appears to be a somewhat bold head, until I
checked out the configuration file of kppp (under the influence of suggestions
made by a friend who cared to spend the nights in front of my compy, and not, as
you might have suspected, under the influence of the brew, honest, we weren't
blotto at all). Besides, fancy having a good look at his personnel (French)
pages he painfully created under Linux and want to learn (or indulge yourself
in reminiscences) about that famous "racing car" Gordini or R8? Check out
<a href="http://www.amicale1134.cigale.net/">www.amicale1134.cigale.net</a>,
it is for you!
Well, on then: in kppp, the option "<tt>Periphery / End of Line</tt>" is set
to "CR" by default, which the above named modem needs to be set to "CR/LF".
This done, the connection was immediate and I could surf (which I did, in fact) !!!
</BLOCKQuote></BLOCKQUOTE>
<BLOCKQUOTE>
Worthwhile noting, though: kppp runs without a problem when used under root,
other users, however, need be in a group especially created and given
the rights to use kppp! Being new to Linux, I haven't yet figured out how to
create a group and get my current "none-root user" into it. Anyone care to help,
please?
</BLOCKQUOTE>
<p><em>There is a file called /etc/group which declares what groups exist
and which users are members of them. You can also be a member of
a group if its number is your gid in the /etc/passwd file (that's
your default group). So add your own username to the right group
line in /etc/group (multiple users are seperated by comma, spaces
are not needed). -- Heather</em></p>
<BLOCKQUOTE>
Another information regards reducing phone bills: again, users in France should
contact France Telecom and subscribe to "Primaliste Internet" at 9,91 FRF (or
1,51 Euro) per month which gives a discount of 50% on local calls using ONE
chosen phone number and made between the (nightly) hours 22:00 and 8:00 (that's
10 p.m. to 8 a.m., if you prefer) at 0,07 cts (or 0,01 Euro) per minute (I guess
"Night time is the Right time", but not really an excuse to neglect your Missis!).
</BLOCKQUOTE>
<BLOCKQUOTE>
Finally, a personnel request to those writing articles or documentations for
Linux Gazette in English (be that British or American or in general): I have
taken up to translating some of them (articles, that is) and have
<em>not often though</em> quite some difficulties when it comes to translate (or even guess) what
the author wanted to say. Please be precise! Phrases like "I youz, but it no
working, pleaz hep!" don't mean much, particularly when translated. Never mind
spelling mistakes (even God left out where/how/why he lives...), but use nouns
or name "the things" instead. And, keep your articles coming in! (Hmmm, I hope
editors of LG aren't grumbling so much about this invitation
<IMG SRC="../gx/dennis/smily.gif" ALT=":-}"
height="24" width="20" align="middle">.
</BLOCKQUOTE>
<p><em>Quite the contraire, mon ami! We love to see new translations.
And, while encouraging our readers to clearer sentences, I'd also
like to encourage a bit more that helps all of us help you:
<ul><li>Please state what sort of thing doesn't work
<li>Please try to tell us what you were expecting it to do
<li>...and what you tried already ("everything" doesn't cut it -
it might actually help us realize what's going on, to know what
sort of everyday thing didn't work; or you might have missed
something that we, more experienced as we are, think was clear
enough to be part of "everything" we'd try.)</ul>
Or as I used to say, "what sort of <strong>doesn't work</strong> is it
doing, and um, which <strong>it</strong> was that anyway?" -- Heather
</em></p>
<BLOCKQUOTE>
Wishing you all, at LG and 'round the globe, good continuation (and "bon
ap<EFBFBD>tit <TT>/</TT> enjoy your meal" in case you're dining...) and, of course: "ETAHI, ERUA,
ETORU !!!",
<br>Sincerely Yours, Wilf (as opposed to Howling Wolf as is ham to
bacon
<IMG SRC="../gx/dennis/smily.gif" ALT=";-)"
height="24" width="20" align="middle">
</BLOCKQUOTE>
<!-- sig -->
<!-- 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"
>re: the answer guy</H3>
<p><strong>From hazmouz on Thu, 21 Sep 2000
</strong></p>
<BLOCKQUOTE>
can you please help me to find the driver for linux or linuxlike of the
SIS 6326 graphic card
<br>thanks a lot
</BLOCKQUOTE>
<BLOCKQUOTE>
PS: excuse me for this sudden intrusion in your life
</BLOCKQUOTE>
<!-- sig -->
<!-- end 9 -->
<p><em>...and...</em></p>
<!-- begin 9 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Vorrei ricevere i driver d'installazione per SIS 6326</H3>
<p><strong>From Cataldo Pellegrino on Mon, 28 Aug 2000
</strong></p>
<!-- sig -->
<!-- end 9 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<p><em>Now as it turns out, none of the usual Gang answered, but it
had been discussed aboard my Star Trek shuttle mailing list
a few months ago...</em></p>
<!-- begin 9 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>Beware the SiS 6326!</H3>
<p align="right">Answered by: The Armadillo with the Mask</p>
<BLOCKQUOTE><dl>
<dt>Politely:
<dd>It's a real bother to get working under XFree86.
<dt>Frankly:
<dd>[ Hey, we can't print that sort of punctuated language here!
not without entities anyway. ]... #$@%!!!!!!!
</dl>
</BLOCKQUOTE>
<BLOCKQUOTE>
In fact, if you have this or a derivative card, don't even try. Go out
immediately and get Xfree86 4.0. This is not a matter of compatibility
it is a matter that it just doesn't work at all under anything but.
You need at least 3.3.6 to get even faltering support let alone anything
that actually works.
</BLOCKQUOTE>
<p><em>Seeing as 3.3.6 is still the current version, it's probably still
the case. Feel free to build it yourself from the source repository
if you feel up to it, but, then you may as well try the new version
instead and get real support. -- Heather</em></p>
<BLOCKQUOTE>
So what is it?---A very popular chipset on the low-end $30-50 SVGA
card market. I've got one in komodo for preciselyt that reason.
When I first put the machine together, I just needed a card that would
allow me to stand the box until I could put it on a TTY and decide what I
wanted to do for a real card/monitor combo. As such I never tried to
bring X up on it. They are in a number of the testbed boxen at [my work]
for similar reasons.
</BLOCKQUOTE>
<BLOCKQUOTE>
I kept running into the same problem. I could run '<tt>startx</tt>' by hand, but
whenever I ran <TT>/etc/init.d/xdm</TT> start, '<tt>parse_xf86config</tt>' would complain
that there was an error in the XF86Config in <TT>/etc/X11</TT> and refuse to start
xdm. First, I noticed that the variable PROBLEM in <TT>/etc/init.d/xdm</TT> is
automatically set to "yes" with the intent that if the <tt>parse_xf86config</tt>
went well, PROBLEM would get set to null and all would be well.
</BLOCKQUOTE>
<BLOCKQUOTE>
It turns out this never happens and even when the output of
<tt>parse_xf86config</tt> is clean, PROBLEM doesn't get reset.
I was having other problems too. The screen interlaced horribly and
occasionally blanked out and then came back. The cursor was a big huge
blob. I was really just about to toss the card across the room.
A final search on RedHat under "all Linux sites" turned up the answer.
If you add the following under XF86Config, it works.
</BLOCKQUOTE>
<blockquote><pre>Option no_bitblt
Option no_imageblt
Option no_accel
Option sw_cursor
</pre></blockquote>
<BLOCKQUOTE>
This also fixed the issue I was having with PROBLEM in <TT>/etc/init.d/xdm</TT>
which is the REALLY bizarre part. From all appearances, it looks like
<tt>parse_xf86config</tt> is not only doing a syntactical check on the
config file
but that it is also checking to see if the options that you are specifying
actually WORK on the card or if it's going to cause trouble.
</BLOCKQUOTE>
<BLOCKQUOTE>
I have the exact same <TT>/etc/init.d/xdm</TT> script on chameleon, which
is also
running debian and it runs without a hitch(it is however, using the vastly
more ubiquitous C&amp;T 65550 chipset)
</BLOCKQUOTE>
<BLOCKQUOTE><dl>
<dt>Moral of the story:
<dd>Avoid cheapy video cards and when you can't or REALLY don't want to,
avoid the SiS 6326. Dropping an extra $50 is far more worth your time.
</dl></BLOCKQUOTE>
<BLOCKQUOTE>
Also, startup scripts aren't infallible. I'm still wondering if there are
maybe some bugs in the <A HREF="http://www.debian.org/">Debian</A>
<TT>/bin/sh</TT> that was causing the evaluation
problems with <TT>/etc/init.d/xdm</TT> I was seeing.
</BLOCKQUOTE>
<p><em>
Note: Probably resolved if you stay on <strong>Potato</strong>;
he was looking at Debian/frozen in mid July, and it didn't release until
mid August. -- Heather
</em></p>
<BLOCKQUOTE>
"That's my story and I'm stickin' to it!"
</BLOCKQUOTE>
<BLOCKQUOTE>
'dillo
</BLOCKQUOTE>
<!-- end 9 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/10"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 10 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>More on: Shell Variable Scoping</H3>
<p><strong>From Curtis J Blank on Mon, 04 Sep 2000
</strong></p>
<p align="right">Answered by: Jim Dennis</p>
<!-- ::
More on: Shell Variable Scoping
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Thanks for the answer, that did not dawn on me, I'm perfectly aware of
how things exist in an environment and the need to export them. I guess
I'd have to say it didn't dawn on me because of the fact that it works
in a ksh environment on Solaris and Tru64 UNIX and I wasn't thinking
along the lines of forked processes.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You were observing the behavior without understanding the
underlying mechanisms.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I'm curious as to why it does work there though, what magic is the shell
doing so that the variables exist that were used in the read when the
forked read process no longer exists and control returns to the parent?
Is the shell transposing the two commands and doing the read in the
context of the parent and forking the function so that the variables
remain? ...
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You still don't understand.
</BLOCKQUOTE>
<BLOCKQUOTE>
A pipe operator (|) indicates a<TT> fork()</TT>. However, it
doesn't necessitate an <tt>exec*()</tt>. External commands require
an <tt>exec*()</tt>.
</BLOCKQUOTE>
<BLOCKQUOTE>
In the cases of newer ksh (Korn '93 and later?) and zsh
the<TT> fork()</TT> is on the left of the pipe operator. That is to
say that the commands on the left of the operator are
performed by a child process. In the other cases the commands
on the right are performed by the child. In either case the
child executes the commands and exits. Meanwhile the parent
parent executes the other set of commands and continues to live.
</BLOCKQUOTE>
<BLOCKQUOTE>
Thus the question is whether the parent (current process) or a
child will be sending data into pipes or reading data from
each pipe.
</BLOCKQUOTE>
<BLOCKQUOTE>
Arguably it makes more sense for the parent to receive data
from the children, as the data is likely to be of persistent
use. Of course it also stands to reason that we may want to
read the data into a variable --- or MORE IMPORTANTLY into a
list of variables. This is why the Korn shell (and zsh) model
is better.
</BLOCKQUOTE>
<BLOCKQUOTE>
In the case of a single variable we can always just restructure
the command into a set of backtick operators (also known as a
"command substitution expression"). For example:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
foo | read bar
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... can always be expressed as:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQuote><code>
bar=$( foo ) # (or bar=`foo` in older shells and csh)
</code></BLOCKQuote></BLOCKQUOTE>
<BLOCKQUOTE>
However this doesn't work for multiple variables:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
foo | read bar bang
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... cannot be written in any command substitution form.
Thus we end up trying to execute the rest our script inside of
the subshell (enclosing the 'read bar bang' command in a set of
braces or parentheses to group it with a series of other commands
in our subshell), or we resort of saving all of command 'foo's
output into one variable and and fussing with it. That greatly
limits the flexibility of the 'read' command and makes the IFS
(inter-field separator: a list of characters on which token
splitting will be done for the read command) variable almost
worthless.
</BLOCKQUOTE>
<BLOCKQUOTE>
One way to handle this would be to write the output of 'foo'
to a temporary file, and then read with with simple re-direction:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQuote><code>
foo &gt; /tmp/somefile.$$ ; read bar bang &lt; /tmp/somefile.$$
</code></BLOCKQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... but this introduces a host of potential race conditions and
security issues; requires that we clean up the temp file, suggests
that we should create a 'trap' (signal handler) to perform the
cleanup even if we are hit with a deadly signal, and is generally
inelegant. We could also create a named pipe, but that has most
of the same problems as a temporary file.
</BLOCKQUOTE>
<BLOCKQUOTE>
So we end up using the process subsitution expression as
I described (and as you mention below):
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
... The real use of this technique is in the example script given
that includes the function. I was able to get it to work when I did it
per your suggestion:
</STRONG></P>
<Pre><STRONG>read a b c &lt; &lt;( dafunc )
</STRONG></Pre>
<P><STRONG>
-Curt Blank
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Of course. This is the same as '<tt>read a b c &lt; /tmp/somefile.$$</TT>'
except that we are substituting a file for a filename. Thus
the <tt>&lt;( ... )</tt> expression returns a filename. That file is a
virtual file --- that is to say that it is a file descriptor
connected to another process (just like a pipe) but it can be
represented (on many UNIX systems, including Linux) as an entry
under <TT>/def/fd/</TT> (the "file descriptor" directory). Under Linux
<TT>/dev/fd/</TT> is a symlink to <TT>/proc/self/fd.</TT> Under other forms of
UNIX it might have different underlying mechanics. It might
actually appear as a directory with a bunch of character mode
device nodes or it might be some sort of virtual filesystem
(like <TT>/proc</TT>, <TT>/dev/pts</TT>, etc).
</BLOCKQUOTE>
<BLOCKQUOTE>
I still think that bash should switch to the Korn shell
semantics. The <tt>&lt;(...)</tt> is sufficient to provide the features.
However, it seems to be unique to bash. For bash to offer the
best portability it seems that it should conform to the latest
Korn shell design. (BTW: If the switch was to break some script
that depended on the old semantics, on the subshell "leaning" to
the right --- than that script was already broken under different
versions of ksh. However, I could certainly see a good argument
for having a shell option (shopt?) that would set this back
to the old semantics if that was necessary. I have yet to see a
case where the old semantics are actually more desirable than
the new ones --- but I haven't really tried to find one either.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 10 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/11"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 11 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Partitioning Linux</H3>
<p><strong>From Kurt Radecke on Mon, 18 Sep 2000
</strong></p>
<p align="right">Answered by: Heather Stern</p>
<P><STRONG>
Help, saw some info you posted on linuxdoc.org.
</STRONG></P>
<P><STRONG>
I am new to Linux.
</STRONG></P>
<P><STRONG>
I have a 15Gig drive. What is the best way to partition it: I am using
Redhat 6.2 and the manual says to setup a swap, boot and "<TT>/</TT>" partition.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I like to recommend:
</BLOCKQUOTE>
<BLOCKQUOTE><dl>
<dt>/tmp
<dd>100 to 300 Mb, depending on kinds of things you do that might
flood tempspace. Even 400 is not unreasonable, if you have lots
of disk to burn.
<br>
<dt>/var
<dd>This place holds system logs, the packaging system databases, your
incoming mail spool, and your outgoing mail and print spools. That
means it can overflow pretty quickly if not kept seperate.
Even on a small system I don't like this to be too small (usu 250 Mb
is okay for a minimum - but if space is that cramped I also turn off
a lot of logging).
<br>
<dt>/boot
<dd>10 or 20 Mb near the front of disk for your kernel(s). This way
you can mount 'em read only
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
<br>
<dt>/
<dd>distros vary quite a bit about how small you can get away with this being,
but I don't advise less than 200 Mb (unless you're putting something
together by hand, or only installing "base" without all the cool
stuff). If you <em>are</em> crafting something by hand you can get this
fairly tiny by using an initial ramdisk. 500 or 600 Mb is about as large
as I'd go.
<br>
<dt>swap
<dd>This is where the changeable portion of working processes are kept
when they're not the active critter and there's no room to keep them
live anyway. How much you need depends on how serious a multitasker
you are. Personally I set it around 100 Mb per drive in my system.
<br>
<dt>/usr
<dd>can be seperate if you like... in which case I usually make <TT>/home</TT>
a symlink to <TT>/usr/local/home</TT> so it goes there. If I were going to
use "grow" to use up the rest of the disk - this would be where.
</dl>
</BLOCKQUOTE>
<BLOCKQUOTE>
You can stretch any of these to be larger but <TT>/tmp</TT> and <TT>/var</TT> grow
useless after a while - and swap is usually dog slow after about
twice RAM, so I wouldn't use more than 1.5 times RAM.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Also, what are your thoughts on installing <A HREF="http://www.gnome.org/">GNOME</A> or <A HREF="http://www.kde.org/">KDE</A>. I have a P75
machine.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You can use both; I mix and match them with afterstep apps, GTK apps that
don't use GNOME, and tcl stuff fairly freely. Sometimes K has a better
tool, sometimes GNOME... but both environments can eat a surprising amount
of RAM because their core libraries are large, and it's possible they may
be affected by your older processor, too.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you find yourself strapped for memory space use a lightweight theme
(or switch to a wm that doesn't use themes) and avoid massive tools like
netscape or emacs in favor of lighter ones like gzilla and lynx for browsing,
nedit for editing (hey, it's under GPL now, that's cool), and an occasional
TCL/TK app.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Thanks for your help.
</STRONG></P>
<P><STRONG>
Kurt
</STRONG></P>
<!-- sig -->
<!-- end 11 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/12"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 12 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Linux on Laptop</H3>
<p><strong>From Philipp on Tue, 19 Sep 2000
</strong></p>
<p align="right">Answered by: Heather Stern</p>
<P><STRONG>
Hi mr. answerguy,
</STRONG></P>
<P><STRONG>
I have installed Linux on my IBM thinkpad and have found quite a few
curiosities you might help me with:
</STRONG></P>
<P><STRONG><ul>
<li> it only works if I install Win98 on the first partition and Linux on the
second partition (2GB each), Lilo being on the MBR
</ul></STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
This is normal. MSwin looks for its drives sequentially and when it runs
out of stuff it understands, it stops.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
><ul>
<li> the LT Win modem doesn't work under Linux (big surprise...)
</ul></STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
For fairly annoying values of "works" it can be forced to work <TT>-</TT> you need
to either stick with 2.2.14 or force 2.2.14's ppp service into a 2.2.16
setup with a shoehorn... then load the ltmodem driver binary they provide
(you can find it at <a href="http://www.linmodems.org/">linmodems.org</a>)
</BLOCKQUOTE>
<BLOCKQUOTE>
It still sucks up lots of CPU under load though. And it's sort of doomed,
unless they wake up and smell the coffee before the 2.4 kernel ships -- there
isn't amy open code, and there isn't even a binary link kit like Aureal did
for their soundcards.
</BLOCKQUOTE>
<BLOCKQUOTE>
Speaking of which -- cheers to Aureal for a good middle ground solution,
and especially for setting up on
<a href="http://aureal.sourceforge.net/">aureal.sourceforge.net</a>. May it
encourage other vendors to do the same!
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
><ul>
<li> but so doesn't the sound - unpleasant surprise!!
</ul></STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Can't really help unless you can tell what the sound is. Run lspci and
see if it says. If you're lucky it's something normal, like an IRQ conflict.
Try telling your CMOS Setup program that we are <em>not</em> a plug and
play OS, so it will fix the IRQs for your builtin devices. Our idea of
"plug and play" is under our control, not the BIOS'...
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
><ul>
<li> my x-windows is fine, but it has the tendencies to produce errors when I
shut it down
</ul></STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Maybe Kenneth Harker's Linux on Laptops resource page
(<a href="http://www.cs.utexas.edu/users/kharker/linux-laptop/"
>http://www.cs.utexas.edu/users/kharker/linux-laptop/</a>)
has a link to someone else with the same model?
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Positive surprises:
<ul>
<li> the power management is better than with winslows
</ul>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Well, we try, anyway.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
><ul>
<li> the xconfigurator had no problem at all with my lcd-screen, but I knew
the necessary settings
</ul>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Luckily most configurators have a pick for LCD screen these days.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
><ul>
<li> the mouse (IBM track point) work better than with win (finer configurable)
</ul>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Mice and many other input widgets, we do pretty well.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Anyway, mr. answerguy, if you know how I could get my soundcard or modem to
work, I'd be really happy. (PS, I've been through the HowTo's and am
currently using an external modem, which is not too nifty on a mobile
computer)
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I highly recommend a PCMCIA based modem instead of a clunky box-model.
Ambicom makes nice solid cardbus modems which are not "winmodems" either.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Regards and Shalom,
<br>Philipp Schl<68>ter
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Best of luck! -- Heather
</BLOCKQUOTE>
<!-- sig -->
<!-- end 12 -->
<!-- QUICK TIPS SECTION ================================================== -->
<center>
<H1><A NAME="tips"><IMG ALIGN=MIDDLE ALT="" SRC="../gx/twocent.jpg">
More 2&cent; Tips!</A></H1> <BR>
Send Linux Tips and Tricks to <A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A></center>
<!-- BEGIN tips -->
<UL>
<!-- index_text begins -->
<li><A HREF="#2c/1"
><strong>Linux Gazette #57 (September) - File with Device info</strong></a>
<li><A HREF="#2c/2"
><strong>samba printing under SuSE Linux 6.4</strong></a>
<li><A HREF="#2c/3"
><strong>CB Radio Connection a bad idea</strong></a>
<li><A HREF="#2c/4"
><strong>Reflection replacement?</strong></a>
<li><A HREF="#2c/6"
><strong>Question from a newbie - Exchange?</strong></a>
<li><A HREF="#2c/7"
><strong>International KB Layouts</strong></a>
<li><A HREF="#2c/9"
><strong>Tape Library</strong></a>
<li><A HREF="#2c/10"
><strong>Modems</strong></a>
<li><A HREF="#2c/11"
><strong>Palm OS Emulator</strong></a>
<li><A HREF="#2c/12"
><strong>telnet server & inetd</strong></a>
<li><A HREF="#2c/13"
><strong>BeOS partition</strong></a>
<li><A HREF="#2c/14"
><strong>Remote process</strong></a>
<!-- index_text ends -->
</UL>
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="2c/1"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Linux Gazette #57 (September) - File with Device info</FONT></H3>
Mon, 04 Sep 2000 13:24:36 +1100
<BR>From: Brendon Oliver
(<a href="brendono@softcentre.com.au">brendono@softcentre.com.au</a>)
<BLOCKQUOTE>
Hi there,
</BLOCKQUOTE>
<BLOCKQUOTE>
Regarding the 'File With Device Information' in the September Issue, you
should also mention that if you have the <tt>pciutils</tt> package installed,
<TT>/sbin/lspci</TT> is much more useful than eyeballing <TT>/proc/pci</TT>.
Just my thoughts....
</BLOCKQUOTE>
<BLOCKQUOTE>
Regards,
<br>- Brendon.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 1 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="2c/2"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">samba printing under SuSE Linux 6.4</FONT></H3>
Sun, 3 Sep 2000 15:06:32 +0200
<BR>From: Matthias Arndt
(<A HREF="mailto:matthiasarndt@gmx.net"
>matthiasarndt@gmx.net</A>)
<BLOCKQUOTE>
Dear Editor,
</BLOCKQUOTE>
<BLOCKQUOTE>
here is another 2cent tip.
</BLOCKQUOTE>
<BLOCKQUOTE>
I'm forced to print to a printer connected to a Windows box. This box is
networked with my Linux box and I wanted to setup a working samba printer-
I had problems setting up the printer under Suse 6.4 The passwords and
resource names were correct, but smbclient couldn't connect to the Windows box.
I simply added the commandline option "<TT>-I 192.168.0.2</TT>" in the file
<TT>/etc/apsfilterrc.stcolor</TT> in the line <tt>REMOTE_PRINTER=</tt>
(I'm using the stcolor driver from GhostScript. Check for the file
corresponding to the printer driver you've selected in Yast.)
</BLOCKQUOTE>
<BLOCKQUOTE>
The option above specifies the IP address of the machine where the printer is
connected to. It now works without any problems.
</BLOCKQUOTE>
<BLOCKQUOTE>
cheers, Matthias
</BLOCKQUOTE>
<!-- sig -->
<!-- end 2 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="2c/3"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">CB Radio Connection a bad idea</FONT></H3>
Mon, 04 Sep 2000 21:57:45 -0700
<BR>From: Steve Wilson
(<A HREF="mailto:stevew@home.com"
>stevew@home.com</A>)
<BLOCKQUOTE>
First off - the guy was right, it IS illegal pretty much anywhere in the
world.
</BLOCKQUOTE>
<BLOCKQUOTE>
Second - it won't work because the modems are engineered for a different
kind of communications channel - RF connections have different
characteristics compared to phone lines.
</BLOCKQUOTE>
<BLOCKQUOTE>
Amateur radio ( which requires a license obtained by taking at test) has
had a low speed connection for around 15 years called packet radio.
There is quite a bit of support for this technology within Linux (including
modems implemented using sound cards...) These will work over an FM radio
channel.
(CB is AM/SSB which has a much lower quality) and usually only work
at 1200 to 9600 baud. Not blazingly fast.
</BLOCKQUOTE>
<BLOCKQUOTE>
Hope this clears up some points.
</BLOCKQUOTE>
<BLOCKQUOTE>
Steve Wilson, KA6S
</BLOCKQUOTE>
<!-- sig -->
<!-- end 3 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="2c/4"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Reflection replacement?</FONT></H3>
Mon, 18 Sep 2000 23:57:34 -0300
<BR>From: "Toshiro Viera Stalker"
(<a href="toshiro@nettaxi.com">toshiro@nettaxi.com</a>)
<P><STRONG>
Hi! I would like to access my graphics Linux desktop from my
Windows box; I was able to do it using a software called Reflection
(I guess you know it), is there any (free) software with the same
capabilities of Reflection?
</STRONG></P>
<P><STRONG>
Regards,
<br>Toshiro.
</STRONG></P>
<BLOCKQUOTE>
There's MI/X, the MicroImages X server. Some people like it.
I can't personally vouch for it. MicroImages provides it as
part of the Windows support of its GIS software.
</BLOCKQUOTE>
<BLOCKQUOTE>
<A HREF="http://www.microimages.com/freestuff/mix"
>http://www.microimages.com/freestuff/mix</A>
</BLOCKQUOTE>
<BLOCKQUOTE>
X-WinPro is shareware. License is a <em>lot</em> less than Reflection/X.
Personally I've found it useful.
</BLOCKQUOTE>
<BLOCKQUOTE>
<A HREF="http://www.lab-pro.com"
>http://www.lab-pro.com</A>
</BLOCKQUOTE>
<BLOCKQUOTE>
--
Dan Wilder
</BLOCKQUOTE>
<!-- sig -->
<!-- end 5 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="2c/6"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Question from a newbie - Exchange?</FONT></H3>
Wed, 30 Aug 2000 14:55:48 -0400
<BR>From: Duane Tackett
(<a href="duanesworld777@yahoo.com">duanesworld777@yahoo.com</a>)
<BLOCKQUOTE>
James,
</BLOCKQUOTE>
<BLOCKQUOTE>
I am a Linux newbie with a significant MS Windows background
(several MS certs, etc) and I am trying to wean myself off of my Windows
partition at work. The only thing holding me back is MS
Exchange/Outlook. Is there an Exchange client for Linux? I have looked
high and low and can't find one. I hae configured the server (I
administer it) to be a pop3 server, so I can get my mail that way, but I
loose a lot of the functionality that way. Any help would be
appreciated.
</BLOCKQUOTE>
<BLOCKQUOTE>
Duane Tackett
</BLOCKQUOTE>
<BLOCKQUOTE>
According to a message on the linux-admin list, TradeSuite
(they have a server, too) can be found at <A HREF="http://www.bynari.com"
>http://www.bynari.com</A>.
Looks like the client is free though the Exchange support might
not be. Oh yeah, and Exchange can be told to serve its mail
up as webmail... maybe that will do until your company can
transition to a more flexible mail system
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle"> -- Heather
</BLOCKQUOTE>
<BLOCKQUOTE><em>Got more than just a tip in the "dealing with MS Exchange"
category? feel free to send us an article ... -- Heather</em>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 6 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="2c/7"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">International KB Layouts</FONT></H3>
Sun, 3 Sep 2000 18:43:08 -0700
<BR>From: "Ross Williams"
(<a href="overhacked@bigfoot.com">overhacked@bigfoot.com</a>)
<P><STRONG>
Is there any easy-to-read FAQ or HOWTO about how to type international characters in XFree86? I am a Spanish student, and I would like to write my essays in LyX. I would just like an easy way to learn about things like `compose keys' and `dead keys.' Can you help me? Thanx.
</STRONG></P>
<BLOCKQUOTE>
The answer to that would be "yes". Quoting from my own "Introduction to
Shell Scripting":
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQuote>
...for a fairly decent and simple explanation, see Hans de Goede's
"fixkeys.tgz", which contains a neat little "HOWTO". For a more in-depth
study, the
"<a href="http://www.linuxdoc.org/HOWTO/Keyboard-and-Console-HOWTO.html"
>Keyboard-and-Console-HOWTO</a>" is an awesome reference on the
subject.
</BLOCKQuote></BLOCKQUOTE>
<BLOCKQUOTE>
Ben Okopnik
</BLOCKQUOTE>
<!-- sig -->
<p><em>Don't be scared off by the fact it hasn't changed since 1998;
the console itself doesn't change much. For even more fun,
the <a href="http://www.linuxdoc.org/HOWTO/Danish-HOWTO.html"
>Danish-HOWTO</a> was just updated in March and covers all sorts
of other aspects about international needs. There are a few
other specific nationalities covered at linuxdocs.org too.
-- Heather </em></p>
<!-- end 8 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="2c/9"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Tape Library</FONT></H3>
Fri, 01 Sep 2000 07:40:46 -0400
<BR>From: Charles Deling
(<a href="charles@a-plus.net">charles@a-plus.net</a>)
<p><strong>
I am looking for some software that will talk to my tape library. I have
looked at several different commercial packages, but none of them really
work the way I need them to. I would like to find an application that
would tell me what tapes are in the library (by reporting back the bar
codes), then load the tapes that I select into the drives I want. Then
I can run taper/tar/cpio/mt to my hearts content. I could write my own
software, but I am lazy.
</strong></p>
<p><strong>
Thank you!
<br>Charles H. Deling
</strong></p>
<BLOCKQUOTE>
Perhaps amanda would do the trick. If not, perhaps its simplistic shell
script mentality will make it easier to adjust to your needs.
Gentle readers: any more suggestions? -- Heather
</BLOCKQUOTE>
<!-- sig -->
<!-- end 9 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="2c/10"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Modems</FONT></H3>
Sat, 9 Sep 2000 01:10:48 -0400
<BR>From: Carl & Tracy KershawSmith
(<a href="tazdevil@caribe.net">tazdevil@caribe.net</a>)
<p><strong>
Just read a reply about a true modem. I've been searching for one ever
since a friend mentioned it to me. He has an ISA True modem. And
wouldn't you know it mine is not. It's a PCI and so far no luck finding
a PCI True modem. Any ideas on where I might score one?
</strong></p>
<p><strong>
Hoping for the right answer,
<br>Kookaberra
</strong></p>
<BLOCKQUOTE>
Yes, at least one of the links from <a href="http://www.linmodems.org"
>linmodems.org</a> is the homepage
of a Wallace and Gromit fan who keeps track of which cheap store
brand modems are complete "hard" or crippled "soft" modems,
including, to my great annoyance, the fact that some pccards
are software controlled. Arrgh
<IMG SRC="../gx/dennis/unsmily.gif" ALT=":("
height="24" width="20" align="middle"> -- Heather
</BLOCKQUOTE>
<!-- sig -->
<!-- end 10 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="2c/11"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Palm OS Emulator</FONT></H3>
Mon, 11 Sep 2000 16:19:11 +0200
<BR>From: Andrew Higgs
(<a href="ahiggs@ps.co.za">ahiggs@ps.co.za</a>)
<p><strong>
Hi all,
</strong></p>
<p><strong>
I was wondering if anyone knew of an Emulator for Palm OS. I would like
to write apps for Palm OS and test them before installing. Is this
possible?
</strong></p>
<p><strong>
Kind regards
<br>Andrew Higgs
</strong></p>
<BLOCKQUOTE>
Look at <a href="http://www.freshmeat.net/">freshmeat.net</a> for the app
<tt>copilot</tt>. It needs a ROM though,
which you can either upload from your real Pilot, or get from
the Palm Computing developers' site (once you agree to their
restrictions for using the debug ROM, of course). -- Heather
</BLOCKQUOTE>
<!-- sig -->
<!-- end 11 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="2c/12"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">telnet server & inetd</FONT></H3>
Fri, 15 Sep 2000 16:13:03 -0700
<BR>From: Andrew Wilkes
(<a href="awilkes@fourthstage.com">awilkes@fourthstage.com</a>)
<p><strong>
Dear James,
</strong></p>
<p><strong>
I used your answer for the 'telnet - connection closed by foreign
host' to get telnet working on a custom red hat install I did.
</strong></p>
<p><strong>
I begin to think that I left off a package that I really needed when
I selected packages in the 'select package' window during the install.
</strong></p>
<p><strong>
I haven't yet found a description of which individual RPM modules
(inetd in.telnetd) are rolled up into what packages that can be selected on
the package selection window in the install screen.
Any help you can give will be much appreciated.
</strong></p>
<p><strong>
Andrew Wilkes
</strong></p>
<BLOCKQUOTE>
If you know which file you want, but not what RPM it's in,
this script will do the trick ($1 = directory full of rpms,
$2 = file you are seeking)
</BLOCKQUOTE>
<blockquote><pre> #!/bin/bash
cd $1
for i in *.rpm ; do rpm -qpl $i | grep -q $2 &amp;&amp; echo $i ; done
</pre></blockquote>
<BLOCKQUOTE>
Hope that helps a few folks out there! -- Heather
</BLOCKQUOTE>
<!-- sig -->
<!-- end 12 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="2c/13"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">BeOS partition</FONT></H3>
Mon, 18 Sep 2000 21:06:35 -0400
<BR>From: gsproc
(<a href="gsproc@core.com">gsproc@core.com</a>)
<p><strong>
I have a BeOS partition on hda3. I also have windows on another
partition. linux "sees" the windows partition and mounting it is no
problem. But how can I make linux "see" the BeOS partition? I've been
in etc/fstab to no avail.
</strong></p>
<BLOCKQUOTE>
Readonly support for the BeOS filesystem is available in the
2.4.0 test kernels. I have no idea how safe it is yet. -- Heather
</BLOCKQUOTE>
<!-- sig -->
<!-- end 13 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="2c/14"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Remote process</FONT></H3>
Wed, 20 Sep 2000 10:07:09 +0100
<BR>From: "Andy Larkum" <A.Larkum@lboro.ac.uk>
<p><strong>
Hello!
</strong></p>
<p><strong>
I have a small query. I want to log into a Linux machine, set a process =
running, and log out again, leaving the process running. It has been =
suggested that I can do this by simply using 'nohup command &amp;' but this =
didn't work, because the process was killed as soon as I logged out =
again.
</strong></p>
<p><strong>
Any help would be greatly appreciated.
</strong></p>
<p><strong>
Andy
</strong></p>
<BLOCKQUOTE>
<tt>screen</tt> with autodetach mode turned on would work nicely. We use
it here all the time. -- Heather
</BLOCKQUOTE>
<!-- sig -->
<!-- end 14 -->
<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="bzzzt.jpg" SRC="misc/collinge/bzzzt.jpg"
WIDTH="750" HEIGHT="303">
<BR CLEAR="all">
<IMG ALT="diary.jpg" SRC="misc/collinge/diary.jpg"
WIDTH="750" HEIGHT="304">
<BR CLEAR="all">
<IMG ALT="halon.jpg" SRC="misc/collinge/halon.jpg"
WIDTH="750" HEIGHT="297">
<BR CLEAR="all">
<IMG ALT="important.jpg" SRC="misc/collinge/important.jpg"
WIDTH="750" HEIGHT="294">
<BR CLEAR="all">
<IMG ALT="powers.jpg" SRC="misc/collinge/powers.jpg"
WIDTH="750" HEIGHT="299">
<BR CLEAR="all">
<IMG ALT="serial.jpg" SRC="misc/collinge/serial.jpg"
WIDTH="750" HEIGHT="307">
<BR CLEAR="all">
<P> Courtesy
<A HREF="http://www.linuxtoday.com/helpdex">
Linux Today</A>, where you can read all the latest <EM>Help Dex</EM> cartoons.
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Shane Collinge<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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 Chris DiBona:<BR>
How does it feel to be a Linux evangelist?</font></H1>
<H4>By <a href="mailto:frc@linux.com.br">Fernando Ribeiro Corr&ecirc;a</a><BR>
Originally published at <A HREF="http://www.olinux.com.br/interviews/">OLinux</A></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<P> <EM>First of all, check his web site <a
href=http://www.dibona.com>DiBona.com</a>. Now delight yourself as Olinux did,
while getting to know the personality of Chris DiBona, the President of
<A HREF="http://www.svlug.org">Silicon Valley Linux Users Group</A>, Chief Linux Evangelist at <A HREF="http://www.valinux.com">VALinux</A> and Grant
Chair at <A HREF="http://www.li.org">Linux International</A>.</EM>
<P> <b>Olinux:</b> Tell about your career: college, jobs, personal life (age, birth place, hobbies)</b>
<P> <b>Olinux:</b>When did you started working with Linux? What was your initial motivation and how do you see it nowadays?</b>
<P> <b>DiBona:</b> I first discovered linux when I was a computer science student at George Mason university. I had to write a client server application under linux
that used IPC. I start development in the schools Sun lab and found that ,
when I could get a station, they were very slow.
<P> I installed linux on my machine at home (a 486-25) and went to town. Linux
was responsive and beautiful and I was able to complete the homework very
quickly and have a good time doing it. I also learned a ton about my
computer by doing this.
<P> This was in late 1994, I think. Nowadays, I use Linux for everything from
email (I get 500+ emails a day), surfing, and to a lessor degree , video
games. I still program under linux for fun, too. I see it as a complete
system, now. I have a machine on the net now that hosts my personal site
(<A HREF="http://www.dibona.com">DiBona.com</A>) and a number of sites for my friends, all running linux of
course.
<P> <b>Olinux:</b> How does it feel to be a Linux Evangelist and live professionally for the cause?</b>
<P> <b>DiBona:</b> It undoubtably the coolest job I've ever had. I also get to work with some of the coolest people in computing, both here at VA and in the Linux world at large. I consider myself very lucky.
<P> <P> <b>Olinux:</b> What are the main personal achievements on your career? cite some
highlights? did you get any awards as an individual or representing a
company?</b>
<P> <b>DiBona:</b> Great career acheivments would include my adminisstration of VA's
community outreach program during our public offering. I felt it went
really well and am proud for my part in it. AT VA I've had the chance to
work with the different departments and help staff them with talented
smart people.
Other than that, I recieved an award from Linux Journal for my role as
co-editor of the book "Open Sources" and I was able to help the EFF with
the CDVD cases in California and New York.
Also, I've really enjoyed my work with Linux International.
<P> <b>Olinux:</b> How was <A HREF="http://www.svlug.org">SVLUG.org</A> created? Who was the group and what were the
ideas that guided SVLUG.org start? How do you explain the fast growth of
SVLUG.org? Show us some brief facts/work/people that contributed to this
extreme progress?</b>
<P> <b>DiBona:</b> SVLUG started 12 years agao as a unix on pc group, concentrating on SCO and XENIX and the rest. It was started by a fellow named Dan Kioka, who was the president of the group. Dan ran the group for 10 years when Ben Spade took over as the president and I as the Vice President about three years agao.
When Ben took over, Ian Kluft found us space at Cisco to meet and the
larger venue, combined with teh growth of linux and the speakers we had
access to in the valley all contributed to the growth of the group. About
1 year ago I took over the presidency from Ben and it's been pretty easy
going ever since.
The biggest challenge on rnning such a large group is mostly the venue,
Cisco has been very good about this though.
<P> <b>Olinux:</b> What are your responsibilities at VALinux and SVLUG.org? How did you become <A HREF="http://www.li.org">Linux International</A> webmaster and what were you main accomplishments as webmasters?</b>
<P> <b>DiBona:</b> I bacame the LI webmaster and then the grant chair mostly because I was willing to do the work. There are a lot of jobs in the linux community that can be done by anyone provided they are willing to put the time in. John Mark Walker is now the webmaster for LI and I get to concentrate on making the grant system at LI work better now that LI is incorporating and such.
<P> <b>Olinux:</b> How is SVLUG.org organized? Try to give us an idea of how SVLUG.org. works? How is the coordinated and managed (servers, directories, contribution, staff payment)? How many people are involved? What are the main problems? Does SVSLUG.org has a central office somewhere or a HQ?</b>
<P> <b>DiBona:</b> SVLUG is all volunteer, the servers were donted by VA back before I even worked for them. There is no treasury, and no membership fees. Our group's insurance comes from our parent group the Silicon Valley Computer Society.
As far as coordination goes, it's jsut a mailing list that we all
subscribe to and we all basically work together to get teh meeting
happeneing. The installfests are run by Brian , I'm responsible for
facilities, Sam handles speakers, Michael and Marc handle the machine and
mailing lists and we have a team of web people (Amy, Lisa and Heather)
who handle site updates.
Main problems is that everyone is very busy with our day jobs, which can
lead to some frustrating times, but the meetings still come off, so I'm
happy.
<P> <b>Olinux:</b> How many people have subscribed its mail discussion list? how
does users help SVSLUG? And how user are motivate to help? all the staff is
compounded by volunteers?</b>
<P> <b>DiBona:</b> There are about a thousand on the announce list and 200+ on the discussion list. About 250 people come to each meeting.
<P> <b>Olinux:</b> In your opinion, what ae the most notable results either of
SVLUG or Li.org work promoting Linux platform?</b>
<P> <b>DiBona:</b> Putting a friendly face on linux is the important job of LUGs and LI in genereal. It a great thing to be able to tell anyone who emails me or calls me regarding Linux to refer them to a local person who just wants to help out.
That's one of the things that really elevates Linux.
<P> <b>Olinux:</b> What are the companies that sponsor or maintain SVLUG.org? What is VALinux's role on the site?</b>
<P> <b>DiBona:</b> The full list of sponsors and their roles can be found here: <a href=http://www.svlug.org/sponsors.shtml#netscape>sponsors</a>.
Quite a who's who! Anyhow, VA's role is donating my time, bandwidth and a
machine and a ton of t-shirts now and then. Any usergroup on the planet
should contact me and we'll get boxes of stuff for you to give away at
your meetings.
<P> <b>Olinux:</b> What are the programs (database & scripts languages) use for
SVLUG.org development? How difficult is to manage this database?</b>
<P> <b>DiBona:</b> Mailman for the mailing list, apache and perl for the web site. It's pretty easy to handle.
<P> <b>Olinux:</b> How many daily page views and what is the number and type of servers used to keep SVLUG.org online?</b>
<P> <b>DiBona:</b> Gosh, I'm not sure really about the page views, SVLUG.org runs on one pIII 500mhz system with 128mb of ram. The old machine, a 486 was slashdotted three times with no problems. The current machine has an uptime of 210 days!
<P> <b>Olinux:</b> In your opinion, what improvements and support are needed to make Linux a wide world platform for end users?</b>
<P> <b>DiBona:</b> More video-games :-) Well, I'd say further development of the desktop metaphors like gnome and KDE and then we'll get the desktop the way we own the internet server market.
<P> <b>Olinux:</b> IDC has showed that despite the tendency of Linux to become the next dominant OS by 2004, still the expected revenues generated are regarded extremely low. does it means that Linux won't ever play a major whole as a commercial and profitable option for companies?</b>
<P> <b>DiBona:</b> Well, VA just completed a 50.7 million dollar quarter and we're not going to stop. I can't comments for the red hats and such of the world, but we intend to do very well. Linux will continue to grow, and the linux industry will contine to grow with it.
<P> <b>Olinux:</b> What are your forecasts about Linux growth? Do you have any breaking news about linux mass deployment in china or any other country?</b>
<P> <b>DiBona:</b> Nope, Linux is and will continue to be everywhere. More so with everyday. Like John "maddog" Hall says: "Linux is inevitable".
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Fernando Ribeiro Corr&ecirc;a<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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 SourceForge's Quentin Cregan:<BR>
Wait a minute, Sir! What about that forgotten Open Source project on your hard disk?</font></H1>
<H4>By <a href="mailto:frc@linux.com.br">Fernando Ribeiro Corr&ecirc;a</a><BR>
Originally published at <A HREF="http://www.olinux.com.br/interviews/">OLinux</A></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<P> <EM>Quentin Cregan is one of the key developers of VALinux'
<A HREF="http://sourceforge.net">SourceForge</A> Project. Currently, there are 7559 ongoing projects and more than 50000 registered users, building a powerful programmer's network community. SourceForge hosts Open Source Projects and supports thousand of users by providing many tools to allow collaborative work.</EM>
<P> <b>Olinux: Tell us about your career: college, jobs, personal life (age, birth place)</b>
<P> <b>Quentin:</b> I currently live in Brisbane, Australia - and work via the
'net.
<P> <b>Olinux: What are your responsibilities at Source Forge? Are there any full
times workers?</b>
<P> <b>Quentin:</b> Currently I'm a cross between Support Monkey, FTP Admin and Developer. The staff are all reasonably multitalented =) Fairly able to turn
their hands they doing whatever is necessary. There are currently six
core staff members that are paid full time.
<P> <b>Olinux: How was SourceForge created? What was the main ideas in the begining? Who the initial group got together? Are any physical HeadQuarters?</b>
<P> <b>Quentin:</b> SourceForge was initially conceived as a project called "ColdStorage". CS was targeted at making permanent archive of every CVS tree for every
Open Source project on the planet. That idea got slightly modified by
the original founding members of the SourceForge project, along with
input from VA Linux Systems' staff. The result is what you have today.
The initial group was Tony Guntharp, Drew Streib, Tim Perdue and Uriah
Welcome - who are all based out of SourceForge's official HQ - VA Linux
Systems in Sunnyvale, California.
<P> <b>Olinux: How is Source Forge organized? Give us an idea of how it works.
In terms of the division of responsalities, what are the main groups involved?</b>
<P> <b>Quentin:</b> SourceForge is made up of developers, sysadmins and community contacts.
<P> Dan Bressler and Jim Kingdon try to make sure that we don't stray too
far from the needs and wishes of the Open Source community. Uriah Welcome
and Chris Endsley take care of the Systems Administration, and make sure
that everything is working up to scratch. If not, their pagers wake them up
at disgusting hours of the morning. Tim Perdue is the main PHP developer, along with some contributions from me. I handle mostly of the support reqs, and any other odd job that seems to crop up.
<P> <b>Olinux: How often and where the group responsible for key decision meet? those meets take place on any specific place or over the internet?</b>
<P> <b>Quentin:</b> While we're in constant dialogue via both IRC and email, we also have weekly telephone conferences. Although, these days, most people are physically in California, these meetings seem to be more face to face pizza eating events with one poor Australian on the phone, than a "teleconference".
<P> <b>Olinux: How the work is coordinated and managed (servers, directories, funding, staff payment)? How many people are involved? What are the main operating problems?</b>
<P> <b>Quentin:</b> The work, machines and bandwidth is sponsored by VA Linux Systems. The main problems we're facing are growth and ensuring total redundancy. We're currently undergoing a process of making sure that even if we lose our main fileserver (1tb, yes, 1tb), we can keep going with only a momentary loss of service.
<P> <b>Olinux: How many projects are currently open? How are projects development evaluated? Are any special policy to shut down and clear old projects?</b>
<P> <b>Quentin:</b> There are currently 7,450 or so hosted projects, shared between 50,442 registered developers. Old projects are deleted on request. However, our deletion process is more "archival" - keeping with the original ideas of Cold Storage. While development may freeze, the project itself is not actually physically deleted, merely shelved.
<P> <b>Olinux: What facilities are offered for the developers (acounts, machines, lists, email, links)?</b>
<P> <b>Quentin:</b> All developers on projects are offered: access to our compile farm (server cluster) - for compiling and testing across clusters. A shell account on our main development server, an @users.sourceforge.net email alias, as well as access to some great project management tools. We're trying to make everything that a developer could possibly need available to remove any and all overheads from software development.
<P> <b>Olinux: What are the steps for a certain project to be accepted as part of Sourceforge? are there any special criteria as being an open source software, non commercial? all of them are accepted?</b>
<P> <b>Quentin:</b> A project and an Open Source license. For a list of accepted Open Source licenses, please check out <A HREF="http://www.opensource.org">http://www.opensource.org</A>. We're aiming to
be a development host for as much of the Open Source community as possible.
<P> <b>Olinux: Why should a developer put his project on SorceForge instead of put it into another place?</b>
<P> <b>Quentin:</b> Apart from the developer services listed above, SourceForge has some fantastic web based tools. With SourceForge, you don't have to worry about finding webspace, or if your FTP server will be flooded with downloads. We provide the projects with a high capacity download server, which we're yet to see flooded. We also provide CVS trees to every project so that they can have their own revision control in their code. On top of all this - there are the web based and collaborative tools. The site itself allows you to manage news releases about your project, task management, document management, bug tracking, support management and much more. You can also receive code patches through the site, and set up mailing lists and news forums for discussion about your project.
<P> <b>Olinux: Does Sourceforge has any key strategic alliances with companies? Does any private company other company besides VALinux support Source Forge? Are the any profitable activities?</b>
<P> <b>Quentin:</b> SourceForge has helped numerous groups and companies with both Open Sourcing their code, and helping out with hosting bigger projects that have outgrown their main developer's DSL connection. For example, we're helping out Hewlett Packard with their moves toward Open Sourcing their printer drivers. We've also helped out projects like Mozilla, KDE, XFree86, and MySQL by supplying some extra hardware and support to help get their code out to everyone.
<P> VA Linux is our primary supporter, and I believe they offer some value
added services to private companies that wish to implement SourceForge
locally. You'd really need to speak to one of the cool guys in VA
corporate to ask about that.
<P> <b>Olinux: what are the main projects are under way? are there any commercial projects payed by companies? What role does sorceforge play in the Open Source world these days?</b>
<P> <b>Quentin:</b> Some of the most active projects on SourceForge include Crystal Space - a 3D engine, Mesa3D, FreeCraft, Python, FreeNet and more. This are listed on the front page of the site. SourceForge's role in Open Source appears to be becoming (hopefully) the base carrier of content. Geocities for Open Source, if you like =) We think it's great that so many developers can come to one place, and find so much freely downloadable and modifiable software.
<P> <b>Olinux: how the development is coordinated? deadlines & guidelines established? is there a special testing procedures before the changes are added to the core code? are there any special quality control, auditing on code produced? what are the analysis and programming tools used?</b>
<P> <b>Quentin:</b> Development of the SourceForge codebase is coordinated through a central CVS tree. All the code is fairly thoroughly checked by the developers, and through a testing process on our staging server before it is pushed live. Of course, there is sometimes the odd bug that has been left that gets found by one of site's users.
<P> <b>Olinux: What is the operating system used to run the project? Just Red hat? Why did SourceForge pick the software tools, PHP and MySQL, instead of others like Perl and Postgres? What kind of factors did most influence this decision?</b>
<P> <b>Quentin:</b> With the exception of the BSD machines in the compile farm, the servers all run VA Linux Systems' customised version of RedHat. It has a few slightly modified versions of software to work better on VA's servers.
<P> PHP and MySQL were picked for different reasons. PHP was chosen because it was the right tool for the job, and requires little machine overhead. If we'd run the site as a Perl CGI, the footprint of loading a perl parser for every hit would be a tad, large, to say the least.
<P> MySQL was chosen mainly because of its speed. Although this required the sacrifice of subselects and transactions - we've managed to work around this. There is a good article by Tim Perdue at <A HREF="http://www.phpbuilder.com/columns/tim20000705.php3">http://www.phpbuilder.com/columns/tim20000705.php3</A> that outlines the benefits and detriments of using PostgreSQL and MySQL. This article also covers some of the reasons why MySQL was chosen for SourceForge.
<P> <b>Olinux: what are the main steps toward a better software concerning the project development are still under way? are there any expected turn point in terms of future technology, better output or procedures used?</b>
<P> <b>Quentin:</b> We're always listening to user feedback and wishes through our feature request forum. From here, we get a lot of ideas as to what users really wish to see in the site, and we try our best to make as much of that happen within our schedule.
<P> <b>Olinux: has the project received any special awards? What it represented?</b>
<P> <b>Quentin:</b> I believe we've won a few awards for being a cool site. The list needs to be updated, there's currently a link on <A HREF="http://sourceforge.net/docs/site/awards.php">http://sourceforge.net/docs/site/awards.php</A>
<P> <b>Olinux: What is the project security policy for servers protecion? Tell us about major problems in keeping your servers secure? Is the project always exposed to hacker attacks or most of them already belong to the project?</b>
<P> <b>Quentin:</b> We're always working on improving monitoring and security tools. We've been the recipients of numerous attacks (DoS, hack attempts, etc.i) This is where we really rely on our SysAdmins, as well as some of the great security tools that are available for Linux.
<P> <b>Olinux: In you opinion, how much Linux/Os community has grown and how do you oversee its future?</b>
<P> I started using Linux back around kernel 1.0.something and haven't been back. Since then, the community has exploded around the project, which has been great to see. We've now got decent looking Window Managers, more features and greater acceptance, which has been great to see.
<P> <b>Olinux: What are the main internet technologies that you consider extremely interesting or relevant advance for technology information?</b>
<P> <b>Quentin:</b> I think the advent of the Internet as a collaborative community has been fantastic, and unprecedented. I personally can't wait for further advances in voice recognition.
<P> <b>Olinux: Send a short message to programers in Brazil that work in Free Software/Opensource projects and to OLinux user's?</b>
<P> <b>Quentin:</b> Thanks. To all developers in all countries - they've helped to make SourceForge what it is. Not only that, they've no doubt helped to bring inspiration to people learning how to code around the planet. As to people working on those projects, if they aren't already hosted on SourceForge, why not?! Let us know what we can do to make SourceForge better for the community as a whole and we'll do it!
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Fernando Ribeiro Corr&ecirc;a<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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">Cryptography, PGP and Pine</font></H1>
<H4>By <a href="mailto:dellomodarme">Matteo Dell'Omodarme</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<h1 align=center> What is cryptography?</h1>
<p align=justify>Encryption is the transformation of data into a form
that is (hopefully)
impossible to read without the knowledge of a <em>key</em>. Its
purpose is to ensure privacy by keeping information hidden from anyone
for whom it is not intended. <br>
Decryption is the reverse of encryption; it is the transformation of
encrypted data back into an intelligible form.
<p align=justify>Encryption and decryption generally require the use
of some secret information, referred as key. Some encryption
mechanisms use the same key for both encryption and decryption; others
use different keys for the two processes.
<p align=justify>Cryptography is fundamentally based on so called
<em>hard problems</em>; i.e. problems that can be solved only with a
large computation waste. Some examples are factoring, theorem-proving,
and the "travelling salesman problem" (finding the route through a
given collection of cities which minimizes the total length of the
path).
<p align=justify>There are two types of cryptosystems: <em>secret
key</em> and
<em>public key</em>. <br>
In <em>secret key</em>
cryptography (or symmetric cryptography) the same key is used for both
encryption and decryption. The most popular secret-key cryptosystem in
use today is known as DES (Data Encryption Standard), developed by
IBM in the middle 1970's. <br>
In <em>public key</em> cryptography, each user has a public key and a
private key. The first one is made public and the second one remains
secret. The public key is used during encryption, while decryption is
done with the private key. Today the RSA public key cryptosystem is
the most popular form of public key cryptography. RSA stands for
Rivest, Shamir, and Adleman, the inventors of the RSA
cryptosystem.<br>
Another popular public key technique is the Digital Signature
Algorithm (DSA), though it can only be used for signatures.
<h1 align=center>Public key cryptography</h1>
<p align=justify>In secret key (or symmetric) cryptography the sender and receiver
of a message know and use the same secret key: the sender uses the
secret key to encrypt the message, and the receiver uses the same
secret key to decrypt the message. <br>
Using a similar system the main problem to solve is the key management
problem, or getting the sender and receiver to agree on the secret
key without anyone else finding out. Anyone who
intercepts the key in transit can later read, modify, and forge all
messages encrypted or authenticated using that key.
<p align=justify>In order to solve this problem,
Whitfield Diffie and Martin Hellman introduced the concept of public
key cryptography in 1976.
In their system, each person gets a pair of keys, one called the
public key and the other called
the private key. The public key is published, while the private key is
kept secret.
The sender and the receiver don't need to share any secret
information because all communications involve only public
keys: no private key is ever transmitted or shared.<br>
Anyone can send a confidential message by just using public
information, but the message can only be decrypted with a private key,
which is in the sole possession of the intended recipient.
<p align=justify>The communication scheme is the following: when
A wishes to send a secret message to B he uses B's public key to
encrypt the message and sends it. B then uses his private key to
decrypt the message and read it.
Anyone can send an encrypted message to B, but only B can read it (because only
B knows B's private key).
<p align=justify>In a public key cryptosystem the private key is
always linked mathematically to the public key. Therefore, it is
always possible to attack a public key system by deriving the private
key from the public key. Typically, the defense against this is to
make the problem of deriving the private key from the public key as
difficult as possible.
Some public key cryptosystems are designed such that
deriving the private key from the public key requires the attacker to
factor a large number; in this case to perform the derivation is
computationally infeasible
because multiplying two prime integers
together is easy, but as far as we know, factoring the product of two
prime numbers is much more difficult. <br>
That is the reason because factoring is the underlying, presumably
hard problem upon which several public key cryptosystems are based,
including the RSA algorithm.<br>
It has not been proven that
factoring must be difficult, and remains a possibility that a
quick factoring method might be discovered, though this possibility
is today considered remote.<br>
In general, the larger the number the more time it takes to factor
it. This is why the size of the modulus in RSA
determines how secure an actual use of RSA is; the larger the
modulus, the longer it would take an attacker to factor, and thus the
more resistant the RSA modulus is to an attack.
<h1 align=center>PGP (Pretty Good Privacy)</h1>
<p align=justify>PGP is a program developped by Phil R. Zimmermann
that allows you to communicate in a
secure way over an insecure channel. Using PGP you can easily and
securely protect the privacy of your data by encrypting them so that
only intended individuals can read it. <br>
PGP is based on public key cryptography: two complementary keys,
called a <em>key pair</em>, are used to maintain secure
communications. One of the keys is designated as a <em>private
key</em> to which only you have access and the other is a <em>public
key</em> which you freely exchange with other PGP users. Both your
private and your public keys are stored in keyring files.
<p align=justify>Before you begin using PGP, you need to generate
this key pair.<br>
After you created a key pair, you can begin corresponding with
other PGP users. You will need a copy of their public key and they
will need yours. The public key is just a block of text, so it's quite
easy to trade keys with someone. Some standard techniques are
including your public key in an email message, copying it to a file,
or posting it on a public or corporate key server where anyone can get
a copy when he need it.
After you generated your key pair and exchanged public keys,
you can begin encrypting and signing email messages and files.
<h3 align=center>Making a key pair</h3>
<p align=justify>The following informations and commands refer to PGP
5.0i. Some changes may occur using a different PGP
release. Informations about getting and installing the program are not
covered in this article.<br>
<p align=justify>In order to
use PGP features, the first operation you must accomplish is
generating a key pair. From the command line
enter:
<pre>
pgpk -g
</pre>
<p align=justify>You must reply to some question in order to generate your keys:
<ul>
<li><p align=justify>The algorithm to use in the encrypting messages
(DSS/DH or RSA).
<li><p align=justify>The key size, or the number of bits used to
construct your digital key. A larger key is stronger but it takes more
time to encrypt and decrypt. Unless you are exchanging extremely
sensitive information you are safe using a key composed of 1024 bits.
<li><p align=justify>Enter your user ID. It's not absolutely necessary
to enter your real name or even your email address. However, using
your real name makes it easier for others to identify you as the owner
of your public key. For example:
<pre>
Matteo Dell'Omodarme &lt;matt@martine2.difi.unipi.it&gt;
</pre>
<p align=justify>If you do not have an email address, use your phone
number or some other unique information that would help ensure that
your user ID is unique.
<li><p align=justify>Enter a passphrase, a string of characters or
words you want to use to maintain exclusive access to your private
key.
</ul>
<p align=justify>The generated key pair is placed on your public and secret keyrings
in your $HOME/.pgp directory. Here you can find the file
<em>pubring.skr</em>, containing the public keys and the file
<em>secring.skr</em>, the file of your secret key.
<p align=justify>pgpk is the command to use in order to manage public
and private keys for PGP. So you can extract your public key from
your keyring in such a way:
<pre>
pgpk -x my_username@my_hostname > my_key
</pre>
To add a new public key, stored in keyfile, into your database:
<pre>
pgpk -a keyfile
</pre>
and, to remove a key:
<pre>
pgpk -r newuser@new_hostname
</pre>
<h3 align=center>Encrypting and decrypting with PGP</h3>
<p align=justify>
<em>pgpe</em> encrypts and signs files using public key cryptography,
or encrypts files using conventional cryptography.<br>
The simplest use of the command is the following:
<pre>
pgpe text_file newuser@new_hostname
</pre>
which encrypts the plaintext file text_file using the public key of the
intended receiver.
Many options are available (see the pgpe manual page), some of them
are reported here:
<ul>
<li><p align=justify>-a, --armor:<br>
Turn on "ASCII Armoring". This outputs a text-only
version of your encrypted text. This makes the
result safe for mailing, but about 30% larger.
<li><p align=justify>-f:<br>
Stream mode. Accepts input on stdin and places
output on stdout. If no files are specified as
arguments, PGP executes in this mode by default.
<li><p align=justify>-o outfile:<br>
Specifies that output should go to outfile. If not
specified, output goes to the default filename.
The default filename for each input file is the
input filename with ".pgp" appended, unless ASCII
Armoring is turned on, in which case it is ".asc".
It is an error to specify multiple input files with
this option.
<li><p align=justify>-t:<br>
Turns on text mode. This causes PGP to convert
your input message to a platform-independent form.
It is primarily for use when moving files from one
operating system to another.
</ul>
<p align=justify><em>pgpv</em> decrypts and verifies files encrypted
and/or signed by PGP.<br>
In order to decrypt a message encrypted using your public key enter the command:
<pre>
pgpv text_file.pgp
</pre>
Some options are available; among them there are:
<ul>
<li><p align=justify>-f:<br>
Stream mode. Accepts input on stdin and places
output on stdout. If no files are specified as
arguments, PGP executes in this mode by default.
<li><p align=justify>-o outfile:<br>
Specifies that output should go to outfile. If not
specified, output goes to the default filename.
The default filename for each input file is the
input filename with the ".pgp" ".asc" or ".sig"
removed. It is an error to specify multiple input
files with this option.
</ul>
<h1 align=center>Configuring Pine to handle PGP messages automatically</h1>
<p align=justify>An useful option of the the mailer Pine makes possible
to handle automatically the encryption of outgoing messages and the
decryption of the received ones. In the file $HOME/.pinerc search for
the lines starting with <em>display-filters</em> and
<em>sending-filters</em> and do the following insertions:
<pre>
# This variable takes a list of programs that message text is piped into
# after MIME decoding, prior to display.
display-filters=_BEGINNING("-----BEGIN PGP MESSAGE-----")_ /usr/bin/pgpv
# This defines a program that message text is piped into before MIME
# encoding, prior to sending
sending-filters=/usr/bin/pgpe -taf _RECIPIENTS_
</pre>
<p align=justify>The display-filters line says that: "when a received
mail starts with the given string (i.e. -----BEGIN PGP MESSAGE-----)
process its contents using the program /usr/bin/pgpv". Since all PGP
messages start in such a way all PGP encrypted messages are
automatically trapped by pgpv and decrypted (obviously only if they
are encrypted with your public key).
<p align=justify>The sending-filters line sets /usr/bin/pgpe as the
program processing outgoing messages, using the email address
(i.e. _RECIPIENTS_) of the intended receiver to select which public key
must be used by PGP encryption mechanism.
<p align=justify>Occurred the previous modifications, you are able to
send encrypted messages or plaintext messages, choosing among them at
sending time. A question is asked before your mail is sent out:
<pre>
Send message (unfiltered)?
</pre>
<p align=justify>Replying <em>Y</em> to the question forces Pine to
send the mail in a
plaintext form, while hitting <em>Ctrl-N</em> sequence (i.e. <em>Next
Filter</em> option) make you able to choose among different filters.<br>
If pgpe is the sole filter defined, the following message is displayed:
<pre>
Send message (filtered thru "pgpe")?
</pre>
<p align=justify>Replying <em>Y</em> to that question makes Pine
encrypt the message with the appropriate public key and send it.
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Matteo Dell'Omodarme<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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">Tuxedo Tails</font></H1>
<H4>By <a href="mailto:kasten@sunpuppy.com">Eric Kasten</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<IMG ALT="impressive.png" SRC="misc/kasten/impressive.png"
WIDTH="312" HEIGHT="330">
<IMG ALT="frozenpc.png" SRC="misc/kasten/frozenpc.png"
WIDTH="312" HEIGHT="330">
<BR CLEAR="all">
<BLOCKQUOTE><EM>
[Eric also draws the <I>Sun Puppy</I> comic strip at
<A HREF="http://www.sunpuppy.com">http://www.sunpuppy.com</A>.
It's about, um, puppies. -Ed.]
</EM></BLOCKQUOTE>
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Eric Kasten<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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">Micro Publishing: Part 3<BR>(Mark's 2nd Update)</font></H1>
<H4>By <a href="mailto:python@kepnet.com">Mark Nielsen</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<ol>
<li>
<a href="#REF">References</a></li>
<li>
<a href="#Introduction">Introduction</a></li>
<li> <a href="#General">Using a stapler, different glue, etc</a></li>
<li> <a href="#Important">Why is this setup important?</a></li>
<li> <a href="#Problems">Problems, etc</a></li>
<li>
<a href="#Conclusion">Conclusion</a></li>
</ol>
<hr WIDTH="100%">
<h3>
<a NAME="REF"></a>References</h3>
<UL>
<li> <A HREF="../issue56/nielsen.html"> Micro Publishing: Part 2 (Mark's Update)</A> (<a href="http://genericbooks.com/Literature/Articles/5/Book_Binding-2.html">ZING copy)</a>
<li>
<a href="../issue47/nielsen.html">Micro Publishing</a>
(<a href="http://www.genericbooks.com">ZING copy</a>)</li>
</ol>
<h3>
<a NAME="Introduction"></a>Introduction</h3>
The first document by Rick Holbert is Micro Publishing.
I wrote an update to that article. This article is another update.
This article is going to be short, but it is significant since
Mark has found a way he likes to make the books, finally.
<p>
The process of making the books inexpensively is the fact that is gets
cumbersome. It can be a real pain in the butt. My whole goal is to make it
very simple and very fast. There is no point making books if it becomes
an unpleasant event. This document will address several problems Mark and
Rick has had in the past and present one solution. This article will
also list ongoing problems.
<p>
Rick and I are in the process of making a HOWTO for book binding, and
if anyone wishes to add to the HOWTO or wishes to contribute thoughts,
please send email to <a href="zing@gnujobs.com">zing@gnujobs.com</a>.
<h3>
<a NAME="General"></a>Using a stapler, different glue, etc</h3>
In the past, our tools were,
<ol>
<li> Book formatted pdf, postscript, or other document. </li>
<li> Duplex laser printer.</li>
<li> Paper folder.</li>
<li> Manual heavy-duty stapler that can do at least 1/2 inch staples.</li>
<li> Ruler</li>
<li> Paper for the cover.</li>
<li> Contact cement.</li>
<li> Book binding press</li>
</ol>
<p>
The problem with this setup was that you have to keep your book in the
book press for 30 minutes before letting it go. Also, I wasn't using a ruler
when Rick said I should.
<p>
With my current setup, we can eliminate the book-binding press with just
a straight-edge. Here are the tools,
<ol>
<li> Book formatted pdf, postscript, or other document. </li>
<li> Duplex laser printer.</li>
<li> Paper folder.</li>
<li> Manual heavy-duty stapler that can do at least 1/2 inch staples.</li>
<li> Ruler</li>
<li> Paper for the cover.</li>
<li> Contact cement.</li>
<li> Straight edge</li>
<li> Very large binder clips.</li>
</ol>
<p>
Here are the steps,
<ol>
<li> Print the document on a duplex printer and make sure the printer
is set to flip in the long edge. If you don't use a duplex printer,
it is a pain in the butt. Please use a duplex printer. Please refer
to our other articles for steps on how to use a non-duplex printer.</li>
<li> Use a paper folder or fold them by hand. Please buy a paper folder
and use it to fold the paper. Refer to our other documents.</li>
<li> Straighten up the folded paper on the edges and use two large
binding clips to kept the paper from shifting. </li>
<li> Place the paper in a heavy-duty manual stapler that can use at least
1/2 inch staples. Staple the paper at least twice. </li>
<li> Measure the width of the paper on the folded side of the paper
where the staples are at. Squeeze it down when you measure it.
Measure 5.5 inches plus 1/16 inch from the edge of the cardboard
stock paper that you are going to use as your cover. Use a ruler
to create a line from top to bottom. Measure out the width
of the edge onto the cover and add 1/16th inch. Draw a line across
from top to bottom here. Now, fold the cover at the two lines
with a nice and crisp edge. </li>
<li> Take the cover and place it up against anything that is straight
and has a little height, like a block of wood, or something.
Place the paper on the cover and fold the cover over the paper. </li>
<li> After you have verified the cover fits over the paper nice and smooth,
place contact cement on the inside binding edge of the cover. You don't
need a lot of glue. </li>
<li> Fold the cover over again, and smoothen out the edge of the binding
edge with your finger. Use two large binding clips to keep the
cover on the paper. </li>
<li> Done!</li>
</ol>
<h3><a NAME="Important"></a>Why is this setup important?</h3>
This setup is important for the following reasons:
<ol>
<li>Since you are using staples, you don't have to worry about individual
pages from ever falling out. </li>
<li>Since you don't have to use much glue, you don't accidentally
get glue all over the place.</li>
<li>Not having to use a book binding press means you don't have to go
make one. </li>
<li>Using paper clips to keep the cover on means you can just stack
the books and mass produce them. Once you put the paper clips are on,
you are effectively done.</li>
<li> If you use a ruler to make the edges nice and straight, it makes the
book look better and it also makes it so there isn't much gap between the
paper and the cover, which means the glue is able to connect the paper
to the cover better.
</ol>
<h3><a NAME="Problems"></a>Problems</h3>
Here are some problems:
<ol>
<li>Don't staple the staples too far away from the edge since the book won't
be able to flatten if someone opens it up. </li>
<li>I don't like using contact cement. Given this stapler solution, it should
just be possible to apply different glue or some way of applying
some else besides glue to just keep the cover attached to the paper.</li>
<li> If you can visually see the staples when you open the book on the
first page and the last page, it looks dumb. We need to find
a way to cover up the staples easily. There is no reason for people to
know that we took the cheap way out and used staples. </li>
<li> We need cheap free way of filtering out fonts from pdf documents
so that they aren't so huge and can print faster. Right now, we can cheat
and use a commercial product to filter out the fonts that are annoying,
but it would be nice if we could do it in a free way.
</ol>
<h3><a NAME="Conclusion"></a>Conclusion</h3>
There really is no conclusion, except now Mark can make books fast for the
<a href="http://www.colug.net">COLUG</a>
and <a href="http://www.svlug.org">SVLUG</a> groups he participates in.
Before it was always a pain and time consuming to make books and it was
cumbersome. Now, after the paper has been printed, he can make a book
every 10 minutes, or faster.
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Mark Nielsen<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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">Virtual fax to pdf files with EFax.com</font></H1>
<H4>By <a href="mailto:python@kepnet.com">Mark Nielsen</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<ol>
<li>
<a href="#REF">References</a></li>
<li><a href="#Introduction">Introduction</a></li>
<li><a href="#Service">Getting the fax number</a></li>
<li><a href="#Email">What is in the email?</a></li>
<li><a href="#Tiff">What do we do with the tiff files?</a></li>
<li><a href="#Scripts">Scripts.</a></li>
<li>
<a href="#Conclusion">Conclusion</a></li>
</ol>
<hr WIDTH="100%">
<h3>
<a NAME="REF"></a>References</h3>
<ol>
<li> <a href="http://www.informatik.uni-frankfurt.de/~fp/uudeview/Apps/">
http://www.informatik.uni-frankfurt.de/~fp/uudeview/Apps/</a></li>
</ol>
<h3>
<a NAME="Introduction"></a>Introduction</h3>
The idea is very simple. Sign up with a fax service which provides
you a phone number and they will forward all faxes to that number to
you in the form of email. Take the fax in the email and convert it into
a pdf file on your webserver so that you can download, or perhaps have it
automatically dump the fax to a printer. <p>
This is very nice if you want to create a virtual office. Many a independent
consultant might be interested in this.
<h3>
<a NAME="Service"></a>Getting the fax number</h3>
Go to <a href="http://www.efax.com/signup/free_signup.html">efax.com</a>.
You can figure it out. Just get their free basic account. I believe there
are other free fax services out there, but I have looked around a lot.
<h3><a NAME="Email"></a>What is in the email?</h3>
The email you receive will contain tiff formatted graphic files. They
are converted to text in the email. You will need a program to extract the
tiff files out of the email and convert the tiff files from text back to
binary.
<p>
Once you have extracted the tiff files out of the email messages, you can
do with them whatever you want. For this article, we will convert them
to pdf files and put them in a web directory for easy download.
<h3><a NAME="Tiff"></a>What do we do with the tiff files?</h3>
Okay, you need a program called uudeview, or some other program, which
will easily extract the tiff files out of the email messages. Then, you
will need to convert the tiff files to postscript. Then you will need
to convert the postscript files to pdf. Then you will need to put the
pdf files in a web directory. Here is an example of how to do this,
<pre>
### Copy the mail over to a temporary file.
cp /var/spool/mail/Username File.mail
### Extract the tiff files.
uudeview File.mail
### Let us assume the tiff file is extracted as the name MyFile.tiff
### Convert it to postscript
tiff2ps MyFile.tiff &gt; TempFile.ps
### Convert it to pdf
ps2pdf TempFile.ps TempFile.pdf
### move it
mv TempFile.pdf /www/docs/pdf/TempFile.pdf
</pre>
That is how you can do it manually. However, we want to automate the process.
Two scripts in the next section will do that.
<h3><a NAME="Scripts"></a>Scripts</h3>
These scripts clean up temporary files. You may not want to delete
the email messages, in which case, someone will have to modify this perl
script.
(<A HREF="misc/nielsen/faxscript.pl.txt">text version</A>)
<pre>
#!/usr/bin/perl
## We assume you have uudeview installed.
## We assume you have a public_html directory which your webserver has been
## properly configured to see.
### This perl script is not properly secured since it is possible to make
### a weird configuration for the name of the fax file, which in theory
### could mess up the command line statements. Use at your own risk.
my $User = "Mu_Username";
my $Temp = "/home/$User/Temp/fax";
system "cp /var/spool/mail/$User /home/$User/Temp/";
system "cp /dev/null /var/spool/mail/$User";
system "/usr/bin/uudeview -o -i -d -p /home/$User/tiff/ /home/$User/Temp/fax";
system "cp /dev/null /home/$User/Temp/fax";
my @Old_Pdfs = &lt;/home/$User/public_html/pdf/*.pdf&gt;;
my $No = @Old_Pdfs;
foreach my $File (&lt;/home/$User/tiff/*.tif&gt;)
{
$No++;
my $Ps = $File;
$Ps =~ s/\.tif/\.ps/g;
$Ps =~ s/tiff/ps/;
system "/usr/bin/tiff2ps $File &gt; $Ps";
### If you want to print this, uncomment
# system "lpr $Ps";
my $Pdf = $Ps;
$Pdf =~ s/\.ps/\.pdf/g;
system "/usr/bin/ps2pdf $Ps $Pdf";
### Either choose to keep the default name of the file or number it
# system "mv $Pdf /home/$User/public_html/pdf/";
system "mv $Pdf /home/$User/public_html/pdf/$No.pdf";
system "rm $Ps $File;";
}
</pre>
Here is the crontab file you will need. run the command
<pre>
crontab Crontab
</pre>
in order to get to be automated.
<pre>
#!/bin/sh
0,15,30,45 * * * * /home/UserName/Cron.pl >> /home/UserName/cron_log 2>&1
</pre>
<h3><a NAME="Conclusion"></a>Conclusion</h3>
This is very easy way to get your virtual fax to be automated and converted
into something that is easy to read. Having a virtual fax number is nice
because it saves you money by not having to have a phone number.
Every roaming consultant needs this. <p>
Phil Hunter from <a href="http://www.colug.net">COLUG</a> first told
me about this a year or two ago. He just dumps the faxes to a printer.
It wasn't of much use then when
I had an office and a fax machine, but I have
found it useful since I moved out to California. My next goal is to
send a fax through a modem, and then I will be able to send and receive
faxes when I am not in my office in the Bay Area.
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Mark Nielsen<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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">Introduction to Shell Scripting</font></H1>
<H4>By <a href="mailto:ben-fuzzybear@yahoo.com">Ben Okopnik</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<BLOCKQUOTE>
<STRONG> "You wouldn't believe how many managers believe that you can
get a baby in one month by making nine women pregnant."</STRONG><BR>
<CITE> -- Marc Wilson</CITE>
</BLOCKQUOTE>
<H2>Random Wanderings</H2>
<p>Well, this should be the last article in the "Introduction to Shell
Scripting" series - I've had great feedback from a number of readers (and
thank you all for your kind comments!), but we've covered most of the <b>basics</b>
of shell scripting; that was the original purpose of the series. I may
yet pop up at some point in the future ("Oh, rats, I forgot to explain
XYZ!"), but those of you who've been following along should now consider
yourselves Big-Time Experts, qualified to carry a briefcase and sound important...
&lt;grin&gt; Well, at least you should have a pretty good idea
of how to write a script and make it work - and that's a handy skill.
<H2>A Valued Assistant</H2>
<p>Quite a while ago, I found myself in a quandary while writing a script
(NO-O-O! How unusual! &lt;grins&gt;); I had an array that contained a list
of command lines that I needed to execute based on certain conditions.
I could read the array easily enough, or print out any of the variables
- but what I needed was to execute them! What to do, what to do... as I
remember, I gave up for lack of that one capability, and rewrote the whole
(quite large) script (it was <u>not</u> a joyful experience). "eval" would
have been the solution.
<p>Here's how it works - create a variable called $cmd, like so:
<p><font face="Courier New,Courier">cmd='cat .bashrc|sort'</font>
<p>It's just an example - you could use any valid command(s). Now, you
can echo the thing -
<p><font face="Courier New,Courier">Odin:~$ echo $cmd</font>
<br><font face="Courier New,Courier">cat .bashrc|sort</font>
<br><font face="Courier New,Courier">Odin:~$</font>
<p>- but how do you execute it? Just running "cmd" produces an error:
<p><font face="Courier New,Courier">Odin:~$ $cmd</font>
<br><font face="Courier New,Courier">cat: .bashrc|sort: No such file or
directory</font>
<br><font face="Courier New,Courier">Odin:~$</font>
<p>This is where "eval" comes into its own: "<font face="Courier New,Courier">eval
$cmd"</font> would evaluate the content of the variable as if it had been
entered at the command line. This is not something that comes up too often...
but it is a capability of the shell that you need to be aware of.
<P> Note that "bash" has no problem executing a single command that is
stored as a variable, something like:
<PRE>
Odin:~$ N="cat .bashrc"
Odin:~$ $N
# ~/.bashrc: executed by bash(1) for non-login shells.
export PS1='\h:\w\$ '
umask 022
</PRE>
works fine. It's only when more complex commands, e.g., those that involve
+aliases or operators ("|", "&gt;", "&gt;&gt;", etc.) are used that
you would encounter problems - and for those times, "eval" is the answer.
<H2>Trapped Like a Rat</H2>
<p>One of the standard techniques in scripting (and in programming in general)
is that of writing data to temporary files - there are many reasons to
do this. But, and this is a big one, what happens when your users interrupt
that script halfway through execution? (For those of you who have scripts
like that and haven't thought of the issue, sorry to give you material
for nightmares. At least I'll show you the solution as well.)
<p>You guessed it: a mess. Lots of files in "/tmp", perhaps important data
left hanging in the breeze (to be deleted at next reboot), files thought
to be updated that are not... Yuck. How about a way for us to exit gracefully,
despite a frantic keyboard-pounding user who just <u>has</u> to run "Quake"
RIGHT NOW?
<p>The "trap" command provides an answer of sorts (shooting said user is
far more effective and enjoyable, but may get you talked about).
<p>
<hr WIDTH="100%">
<br><font face="Courier New,Courier">#!/bin/bash</font>
<p><font face="Courier New,Courier">function cleanup ()</font>
<br><font face="Courier New,Courier">{</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; stty intr "" #
Ignore 'Ctrl-C'; let him pound away...</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; echo "Wake up,
Neo."</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; sleep 2; clear</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; echo "The Matrix
has you."</font>
<p><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; echo "He's at it
again."|mail admin -s "Update stopped by $USER"</font>
<p><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; # Restore the original
data</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; tar xvzf /mnt/backup/accts_recvbl
-C /usr/local/acct</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; # Delete 'tmp'
stuff</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; rm -rf /tmp/in_process/</font>
<p><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; # OK, we've taken
care of the cleanup. Now, it's REVENGE time!!!</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; rm /usr/games/[xs]quake</font>
<p><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; # Give him a nice
new easy-to-remember password...</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; chpasswd $USER:~X%y!Z@zF%HG72F8b@Idiot&amp;(~64sfgrnntQwvff########^</font>
<p><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; # We'll back up
all his stuff... Oh, what's "--remove-files" do?</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; tar cvz --remove-files
-f /mnt/timbuktu/bye-bye.tgz /home/$USER</font>
<p><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; # Heh-heh-heh...</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; umount /mnt/timbuktu</font>
<p><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; stty intr ^C # Back
to normal</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; exit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Yep, I meant to do that... Kill/hang the shell.</font>
<br><font face="Courier New,Courier">}</font>
<p><font face="Courier New,Courier">trap 'cleanup' 2</font>
<br>&nbsp;
<br><font face="Courier New,Courier">...</font>
<br>
<hr WIDTH="100%">
<p>There's a little of the BOfH inside every admin. &lt;grin&gt; (For those
of you not familiar with the "BOfH Saga", this is a <b>must</b> read for
every Unix admin; appalling and hideously funny. Search the Web.)
<p>DON'T run this script... yes, I know it's tempting. The point of "trap"
is, we can define a behavior whenever the user hits `Ctrl-Break' (or for
that matter, any time the script exits or is killed) that is much more
useful to us than just crashing out of the program; it gives us a chance
to clean up, generate warnings, etc.
<p>"trap" can also catch other signals; the fact is that even "kill", despite
its name, does not of itself `kill' a process - it sends it a signal. The
process then decides what to do with that signal (a crude description,
but generally correct). If you wish to see the entire list of signals,
just type "<font face="Courier New,Courier">trap -l</font>" or "<font face="Courier New,Courier">kill
-l</font>" or even "<font face="Courier New,Courier">killall -l</font>"
(which does not list the signal numbers, just names). The ones most commonly
used are 1)SIGHUP, 2)SIGINT, 3)SIGQUIT, 9)SIGKILL, and 15)SIGTERM.
<BLOCKQUOTE><EM>
[But SIGKILL is untrappable. -Ed.]
</EM></BLOCKQUOTE>
<p>There are also the `special' signals. They are: 0)EXIT, which traps
on any exit from the shell, and DEBUG (no number assigned), which can -
here's a nifty thing! - be used to troubleshoot shell scripts (it traps
every time a simple command is executed). DEBUG is actually more of an
"info only" item: you can have this exact action without writing any "trap"s,
simply by adding "-x" to your "hash-bang" (see "IN CASE OF TROUBLE..."
below).
<p>"trap" is a powerful little tool. In LG#37, Jim Dennis had a short script
fragment that created a
<A HREF="../issue37/lg_answer37.html#tag_greeting">secure directory under "/tmp"</A> for just this sort
of thing - temp files that you don't want exposed to the world. Pretty
cool gadget; I've used it a number of times already.
<H2>In Case of Trouble, Break Glass</H2>
<p>Speaking of troubleshooting, "bash" provides several very useful tools
that can help you find the errors in your script. These are switches -
part of the "set" command syntax - that are used in the "hash-bang" line
of the script itself. These switches are:
<p><font face="Courier New,Courier">-n&nbsp;&nbsp;&nbsp;&nbsp; Read the
shell script lines, but do not execute</font>
<br><font face="Courier New,Courier">-v&nbsp;&nbsp;&nbsp;&nbsp; Print the
lines as they're read</font>
<br><font face="Courier New,Courier">-x&nbsp;&nbsp;&nbsp;&nbsp; Prints
$PS4 (the "level of indirection" prompt) and the command just executed.</font>
<p>I've found that "-nv" and "-x" are the most useful invocations: one
gives you the exact location of a "bad" line (you can see where the script
would crash); the other, `noisy' though it is, is handy for seeing where
things aren't happening quite the right way (when, even though the syntax
is right, the action is not what you want). Good troubleshooting tools
both. As time passes and you get used to the quirks of error reporting,
you'll probably use them less and less, but they're invaluable to a new
shell script writer.
<br>To use them, simply modify the initial "hash-bang":
<br>
<hr WIDTH="100%">
<br><font face="Courier New,Courier">#!/bin/bash -nv</font>
<br><font face="Courier New,Courier">...</font>
<br>
<hr WIDTH="100%">
<H2>Use the Source, Luke</H2>
<p>Here's a line familiar to every "C" programmer:
<p><font face="Courier New,Courier">#include &lt;"stdio.h"&gt;</font>
<p>- a very useful concept, that of <u>sourcing external files</u>. What
that means is that a "C" programmer can write routines (functions) that
he'll use over and over again, store them in a `library' (an external file),
and bring them in as he needs them. Well - have I not said that shell scripting
is a mature, capable programming language? - we can do the same thing!
The file doesn't even have to be executable; the syntax that we use in
bringing it in takes care of that. The example below is a snippet of the
top of my function library, "Funky". Currently, it is a single file, a
couple of kB long, and growing apace. I try to keep it down to the most
useful functions, as I don't want to garbage up the environment space (is
the concept even applicable in Linux? Must find out...)
<p>There's a tricky little bit of "bash" maneuvering that's worth knowing:
if you create a variable called <font face="Courier New,Courier">BASH_ENV</font>
in your .bash_profile, like so:
<p><font face="Courier New,Courier">export BASH_ENV="~/.bash_env"</font>
<p>then create a file called ".bash_env" in your home directory, that file
will be re-read every time you start a `non-login non-interactive shell',
i.e., a shell script. A good place to put initialization stuff that is
shell-script specific; that's where I source "Funky" from - that way, any
changes in it are immediately available to any shell script.
<p>
<hr WIDTH="100%"><font face="Courier New,Courier">func_list ()&nbsp;&nbsp;&nbsp;&nbsp;
# lists all the functions in Funky</font>
<br><font face="Courier New,Courier">{</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; # Any time I need
a reminder of what functions I have, what</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; # they're called,
and what they do, I just type "func_list".</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; # A cute example
of recursion - a func that lists all funcs,</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; # including itself.</font>
<p><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; cat /usr/local/bin/Funky|grep
\(\)</font>
<br><font face="Courier New,Courier">}</font>
<p><font face="Courier New,Courier">getch ()&nbsp;&nbsp;&nbsp;&nbsp; #
gets one char from kbd, no "Enter" necessary</font>
<br><font face="Courier New,Courier">{</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; OLD_STTY=`stty
-g`</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; stty cbreak -echo</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; GETCH=`dd if=/dev/tty
bs=1 count=1 2&gt;/dev/null`</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; stty $OLD_STTY</font>
<br><font face="Courier New,Courier">}</font>
<p><font face="Courier New,Courier">...</font>
<p>
<hr WIDTH="100%">
<p>Not too different from a script, is it? No "hash-bang" is necessary,
since this file does not get executed by itself.&nbsp; So, how do we use
it in a script? Here it is (we'll pretend that I don't source "Funky" in
".bash_env"):
<p>
<hr WIDTH="100%"><font face="Courier New,Courier">#!/bin/bash</font>
<p><font face="Courier New,Courier">. Funky</font>
<p><font face="Courier New,Courier">declare -i Total=0</font>
<p><font face="Courier New,Courier">leave ()</font>
<br><font face="Courier New,Courier">{</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; echo "So youse
are done shoppin'?"</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; [ $Total -ne 0
] &amp;&amp; echo "Dat'll be $Total bucks, pal."</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; echo "Have a nice
day."</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; exit</font>
<br><font face="Courier New,Courier">}</font>
<p><font face="Courier New,Courier">trap 'leave' 0</font>
<br><font face="Courier New,Courier">clear</font>
<p><font face="Courier New,Courier">while [ 1 ]</font>
<br><font face="Courier New,Courier">do</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; echo</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; echo "Whaddaya
want? I got Cucumbers, Tomatoes, Lettuce, Onions,"</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; echo "and Radishes
today."</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; echo</font>
<p><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; # Here's where we
call a sourced function...</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; getch</font>
<p><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; # ...and reference
a variable created by that function.</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; case $GETCH</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; in</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
C|c) Total=$Total+1; echo "Them are good cukes." ;;</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
T|t) Total=$Total+2; echo "Ripe tomatoes, huh?" ;;</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
L|l) Total=$Total+2; echo "I picked da lettuce myself." ;;</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
O|o) Total=$Total+1; echo "Fresh enough to make youse cry!" ;;</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
R|r) Total=$Total+2; echo "Real crispy radishes." ;;</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*) echo "Ain't got nuttin' like that today, mebbe tomorra." ;;</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; esac</font>
<p><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; sleep 2</font>
<br><font face="Courier New,Courier">&nbsp;&nbsp;&nbsp; clear</font>
<p><font face="Courier New,Courier">done</font>
<br>
<hr WIDTH="100%">
<p>Note the period before "Funky": that's an alias for the "source" command.
When sourced, "Funky" acquires an interesting property: just as if we had
asked "bash" to execute a file, it goes out and searches the path listed
in $PATH. Since I keep "Funky" in "/usr/local/bin" (part of my $PATH),
I don't need to give an explicit path to it.
<p>If you're going to be writing shell scripts, I strongly suggest that
you start your own `library' of functions. (HINT: Steal the functions from
the above example!) Rather than typing them over and over again, a single
"source" argument will get you lots and lots of `canned' goodies.
<H2>Wrapping Up the Series</H2>
<p>Well - overall, lots of topics covered, some "quirks" explained; all
good stuff, useful shell scripting info. There's a lot more to it - remember,
this series was only an <u>introduction</u> to shell scripting - but anyone
who's stuck with me from the beginning and persevered in following my brand
of pretzel-bending logic (poor fellows! irretrievably damaged, not even
the best psychologist in the world can help you now... :) should now be
able to design, write, and troubleshoot a fairly decent shell script. The
rest of it - understanding and writing the more complex, more involved
scripts - can only come with practice, otherwise known as "making lots
of mistakes". In that spirit, I wish you all lots of "mistakes"!
<br>&nbsp;
<p>Happy Linuxing!
<p>
<hr WIDTH="100%">Linux Quote of the Month:
<br><font face="Courier New,Courier">``The words "community" and "communication"
have the same root.</font>
<br><font face="Courier New,Courier">Wherever you put a communications
network, you put a community as</font>
<br><font face="Courier New,Courier">well. And whenever you <b>take away</b>
that network -- confiscate it, outlaw it, crash it, raise its price beyond
affordability -- then you hurt that community.</font><font face="Courier New,Courier"></font>
<p><font face="Courier New,Courier">Communities&nbsp; will fight to defend
themselves.&nbsp; People will fight harder and more bitterly to defend
their communities, than they will fight to defend their own individual
selves.''</font>
<br><font face="Courier New,Courier">&nbsp;-- Bruce Sterling, "Hacker Crackdown"</font>
<br>
<hr WIDTH="100%">
<br>REFERENCES
<p>The "man" pages for 'bash', 'builtins', 'stty'
<A HREF="../issue53/okopnik.html">"Introduction to Shell Scripting - The Basics", LG #53</A><BR>
<A HREF="../issue54/okopnik.html">"Introduction to Shell Scripting", LG #54</A><BR>
<A HREF="../issue55/okopnik.html">"Introduction to Shell Scripting", LG #55</A><BR>
<A HREF="../issue57/okopnik.html">"Introduction to Shell Scripting", LG #57</A><BR>
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Ben Okopnik<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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 Sendmail in RedHat 6.2</font><BR>
--or--<BR>My Adventure in the Heart of the Jungle</H1>
<H4>By <a href="mailto:ben-fuzzybear@yahoo.com">Ben Okopnik</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<p><b>*** NOTE:</b> This may not necessarily be the best way to configure
Sendmail; I'm certain that it isn't the only way. It worked for me; if
you are in the same situation - home machine, intermittent Net connection,
possibly multiple users on one machine - it will probably work for you...
but there are no guarantees: if it breaks, you get to keep both pieces.
<b>***</b>
<br>&nbsp;
<p>This weekend, I installed RedHat 6.2 on my brother's PC - just to give
an idea of how far we've come, I didn't even have to convince him (well,
a few hints about "Oh, your machine crashed <u>again</u>? Gee, <b>mine</b>
doesn't..." over the years may have helped.) I'm a Debian guy, myself,
but he had a RedHat CD, and I wanted the experience of completely configuring
an RH system (Famous Last Words: "<font color="#CC0000">After all, how
different could it be?</font>")
<p>As a matter of fact, the RH install died a few times, until I figured
out that one of the non-critical files on the CD was damaged (my brother
was very impressed by the fact that I could customize the installation
to the extent of eliminating a single file). So, no desktop pictures for
the moment - I got them later from <a href="ftp://ftp.redhat.com">ftp.redhat.com</a>
- but everything else went well. In a couple of hours, I had his machine
up and working away.
<p>The first problem came from the fact that his ISP, AT&amp;T, uses CHAP
authentication; not the easiest thing in the world to handle (<font color="#000099">for
those of you who are curious: on the "Advanced" tab of the account properties,
select "Let PPP do all authentication" ; close the Configuration Tool;
in "/etc/ppp/chap-secrets", put the password in double quotes. That cost
me a couple of hours.</font>) Once that was done, everything went smoothly...
until I wanted to send mail without using Netscape (I far prefer Mutt).
Then, the circus pulled into town, clowns and jugglers and magicians and
all...
<blockquote><font face="Courier New,Courier"><font color="#CC0000">"He
who has never configured `sendmail.cf' has no courage. He who has configured</font></font>
<br><font face="Courier New,Courier"><font color="#CC0000">it more than
once has no brain."</font></font>
<br><font face="Courier New,Courier"><font color="#CC0000">&nbsp;-- Unknown</font></font></blockquote>
I've always considered hacking sendmail config files to be the province
of &Uuml;berHackers, the people who read raw binary code and laugh about it.
A "smail" installation - a one-line change in a simple file - MTA setup
the easy way! Well... I figured I'd at least give it a shot; I already
have lots of scars, what else could I lose? (I hear a chorus of voices:
"Your <u>sanity</u>!" Never had any; can't be a problem.)
<p>I'll lightly skip over the gnashing of teeth and the anguished screaming
at the total lack of <b>useful</b> info on the Net (every Sendmail expert,
everywhere and everywhen, thinks that you're configuring a 50,000-user
MTA. There are no exceptions.), and go on to the actual things that worked.
Here they are, step by step - note that you'll need to be `root' for all
of this:
<p>1. Install the "sendmail-cf" package. It's on the RedHat CD, but does
not get installed by default; you'll need it to make any configuration
changes.
<p>2. In `/etc/mail', create two files - "genericsdomain" and "genericstable"
(we'll be using them in just a minute); in `/etc/mail/Makefile', add "genericsdomain.db"
and "genericstable.db" to the "all:" line.
<p>3. Write your FQDN (Fully Qualified Domain Name - run "hostname -f"
to see what it is) in "genericsdomain". Adding "localhost" doesn't hurt
anything either, and seems like a good idea - this is the file used by
Sendmail to determine if the mail it sees is
<br>coming from the local domain.
<p>4. Write (this is the good part) your mail aliases in "genericstable",
in a
<br>"<font face="Courier New,Courier">local_login_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
remote_account_name@mail_domain</font>" format, like so:
<p><font face="Courier New,Courier">joe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; big_time@yahoo.com</font>
<br><font face="Courier New,Courier">zelda&nbsp;&nbsp;&nbsp; gorgeous@cheerful.com</font>
<br><font face="Courier New,Courier">walter&nbsp;&nbsp; walter@worldnet.att.net</font>
<p>5. Run "make" in `/etc/mail'; this will create the ".db" versions of
what you've just created. Re-run it whenever you change those files.
<br>&nbsp;
<p>OK, we're done with the simple part. Now, before you do the stuff that
follows, dance naked widdershins around your computer three times while
chanting, "<font color="#CC0000">I shall not fear; fear is the mindkiller...</font>"
Oops - sorry, that part is optional for anyone but me...
<br>&nbsp;
<p>6. Edit `/etc/sendmail.mc'. Add the following lines (I prefer to put
them at the end of the other "FEATURE" statements, just for neatness' sake):
<p><font face="Courier New,Courier">FEATURE(masquerade_envelope)</font>
<br><font face="Courier New,Courier">FEATURE(genericstable, `hash -o /etc/mail/genericstable')</font>
<br><font face="Courier New,Courier">GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')</font>
<p>This tells Sendmail to use those files you've just created, and to modify
the&nbsp; "envelope" (The "<font face="Courier New,Courier">From </font>"
header, etc.) as well as the visible headers ("<font face="Courier New,Courier">From:</font>",
etc.)
<p>7. Run "<font face="Courier New,Courier">m4 /etc/sendmail.mc > /etc/sendmail.cf</font>".
This processes your newly modified "sendmail.mc" into a form that Sendmail
actually reads - the "sendmail.cf" file.
<p>Now, we're almost ready, except for one last thing -
<p>8. Type "<font face="Courier New,Courier">killall -HUP sendmail</font>"
or "<font face="Courier New,Courier">kill -HUP &lt;PID></font>", using
the Sendmail PID from "<font face="Courier New,Courier">ps -ax</font>".&nbsp;
This will restart Sendmail which forces it to re-read the new config file.
<br>&nbsp;
<p>Whew. Well, I'm still alive, and &lt;patting pockets absentmindedly>
still have my mind. Somewhere.
<p>The system seems to work - I've sent mail to a number of people I know,
and their servers didn't choke; sending mail to myself and examining the
headers in "/var/spool/mail/ben" with a text editor confirmed that there
was nothing horrendously unusual about them. I've rebooted the system,
and everything still seems OK - now, a day later, I've stopped expecting
things to go "BOOM". Still,&nbsp; you never know...
<br>&nbsp;
<p>It's true that Netscape will handle both SMTP and POP services, one
user at a time; for most people, this is good enough. On the other hand,
if you're one of those folks (like me) who hates the idea of waiting several
minutes for a mail client complete with Web browser, news client, GUI,
point-and-click, and lots of confusing options - when all you need is to
send some mail - Sendmail may well provide a good answer.
<br>&nbsp;
<p>Happy Linuxing to all!
<p>
<hr WIDTH="100%">
<br>References:
<p>The incredibly confusing and unbelievably complex Sendmail man page
<br>Ditto the <font face="Courier New,Courier">/usr/doc/sendmail</font>
directory
<br>Double ditto most Net resources
<p>A&nbsp;slightly smaller ditto for RedHat's "<a href="http://www.redhat.com/support/docs/howto/RH-sendmail-HOWTO/x95.html">Where's
Everything?</a>" page,
<p>...and <b>one</b> semi-decent resource from RedHat-Europe, the <a href="http://www.europe.redhat.com/documentation/mini-HOWTO/Sendmail-Address-Rewrite-3.php3#ss3.1">Sendmail-Address-Rewrite
mini-HOWTO</a>.
<br>
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Ben Okopnik<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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">Linux Security Tips</font></H1>
<H4>By <a href="mailto:kapil@linux4biz.net">Kapil Sharma</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<p>In this article I will explain&nbsp; how to make your Linux box secure by taking&nbsp;
basic security measures. This article will enable anybody to tighten the security
of a redhat Linux box.
<p><b><u>BIOS Security</u></b> <br>
Always set a password on BIOS to disallow booting from floppy by changing the
BIOS settings. This&nbsp; will block undesired people from trying to boot your
Linux system with a special boot disk and will&nbsp; protect you from people
trying to change BIOS feature like allowing boot from floppy drive or&nbsp;
booting the server without password prompt.
<p><b><u>LILO Security</u></b> <br>
Add the three parameters in "/etc/lilo.conf" file i.e. time-out, restricted
and&nbsp; password. These options will ask for password if boot time options
(such as "linux single") are passed to the boot loader. <br>
<b>Step 1</b> <br>
Edit the lilo.conf file (vi /etc/lilo.conf) and add or change the three options
: <br>
boot=/dev/hda <br>
map=/boot/map <br>
install=/boot/boot.b <br>
time-out=00&nbsp;&nbsp; <i>#change this line to 00</i><br>
prompt <br>
Default=linux <br>
restricted&nbsp;&nbsp; <i>#add this line</i><br>
password=&lt;password&gt;&nbsp;&nbsp; <i>#add this line and put your password</i>
<br>
image=/boot/vmlinuz-2.2.14-12 <br>
label=linux <br>
initrd=/boot/initrd-2.2.14-12.img <br>
root=/dev/hda6 <br>
read-only
<p><b>Step 2</b> <br>
The "/etc/lilo.conf" file should be readable by only root because it contains
unencrypted passwords. <br>
&nbsp;[root@kapil /]# chmod 600 /etc/lilo.conf (will be no longer world readable).
<p><b>Step 3</b> <br>
Update your configuration file "/etc/lilo.conf" for the change to take effect.
<br>
&nbsp;[Root@kapil /]# /sbin/lilo -v (to update the lilo.conf file).
<p><b>Step 4</b> <br>
One more security measure you can take to secure the "/etc/lilo.conf" file
is to set it immutable, using the chattr command. <br>
&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp; To set the file immutable simply, use the command:
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [root@kapil
/]# chattr +i /etc/lilo.conf <br>
This will prevent any changes (accidental or otherwise) to the "lilo.conf" file.
<p>For more information about lilo security, read my article on <a href="http://www.linux4biz.net/articles">LILO</a>.
<p>&nbsp;
<p><b><u>Disable all special accounts</u></b> <br>
You should&nbsp; delete all default users and group accounts that you don't
use on your system like lp, sync, shutdown, halt, news, uucp, operator, games,
gopher etc <br>
To delete a user account : <br>
[root@kapil /]# userdel LP
<p>To delete a group: <br>
[root@kapil /]# groupdel LP
<p><b><u>Choose a Right password</u></b> <br>
You should follow the following guidelines before choosing the right password.
<p>The password Length: The minimum acceptable password length by default when
you install your Linux system is 5.&nbsp; This is not enough and must be 8.&nbsp;
To do this you have to edit the login.defs file (vi /etc/login.defs) and change
the line that read:
<ul>
&nbsp;<i>PASS_MIN_LEN&nbsp;&nbsp;&nbsp; 5 <br>
</i>To read:<i> <br>
PASS_MIN_LEN&nbsp;&nbsp;&nbsp; 8 </i><br>
&nbsp;The "login.defs" is the configuration file for the login program.
</ul>
<b><u>Enable shadow password support</u></b> <br>
You should enable the shadow password feature. You can use the "/usr/sbin/authconfig"
utility to enable the shadow password feature on your system. If you want to convert
the existing passwords and group on your system to shadow passwords and groups&nbsp;
then you can use the commands <b>pwconv, grpconv</b> respectively. <br>
&nbsp; <br>
<u>T<b>he root account</b></u> <br>
The "root" account is the most privileged account on a Unix system. When the administrator
forgot to logout from the system root prompt before leaving the system then the
system should automatically logout from the shell. To do that, you must set the
special variable of&nbsp; Linux named "TMOUT" to the time in seconds. <br>
&nbsp;Edit your profile file "vi /etc/profile" and add the following line somewhere
after the line that read <br>
<i>"HISTFILESIZE="</i> <br>
&nbsp;<i>TMOUT=3600 </i><br>
&nbsp;The value we enter for the variable "TMOUT=" is in second and represent
1 hours (60 * 60 = <br>
3600 seconds). If you put this&nbsp; line in your "/etc/profile" file, then the
automatic logout after one hour of inactivity will apply for all users on the
system. You can set this variable in user's individual ".bashrc " file to automatically
logout them after a certain time. <br>
&nbsp;After this parameter has been set on your system, you must logout and login
again (as root) for&nbsp; the change to take effect.
<p><b><u>Disable all console-equivalent access for regular users</u></b> <br>
You should disable all console-equivalent access to programs like shutdown,
reboot, and halt for regular users on your server. <br>
&nbsp;To do this, run the following command: <br>
[root@kapil /]# rm -f /etc/security/console.apps/&lt;servicename&gt; <br>
&nbsp;Where &lt;servicename&gt; is the name of the program to which you wish to
disable console-equivalent access.
<p><b><u>Disable &amp; uninstall all unused services</u></b> <br>
You should&nbsp; disable and uninstall all services that you do not use so that
you have one less thing to worry about. Look at your "/etc/inetd.conf" file
and&nbsp; disable what you do not need by commenting them out (by adding a #
at the beginning of the line), and then sending your inetd process a SIGHUP
command to update it to the current "inetd.conf" file.&nbsp; To do this: <br>
<b>Step 1</b> <br>
Change the permissions on &quot;/etc/inetd.conf&quot; file to 600, so that
only root can read or write to it. <br>
[Root@kapil /]# chmod 600 /etc/inetd.conf <br>
&nbsp;<br>
<b>Step 2</b> <br>
ENSURE that the owner of the file &quot;/etc/inetd.conf&quot; is root. <br>
<br>
<b>Step 3</b> <br>
Edit the inetd.conf file (vi /etc/inetd.conf) and disable the services like:
<br>
&nbsp;ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger,
auth, etc unless you plan to use it. If it's turned off it's much less of a
risk. <br>
<br>
<b>Step 4</b> <br>
Send a HUP signal to your inetd process <br>
[root@kapil /]# killall -HUP inetd <br>
<br>
<b>Step 5</b> <br>
Set "/etc/inetd.conf" file immutable,&nbsp; using the <i>chattr</i> command
so that nobody can modify that file <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp; To set the file immutable simply,
execute the following command: <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [root@kapil
/]# chattr +i /etc/inetd.conf <br>
&nbsp;This will prevent any changes (accidental or otherwise) to the "inetd.conf"
file. The only person that can set or clear this attribute is the super-user
root.&nbsp; To modify the inetd.conf file you will need to unset the immutable
flag: <br>
*&nbsp; To unset the immutable simply, execute the following command: <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [root@kapil
/]# chattr -i /etc/inetd.conf
<p><b><u>TCP_WRAPPERS</u></b> <br>
By using TCP_WRAPPERS&nbsp; you can make&nbsp; your server&nbsp; secure against
outside intrusion . The best policy is to deny all hosts by putting "ALL: ALL@ALL,
PARANOID" in the "/etc/hosts.deny" file and then explicitly list&nbsp; trusted
hosts who are allowed to your machine in the "/etc/hosts.allow" file. TCP_WRAPPERS
is controlled from two files and the search stops at the first match. <br>
&nbsp;/etc/hosts.allow <br>
/etc/hosts.deny
<p><b>Step 1</b> <br>
Edit the hosts.deny file (vi /etc/hosts.deny) and add the following lines:
<br>
# Deny access to everyone. <br>
ALL: ALL@ALL, PARANOID <br>
&nbsp;Which means all services, all locations is blocked, unless they are permitted
access by entries in the allow file.
<p>&nbsp;<b>Step 2</b> <br>
Edit the hosts.allow file (vi /etc/hosts.allow) and add for example, the following
line: <br>
As an example: <br>
ftp: 202.54.15.99 foo.com<br>
&nbsp;For your client machine: 202.54.15.99 is the IP address and foo.com the
host name of one of your client allowed using ftp. <br>
&nbsp;<br>
<b>Step 3 </b><br>
The <i>tcpdchk</i> program is the tcpd wrapper configuration checker. It examines
your tcp wrapper&nbsp; configuration and reports all potential and real problems
it can find.
<p>&nbsp;*&nbsp; After your configuration is done, run the program tcpdchk. <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [Root@kapil
/]# tcpdchk
<p><b><u>Don't let system issue file to be displayed</u></b> <br>
&nbsp;You should not&nbsp; display your&nbsp; system issue file when people
log in remotely . To do this,&nbsp; you can <br>
change the telnet option in your "/etc/inetd.conf".<br>
To do this change the line in &quot;/etc/inetd.conf&quot;:<br>
<p><i>telnet&nbsp; stream&nbsp; tcp&nbsp;&nbsp;&nbsp;&nbsp; nowait&nbsp; root&nbsp;&nbsp;&nbsp;
/usr/sbin/tcpd&nbsp; in.telnetd</i><br>
to look like:<br>
&nbsp;<i>telnet&nbsp; stream&nbsp; tcp&nbsp;&nbsp;&nbsp;&nbsp; nowait&nbsp;
root&nbsp;&nbsp;&nbsp; /usr/sbin/tcpd&nbsp; in.telnetd -h </i><br>
&nbsp;Adding the "-h" flag on the end will cause the daemon to not display any
system information and&nbsp; just hit the user with a login: prompt.&nbsp; I
will recommend to use sshd instead.
<p><b><u>Change the "/etc/host.conf" file</u></b> <br>
&nbsp;The&nbsp; "/etc/host.conf" file specifies how names are resolved. <br>
&nbsp;Edit the host.conf file (vi /etc/host.conf) and add the following lines:
<br>
&nbsp;# Lookup names via DNS first then fall back to /etc/hosts. <br>
order bind,hosts <br>
# We have machines with multiple IP addresses. <br>
multi on <br>
# Check for IP address spoofing. <br>
nospoof on
<p>&nbsp;The first option is to resolve the host name through DNS first and then
hosts file.The multi option determines whether a host in the "/etc/hosts" file
can have multiple IP addresses (multiple interface ethN). <br>
&nbsp;The nospoof option indicates to take care of not permitting spoofing on
this machine.
<p><b><u>Immunize the "/etc/services" file</u></b> <br>
You must immunize the "/etc/services" file to prevent unauthorized deletion&nbsp;
or addition of services. <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp; To immunize
the "/etc/services" file, use the command: <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [root@kapil
/]# chattr +i /etc/services
<p><b><u>Disallow root login from different consoles</u></b> <br>
The "/etc/securetty" file allows you to specify which TTY devices the "root"
user is allowed to login . Edit the "/etc/securetty" file to disable any tty
that you do not need by commenting them out (# at the beginning of the line).
<br>
&nbsp; <br>
<b><u>Blocking anyone to su to root</u></b> <br>
&nbsp;The su (Substitute User) command allows you to become other existing users
on the system.&nbsp; If&nbsp; you don't want anyone to su to root or restrict
"su" command to certain users then add the following two lines to the top of
your "su" configuration file in the "/etc/pam.d/" directory. <br>
<b>Step 1</b> <br>
Edit the su file (vi /etc/pam.d/su) and add the following two lines to the
top of the file: <br>
&nbsp;<i>auth sufficient /lib/security/pam_rootok.so debug</i> <br>
<i>auth required /lib/security/Pam_wheel.so group=wheel</i>
<p>Which means only members of the "wheel" group can su to root; it also includes&nbsp;
logging. You can add the users to the group wheel so that only those users will
be allowed to su as root. <br>
&nbsp;
<p><b><u>Shell logging</u></b> <br>
&nbsp;The bash shell stores up to 500 old commands in the "~/.bash_history"
file (where "~/" is your home directory) to make it easy for you to repeat long
commands. Each user that has an account on the system will have this file "Bash_history"
in their home directory. The bash shell should store less number of commands
and delete it on logout of the user.<br>
<b>Step 1</b> <br>
The HISTFILESIZE and HISTSIZE lines in the "/etc/profile" file determine the
size of old commands the "Bash_history" file for all users on your system can
hold.&nbsp; I would&nbsp; highly recommend setting the HISTFILESIZE and HISTSIZE
in "/etc/profile" file to a low value such as 30. <br>
&nbsp;Edit the profile file (vi /etc/profile) and change the lines to: <br>
HISTFILESIZE=30 <br>
HISTSIZE=30 <br>
&nbsp;Which mean, the "Bash_history" file in each users home directory can store
20 old commands <br>
and no more. <br>
&nbsp;<b>Step 2</b> <br>
The administrator should also add into the "/etc/skel/Bash_logout" file the
<br>
"<i>rm -f&nbsp; $HOME/Bash_history</i>" line, so that each time a user logs
out, its "Bash_history" file will be deleted.<br>
&nbsp;Edit the Bash_logout file (vi /etc/skel/Bash_logout) and add the following
line: <br>
&nbsp;<i>rm -f $HOME/Bash_history</i>
<p><b><u>Disable the Control-Alt-Delete keyboard shutdown command</u></b> <br>
To do this comment out the line (with a "#") listed below in your "/etc/inittab"
file . <br>
&nbsp;To do this, edit the inittab file (vi /etc/inittab) and change the line:
<br>
&nbsp;<i>ca::ctrlaltdel:/sbin/shutdown -t3 -r now </i><br>
To read: <br>
<i>#ca::ctrlaltdel:/sbin/shutdown -t3 -r now </i><br>
&nbsp;Now, for the change to take effect type in the following at a prompt:
<br>
&nbsp;[root@kapil /]# /sbin/init q
<p><b><u>Fix the permissions under "/etc/rc.d/init.d" directory for script files</u></b>
<br>
&nbsp;Fix the permissions of the script files that are responsible for starting
and stopping all your normal&nbsp; processes that need to run at boot time.&nbsp;
To do this: <br>
&nbsp;[root@kapil/]# chmod -R 700 /etc/rc.d/init.d/* <br>
&nbsp;Which means only root is allowed to Read, Write, and Execute scripts files
on this directory.
<p><b><u>Hide your system information</u></b> <br>
&nbsp;By default, when you login to a Linux box, it tells you the Linux distribution
name, version, kernel&nbsp; version, and the name of the server. This is sufficient
information for a crackers to get information about your server. You should
just prompt users with a "Login:" prompt. <br>
&nbsp;<b>Step 1</b> <br>
To do this, Edit the "/etc/rc.d/rc.local" file and Place "#" in front of the
following lines as shown:
<p># This will overwrite /etc/issue at every boot.&nbsp; So, make any changes
you <br>
# want to make to /etc/issue here or you will lose them when you reboot. <br>
#echo "" &gt; /etc/issue <br>
#echo "$R" &gt;&gt; /etc/issue <br>
#echo "Kernel $(uname -r) on $a $(uname -m)" &gt;&gt; /etc/issue <br>
# <br>
#cp -f /etc/issue /etc/issue.net <br>
#echo &gt;&gt; /etc/issue <br>
<br>
&nbsp;<b>Step 2</b> <br>
Then, remove the following files: "issue.net" and "issue" under "/etc" directory:
<br>
&nbsp;[root@kapil /]# rm -f /etc/issue <br>
[root@kapil /]# rm -f /etc/issue.net
<p><b><u>Disable unused SUID/SGID programs</u></b> <br>
&nbsp;A regular user will be able to run a program as root if it is set to SUID
root. A system administrator should minimize the use of these SUID/GUID programs
and disable the programs which are not needed. <br>
<b>Step 1</b> <br>
*&nbsp; To find all files with the `s' bits from root-owned programs, use the
command: <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [root@kapil]# find /
-type f \( -perm -04000 -o -perm -02000 \) \-exec ls &shy;lg {} \;
<p>&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp; To disable the suid bits on selected programs
above, type the following commands: <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [root@kapil /]# chmod
a-s [program] <br>
&nbsp;
<p>After following the above security guidelines, a system administrator can maintain
a basic level of system security. Some of the above tasks are a continuous process.
The system administrator has to continuously follow the above guidelines to
keep system secure. <br>
<p>Written by: Kapil Sharma <br>
Email: <a href="mailto:kapil@linux4biz.net">kapil@linux4biz.net</a> <br>
Website: <a href="http://www.linux4biz.net">http://www.linux4biz.net</a> <br>
[Kapil Sharma is a Linux and Internet security consultant. He has been working
on various Linux/Unix systems and Internet Security for more than 2 years. He
is maintaing a web site <a href="http://www.linux4biz.net">http://www.linux4biz.net</a>
for providing free as well as commercial support for web, Linux and Unix solutions.]
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Kapil Sharma<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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">Easily Porting MS-DOS Diagnostics to Linux</font></H1>
<H4>By <a href="mailto:g14978@email.mot.com">Mark Taylor</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<h3>
Abstract</h3>
With a code few modifications and one powerful Linux module, you can compile
and run your favorite MS-DOS diagnostics code on Linux on an X86 machine.
Here's how!
<h3>
Introduction</h3>
Diagnostic applications do their job by reading and writing the hardware
registers of the devices on the mainboard. This is easy to program in MS-DOS
since the processor is running in real-address mode and there are no protection
mechanisms.
<p>Writing code to access the hardware under Linux is quite a bit more
difficult since (in most cases) a separate device driver must be coded
and installed into the kernel. The protection mechanisms that prevent harm
to the system by misbehaving user processes stymie the diagnostic developer.
This article explains the porting 16-bit MS-DOS Diagnostics source code
developed using Visual C++ 1.52 to the GNU C++ compiler and Linux OS environment.
<h3>
DOS diagnostics resource usage</h3>
Start by compiling the MS-DOS code on Linux. The only code that won't compile
contains non-standard system calls and inline assembly code. These fall
into the following categories of system resources:
<ul>
<li>
Read and write of I/O ports</li>
<li>
PCI configuration space</li>
<li>
Time delays</li>
<li>
Linear memory</li>
<li>
Interrupt handlers</li>
<li>
Inline assembly for CPUID, RDTSC (Read Time Stamp Counter) instructions
and 64 bit integer math which was implemented with inline assembly instructions</li>
</ul>
A new access method in Linux must be found for each of these resources.
Some system resources can be accessed by a user process running with root
privilege.
<p>A user process running with root privilege can access I/O ports and
memory, but can't disable or handle interrupts. PCI configuration space
access isn't safe either because consecutive writes to the configuration
address and data ports are required. Tight control of time delays isn't
possible either since the user process can be put to sleep at any time.
See Linux Device Drivers section "Doing it in User Space" in [RUB] Chapter
2 on page 36.
<p>The GCC (GNU C Compiler) that comes with the Linux Distribution handles
inline assembly code and both the CPUID and RDTSC instructions will execute
correctly in a user context. GCC also offers 64-bit signed and unsigned
integer math with the long long types. These capabilities cover the last
bullet above. A single Linux module will handle all of the others except
the interrupt handlers.
<h3>
Introduction to Linux modules</h3>
A module is a section of code that can be added to the kernel at run time.
A module is an object file that is compiled with the symbol MODULE defined.
The module source includes the file linux/module.h and at least the two
functions init_module and cleanup_module. The functions within a module
run in kernel mode and have access to all the facilities available to the
kernel. Modules can export symbols and call functions in other modules.
Modules may (but are not required to) have an associated device node and
be accessed from user processes like a device driver. Modules are added
to the kernel and dynamically linked by running the insmod program.
<p>Modules may also dynamically register nodes in the /proc filesystem.
The most common use of a /proc node is to deliver a buffer of data to the
reader.
<h3>
Using modules to satisfy the DOS diagnostics resource access</h3>
One approach to giving the DOS diagnostics access to the system resources
is to write a device driver module for each chip and rewrite the low level
DOS diagnostics routines to open and use the device drivers. This approach
is undesirable because of the potentially large number of devices used
and the large number of code changes to the existing DOS diagnostics source
code.
<p>The number of modules required can be cut down considerably by creating
a single module to provide general-purpose access to the kernel for each
of the resource classes. The Linux Wormhole driver module provides the
following services:
<ul>
<li>
Read, write, modify of I/O ports</li>
<li>
Read and write PCI configuration space</li>
<li>
read and write access to BIOS and PCI memory</li>
<li>
Microsecond resolution minimum time delays</li>
<li>
System clock tick resolution minimum time delays</li>
</ul>
All services are provided by an ioctl(2) call. The function prototype for
ioctl is:
<pre>ioctl (int fd, int request, char *argp);</pre>
The fd parameter is the file descriptor for the module obtained by a previous
open(2) call.
<p>The request parameter identifies the service required of the module.
A symbol for example WORM_IOP_R is defined for each request. Each request
also has an associated structure type. The argp parameter points to the
structure provided by the caller. Data is passed to and from the module
through this structure. The kernel calls copy_from_user and get_user_ret
are used by the module to get data from the user. The kernel call put_user_ret
is used to write data back to user space. See asm/uaccess.h.
<h4>
I/O PORTS</h4>
There are three requests used to access I/O ports. They are:
<ul>
<li>
8, 16, or 32 bit read (WORM_IOP_R)</li>
<li>
8, 16, or 32 bit write (WORM_IOP_W)</li>
<li>
8, 16, or 32 bit atomic read/modify/write (WORM_IOP_RMW)</li>
</ul>
For each request the user initializes the structure passed via argp with
the I/O port address, write value(s) (if a write operation), and width
of the I/O port.
<p>The Wormhole module source code uses the macros inb, outb, inw, outw,
inl, outl provided by asm/io.h to implement the I/O port access. See the
section "Using I/O Ports" in [RUB] Chapter 8 on page 164.
<h4>
PCI Configuration Space</h4>
PCI configuration space is accessed like I/O ports using a read and a write
request (WORM_PCI_R, WORM_PCI_W). Address information is different and
consists of the bus number, device number, function number, and byte offset.
These functions are implemented in Wormhole using PCI BIOS calls defined
in linux/pci.h. See the section "The PCI Interface" in [RUB] Chapter 15
on page 341.
<h4>
Minimum Time Delays</h4>
The minimum time delay services returns control to the calling process
after at least the requested amount of time has elapsed. Due to interrupts
and task switching, the time delay could be much longer. The DOS diagnostics
code has two delay functions.
<p>The first is based on the 18.2 Hz (54.94ms) DOS system clock. Linux
modules can provide delays in increments of the system timer interrupt,
which is currently 10ms. The Wormhole ioctl request WORM_DELAY_MS takes
the number of milliseconds to delay as the argument. The driver determines
the smallest system timer value that will occur after the delay has expired,
sets a timeout, and sleeps. The driver will wake up and return to the user
process when the timeout occurs.
<p>The second DOS diagnostics code delay function performs microsecond
resolution delays based on the time it takes to write to a non-decoded
ISA bus port. This is somewhere in the neighborhood of 700-1000ns. Linux
offers the kernel function udelay defined in &lt;linux/delay.h&gt;. See the
section "Short Delays" in [RUB] Chapter 6 on page 137. This function bases
the delay time on a software loop calibrated at boot time. Experiments
show the delay time to be accurate with the best accuracy for delays below
100us. This function is only suitable for small delays (up to around 1ms)
since it busy waits, preventing other tasks from running. The Wormhole
ioctl request WORM_DELAY_US passes the number of microseconds to delay
to the kernel function udelay.
<h4>
Read and write access to PCI and BIOS memory</h4>
DOS diagnostics can access any location in the 4GB address space by switching
briefly to protected mode. In protected mode a selector that can read or
write data based at zero with a limit of 4GB is created and used to access
memory. A single BYTE or DWORD of memory is read or written. The existing
code accesses PCI device memory which is above DRAM and the System BIOS
area which is just below 1M.
<p>In Linux the processor is running in protected mode and the memory management
unit is enabled. The desired physical memory location must be mapped via
the page tables and its virtual address must be known. Linux offers the
kernel function vremap, which will create the virtual to physical mapping
for a block of memory. The physical address must be above the top of DRAM
memory. Kernel function ioremap can be used to map in memory-mapped devices
and PCI memory. The Wormhole requests WORM_PCIMEM_R and WORM_PCIMEM_W will
map a page, perform one 32-bit or 8-bit read or write access then unmap
the page. See the section "High PCI Memory" in [RUB] Chapter 8 on page
175.
<p>The Wormhole requests WORM_BIOSMEM_R and WORM_BIOSMEM_W access the System
BIOS area below 1M. They use kernel macros readb, readl, writeb, and writel
to perform the memory access. See the section "ISA Memory Below 1M" in
[RUB] Chapter 8 on page 171.
<h3>
Limitations of the Wormhole driver</h3>
The DOS diagnostics check for correct interrupt generation by installing
an interrupt handler which increments a global variable. Because each interrupting
device requires a custom interrupt handler, the Wormhole driver cannot
provide a general-purpose service. A separate module should be created
for each device that interrupts.
<p>The Wormhole driver performance is limited by the context switch overhead
of the ioctl call. If thousands of operations are required the total time
will be significantly longer than the time consumed by a dedicated module.
<p>The Wormhole driver only does one access per call. If several accesses
must be done atomically, with no intervening task switches, the Wormhole
driver is unsuitable.
<p>The Wormhole driver and Linux user process cannot offer real time response.
In the diagnostics environment this problem can be limited by running with
no users logged in. Otherwise a dedicated module is required.
<p>The Wormhole driver does not control access to the kernel resources.
It is the responsibility of the caller to not break anything in the kernel
or change the state of device registers of devices for which are modules
are running.
<h3>
Source Code</h3>
<a href="misc/taylor/worm.h.txt">worm.h</a>
<br><a href="misc/taylor/worm.c.txt">worm.c</a>
<br><a href="misc/taylor/Makefile.txt">Makefile</a>
<h3>
References</h3>
[RUB] Rubini, Allessandro "Linux Device Drivers" First Edition, 1998, O'Reilly
&amp; Associates, Inc.
<h3>
Linux kernel versions</h3>
The book Linux Device Drivers [RUB] primarily addresses Linux 2.0 kernels.
The Wormhole driver runs under Linux 2.2.14. Some of the kernel calls made
by the Wormhole driver are different than described in the book. A good
source of information about kernel changes between 2.0 and 2.2 is <a href="http://www.atnf.csiro.au/~rgooch/linux/docs/porting-to-2.2.html">porting-to-2.2.html</a>
.
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Mark Taylor<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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">Hooking Up a Local School Network to the Net with a Java Proxy</font></H1>
<H4>By <a href="mailto:award@mypic.ad">Alan Ward</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<p>I'm writing this article after a couple of weeks of messing around
getting our local school network hooked up to the net. Our problem was
similar, I guess, to that of many schools: how do you give students'
boxes access to the net, but restricting both certain types of content
and certain services altogether (IRC)?</p>
<p>A minor extra point was that I wanted to separate our two
computer labs' networks into different segments with some kind
of packet filtering in between. With the number of computers going up, so
was the collision rate.</p>
<p>I had the following material considerations to take into account:</p>
<p><ul>
<li>A connection to our ISP via an ISDN card - of a make unfortunately not
supported right now by the Mandrake kernels I use. So the box connecting
directly to the net had to run under Windoze, with the WinGate proxy
installed. This is not in itself a bad thing, as configuring dial-on-demand
on a Linux box would have taken too much of my time to find
out how it is done.</li>
<li>An eclectic collection of Windows 95 / 98 / 2000 client machines,
plus an occasional Macintosh and PC under Linux or QNX. All running
various browsers.</li>
<li>A P-III 450 MHz I managed to scrounge, with several ethernet cards.
This one was to do the filtering, and was so definately a Linux box.</li>
<li>Finally, I wanted http and ftp access to a local web server in
much the same way as access to the net: i.e. the user just has a
different address to type in.</li>
</ul></p>
<p>By now, the network hardware setup was more or less clear, thusly:</p>
<p align=center><img src="misc/ward/net1.jpg"></p>
<p>The filtering server also runs our local web server (Apache).
<p>Now came the interesting part: how was I to configure the lot into a
working setup?<p>
<p><b>The Linux built-in firewall</b></p>
<p>My first idea was to use Linux' routing capacities. You can set
up just about any Linux box as a router to separate two or more ethernet
segments. It just needs a card for each segment - not even necesserily
running at the same speed. You then configure the kernel built-in firewall
to ignore packets that have source and destination addresses within
the same segment, but to forward packets with source and destination
addresses in different segments.</p>
<p>This can be a definite gain of speed as the number of collisions
on an ethernet network goes up with the number of nodes on each
segment - and each collision requires a time-out to retry sending
the packet. So, for example, three segments with ten nodes each and a
Linux firewall in between outperforms a single segment with all
thirty nodes under normal and heavy traffic loads.
<p>For more information, read the Firewall-HOWTO and the ipchains manual
page</p>
<p>A simple setup would then be to program the clients to use the
net access server as their web proxy, and use the filtering server
as a firewall. This is just about the most classical distribution of
roles imaginable.</p>
<p>So why couldn't this work for me? The answer lies in the fact that
to enable routing, both the client boxes and the net access server had to
have the filtering server as their gateway. This worked fine as long
as the ISDN wasn't up. But when ISDN went up, the default gateway on
the net access server (running under Windows, remember?) became our
ISP.</p>
<p>So a request emanating from a client box goes into the filter,
and is forwarded to the net access. The WinGate proxy does its
stuff, and replies to our local client - but this message is
routed back off to our ISP ... and the client gets no reply.</p>
<p><b>The Squid proxy</b></p>
<p>As a second approach, I thought of using the squid proxy,
cascaded under WinGate. This way, a client request goes to squid on the
filter. Squid then determines if the request goes to the local
server, or has to be forwarded to the WinGate machine:</p>
<p algin=center><img src="misc/ward/net2.jpg"></p>
<p>And did this work? Yes, very well ... as long as the client
requested either the local server or an internet website by giving
its IP address. The problem was with DNS.</p>
<p>The squid proxy has to determine where to send each request.
So even if you give it a default cascaded proxy, it still tries
to perform DNS address resolution on each URL it receives.</p>
<p>I then tried the following: set up WinGate as a DNS proxy
as well as www, and tell the filter to use the net access
box as its main DNS. The requests went through to WinGate,
but got no reply from the 'net. Confounding ... and the client
box gets a message from squid complaining it can't proceed with
address resolution. Needless to say,
the net access server's DNS setup works well on its own.</p>
<p>Another approach was to use the Apache webserver's proxy
capabilities. This worked just as well - and just as badly -
as squid.</p>
<p>Recommended reading: all 1907 lines of /etc/squid/squid.conf .
Same for /etc/httpd/conf/httpd.conf .</p>
<p><b>Homebuilt Java proxy</b></p>
<p>As you may imagine, I was at this time fresh out of ideas. And
school-in was 48 hours away. So I took the only reasonable decision -
write my own proxy daemon in Java, to be installed on the filter.</p>
<p>This may take a bit of explaining. First of all, why is writing
a proxy daemon reasonable? In this case, the proxy just had to:<br>
<ul>
<li>accept a socket connection from a client, and read the client browser's
request;</li>
<li>establish a second socket connection to WinGate, send the client's
request on with no changes;</li>
<li>listen on the second connection, and send whatever came down
the line back on the first connection;</li>
<li>terminate the first connection as soon as the second one is dropped
by WinGate.</li>
</ul></p>
<p align=center><img src="misc/ward/net3.jpg"></p>
<p>There is no caching, no address resolution, nothing else to be done.</p>
<p>Secondly, why is it reasonable to write such a program in Java,
when network programming is traditionnaly done in C? Mainly because
programming sockets in C is a pain, and doing it in Java is painless.
All relevant classes are available in java.net.* : Socket, ServerSocket,
DataInputStream and PrintStream are about all you need.</p>
<p>It is also as easy in Java as is C to fork off a process to handle
separately each client connection. The difference is that in Java,
one usually uses a <u>thread</u>, not a separate process. This has some
advantages on the typical C solution. Each process has its own memory
allocation, etc, and so takes relatively longer to establish. A thread
is an altogether lighter structure.</p>
<p>Finally, it works. To be quite honest, it works more quickly
than I thought, and what was initially conceived as a quick solution
looks to stay as a permanent one. In fact, with 20-30 clients going
full steam on Internet, the limiting factor is ... our ISP.</p>
<p><b>Future improvements</b></p>
<p>Just one on my TODO list: as it stands, there is no page
content filtering. I will work on that later on (and cut out
web-based chats at the same time).</p>
<p>My source code is here: <a href="misc/ward/proxy.java.txt">proxy.java</a>,
naturally under GPL. Please send me any comments you may have.</p>
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Alan Ward<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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">AOLserver - a web development platform</font></H1>
<H4>By <a href="mailto:irvingw@pobox.com">Irving Washington</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<h3> Introduction and short history of AOLserver </h3>
A web server is not an end in itself - it's only a tool that
allows creating web services. This article introduces an
<a href="http://www.aolserver.com">AOLserver</a>, an open-source,
standards-compliant web server extraordinaire (think Apache on steroids)
that runs beautifully under GNU/Linux. We present its history and
show how its capabilities make it an ideal web development platform.
<p>
First there was a company called NaviSoft founded by a couple of wizard
Unix programmers. They've set out to create the best web publishing system
on the planet and they were well on their way. It was 1994 and their product,
a web server called NaviServer, was multi-threaded from the ground up
(Apache is still trying to catch up with this particular feature), had a tightly
integrated scripting language, good extension API and database connectivity
built in. It was so good that AOL decided in 1996 to use it to
<a href="http://www.netcraft.com/whats/?host=www.aol.com">power the core
of their business</a> - multiple AOL web-estate. But buying programs is not
how AOL works - they've bought the whole company to make sure that
the software will grow as fast as AOL's needs. Thus NaviServer has been
renamed to AOLserver. In 1999 an MIT researcher, accomplished photographer and
web-developer in one person, <a href="http://philip.greenspun.com/">Philip
Greenspun</a>, convinced AOL that it should open-source
AOLserver for the mutual benefit of AOL and public at large. So they did.
After a few months of frantic code cleanup AOLserver 3.0 debuted as an
open-source web server whose development is largely community
driven. AOLserver 3.1 has been released in September 2000.
<h3> Qualities of a good web server </h3>
A web server is more like a C compiler than a word processor.
It's a tool, a development platform that is used to
build web services. Let's examine some of the desirable
qualities that a web server should have
and see how well AOLserver fits the bill.
<h4> Robustness, stability, scalability </h4>
I list robustness in the first place because if your
web server crashes and your web pages are inaccessible
to visitors then nothing else really matters.<p>
AOLserver is robust, stable and scalable, after all
it has been perfected for years by a tight group of programming
wizards. Fortunately, you don't have to take my word for it.
AOLserver has been battle-field tested in the most demanding
environments. It is known to serve 30 thousand hits per seconds
on <a href="http://www.netcraft.com/whats/?host=www.aol.com">AOL</a>
sites. <a href="http://www.arsdigita.com">ArsDigita</a>, a
Web development company, has built numerous web sites
(<a href="http://www.netcraft.com/whats/?host=www.photo.net">www.photo.net</a>,
<a href="http://www.netcraft.com/whats/?host=www.scorecard.org">www.scorecard.com</a>,
<a href="http://www.netcraft.com/whats/?host=www.away.com">www.away.com</a>)
that routinely serve millions hits per day.
The bottom line is: AOLserver proved to be extremely stable
and scalable by serving some of the most popular sites on the
Internet today.
<h4> Features, a lot of them </h4>
For serving static pages AOLserver is just as good as any other
fast, efficient and reliable web server.
Today, however, publishing static content is not thrilling
anymore. The focus is on dynamic, collaborative services.
AOLserver has been built from the ground up for such
purposes and it shows. Here's a list of features that
a web server should have, why it should have it and
a description of what AOLserver offers.
<p>
You want web server to <b>support four of the most popular programming
paradigms</b>. You can think of a web service in object-oriented
terms: a web server is an object whose methods are URLs. Users
invoke methods by requesting an URL from within their web
browser. The simplest way a web server can respond to such
request is to fetch a static HTML file from the file system
and send its content to an user. Doing anything more complicated
means running a computer program which will generate an HTML
page. One way to do it is by <b>extending web server itself</b>
using its C extension API. Every popular web server
(Apache, IIS, Netscape) has some implementation
of this idea. AOLserver provides well thought out C
extension API that makes writing modules that extend its functionality
really easy. As an example: the source code embedding PHP in
AOLserver is half the size of the similar code that embeds PHP in Apache
(this "benchmark" should be taken with an appropriate
grain of salt but it gives a rough idea of extension API quality).
Having praised the API it should be noted that this is a
very slow and error prone way of writing web services (on any
web server). You have to code in a very low-level language
(C), debugging is a nightmare and smallest mistake can crash
the whole server.
<p>
To remedy those shortcomings a <b>CGI protocol</b>
has been created. This protocol is supported by
all major web servers including AOLserver.
The idea is very simple: upon page request
a web server will execute a program and whatever this
program will send to its standard output will be sent
back to a browser. The greatest advantage is that
it can significantly shorten development time since
programmer can use the best tool for the job
(which usually means a scripting language like Perl, Tcl,
Lisp or simply a language that he is most familiar with).
The disadvantage is that it's slow (for each request a
program needs to be executed and it's very expensive
operation) and thus doesn't scale well.
<p>
To improve performance
web servers started to <b>directly embed</b> scripting
languages. The most popular examples are mod_perl
in Apache and PHP. Since interpreter is linked
with the web server executable it's no longer
necessary to fork an external program to execute
the script which saves a lot of time. This approach
conserves the fast development advantage of CGI
scripts but the cost is that it limits you to
one particular scripting language (which may or may not
be an disadvantage depending on how well developer
knows this scripting language). AOLserver's story
in this department is very compelling: it is
the only major web server that comes with a tightly
integrated scripting language (Tcl) out-of-the-box.
If for some reason you dislike Tcl you can use
PHP, Python, Java (and there is a work in progress to
add Perl support).
<p>
The last programming paradigm is <b>server-side includes</b>
ie. code embedded in HTML pages. When a page
is server it is parsed by the server, HTML code is left
untouched, embedded code chunks are executed and replaced
by their output and resulting page is sent to browser.
The most popular example of this paradigm are ASP pages in
IIS. AOLserver provides developers with a similar feature:
ADP pages that allows you to embeded Tcl code inside HTML.
<p>
You want your web service to be <b>fast and efficient</b>.
AOLserver's multi-threaded architecture gives you
the performance advantage over process based web servers
(eg. Apache 1.3.x, Apache 2.0 is being rewritten as
multi-threaded server but hasn't yet reached maturity).
If a web server is based on processes it has to
create a new process to serve each http request.
AOLserver only has to spawn a new thread and it's
much faster.
<p>
You want to have ability to <b>share data between scripts</b>.
There are many uses for such feature, the simplest
example would be to count how many times a given
page/script has been called. It's not easy to achieve
this in a process based web server because processes
do not share dynamically allocated memory. As an example, if you
use mod_perl scripts in Apache, you can have a global
variable and increment it but if you think that this
will tell you the total number of times the script has been
executed you're in for a surprise: this value is actually
per-script-per-process and since Apache pre-forks multiple processes
and (as far as programmer is concerned) unpredictably assigns
them to execute scripts your counter won't give you an accurate
number. It's possible to overcome this using shared memory (or
by storing the data in a database) but it is
so cumbersome and non-standard that it's not popular among
Apache developers. In AOLserver it's a child's play
thanks to the fact that threads share dynamic memory
and excellent built-in <b>nsv</b> interface.
<p>
Since dynamic web services usually have to store
data in a database and retrieve data from a databases you
want your web server to have an
<b>ability to talk to databases</b>. AOLserver comes
with an exceptionally good, standardized and fast database
connectivity API. It's fast because it uses connection pooling, ie.
database connections are opened when the web server starts and
subsequently reused among scripts.
An alternative (used eg. in PHP3) is to open a connection
on the beginning of a script and close it at the end.
This approach is much slower.
<br>
Standardized means that you use the same API
to send SQL commands regardless of the database server used
(to contrast, in PHP each database has its own set of
APIs). It's easier to port the code
when switching databases (SQL statements still need
to be ported, but that just shows how <i>standard</i>
an SQL standard is).
<br>
To top it off drivers exist for most popular
databases: Oracle, PostgreSQL, MySQL, Informix,
Interbase, Solid, DB2.
<p>
AOLserver provides developers with more basic blocks
for building dynamic web services than any other
web server. Most web services have to solve many
similar problems and provide:
<ul>
<li> user and session tracking
<li> permissions system
<li> content management (publishing, templating)
<li> e-commerce
<li> banner management
<li> site-wide search
<li> and many, many more
</ul>
Even given all the wonderful features of AOLserver
you might get tired reinventing the infrastructure needed
for supporting collaborative web service.
Instead of re-inventing the wheel you might take a look at
open-source, Oracle-based
<a href="http://www.arsdigita.com">ArsDigita Community
System (ACS)</a> (or at
<a href="http://www.openacs.org">OpenACS</a>, port of ACS
that uses open-source PostgreSQL database).
You'll have to spend some time in learning about this
very extensive toolkit but after an initial investment
you'll be able to quickly build high-quality web services
that require advanced collaboration features.
<h4> Documentation </h4>
Good documentation is essential. More often than not it's also the most
frequently neglected aspect of open-source projects. AOLserver, thanks to its
commercial roots, has a very good documentation, available both on-line
and off-line. It consist of an administrator guide, detailed guides to C
and Tcl interfaces, a guide to developing database drivers.
<h4> Vibrant community </h4>
An active community of users and developers is important
for steering programs into new waters, providing suggestions
and bug fixes, helping new users etc. AOLserver has entered
open-source land relatively recently and has already gained
an attention of external developers. There are projects in full
swing that push AOLserver into realms it has never reached
before. The following modules are being worked on by community
members (independent of the core developers):"
<ul>
<li> quickly maturing <a href="http://pywx.idyll.org">PyWX project</a>
embeds a Python interpreter inside AOLserver so that it enjoys the
same high integration as Tcl
<li> <a href="http://www.arsdigita.com/download">nsxml</a> module
contributed by ArsDigita adds XML processing capabilities by
wrapping <a href="http://www.xmlsoft.org">libxml</a> in a Tcl interface
<li> <a href="http://nsjava.sourceforge.net/">nsjava</a> enables
calling Java from within AOLserver
<li> <a href="http://www.cs.pub.ro/~gaburici/nstomcat/">nstomcat</a>
enables running servlets inside AOLserver
<li> first stab at embedding Perl <a href="http://www.laney.edu:8080/users/jim/perl-aol.html">has been made</a>
</ul>
<h3> Conclusion and links </h3>
Web is changing rapidly. Static pages and simple CGI
scripts are not sexy anymore.
Anything worthwhile that can be achieved on the Web today
involves building web pages from dynamic data sources,
collaboration among visitors, tracking user's behavior
etc. AOLserver's features make it an ideal development
platform for building such advanced, collaborative web
services.
<p>
To get more information check those sites:
<ul>
<li> <a href="http://www.aolserver.com">www.aolserver.com</a> is the
best place to get more information about AOLserver and participate
in its development
<li> Philip Greenspun has written an excellent introduction to
AOLserver. Here's <a
href="http://www.arsdigita.com/asj/aolserver/introduction-1">part
one</a> and <a
href="http://www.arsdigita.com/asj/aolserver/introduction-2">part
two</a> of his article
<li> <a href="http://www.aolserver.com/tcl2k/html/index.htm">this
paper</a> shows how AOLserver is used to
power some really heavy-weight sites
<li> when you get past simple web sites you might want to read
<a href="http://www.arsdigita.com/books/panda/">
Philip and Alex's Guide to Web Publishing</a> to find out what
designing web services is about
</ul>
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Irving Washington<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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">Two Years Ago - the birth of the Linux Professional Institute (LPI)</font></H1>
<H4>By <a href="mailto:dan@lpi.org">Dan York</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<h2 align=center>Two Years Ago...</h2>
<p>Two years ago, in the October 1998 Linux Gazette, there appeared a brief
<a href="../issue33/york.html">article</a> that started part of a process
underway that I do not believe any of us had any idea would go as far as it has.
<p>As I mentioned in my <a href="../issue46/york.html">article last
October</a>, my original article outlined the reasons why I felt
a professional certification program would benefit Linux. It concluded with
several questions and asked how I could join in the discussion:
<blockquote>
<p><i>If you agree that a certification program can be beneficial for the
growth of Linux, how do we as a community go about addressing the points I
made above about creating a certification program? Do we create another
mailing-list or newsgroup? (Does such a group or list already exist? If so, I
have so far failed to find it.) Do we meet at a conference? </i>...
<p>...<i>I don't necessarily have the answers - but I would like to participate
in the discussion. If someone can suggest the appropriate forum in which this
discussion should take place (or is currently taking place!), please let me
know. </i>
</blockquote>
<p>Two years ago, we had no idea that what we were beginning would become the
<a href="http://www.lpi.org/">Linux Professional Institute</a>. We had no
clue of the <a href="http://www.lpi.org/a-advisory.html">tremendous support
we would receive</a> not only from members of the Linux community, but also
from the larger IT, training and publishing communities. Nor did we know
of the <a href="http://www.lpi.org/a-sponsors.html">significant financial
support</a> we would receive. We had no idea how incredibly expensive
all of this would be to pull of. Nor did we know how significantly LPI
would change some of our lives.
<p>And yet... two years later, we have deployed the two exams of
<a href="http://www.lpi.org/p-index.html">Level 1.</a> As I write this,
the exams are <a href="http://www.lpi.org/waiting/">completing</a> the final
stages of the <a href="http://www.lpi.org/p-development.html">incredibly
long and comprehensive process</a> that is involved with our efforts. And
our approach of <i>NOT</i> endorsing or approving any single way of
preparing for our exams has paid off with
<a href="http://www.lpi.org/c-preparation.html"><b>many</b> different ways for people to prepare for our exams</a>.
<p>There are so many people to thank that it is next to impossible to even
<i>begin</i> to list them all. We have tried with web pages thanking
people who have assisted us in <a href="http://www.lpi.org/thanks99.html">
1999</a> and <a href="http://www.lpi.org/thanks00.html">2000</a>, but even
those lists fall short. I would refer you to the articles listed below
to understand both what we have gone through and also who should be thanked.
We have been <i>extremely</i> grateful for all the support of people within
the Linux community and also within the larger IT world. We would also
thank the <a href="/">Linux Gazette</a> for providing the forum that helped
launch our effort and continued to help get our message out. They, and so
many other Linux magazines, journals and web sites have been instrumental
in helping the world learn about our program.
<p>LPI began with a fairly simple idea - if there <i>is</i> to be certification
for Linux, which the larger IT and training industry pretty much determined
would be inevitable, then that certification <i>should be controlled by the
actual Linux professionals working with the operating system</i> and not
by any one Linux vendor or any publishers or training/courseware providers.
Furthermore, candidates should have <a href="http://www.lpi.org/c-preparation.html">the freedom to choose how they prepare</a> for the exams, including the
option of not taking any classes at all and simply studying the
<a href="http://www.lpi.org/p-index.html">exam objectives</a>.
The exams should be <a href="http://www.lpi.org/c-registration.html">available
globally</a> and as inexpensively as possible, and should use
<a href="http://www.lpi.org/p-development.html">standard industry practices</a>
to ensure that the exams are legally defensible, statistically-valid and able
to stand equal or better than other existing IT certifications.
<p>It's been a very long road with plenty of joyous moments and plenty of
rough spots. But working together, we have done it! Yes, there is still a
long way yet to go, and there is much ahead for us to do. There are
<i>many</i> more challenges ahead, and we will need the active support
and participation of <i>many</i> more people to meet those challenges
(please contact Wilma Silbermann &lt;<a href="mailto:wilma@lpi.org">
wilma@lpi.org</a>&gt; if you would like to volunteer). We will need
<a href="http://www.lpi.org/i-jobs.html">help</a> in many different
areas... we will need new people providing leadership... we will need
<a href="http://www.lpi.org/i-sponsorship.html">new financial sponsors</a>...
we will need more people to write and speak about LPI. But based on what
I have seen in the past two years, I am more confident than ever that we
<i>will</i> continue to build LPI to be a premier certification program.
<p>Yet on this October day, I believe we should
take this moment to pause, sit back and appreciate all that has been done by
so many different people. We thank everyone who has been involved for
your past and continued support and look forward to continuing to work with
you all to move this program on to even greater heights!
<p>And so much of it began here, with <a href="../issue33/york.html">a little
article</a> and, <i>most importantly</i>, all of the people who responded
back to say that they, <i>too</i>, wanted to help...
<br>
<hr>
<center>
<h4><a name="Previous"><a name="Previous1">Previous</a> ``Linux
Certification'' Columns</a></h4>
</center>
<p><b>by Dan York</b><br>
<a href="../issue33/york.html">Linux Certification Part #1, October 1998</a>
<br>
<a href="../issue34/york.html">Linux Certification Part #2, November 1998</a>
<br>
<a href="../issue35/york.html">Linux Certification Part #3, December 1998</a>
<br>
<a href="../issue37/york.html">Linux Certification Part #4, February 1999</a>
<br>
<a href="../issue40/york.html">Linux Certification Part #5, Mid-April 1999</a>
<br>
<a href="../issue43/york.html">Linux Certification Part #6, July 1999</a>
<br>
<a href="../issue46/york.html">Linux Certification Part #7, October 1999</a>
<br>
<p><b>by Ray Ferrari</b><br>
<a href="../issue50/ferrari.html">Linux Certification Part #8, February 2000</a>
<br>
<a href="../issue54/ferrari.html">Linux Certification Part #9, June 2000</a>
<br>
<a href="../issue57/ferrari.html">Linux Certification Part #10, September 2000</a>
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Dan York<BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</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="#notlinux">Not Linux</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>
<!--======================================================================-->
<!-- BEGIN bio -->
<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.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Fernando Correa</H4>
Fernando is a computer analyst just about to finish his
graduation at Federal University of Rio de Janeiro. Now, he has built
with his 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 their Internet users.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Eric Kasten</H4>
I'm a software developer by day and an artist, web developer,
big dog, gardener and wine maker by night. This all leaves very little
time for sleep, but always enough time for a nice glass of Michigan
Pinot Gris. I have a BS double major in Computer Science and
Mathematics and an MS in Computer Science. I've been using and
modifying Linux since the 0.9x days. I can be reached via email at
<A HREF="mailto:kasten@sunpuppy.com">kasten@sunpuppy.com</A> or through
my website at <A HREF="http://www.sunpuppy.com">http://www.sunpuppy.com</A>.
<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.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Ben Okopnik</H4>
A cyberjack-of-all-trades, Ben wanders the world in his 38' sailboat, building
networks and hacking on hardware and software whenever he runs out of cruising
money. He's been playing and working with computers since the Elder Days
(anybody remember the Elf II?), and isn't about to stop any time soon.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Kapil Sharma</H4>
Kapil Sharma is a Linux/Unix and Internet security consultant. He has been
working on various Linux and Unix systems for more than 2 years. He is
providing commercial support for Linux/Unix systems and writing technical
articles. His professional web site is
<A HREF="http://www.linux4biz.net">linux4biz.net</A>.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Mark Taylor</H4>
Mark works at Motorola Computer Group on diagnostics for the
custom circuits on MCG's x86 computer board products.
He has also done 68K firmware, a SCO Unix device driver,
some Ada applications, and 10 years of avionics software.
Mark is happiest down in the lowest levels of the system tweaking hardware.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Alan Ward</H4>
Alan teaches CS in Andorra at highschool and university levels. He's
back to Unix this year after an 8-year forced interlude since he
graduated -- it makes networking so much easier. His hobbies include
science photography (both digital and traditional), trekking, rock and
processor collecting.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Irving Washington</H4>
Irving Washington (pseud.), as witnessed by his personal server
<a href="http://www.fifthgate.org">www.fifthgate.org</a>, is mostly
interested in creating useful web services.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Dan York</H4>
Dan recently joined the staff of <A HREF=http://www.linuxcare.com>
LinuxCare</A>, to work full-time on
developing the Linux Professional Institute certification program. He has been
working with the Internet and UNIX systems for 13 years and PCs since the early
Apple computers in 1977 . While his passion is with Linux, he has also spent
the past three years working with Windows NT. Dan has written numerous articles
for technical magazines, and has also spoken at various conferences within the
training industry. He is now a member of the Certification committee of the
Systems Administrators Guild (SAGE - a division of USENIX).
<!-- END bio -->
<a name="notlinux"></a>
<P> <hr> <P>
<!--====================================================================-->
<center><H3><font color="maroon">Not Linux</font></H3></center>
<P> <HR> <P>
<!--======================================================================-->
<P>
<!-- *** BEGIN Not Linux *** -->
<H3><EM>www.linuxgazette.com</EM> usage stats</H3>
Here are the top 10 browsers/spiders which viewed the main LG site in
August:
<TABLE WIDTH=510 BORDER=2 CELLSPACING=1 CELLPADDING=1>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH BGCOLOR="#C0C0C0" ALIGN=CENTER COLSPAN=4>Top 15 of 1071 Total User Agents</TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TH BGCOLOR="#C0C0C0" ALIGN=center><FONT SIZE="-1">#</FONT></TH>
<TH BGCOLOR="#008040" ALIGN=center COLSPAN=2><FONT SIZE="-1">Hits</FONT></TH>
<TH BGCOLOR="#00E0FF" ALIGN=center><FONT SIZE="-1">User Agent</FONT></TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR BGCOLOR="#D0D0E0">
<TD ALIGN=center><FONT SIZE="-1"><B>1</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>880501</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">38.63%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1"><STRONG>MSIE</STRONG></FONT></TD></TR>
<TR BGCOLOR="#D0D0E0">
<TD ALIGN=center><FONT SIZE="-1"><B>2</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>829419</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">36.39%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1"><STRONG>Netscape</STRONG></FONT></TD></TR>
<TR>
<TD ALIGN=center><FONT SIZE="-1"><B>3</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>269986</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">11.85%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1">Wget/1.5.3</FONT></TD></TR>
<TR>
<TD ALIGN=center><FONT SIZE="-1"><B>4</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>44209</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">1.94%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1">Teleport Pro/1.29</FONT></TD></TR>
<TR>
<TD ALIGN=center><FONT SIZE="-1"><B>5</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>29842</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">1.31%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1">WebCopier</FONT></TD></TR>
<TR>
<TD ALIGN=center><FONT SIZE="-1"><B>6</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>25202</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">1.11%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1">testspider</FONT></TD></TR>
<TR>
<TD ALIGN=center><FONT SIZE="-1"><B>7</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>11080</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.49%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1">HTTrack 2.0</FONT></TD></TR>
<TR>
<TD ALIGN=center><FONT SIZE="-1"><B>8</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>8966</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.39%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1">AVSearch-3.0(EoExchange/Liberty)</FONT></TD></TR>
<TR>
<TD ALIGN=center><FONT SIZE="-1"><B>9</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>8432</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.37%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1">Opera 4.0</FONT></TD></TR>
<TR>
<TD ALIGN=center><FONT SIZE="-1"><B>10</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>7927</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.35%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1">AvantGo 3.2</FONT></TD></TR>
<TR>
<TD ALIGN=center><FONT SIZE="-1"><B>11</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>7438</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.33%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1">Slurp/2.0-BigOwlWeekly (spider@aeneid.com; http://www.inktomi</FONT></TD></TR>
<TR>
<TD ALIGN=center><FONT SIZE="-1"><B>12</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>7107</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.31%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1">GETWWW-ROBOT/2.0</FONT></TD></TR>
<TR>
<TD ALIGN=center><FONT SIZE="-1"><B>13</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>5985</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.26%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1">Slurp/2.0-RedtailCrawl (slurp@inktomi.com; http://www.inktomi</FONT></TD></TR>
<TR>
<TD ALIGN=center><FONT SIZE="-1"><B>14</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>5160</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.23%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1">Konqueror/1.1.2</FONT></TD></TR>
<TR>
<TD ALIGN=center><FONT SIZE="-1"><B>15</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-1"><B>4717</B></FONT></TD>
<TD ALIGN=right><FONT SIZE="-2">0.21%</FONT></TD>
<TD ALIGN=left NOWRAP><FONT SIZE="-1">sitescooper/3.0.0beta (http://sitescooper.cx) libwww-perl/5.4</FONT></TD></TR>
<TR><TH HEIGHT=4></TH></TR>
</TABLE>
</UL>
<P> Usage has been hovering at 80,000-90,000 readers (=unique IPs) per month,
or 135,000-155,000 visits (from the same IP within a short time period).
Of course, some IPs represent multiple readers, but on the other hand,
readers with dynamic IP addresses are counted for each address they
visit under, so it probably evens out. This includes only
www.linuxgazette.com, not the mirrors.
<H3>The <EM>Gazette</EM> mailbox overfloweth with spam</H3>
<UL>
<LI> Fed up with being shut down by your ISP? People screaming?
People sending you FLAMES? Being bombarded with COUNTER OFFERS? LOW response
rate? Then let us take over the hassles for you... Promote your web site
without the worries of it being shut down because of spam complaints. Our
operation centers are protected by Central Intelligence Agency level security.
<P>
<LI> I was wondering if you were interested in DRAMATICALLY increasing
your INTERNET SALES and SIGNUPS and getting MORE WEBSITE TRAFFIC.<P>
<LI> Build a residual income from time you spend on the Internet
placing FREE advertisements like this.<P>
<LI> As you can guess this is unsolicited mail and some people are
cross when they get it and complain to the ISP.. For this reason we do not want
to send it through our ISP WHO MAY STOP serving us. I hear that at your end
things are not as strict. Can we host a site with you and use your ISP for
mailing? If positive -what is the cost.<P>
<LI> We have found your resume on web. We would like to know if you are
still pursuing a position.
<EM>[Since when did </EM>Linux Gazette<EM> have a resume?
-Ed.]</EM><P>
</UL>
<H3>But this piece qualifies as the <U>Spam Of The Summer</U></H3>
<BLOCKQUOTE>
<P> It's no secret that the Internet has very recently developed
into the hottest marketing medium since television! Those
with the skills to take advantage of this new medium are
starting to make some very serious money.
<P> My offer to you is this. You send me $39 bucks I will mail
You my E-mail Marketing Kit CD Disk containing the following
information and software.
<P> Bla bla bla The Bulk E-mail Handbook bla bla bla The Targeted Direct E-mail Marketing E-Book bla bla bla...
<P> As if this wasn't enough, hold on to your seat, I am even going to
give you absolutely FREE the following software:
<OL>
<LI> 1.) A copy of CHECKER CHECKS BY FAX SOFTWARE...
This is a fully functional program not a crippled demo. Now
you can take payment from your customers by Fax, Phone or E-mail
simply by taking their Checking account information.<P>
<LI> 2.) A copy of smtp lookup software that will find you foreign mail
servers you can use to send your mail completely undetected. This
software will test mail through hundreds of servers an hour. I will even
Supply you with a list of 16000 foreign domains to insert into your testing.
</OL>
<P> And I will throw in 500,000 Fresh E-mail addresses. If you are selling
a product or service these are the addresses you want.
<P> SPECIAL BONUS if you order your CD By 9/30/00 I will supply you
with a copy of E-mail Software you can use to send your message
to millions and a copy of E-mail list extracting software you can use to
extract E-mail Addresses from all over the Internet.
<P> Just make out your check
for $39 payable to X and write void across the
face then tape or glue it to the order form at the bottom of
this page and you will have your E-mail Marketing Information
Kit mailed the same day.
</BLOCKQUOTE>
Why would somebody ask you to write "VOID" on the check you're
sending them as payment? Doesn't that mean he won't get paid?
<P> Read paragraph "1." again. He'll send you software
which allows you to "take payment from your customers ... simply by
taking their Checking accunt information". Thus, he has software
which allows <EM>him</EM> to take payment from <EM>you</EM> simply by
taking <EM>your</EM> checking account information.
<P> When do people normally ask for a voided check? When you're
setting up automatic payment with them, of course! So you can pay the
monthly electric or ISP bill without having to write a check.
But this is a one-time payment, isn't it? Or is it?
<P> No wonder he tells you to write "VOID" on the check. He doesn't
plan on cashing it anyway.
Now the question becomes, will he put the order through at $39? Or $399?
<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; 2000, the Editors of <I>Linux Gazette</I><BR>
Published in Issue 58 of <i>Linux Gazette</i>, October 2000</H5>
<!-- *** END copyright *** -->
</BODY></HTML>