6526 lines
267 KiB
HTML
6526 lines
267 KiB
HTML
<!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
|
||
Published by <I>Linux Journal</I></H2>
|
||
|
||
<A HREF=../index.html>Front Page</A> |
|
||
<A HREF=../index.html>Back Issues</A> |
|
||
<A HREF=../faq/index.html>FAQ</A> |
|
||
<A HREF=../mirrors.html>Mirrors</A> |
|
||
<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 & 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ê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ê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 © 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 <<A HREF="mailto:dcjames@home.com"
|
||
>dcjames@home.com</A>>
|
||
|
||
<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" <<A HREF="mailto:Padraig_Tobin@eur."
|
||
>Padraig_Tobin@eur.</A>3com.com>
|
||
|
||
<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 <<A HREF="mailto:Henk.Langeveld@holland.sun.com">Henk.Langeveld@holland.sun.com</A>>
|
||
<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 <<A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A>>
|
||
<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ón de <EM>Linux Gazette</EM>
|
||
en español está 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> <<A HREF="mailto:jorge@hal9000.eui.upm.es">jorge@hal9000.eui.upm.es</A>>
|
||
<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ículo sea quizás un poco débil de
|
||
detalles, contiene algo de información de interés a unos
|
||
usuarios. Hay cada nivel de lectores, tanto usuarios nuevos como
|
||
administratores de sistemas y programadores experimentados. Pues, tratamos de
|
||
publicar artículos a cada nivel.
|
||
|
||
<P> Si Vd quiere escribir algo por <EM>Linux Gazette</EM> en inglés,
|
||
envíelo a
|
||
<A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A> si es largo de
|
||
artí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ás corto. Si Vd
|
||
prefiere
|
||
escribirlo en español, envíelo a <A HREF="mailto:fbarousse@piensa.com">fbarousse@piensa.com</A> y Felipe lo tracucirá.
|
||
|
||
|
||
<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 <<A HREF="mailto:aureliomd@cantv.net">aureliomd@cantv.net</A>>
|
||
<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 & 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 © 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>¶: 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="(¶) " 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 & from the looks of your site, you MUST be
|
||
experts on Linux & 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" & "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 & 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 & 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&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 > /tmp/somefile.$$ ; read bar bang < /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 < <( 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 < /tmp/somefile.$$</TT>'
|
||
except that we are substituting a file for a filename. Thus
|
||
the <tt><( ... )</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><(...)</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¢ 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 && 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 &' 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 © 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ê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 © 2000, Fernando Ribeiro Corrê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ê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 © 2000, Fernando Ribeiro Corrê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 <matt@martine2.difi.unipi.it>
|
||
</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 © 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 © 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 © 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 > 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 = </home/$User/public_html/pdf/*.pdf>;
|
||
my $No = @Old_Pdfs;
|
||
|
||
foreach my $File (</home/$User/tiff/*.tif>)
|
||
{
|
||
$No++;
|
||
my $Ps = $File;
|
||
$Ps =~ s/\.tif/\.ps/g;
|
||
$Ps =~ s/tiff/ps/;
|
||
system "/usr/bin/tiff2ps $File > $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 © 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...
|
||
<grin> 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! <grins>); 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 ("|", ">", ">>", 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"> stty intr "" #
|
||
Ignore 'Ctrl-C'; let him pound away...</font>
|
||
<br><font face="Courier New,Courier"> echo "Wake up,
|
||
Neo."</font>
|
||
<br><font face="Courier New,Courier"> sleep 2; clear</font>
|
||
<br><font face="Courier New,Courier"> echo "The Matrix
|
||
has you."</font>
|
||
<p><font face="Courier New,Courier"> echo "He's at it
|
||
again."|mail admin -s "Update stopped by $USER"</font>
|
||
<p><font face="Courier New,Courier"> # Restore the original
|
||
data</font>
|
||
<br><font face="Courier New,Courier"> tar xvzf /mnt/backup/accts_recvbl
|
||
-C /usr/local/acct</font>
|
||
<br><font face="Courier New,Courier"> # Delete 'tmp'
|
||
stuff</font>
|
||
<br><font face="Courier New,Courier"> rm -rf /tmp/in_process/</font>
|
||
<p><font face="Courier New,Courier"> # OK, we've taken
|
||
care of the cleanup. Now, it's REVENGE time!!!</font>
|
||
<br><font face="Courier New,Courier"> rm /usr/games/[xs]quake</font>
|
||
<p><font face="Courier New,Courier"> # Give him a nice
|
||
new easy-to-remember password...</font>
|
||
<br><font face="Courier New,Courier"> chpasswd $USER:~X%y!Z@zF%HG72F8b@Idiot&(~64sfgrnntQwvff########^</font>
|
||
<p><font face="Courier New,Courier"> # We'll back up
|
||
all his stuff... Oh, what's "--remove-files" do?</font>
|
||
<br><font face="Courier New,Courier"> tar cvz --remove-files
|
||
-f /mnt/timbuktu/bye-bye.tgz /home/$USER</font>
|
||
<p><font face="Courier New,Courier"> # Heh-heh-heh...</font>
|
||
<br><font face="Courier New,Courier"> umount /mnt/timbuktu</font>
|
||
<p><font face="Courier New,Courier"> stty intr ^C # Back
|
||
to normal</font>
|
||
<br><font face="Courier New,Courier"> exit
|
||
# 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>
|
||
<br><font face="Courier New,Courier">...</font>
|
||
<br>
|
||
<hr WIDTH="100%">
|
||
<p>There's a little of the BOfH inside every admin. <grin> (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 Read the
|
||
shell script lines, but do not execute</font>
|
||
<br><font face="Courier New,Courier">-v Print the
|
||
lines as they're read</font>
|
||
<br><font face="Courier New,Courier">-x 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 <"stdio.h"></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 ()
|
||
# lists all the functions in Funky</font>
|
||
<br><font face="Courier New,Courier">{</font>
|
||
<br><font face="Courier New,Courier"> # Any time I need
|
||
a reminder of what functions I have, what</font>
|
||
<br><font face="Courier New,Courier"> # they're called,
|
||
and what they do, I just type "func_list".</font>
|
||
<br><font face="Courier New,Courier"> # A cute example
|
||
of recursion - a func that lists all funcs,</font>
|
||
<br><font face="Courier New,Courier"> # including itself.</font>
|
||
<p><font face="Courier New,Courier"> cat /usr/local/bin/Funky|grep
|
||
\(\)</font>
|
||
<br><font face="Courier New,Courier">}</font>
|
||
<p><font face="Courier New,Courier">getch () #
|
||
gets one char from kbd, no "Enter" necessary</font>
|
||
<br><font face="Courier New,Courier">{</font>
|
||
<br><font face="Courier New,Courier"> OLD_STTY=`stty
|
||
-g`</font>
|
||
<br><font face="Courier New,Courier"> stty cbreak -echo</font>
|
||
<br><font face="Courier New,Courier"> GETCH=`dd if=/dev/tty
|
||
bs=1 count=1 2>/dev/null`</font>
|
||
<br><font face="Courier New,Courier"> 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. 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"> echo "So youse
|
||
are done shoppin'?"</font>
|
||
<br><font face="Courier New,Courier"> [ $Total -ne 0
|
||
] && echo "Dat'll be $Total bucks, pal."</font>
|
||
<br><font face="Courier New,Courier"> echo "Have a nice
|
||
day."</font>
|
||
<br><font face="Courier New,Courier"> 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"> echo</font>
|
||
<br><font face="Courier New,Courier"> echo "Whaddaya
|
||
want? I got Cucumbers, Tomatoes, Lettuce, Onions,"</font>
|
||
<br><font face="Courier New,Courier"> echo "and Radishes
|
||
today."</font>
|
||
<br><font face="Courier New,Courier"> echo</font>
|
||
<p><font face="Courier New,Courier"> # Here's where we
|
||
call a sourced function...</font>
|
||
<br><font face="Courier New,Courier"> getch</font>
|
||
<p><font face="Courier New,Courier"> # ...and reference
|
||
a variable created by that function.</font>
|
||
<br><font face="Courier New,Courier"> case $GETCH</font>
|
||
<br><font face="Courier New,Courier"> in</font>
|
||
<br><font face="Courier New,Courier">
|
||
C|c) Total=$Total+1; echo "Them are good cukes." ;;</font>
|
||
<br><font face="Courier New,Courier">
|
||
T|t) Total=$Total+2; echo "Ripe tomatoes, huh?" ;;</font>
|
||
<br><font face="Courier New,Courier">
|
||
L|l) Total=$Total+2; echo "I picked da lettuce myself." ;;</font>
|
||
<br><font face="Courier New,Courier">
|
||
O|o) Total=$Total+1; echo "Fresh enough to make youse cry!" ;;</font>
|
||
<br><font face="Courier New,Courier">
|
||
R|r) Total=$Total+2; echo "Real crispy radishes." ;;</font>
|
||
<br><font face="Courier New,Courier">
|
||
*) echo "Ain't got nuttin' like that today, mebbe tomorra." ;;</font>
|
||
<br><font face="Courier New,Courier"> esac</font>
|
||
<p><font face="Courier New,Courier"> sleep 2</font>
|
||
<br><font face="Courier New,Courier"> 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>
|
||
<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 will fight to defend
|
||
themselves. 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"> -- 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 © 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>
|
||
<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&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"> -- Unknown</font></font></blockquote>
|
||
I've always considered hacking sendmail config files to be the province
|
||
of Ü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
|
||
remote_account_name@mail_domain</font>" format, like so:
|
||
<p><font face="Courier New,Courier">joe big_time@yahoo.com</font>
|
||
<br><font face="Courier New,Courier">zelda gorgeous@cheerful.com</font>
|
||
<br><font face="Courier New,Courier">walter 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>
|
||
<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>
|
||
<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 "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 <PID></font>", using
|
||
the Sendmail PID from "<font face="Courier New,Courier">ps -ax</font>".
|
||
This will restart Sendmail which forces it to re-read the new config file.
|
||
<br>
|
||
<p>Whew. Well, I'm still alive, and <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, you never know...
|
||
<br>
|
||
<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>
|
||
<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 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 © 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 how to make your Linux box secure by taking
|
||
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 will block undesired people from trying to boot your
|
||
Linux system with a special boot disk and will protect you from people
|
||
trying to change BIOS feature like allowing boot from floppy drive or
|
||
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 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 <i>#change this line to 00</i><br>
|
||
prompt <br>
|
||
Default=linux <br>
|
||
restricted <i>#add this line</i><br>
|
||
password=<password> <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>
|
||
[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>
|
||
[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>
|
||
* To set the file immutable simply, use the command:
|
||
<br>
|
||
[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>
|
||
<p><b><u>Disable all special accounts</u></b> <br>
|
||
You should 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. This is not enough and must be 8.
|
||
To do this you have to edit the login.defs file (vi /etc/login.defs) and change
|
||
the line that read:
|
||
<ul>
|
||
<i>PASS_MIN_LEN 5 <br>
|
||
</i>To read:<i> <br>
|
||
PASS_MIN_LEN 8 </i><br>
|
||
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
|
||
then you can use the commands <b>pwconv, grpconv</b> respectively. <br>
|
||
<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 Linux named "TMOUT" to the time in seconds. <br>
|
||
Edit your profile file "vi /etc/profile" and add the following line somewhere
|
||
after the line that read <br>
|
||
<i>"HISTFILESIZE="</i> <br>
|
||
<i>TMOUT=3600 </i><br>
|
||
The value we enter for the variable "TMOUT=" is in second and represent
|
||
1 hours (60 * 60 = <br>
|
||
3600 seconds). If you put this 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>
|
||
After this parameter has been set on your system, you must logout and login
|
||
again (as root) for 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>
|
||
To do this, run the following command: <br>
|
||
[root@kapil /]# rm -f /etc/security/console.apps/<servicename> <br>
|
||
Where <servicename> is the name of the program to which you wish to
|
||
disable console-equivalent access.
|
||
<p><b><u>Disable & uninstall all unused services</u></b> <br>
|
||
You should 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 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. To do this: <br>
|
||
<b>Step 1</b> <br>
|
||
Change the permissions on "/etc/inetd.conf" file to 600, so that
|
||
only root can read or write to it. <br>
|
||
[Root@kapil /]# chmod 600 /etc/inetd.conf <br>
|
||
<br>
|
||
<b>Step 2</b> <br>
|
||
ENSURE that the owner of the file "/etc/inetd.conf" is root. <br>
|
||
<br>
|
||
<b>Step 3</b> <br>
|
||
Edit the inetd.conf file (vi /etc/inetd.conf) and disable the services like:
|
||
<br>
|
||
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, using the <i>chattr</i> command
|
||
so that nobody can modify that file <br>
|
||
* To set the file immutable simply,
|
||
execute the following command: <br>
|
||
[root@kapil
|
||
/]# chattr +i /etc/inetd.conf <br>
|
||
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. To modify the inetd.conf file you will need to unset the immutable
|
||
flag: <br>
|
||
* To unset the immutable simply, execute the following command: <br>
|
||
[root@kapil
|
||
/]# chattr -i /etc/inetd.conf
|
||
<p><b><u>TCP_WRAPPERS</u></b> <br>
|
||
By using TCP_WRAPPERS you can make your server 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 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>
|
||
/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>
|
||
Which means all services, all locations is blocked, unless they are permitted
|
||
access by entries in the allow file.
|
||
<p> <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>
|
||
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>
|
||
<br>
|
||
<b>Step 3 </b><br>
|
||
The <i>tcpdchk</i> program is the tcpd wrapper configuration checker. It examines
|
||
your tcp wrapper configuration and reports all potential and real problems
|
||
it can find.
|
||
<p> * After your configuration is done, run the program tcpdchk. <br>
|
||
[Root@kapil
|
||
/]# tcpdchk
|
||
<p><b><u>Don't let system issue file to be displayed</u></b> <br>
|
||
You should not display your system issue file when people
|
||
log in remotely . To do this, you can <br>
|
||
change the telnet option in your "/etc/inetd.conf".<br>
|
||
To do this change the line in "/etc/inetd.conf":<br>
|
||
<p><i>telnet stream tcp nowait root
|
||
/usr/sbin/tcpd in.telnetd</i><br>
|
||
to look like:<br>
|
||
<i>telnet stream tcp nowait
|
||
root /usr/sbin/tcpd in.telnetd -h </i><br>
|
||
Adding the "-h" flag on the end will cause the daemon to not display any
|
||
system information and just hit the user with a login: prompt. I
|
||
will recommend to use sshd instead.
|
||
<p><b><u>Change the "/etc/host.conf" file</u></b> <br>
|
||
The "/etc/host.conf" file specifies how names are resolved. <br>
|
||
Edit the host.conf file (vi /etc/host.conf) and add the following lines:
|
||
<br>
|
||
# 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> 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>
|
||
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
|
||
or addition of services. <br>
|
||
* To immunize
|
||
the "/etc/services" file, use the command: <br>
|
||
[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>
|
||
<br>
|
||
<b><u>Blocking anyone to su to root</u></b> <br>
|
||
The su (Substitute User) command allows you to become other existing users
|
||
on the system. If 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>
|
||
<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
|
||
logging. You can add the users to the group wheel so that only those users will
|
||
be allowed to su as root. <br>
|
||
|
||
<p><b><u>Shell logging</u></b> <br>
|
||
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. I would highly recommend setting the HISTFILESIZE and HISTSIZE
|
||
in "/etc/profile" file to a low value such as 30. <br>
|
||
Edit the profile file (vi /etc/profile) and change the lines to: <br>
|
||
HISTFILESIZE=30 <br>
|
||
HISTSIZE=30 <br>
|
||
Which mean, the "Bash_history" file in each users home directory can store
|
||
20 old commands <br>
|
||
and no more. <br>
|
||
<b>Step 2</b> <br>
|
||
The administrator should also add into the "/etc/skel/Bash_logout" file the
|
||
<br>
|
||
"<i>rm -f $HOME/Bash_history</i>" line, so that each time a user logs
|
||
out, its "Bash_history" file will be deleted.<br>
|
||
Edit the Bash_logout file (vi /etc/skel/Bash_logout) and add the following
|
||
line: <br>
|
||
<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>
|
||
To do this, edit the inittab file (vi /etc/inittab) and change the line:
|
||
<br>
|
||
<i>ca::ctrlaltdel:/sbin/shutdown -t3 -r now </i><br>
|
||
To read: <br>
|
||
<i>#ca::ctrlaltdel:/sbin/shutdown -t3 -r now </i><br>
|
||
Now, for the change to take effect type in the following at a prompt:
|
||
<br>
|
||
[root@kapil /]# /sbin/init q
|
||
<p><b><u>Fix the permissions under "/etc/rc.d/init.d" directory for script files</u></b>
|
||
<br>
|
||
Fix the permissions of the script files that are responsible for starting
|
||
and stopping all your normal processes that need to run at boot time.
|
||
To do this: <br>
|
||
[root@kapil/]# chmod -R 700 /etc/rc.d/init.d/* <br>
|
||
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>
|
||
By default, when you login to a Linux box, it tells you the Linux distribution
|
||
name, version, kernel 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>
|
||
<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. So, make any changes
|
||
you <br>
|
||
# want to make to /etc/issue here or you will lose them when you reboot. <br>
|
||
#echo "" > /etc/issue <br>
|
||
#echo "$R" >> /etc/issue <br>
|
||
#echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue <br>
|
||
# <br>
|
||
#cp -f /etc/issue /etc/issue.net <br>
|
||
#echo >> /etc/issue <br>
|
||
<br>
|
||
<b>Step 2</b> <br>
|
||
Then, remove the following files: "issue.net" and "issue" under "/etc" directory:
|
||
<br>
|
||
[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>
|
||
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>
|
||
* To find all files with the `s' bits from root-owned programs, use the
|
||
command: <br>
|
||
[root@kapil]# find /
|
||
-type f \( -perm -04000 -o -perm -02000 \) \-exec ls ­lg {} \;
|
||
<p> * To disable the suid bits on selected programs
|
||
above, type the following commands: <br>
|
||
[root@kapil /]# chmod
|
||
a-s [program] <br>
|
||
|
||
<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 © 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 <linux/delay.h>. 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
|
||
& 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 © 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 © 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 © 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 <<a href="mailto:wilma@lpi.org">
|
||
wilma@lpi.org</a>> 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 © 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 © 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>
|