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

11318 lines
417 KiB
HTML
Raw Permalink Blame History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> Linux Gazette Table of Contents LG #50</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>
<H2>February 2000, Issue 50 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Published by <I>Linux Journal</I></H2>
<A HREF=../index.html>Front Page</A> &nbsp;|&nbsp;
<A HREF=../index.html>Back Issues</A> &nbsp;|&nbsp;
<A HREF=../faq/index.html>FAQ</A> &nbsp;|&nbsp;
<A HREF=../mirrors.html>Mirrors</A> &nbsp;|&nbsp;
<A HREF=http://www.linuxgazette.com/search.html>Search</A>
</center>
<!--=================================================================-->
<table>
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
<tr><td>
<table>
<tr>
<td VALIGN="top"><H1><font color="#BB0000">Visit Our Sponsors:</font></H1></td></tr>
<!-- *** BEGIN sponsors *** -->
<TR><TD>
<A HREF="http://www.linuxjournal.com"><IMG ALT="Linux Journal" SRC="../gx/ljtop.gif" BORDER="0" VSPACE="10"></A>
</TD></TR>
<TR><TD>
<A HREF="http://www.cygnus.com"><IMG ALT="Cygnus Solutions" SRC="../gx/sponsors/cygnus.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>
<TR><TD>
<A HREF="http://www.infomagic.com"><IMG ALT="InfoMagic" SRC="../gx/infologo.gif" BORDER="0" VSPACE="10"></A>
</TD></TR>
<!-- *** END sponsors *** -->
</table>
</td>
<!--==================================================================-->
<TD ROWSPAN="3" WIDTH="2" BGCOLOR="#000000" NOSAVE><IMG
SRC="../gx/hammel/cleardot.gif" ALT="" HSPACE=1 HEIGHT=1 WIDTH=1%></TD>
<td VALIGN=top>
<H1><font color="#BB0000">Table of Contents:</font></H1>
<!-- *** BEGIN toc *** -->
<UL>
<LI> <a HREF="lg_mail50.html">The MailBag</A>
<UL>
<LI> <a HREF="lg_mail50.html#help">Help Wanted &amp; Article Ideas</A>
<LI> <a HREF="lg_mail50.html#gen">General Mail</A>
</UL>
<LI> <a HREF="lg_bytes50.html">News Bytes</A>
<UL>
<LI> <a HREF="lg_bytes50.html#distro">Distro News</A>
<LI> <a HREF="lg_bytes50.html#general">News in General</A>
<LI> <a HREF="lg_bytes50.html#software">Software Announcements</A>
</UL>
<LI> <a HREF="lg_answer50.html">The Answer Guy</A> , <EM>by James T. Dennis</EM>
<LI> <a HREF="lg_tips50.html">More 2-Cent Tips</A>
<LI> <a HREF="andreiana.html">Web Applications with Database Connectivity: getting started</A> , <EM>by Marius Andreiana</EM>
<LI> <a HREF="advani.html">Interview with Mike Cowpland, Corel Corporation</A> , <EM>by Prakash Advani</EM>
<LI> <a HREF="collinge.html">HelpDex</A> , <EM>by Shane Collinge</EM>
<LI> <a HREF="ferrari.html">Creating A Linux Certification Program, Part 8</A> , <EM>by Ray Ferrari</EM>
<LI> <a HREF="guckes.html">From Pico to Nano</A> , <EM>by Sven Guckes</EM>
<LI> <a HREF="lamb.html">Linux Site O' The Month: Unix Guru Universe</A> , <EM>by Sean Lamb</EM>
<LI> <a HREF="nielsen.html">Large Objects and Perl DBI</A> , <EM>by Mark Nielsen</EM>
<LI> <a HREF="nielsen2.html">Creating Installation CDs from various Linux Distributions</A> , <EM>by Mark Nielsen and Krassimir Petrov</EM>
<LI> <a HREF="pollman.html">Sharing Your Home</A> , <EM>by JC Pollman and Bill Mote</EM>
<LI> <a HREF="rogers.html">Source file management in a complex networked environment</A> , <EM>by James M. Rogers</EM>
<LI> <a HREF="silva.html">Developing Web Applications - Part III</A> , <EM>by Anderson Silva</EM>
<LI> <a HREF="silva2.html">Artificial Intelligence and Linux (2nd Edition)</A> , <EM>by Anderson Silva</EM>
<LI> <a HREF="lg_backpage50.html">The Back Page</A>
<UL>
<LI> <a HREF="lg_backpage50.html#authors">About This Month's Authors</A>
<LI> <a HREF="lg_backpage50.html#notlinux">Not Linux</A>
</UL>
</UL>
<!-- *** END toc *** -->
<IMG ALT="Help Dex" SRC="../gx/collinge/HelpDex.gif"
WIDTH="78" HEIGHT="50" ALIGN="left">
<FONT COLOR="red" SIZE="+1"><EM>New cartoon series!</EM></FONT>
<BR CLEAR="all">
<!-- P> <FONT COLOR=red FACE=arial,helvetica>New feature!</FONT><BR>
The <A HREF=../ftpfiles.txt>current file sizes and modification
dates</A> for the FTP files is now available in a listing linked from the
Front Page. -->
</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>
<table>
<tr><td>
<A HREF="issue50.txt.gz">TWDT 1 (gzipped text file)</A><BR>
<A HREF="issue50.html">TWDT 2 (HTML file)</A><BR>
are files containing the entire issue: one in text format, one in HTML.
They are provided
strictly as a way to save the contents as one file for later printing in
the format of your choice;
there is no guarantee of working links in the HTML version.
</td></tr>
<!--==================================================================-->
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
<tr><td>
<center>
<I>Linux Gazette</I><img alt="[tm]" src="../gx/tm.gif">,
<A HREF="http://www.linuxgazette.com/">http://www.linuxgazette.com/</A><BR>
This page maintained by the Editor of <I>Linux Gazette</I>,
<A HREF="mailto: gazette@ssc.com"> gazette@ssc.com</A>
<P>
<H5>Copyright &copy; 1996-2000 Specialized Systems Consultants, Inc.</H5>
</center>
</td></tr>
<TR>
<TD COLSPAN="3" WIDTH="100%" BGCOLOR="#000000"><IMG
SRC="../gx/hammel/cleardot.gif" ALT="" HSPACE=30 VSPACE=2 HEIGHT=1
WIDTH=1 ALIGN=LEFT></TD>
<TD></TD>
</TR>
</table>
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"</H4>
<HR>
<center>
<table width="100%" cellpadding=7><tr><td>
<H2><a NAME="mail"><IMG SRC="../gx/mailbox.gif" ALIGN=MIDDLE ALT=" ">
The Mailbag!</a> </H2>
Write the Gazette at <A HREF="mailto:gazette@ssc.com"> gazette@ssc.com</A>
</td><td>
<H3>Contents:</H3>
<ul>
<li><a HREF="#help">Help Wanted -- Article Ideas</a>
<li><a HREF="#gen">General Mail</a>
</ul>
</td></tr></table>
</center>
<a name="help"></a>
<p><hr><p>
<!-- =================================================================== -->
<center><H3><font color="maroon">Help Wanted -- Article Ideas</font></H3></center>
<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.
<P> <STRONG>Before asking a question, please check the
<A HREF=../faq/index.html><I>Linux Gazette</I> FAQ</A> to see if it has been
answered there.</STRONG>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon Jan 31 13:43:03 PST 2000
<BR>From: <I>Linux Gazette</I> Editor &lt;<A HREF="mailto:gazette@ssc.com">gazette@ssc.com&gt;</A>
<BR>Subject: Transmeta
<BLOCKQUOTE> <EM>
[I'd like to see an </EM>LG<EM> article analyzing Transmeta's
announcement, the Crusoe chip, and what it means for Linux. Is there
anybody in the field of mobile computing or hardware who would care
to write such an article?
The Transmeta announcement itself is covered in the
<A HREF="lg_bytes50.html#transmeta">News Bytes</A> section. -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 18 Jan 2000 09:11:57 -0700 (MST)
<BR>From: Neil Zanella &lt;<A HREF="mailto:nzanella@tulip.math.ualberta.ca">nzanella@tulip.math.ualberta.ca&gt;</A>
<BR>Subject: Digital Cameras
<P> Hello,
<P> It would be nice if the next issue of the gazzette had an
article on using digital cameras with Linux.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 31 Dec 1999 09:23:13 -0500
<BR>From: Brian Cox &lt;<A HREF="mailto:brincare@bellsouth.net">brincare@bellsouth.net&gt;</A>
<BR>Subject: Modems
<P> I am a new user to Linux (Red Hat 6.0). I am currently dual booting
between Windows 95 and Linux and I have a 56K winmodem install. I have not
been able to get this modem to work under Linux. Can you suggest a good modem
to upgrade to? Preferably one that will work under both my Linux and Windows
installations.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 31 Dec 1999 12:12:09 -0500
<BR>From: krishens &lt;<A HREF="mailto:krishens@lynxus.com">krishens@lynxus.com&gt;</A>
<BR>Subject: Users required to enter root-password? Red Hat 6.1
<P> I have just installed version 6.1 and set up my modem to dial out to my ISP.
However, when I log on as a user and press KDE&gt;Internet&gt;kppp a pop-up box
opens up and wants me to enter the root-password! This does not seem right. is
there a way to avoid having to enter the root pass word when logged on as a
non-root user?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 1 Jan 2000 14:11:05 +0800
<BR>From: Chang Jiang &lt;<A HREF="mailto:changj10@hotmail.com">changj10@hotmail.com&gt;</A>
<BR>Subject: About Linux-Win98 interconnect
<P> Dear sir:
<P> I realy got some troubles with Samba and need your help. After
read every associated docs in the Samba documents and SMB-HOWTO,
problem is there yet.
<P> I'm trying to interconnect Win98 with Linux. My Linux is Redhat
5.2 with the Samba version 1.9.18p10. My Samba is started as deamons,
that is, usind "smbd -D" and "nmbd -D".
<P> After I set "encrypt = yes", I can use "smbclient -L WIN98PC" to
access the Win98's share directories. But although I can see Linux PC,
I cann't access Linux from the Win98, no matter set "security = user"
or "security = share". When I do that, always got a "invilad
password". So does using "net view" and "net use" command under DOS
prompt. By the way, I had use "smbpasswd" to generate smbpasswd for
each smb user.
<P> While I can login Linux with smbclient on the Linux PC itself. So
do on the Win98 PC's Linux system(My Win98 PC is dual bootable). I use
the RPM to remove the Samba and install again, nothing changed.Then
What can I do?
<P> Here is the <A HREF="misc/mail/jiang.txt">smb.conf</A> file.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 01 Jan 2000 22:01:45 -0700
<BR>From: Richard Flynn &lt;<A HREF="mailto:rflynn@uswest.net">rflynn@uswest.net&gt;</A>
<BR>Subject: Display support
<P> I am trying to run Linux on a system with a NEC Multisync monitor.
Where can I find a driver Or what monitor should I use.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 2 Jan 2000 01:52:41 -0800 (PST)
<BR>From: Alexandre I.Gorelov, SFU/TRIUMF, tel. (604)-222-1047, ext. 64-89 &lt;<A HREF="mailto:iaeg@alph04.triumf.ca">iaeg@alph04.triumf.ca&gt;</A>
<BR>Subject: Pentium-II Xeon and calculation speed
<P> Hi guys,
here I'm trying to get a little bit of help with my computer.
I'm doing a very time expensive calculations using FORTRAN programs,
compiled with g77 under Red Hat 6.1. First, on dual Pentium-II/400MHz
and Pentium-III/450MHz computers I noticed, that when program size
(RSS in top) is getting biger that approximately 600K computation speed
dramatically decreasing by factor two. This slowing down agrees with
the bus speed (100MHz) and L2 cache (512K, 200MHz). So, I've decided
that the reason lies in the cache sped/size and bought (pretty cheap)
dual Pentium-II/450MHz Xeon computer with 2MB L2 cache per proccessor
that suppose to run at 450MHz and 512M SDRAM on SuperMicro mainboard.
Unfortunately I did not find any difference in performance of this
computer and still much cheaper dual Pentium-II/400MHz. Why is it?
May be, Red Nat 6.1 somehow must be told explicitely about cache size?
But I did not find any such option...
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 02 Jan 2000 19:16:11 -0500
<BR>From: walter muller &lt;<A HREF="mailto:waltermullerorlando@worldnet.att.net">waltermullerorlando@worldnet.att.net&gt;</A>
<BR>Subject: connecting w98 and linux boxs
<P> I have one monitor and would like to connect my w98 desktop with my
linux desktop, what software do you recommend?
thank you
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 03 Jan 2000 06:53:13 -0500
<BR>From: Rick Smith &lt;<A HREF="mailto:rsmith13@tampabay.rr.com">rsmith13@tampabay.rr.com&gt;</A>
<BR>Subject: Tracing spoofed packets.
<P> Sir,
<P> I have received a lot of spoofed packets to tcp port 139 (Net bios)
within the last week. Also, most all probes I get to "known" Net Bus
and Back Orifice ports, are spoofed. I would like to be able to trace
these packets back to the true source. How do I go about doing this?
What software do I need? What methods are used? (I don't plan to
retaliate, just inform the proper authorities.) Seems to me, that this
would make an excellent article for Linux Journal or the Gazette.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 03 Jan 2000 12:45:07 PST
<BR>From: Ted Wood &lt;<A HREF="mailto:ted_wood@hotmail.com">ted_wood@hotmail.com&gt;</A>
<BR>Subject: Norton Ghost/LILO problem
<P> I'm trying to create a dual boot image with Redhat and NT Workstation. I'm
using Norton ghost version 6 to create the image. It will ghost fine but
after ghosting, lilo comes up as "LI" only. The problem is fixable by
booting to the Linux floppy and rerunning Lilo which rewrites the mbr.
After that everything is great, but why won't Lilo work properly the first
time? I've searched Symantec's page and I've tried the switches but they
all result in the same problem. Please Help!
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 3 Jan 2000 16:23:38 -0500
<BR>From: David Morris &lt;<A HREF="mailto:DMorris@dolfin.com">DMorris@dolfin.com&gt;</A>
<BR>Subject: Anti Virus programs for linux Red Hat 6
<P> Hi!
<P> Is there a "definative" anti virul program for Linux?
Any info appreciated!
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 04 Jan 2000 15:46:01 +0530
<BR>From: Pradish Mathews &lt;<A HREF="mailto:pmathews@softhome.net">pmathews@softhome.net&gt;</A>
<BR>Subject: Bug in Lockpasswd !!!
<P> I have the Red Hat 6.1 version and the Lockpasswd utility is not working
properly.
Once i lock the account i am not able to unlock it.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 04 Jan 2000 05:19:29 -0800
<BR>From: CvdBelt &lt;<A HREF="mailto:CvdBelt@goplay.com">CvdBelt@goplay.com&gt;</A>
<BR>Subject: HelpWanted!
<P> Hi Gazette Readers!
<P> I've installed RedHat Linux 6.0. If I want to create a bootdisk in
RedHat setup, my system crashes. If you can help me, please send an
e-mail to: CvdBelt@goplay.com
<P> Thank you in advance!
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 4 Jan 2000 17:57:33 +0330
<BR>From: amin Zia &lt;<A HREF="mailto:Help@mmm.gov.ir">Help@mmm.gov.ir&gt;</A>
<BR>Subject:
<P> Dear Sir:
<P> I'm looking for a way to get the users' information on my netware 4.11 from a linx
machine. the information, including password, will be used for dial-up user authentication. Would you please let me know if it is possible.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 5 Jan 2000 10:30:09 -0300
<BR>From: Luis Bogliolo &lt;<A HREF="mailto:luisb@gbs.com.ar">luisb@gbs.com.ar&gt;</A>
<BR>Subject: I habe a problem
<P> I have a problem.
I am trying to install in a linux Red Hat relase 6.0 Publishers Editor (Hedwind) a badge ethernet Intel InBusiness 10/100 and it is not recognized for the linux.
The pc in which I work is a PII of 266 Mhz with 32 Mb ram, Possesses a badge of cable modem, and a modem of 56Kbps.
I would Thank to who could offer me information of a solution.
<P> Happy New Year, Luis A. Bogliolo
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 05 Jan 2000 09:31:41 -0500
<BR>From: rbruce &lt;<A HREF="mailto:cva92@centurytel.net">cva92@centurytel.net&gt;</A>
<BR>Subject: Sound Card Problem
<P> I'm a very linux newbie. I have RH6.1. I can play music CD's and hear
system beeps for KICQ.
I'm using the KDE desktop. I have already tried sndconfig. I have system
sounds enabled.
The sound card is a Sound Blaster 16 System sounds just wont work.
Any ideas?
<P> Richard
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 5 Jan 2000 13:04:24 -0700
<BR>From: Akins Bobby Civ 28CS/SCBB &lt;<A HREF="mailto:bob.akins@ellsworth.af.mil">bob.akins@ellsworth.af.mil&gt;</A>
<BR>Subject: XTerms
<P> To Whom It May Concern,
<P> Can you tell me where to find information on setting up Linux
Server/Client machines to act like server and thin clients. My goal is
one powerful server with several smaller terminals using software off
the server.
<P> Thanks in advance.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 06 Jan 2000 00:03:52 -0500
<BR>From: Darren Lehman &lt;<A HREF="mailto:dlehman@azerty.com">dlehman@azerty.com&gt;</A>
<BR>Subject: Subject: X won't start
<P> I Have Reacently Installed LINUX on an Dell OptiPlex GX110 PentiumIII
that I bought. I can boot up an login into root but when i issue the
command the
command startx to get X to star this is what i get:
<P> execve failed for /ect/X11/X (errno 2)
<P> and then 6
<P> _X11TransSocketUNIXConnect: Can't Connect: errno = 2
<P> then
<P> Giving up
<P> and Finally I wonderered if anyone could help a LINUX newbie.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 6 Jan 2000 17:26:01 +0800 (HKT)
<BR>From: Samuel Lam &lt;<A HREF="mailto:samuell@silver.hkabc.net">samuell@silver.hkabc.net&gt;</A>
<BR>Subject: Linux + Win98 Lan
<P> Hello.
<P> Linux Redhat 6.1 and config to use Squid on the Lan.A modem PPP dail up to
ISP and NOT with fixed IP.
<P> Win98 client on the LAN can get the http_service from squid.
But win98 cannot use Telent or ICQ
Could someone tell me how to open the port or how to let the modem fully
share on the LAN.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 06 Jan 2000 16:43:00 +0100
<BR>From: Fisayp &lt;<A HREF="mailto:fisayo@steineng.net">fisayo@steineng.net&gt;</A>
<BR>Subject: Help Wanted On Domain Hosting Config
<P> Please what are the necessary steps to take to host a domain and web
site on a Linux system (Redhat)
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 08 Jan 2000 22:17:46 +0000
<BR>From: George Foussias &lt;<A HREF="mailto:gfoussia@netcom.ca">gfoussia@netcom.ca&gt;</A>
<BR>Subject: Linux and the MessagePad2000
<P> Hi everyone,
<P> I know it's possible to get Linux onto a PalmPilot, but I was wondering
if anyone knows of or has heard of a port for the Apple MessagePad (aka
the Newton). Any comments or suggestions are greatly appreciated.
<P> Thanx
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
7 Jan 00 10:29:24 MST
<BR>From: Research & Development Gruop x &lt;<A HREF="mailto:r_and_d_group@usa.net">r_and_d_group@usa.net&gt;</A>
<BR>Subject: X Windows Configuration Problem
<P> Res. Sir
<P> I regularly visit your site. First of all I must appricate your efforts to
assist users to solve their problems. ed.
<P> I have got a project on Red Hat Linux, Oralce 8i and Apache Web Server
platform.
<P> I have installed Red Hat Linux 6.1 on my pc. However I am finding it
difficult to setup my monitor. The X Window is not working at all( Commnad
Line is working Properly). I kindkly request you to help me to solve the
problem. I have tried to use Generic monitor and Video Card. Still it could
not help.
<P> My Hardware configuration is
<PRE>
Card : SiS 620 with 8 MB Shared Memory on board
Monitor : Samtron 45Bn
Monitor Synchronisation :
Horizonal : 30-55 KHz
Vertical : 50-120 Hz
</PRE>
<P> As I have to complete the project in given time constraint, i request you to
guide me as early as possible.
<P> Waiting for your replay.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 10 Jan 2000 12:27:59 -0600
<BR>From: Wagner Perlino (EDB) &lt;<A HREF="mailto:wagner.perlino@edb.ericsson.se">wagner.perlino@edb.ericsson.se&gt;</A>
<BR>Subject: Win95-Linux small network with null modem
<P> I am trying to build a small network at home with one Linuxbox and another
Win95/Win98 box. I have no printer, but I would like to share files and use
my Linuxbox as a gateway to the internet so that both boxes can use one
single dial-up connection AT THE SAME time. Is there any link or suggestion
for this type of connection ?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 10 Jan 2000 19:19:30 -0300
<BR>From: Carlos Germ&aacute;n Siufi &lt;<A HREF="mailto:csiufi@puntoar.net.ar">csiufi@puntoar.net.ar&gt;</A>
<BR>Subject: Router problem
<P> I had two networks. One at the main office (192.168.1.0) and the other
at the branch (192.168.2.0). I used two CISCO 800 ROUTERS to connect
them. I can use tcp/ip normally ("ping", "ftp", "http" from one host to
another remote host).
<P> My problem is:
<P> I can't see the remote PCs in Windows Explorer at the office. I
configured a Linux server with DNS, Mail, Ftp but It still doesn't
work. At the office I'm running IPX (there is a Netware 3.11 server) and
TCP/IP protocols. Any idea?
<P> Germ&aacute;n.
<P> PD: Sorry my english.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 11 Jan 2000 12:32:01 -0300
<BR>From: Gabriel Ramiro Ferro &lt;<A HREF="mailto:gferro@gamma.com.ar">gferro@gamma.com.ar&gt;</A>
<BR>Subject: Desde Argentina
<P> Perd&oacute;n pero no manejo el ingles, lo que desear<61>a es que me informen como
adquirir los CD de Linux en forma gratuita
Desde ya muchas gracias.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 11 Jan 2000 21:56:55 +0100
<BR>From: Ivo Naninck &lt;<A HREF="mailto:inaninck@linuxfan.com">inaninck@linuxfan.com&gt;</A>
<BR>Subject: Printing MS documents on Novell printer
<P> Hello Gazette,
<P> Can you please put the following question in your next Gazette?
<P> On my Linux box (Mandrake 6.1) I already have the Novell Netware Client
up and running.
I can print textfiles from the command line to a HP Laserjet 4Plus
printer which lives
in a Novel NDS tree. However, some people like(?) to send me Microsoft
Word and Excell
documents. When I send these kind'o files straight to the printer, they
come out real
funny :-(
I have Staroffice-5.1, with which I can read those files, but SO doesn't
(AFAIK) have
the ability to print to the kind of printer I must deal with.
Any idea is very welcome!
<P> -- <BR>
Best regards, Ivo Naninck.
<P> 1st graffitiist: QUESTION AUTHORITY!
<P> 2nd graffitiist: Why?
<PRE>
~
:wq!
</PRE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 12 Jan 2000 00:23:56 +0100
<BR>From: Jos vd Snepscheut &lt;<A HREF="mailto:snepscheut@hetnet.nl">snepscheut@hetnet.nl&gt;</A>
<BR>Subject: vgetty and .rmd files
<P> Hello,
<P> Is there a way to convert .rmd files (made by vgetty) into .wav files.
<P> thanks, Jos (newbe)
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 12 Jan 2000 09:59:39 -0500
<BR>From: abc &lt;<A HREF="mailto:abc@abc.com">abc@abc.com&gt;</A>
<BR>Subject: Partiton Magic 5.0 and Linux Installation
<P> Hi !
<P> I am not quite familiar with Linux installation and stuck at this point.
<P> I have a new DELL with 13 GB hard-disk running windows98 second edition.
<P> I bought Partition Magic 5.0 to create couple logical drives and Linux
Native and Swap Partitions.
<P> I am trying to install RedHat 5.2 using a bootable disk and a CD -ROM.
<P> For some reason, neither disk-druid nor fdisk (in-built) recognizes my
Logical Partitions.
<P> On the Blue screen (driver information) it says:
<PRE>
/hda1 &lt;size&gt; Win95 FAT 32
/hda2 &lt;size = 13 GB - size of C drive&gt; 0x0f (blank in type field)
</PRE>
<P> That means, the installation process does not know there are couple of
Logical Drives and also a Linux Native and a Swap Partitons. What does
0x0f type means ?
<P> fdisk however shows there are partitions on MS-DOS propmt but
installation program can not recognize them !
<P> Is there anything I am doing wrong ? Any suggestions ?
<P> Thanks<BR>
-H
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 13 Jan 2000 17:54:09 +0200
<BR>From: Dina Yazbeck &lt;<A HREF="mailto:dina.yazbeck@spacecom1.com">dina.yazbeck@spacecom1.com&gt;</A>
<BR>Subject: Question
<P> I am basically trying to host a domain and have all the e-mails of
the users of this domain (remotedomain.com) sent to one particular
Mailbox (such as remotedomain@myisp.net). This is straightforward.
Assuming that the remote domain machine (LINUX) polls the ISP
server. What is the procedure to use to retrieve this mail and
distribute it to the respective mailboxes of the users?
Do I have to use procmail?
Is fetchmail sufficient for distributing the mail?
Waiting for your reply.
<P> Thank you.
<P> Note: I am new to the Linux world; for that reason, please include
details.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 06 Jan 1998 05:41:58 +1300
<BR>From: M Murugan &lt;<A HREF="mailto:Admin@easybrowsing.com">Admin@easybrowsing.com&gt;</A>
<BR>Subject: How to encrypt in linux ..
<P> Sir
<P> I would like to encrypt the loginname in my linux-boot-dial floppy.
<P> Is there any command like ASC(x) or chr(x) as in VisualBasic other than
tr.
<P> Thanks in advance
<BLOCKQUOTE> <EM>
[Why do you need to encrypt your login name? The password is already
encrypted. In any case, everybody knows the most powerful login is
"root", so you would not be gaining any security. If you are concerned
about people cracking your account, change your password.
<P> Also, nothing prevents somebody from sticking their own boot floppy
in with their own passwords on it. The only way to prevent this is to
keep the computer in a locked room. -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 14 Jan 2000 15:38:17 -0500
<BR>From: Kevin Jon Schlossberg &lt;<A HREF="mailto:spark@bladeforums.com">spark@bladeforums.com&gt;</A>
<BR>Subject: ? about "logrotate" on RedHat 5.2...
<P> Hi there!
I'm a linux newbie, and I'm hoping that you'll be able to answer my
questions, as I'm kind of lost.
<P> We're currently running RedHat 5.2 on our server, and are using Apache as
our webserver program. We've got about 30 or so websites running off the
same machine, each with it's own Apache webserver. Our reasons for doing
so is to prevent 1 website from taking out all of the rest if that
particular process dies.
<P> Since each website has it's own Apache server running, each site has it's
own access_log file. Anyhow, a few of the websites have proven to be more
popular than we thought they would be, and are generating about 1 Gb of
logfiles every 7 days or so. Considering that we only have 9.1 gB of hard
disk space, we've decided that it would probably be a smart idea to start
rotating the logfiles each week.
<P> I've been looking at the logrotate program that's included with RedHat
Linux, and I'm a bit confused as to how it operates, and was hoping that
you could tell me if what I'm thinking will work.
<P> In the file /etc/logrotate.d/apache it lists
<PRE>
#/var/log/httpd/access_log {
# postrotate
# /usr/bin/killall -HUP httpsd
# endscript
#}
</PRE>
<P> As what I'm guessing the default logrotation would be.
<P> Since my configuration has the access_log files located at
<PRE>
/logs/account1/access_log
/logs/account2/access_log
/logs/account3/access_log
/logs/account4/access_log
....
/logs/accountX/access_log
</PRE>
<P> I'm going to guess that I need to change
<PRE>
/var/log/httpd/access_log
</PRE>
to
<PRE>
/logs/accountX/access_log for each accountX
</PRE>
<P> Here's the crux of my problem though - the section that states
<PRE>
# postrotate
# /usr/bin/killall -HUP httpsd
# endscript
</PRE>
<P> is worrying me because I dont want to send multiple /usr/bin/killall -HUP
httpsd signals over and over again if it's not neccessary.
<P> Can I put the /usr/bin/killall -HUP httpsd command in the
/etc/cron.daily/logrotate file so that instead of
<PRE>
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
</PRE>
<P> it instead says
<PRE>
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
/usr/bin/killall -HUP httpsd
</PRE>
<P> and have the /etc/logrotate.d/apache file read:
<PRE>
/logs/account1/access_log {
}
/logs/account2/access_log {
}
/logs/account3/access_log {
}
/logs/account4/access_log {
}
/logs/accountX/access_log {
}
</PRE>
<P> for each accountX that I have?
<P> Thanks for any assistance that you can give....
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 14 Jan 2000 16:02:38 -0500 (EST)
<BR>From: Mark Borg &lt;<A HREF="mailto:mborg@mail.com">mborg@mail.com&gt;</A>
<BR>Subject: Question on motherboard support
<P> Hello,
Some time ago I upgraded my machine from 486-33Mhz to PIII 500Mhz.
I bought a PC-Chips M741LMRT motherboard which has on-board VGA,
sound and modem. Linux installed ok on it and is really fast
(boots up in less than 20 seconds!!), but X windows configuration
is crashing when trying to detect the on-board VGA (I belive it's
a SiS 5595 chipset). I am only getting 320x200 mode. When I
amended the config file manually to get an 800x600 true-color mode,
X loads, paints the background and hangs up. Anyone has used
such motherboards? Or are there any patches for this motherboard?
Regards
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 15 Jan 2000 16:38:55 +0530
<BR>From: Kumar V &lt;<A HREF="mailto:datasol@vsnl.com">datasol@vsnl.com&gt;</A>
<BR>Subject: Urgent Help Wanted
<P> Dear
Support Manager
<P> We are installing Linux Kernel 2.2 with Redhat 5.2 in our Intel Pentium III @ 500 MHz system, with 256MB SDRAM which has integrated SiS 6236 AGP card with 8 MB Video Memory and Realtek 8139 Ethernet Adapter.
<P> We are using SCSI hard disk with Adaptec Controller Card. We are facing heavy problems in getting recognized for SiS 6326 card in the installation of XWindows. The supported hardware list doesn't show the list of the above SiS 6326 Card. Please let me know how we can solve the problem and also let me know where i could download the drivers to make SiS 6326 card work in Xwindows and to support maximum resolution and Color Depth.
<P> Please help me out where i could download the drivers and the procedure for making the SiS 6326 card work in Xwindows.
<P> Hope you will reply to me immediately.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 16 Jan 2000 12:58:56 -0800 (PST)
<BR>From: Wei Huang &lt;<A HREF="mailto:pardxa@yahoo.com">pardxa@yahoo.com&gt;</A>
<BR>Subject: help
<P> sir,
I need some help.
<P> Question1,
<P> I wrote a <A HREF="misc/mail/huang.c.txt">program</A> of showing the contents
of other program on the platform of LINUX,the compiler is g++, but got problems
in statement 1 and statement 2.
<P> First,I want to show the sentence in statement 1
ahead of the body of file being showed,but it can't
appear in the proper position.I mean I want the
program running like this:
<PRE>
This is the body of file
FILE BODY...
This is the body of file
FILE BODY...
</PRE>
<P> but it running like this:
<PRE>
FILE BODY...
FILE BODY...
This is the body of file
This is the body of file
</PRE>
<P> I don't why,how can it be corrected.
Second,I had believed the statement 2 is illegal in
grammar.Because if you define an array, char
buffer[BufferSize] ,the BufferSize indicate the number
of elements in array and should be a constant or at
least be a const variable,and it can't be a variable,
otherwise the program cann't be compiled. But the fact
is this program is compiled smoothly and functions
normally. What is wrong?
<P> Question 2,
I write a <A HREF="misc/mail/huang2.c.txt">c program</A>.
<P> But when compiling, gcc reports that all the functions
with "vga_" profix are undefined,what is the problem?
I had included "vga.h" in my programe as indicated in
"man" help on the usage of either "vga_" function.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 17 Jan 2000 14:32:33 +0530 (IST)
<BR>From: Kenneth Conception &lt;<A HREF="mailto:kenneth@darya.nio.org">kenneth@darya.nio.org&gt;</A>
<BR>Subject: None
<P> Hi,
I have a computer with a 810 chipset on which i loaded redhat 6.1.
This version does not have the required display card drivers.Pls advice
me.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 18 Jan 2000 17:04:04 +0100
<BR>From: Michael Schmitz &lt;<A HREF="mailto:mschmitz@sema.de">mschmitz@sema.de&gt;</A>
<BR>Subject: /sbin/dump crashes when doing incremental backup
<P> Since upgrading from RedHat 6.0 to 6.1 /sbin/dump crashes when trying
to do incemental backups:
<PRE>
madeira:[/tmp]# /sbin/dump -1 -f /dev/null /dev/sda1
DUMP: Date of this level 1 dump: Tue Jan 18 17:00:38 2000
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/sda1 (/usr) to /dev/null
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 710739 tape blocks on 18.27 tape(s).
DUMP: Volume 1 started at: Tue Jan 18 17:00:39 2000
DUMP: dumping (Pass III) [directories]
DUMP: SIGSEGV: ABORTING!
DUMP: SIGSEGV: ABORTING!
Segmentation fault
madeira:[/tmp]# DUMP: SIGSEGV: ABORTING!
DUMP: SIGSEGV: ABORTING!
DUMP: SIGSEGV: ABORTING!
</PRE>
<P> Does anybody have an idea of what might be the problem?
<P> This is what's installed:
<PRE>
dump-0.4b4-11
e2fsprogs-1.17-1
glibc-2.1.2-12
</PRE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 18 Jan 2000 08:04:20 -0800
<BR>From: knowmd &lt;<A HREF="mailto:knowmd@worldnet.att.net">knowmd@worldnet.att.net&gt;</A>
<BR>Subject: modoms
<P> need information on compatible modems to run with redhat 5.2 with
pentium 233
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 18 Jan 2000 15:42:13 -0500
<BR>From: Christopher Hennessey &lt;<A HREF="mailto:chennessey.STU_PO.FPLC@fplc.edu">chennessey.STU_PO.FPLC@fplc.edu&gt;</A>
<BR>Subject: Law student with questions about Licensing and Linux
<P> My name is Chris Hennessey and I am currently a first year law student at Franklin Pierce Law Center located in Concord, NH. Franklin Pierce is a law school renowned for its intellectual property program and it strives to educate students entering fields in the forefront of technology. I have been elected as a class representative for the Licensing Executive Society and have a strong interest in the field of software licensing. I am particularly interested in the "copy-left" movement in the software industry and I know that Linux is at the forefront.
<P> I am currently trying to help organize this Franklin Pierce's annual Licensing Symposium which will be held on Saturday, March 25. I would very much like to have a Red Hat or Linux based representative come and speak at the symposium about what is going on in the world of freeware and shareware or other general software licensing issues.
<P> As the Editor of the Linux Gazette, I am certain that you could help me. Perhaps you are interested or know of a Red Hat attorney or anyone who be interested in speaking at this event. The Licensing Executive Society is a global organization and this would be an opportunity to speak to law students from around the world about Linux.
<P> I would really appreciate any assistance you may be able to provide for me, please contact me via email.
<P> Thank you.
<BLOCKQUOTE> <EM>
[</EM>Linux Gazette<EM>
has no relationship with Red Hat, so I can't put you in
touch with one of their attorneys. See RH's contact information at
<A HREF="http://www.redhat.com">www.redhat.com</A>.
<P> The Free Software Foundation would be another good place to check,
since licensing is their forte. <A HREF="http://www.gnu.org">www.gnu.org</A>
<P> The Electronic Frontier Foundation is not directly related to software
licensing per se, but they have been very active in the past regarding
net freedom, although I haven't kept track of them in recent years.
<A HREF="http://www.eff.org">www.eff.org</A> -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 19 Jan 2000 01:16:14 +0100
<BR>From: Leonard &lt;<A HREF="mailto:LT.Quivooy@quicknet.nl">LT.Quivooy@quicknet.nl&gt;</A>
<BR>Subject: insmod and newbie to RH6.1
<P> Hello,
<P> Where can i aks an question about a loadable module which i want to
autostart at boot?
an howto? I cannot find the right information, and or it's nog clear for me.
I searched the linux Gazette and couldnot find it
<P> thanks.
<P> Leonard Quivooy
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 19 Jan 2000 12:30:25 +0100
<BR>From: Ivan Suchy &lt;<A HREF="mailto:suchar@penguin.cz">suchar@penguin.cz&gt;</A>
<BR>Subject: Internal modem
<P> Hello LG team,
<P> I have HP Netserver E60 and don't know how internal modem I can use with
it,
and RH 6.0. Have someone some experience.
<P> Thanx for any answer, sincerely
<P> Ivan Suchy
<P> BTW: installation on this server was without any problem, who wants I
can send its hardware configuration.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 19 Jan 2000 11:46:58 EST
<BR>From: &lt;<A HREF="mailto:MartyFisher1@cs.com">MartyFisher1@cs.com&gt;</A>
<BR>Subject: bash2
<P> Hello,
<P> The bash 1-14 seems to be the standard bash for redhat even though bash2 is
included. Can you tell me the reason for that ? and when that might change ?
<P> Thanks,
Marty Fisher
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 24 Jan 2000 05:42:36 -0500
<BR>From: glitch &lt;<A HREF="mailto:pidpot@freewwweb.com">pidpot@freewwweb.com&gt;</A>
<BR>Subject: 2 quick questions
<P> I have two quick questions...
<P> One concerns my modem. When i dial into my isp, my modem hangs up after
connect every first time i try.
so, it always takes exactly two tries to get going. What could my modem
be NOT doing the first time that it ALWAYS figures out how to do the
second time?
<P> second, I would like to ask for a QUALITY set of general instructions on
how to install things i download off the internet such as realplayer 5
for Linux which comes in rpm form. I have downloaded various programs
from the net in rpm form, only to find very sloppy instructions on
setting things up. In the case of realplayer in particular, I get a
message (using rpm at the command line with the -i switch) that says
realplayer is installed. But where does it get installed to? i can
never find it... i type the executable command and get another message
that core is been dumped. This is after having to copy the rpm into the
/var/lib/rpm directory just so the rpm util can find things it needs to
install my package in the first place.
<P> hey, sorry, i just thought of question #3:
I KNOW i created 3 swap partitions, but only one is enabled. (hda7) what
are the names of my other partitons? i have altogether 4 partitions: one
root and 3 swap. so hda1 is root and hda 7 is one of the swaps, but
what is the convention for nameing devices to partitions? i tried to
enable my best guesses (hda 5 and hda6) in linuxconf as additional swap
partitons, but with no luck. how do i find them and how do i enable
them? thanks.
<P> I run redhat 6.1 with Gnome as my desktop on a amd 350 with 128 megs of
ram, but i dont have any preference to desktops, so instructions to fit
any of them will be greatly appreciated.
<P> Please understand that i am working on almost six years of experience
with computers and am not afraid to try new things. I am new to linux;
however, I am not afraid to follow technical instructions, as long as
they are accurate.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 22 Jan 2000 13:14:56 -0800 (PST)
<BR>From: KAI T. HUANG &lt;<A HREF="mailto:vkthuang@yahoo.com">vkthuang@yahoo.com&gt;</A>
<BR>Subject: How to set up a external modem for the internet of Red Hat Linux?
<P> Hi, I have installed Red Hat LInux. I brought a blaster V.90&amp;K56flex
external modem. I want to set up ppp. I set up ppp with this modem and was able
to connect to my ISP with linuxconf. But when I tried to use nestcapte to
access internet. I failed. Can you tell me what problem it is.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 22 Jan 2000 13:18:56 -0800 (PST)
<BR>From: Victor Huang &lt;<A HREF="mailto:vkthuang@yahoo.com">vkthuang@yahoo.com&gt;</A>
<BR>Subject: How to use a printer to print out the result of X window program in red hat linux?
<P> I wrote X window program abd run it in red hat linux. I want to print out
the result with a HP laserjet 4 printer(print out the screen). But I don't
know how to do that? How to save the screen and print out the screen link
Window 98/95? Can you give me some idea?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 22 Jan 2000 13:20:31 -0800 (PST)
<BR>From: Victor Huang &lt;<A HREF="mailto:vkthuang@yahoo.com">vkthuang@yahoo.com&gt;</A>
<BR>Subject: How to set up HPdeskjet 712c printer in Red Hat Linux?
<P> Can you tell me how to set up HPdeskjet 712c printer in Red Hat Linux? Thank you.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 22 Jan 2000 20:50:08 -0500
<BR>From: inkognito &lt;<A HREF="mailto:inkognito@bay-net.on.ca">inkognito@bay-net.on.ca&gt;</A>
<BR>Subject: linux install
<P> ok i have redhat 6.1 and after i type startx in lilo i get a no screens
found error message i have an ATI Rage 128 AGP with 16mb ram on it and a
viewsonic e771-3 monitor im on 16 bit 800X600 can u help me?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 23 Jan 2000 12:17:08 -0800
<BR>From: Garry J. NICHOL &lt;<A HREF="mailto:ntp@compuserve.com">102445.562@compuserve.com&gt;</A>
<BR>Subject: compuserve / linux
<P> How do I connect to compuserve from my linux box using the pppd?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 23 Jan 2000 15:46:09 -0600
<BR>From: Brent Gill &lt;<A HREF="mailto:bgill@iastate.edu">bgill@iastate.edu&gt;</A>
<BR>Subject: Install Problems
<P> Ok, I'm a newbie to Linux... I'm trying to install Redhat 6.1 on my system
which already has Win98 installed. During the install process, I encounter
several problems. First, when I'm trying to partition my disk, I always
get the message "boot partition too big", no matter what the size is. I
can proceed with an error message if I make a separate "/" and "/boot"
partition, however, about 20 seconds later, I get the message "Error in
isys.py line 8 in umount System Error 16-device or resource busy".
I downloaded the software, and I'm trying a hard drive install. Anyone
have a solution?
<P> thanks.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 24 Jan 2000 14:41:16 -0000
<BR>From: Simon_M_Appleby &lt;<A HREF="mailto:Simon_M_Appleby@email.msn.com">Simon_M_Appleby@email.msn.com&gt;</A>
<BR>Subject: Reconizing other drives via PCMCIA slots
<P> Dear Sirs,
<P> As I am new to Linux and have been given Red Hat 6.1. I have decided to put this on a Laptop.
<P> My question is this :-
<P> When Red Hat boots up it will default mount all file systems it knows about, including CDROM and/or Floppy (if present).
If I wish to mount a Modem or another floppy (In this case a Iomega Click card) via the PCMCIA slots at the side of the Laptop, how does one achieve this ?. Are there any HOWTO's that detail this,or can you supply commands.
<P> Thanks
<P> Si
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 25 Jan 2000 20:55:56 +0100
<BR>From: Michiel Doetjes &lt;<A HREF="mailto:pm.doetjes@eagle-i.nl">pm.doetjes@eagle-i.nl&gt;</A>
<BR>Subject: Graphics all messed up...
<P> Hi,
<P> Today I installed my very first Linux system! I guess it works fine, but I have big problems with my graphics card / monitor.
<P> When I start Linux (using a bootdisk), X-Windows automatically loads. I do see the login screen, but it's far to wide! It's a bit like viewing a 1024x768 screen, while the monitor is set to 640x480.
<P> Specs of my system:
<PRE>
Pentium II Mendecino, 366mhz
64 MB Ram
Intel 740 graphics accelerator, 8mb, AGP
</PRE>
<P> I tried various options using xf86config, but I don't seem to get my graphics card to work.
<P> After a nervous breakdown, my computer installed my graphics card as a Chips &amp; Technologies Accelerator. This works fine too.
<P> Does anyone know how to solve this problem?
<P> Thanks!
<P> Mike
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 26 Jan 2000 15:19:19 +0800
<BR>From: pgy &lt;<A HREF="mailto:pgy1@263.net">pgy1@263.net&gt;</A>
<BR>Subject:
<P> I want to sale RedHat Linux 6.0 Offical Installtion Guide's Chinese Version,
but I don't know how to sale this. Can you tell me?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 27 Jan 2000 23:10:11 +0800
<BR>From: Yau Chuan Hoa &lt;<A HREF="mailto:ychoa@tm.net.my">ychoa@tm.net.my&gt;</A>
<BR>Subject: Redhat 6.1 Installation Problem
<P> I tried to install REDHAT 6.1 but it hangs after the graphical partition
page (Ctrl-Alt-F7), when it starts the partition/format process.
<P> I boot using the AutoBoot.bat from DOS (Win98 startup disk).
<P> My system : Pentium 133, with 64 MB of RAM. S3 chipset (correctly detected)
HDD = IBM 1.7GB -&gt; 2 equal primary partitions : FAT16 and ext2 (Partition
magic v4)
<PRE>
hda : hda2, hda3 ??? Where is hda1 ???
</PRE>
<P> Error message :
<PRE>
&lt;4&gt; hdc : ATAPI reset complete
&lt;4&gt; hdc : cd_rom_decode_status error = 0x34
&lt;4&gt; hdc : cd_rom_decode_ststus = 0x51 {DriveReady SeekComplete Error}
&lt;4&gt; end_request I/O error dev 16:00 (hdc) sector 1190936
&lt;4&gt; end_request buffer-list destroyed
</PRE>
<P> Also, sometimes it hangs for a short while (10-15 seconds) during keyboard
detection, after every mouse click, with the following message
Error loading new keyboard description.
<P> I tried to get support from Redhat, but it is not it is not helpful,
especially in my country, Malaysia.
<P> Thanks.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 27 Jan 2000 23:44:18 -0600 (EST)
<BR>From: Dr. Pat Fitzpatrick &lt;<A HREF="mailto:fitz@twister.jsums.edu">fitz@twister.jsums.edu&gt;</A>
<BR>Subject: Outgoing mail problem
<P> We are attempting to set up our linux machine such that it can used as a
POP server. On a Windoze machine, Eudora software successfully retrieves
email from the machine. However, when we try to send email through the
linux machine, the email bounces back.
<P> By the way, using email tools such as pine on the linux machines itself
works fine.
<P> I am open to suggestions.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 28 Jan 2000 14:30:11 +0100
<BR>From: Giuseppe Luigi Bombelli &lt;<A HREF="mailto:bombelli.giuseppe@sri.enel.it">bombelli.giuseppe@sri.enel.it&gt;</A>
<BR>Subject: Informazioni
<P> Salve a tutti
sono un neofita di Linux, ho installato Linux dal CD di ioProgrammo funziona
tutto a meraviglia solo non so come settare il modem che funziona solo a
9600 pur avendo un modem a 56K della Trust.
<P> Vi chiederei dove eventualmente reperire informazioni su questa operazione,
possibilmente in italiano data la mia scarsa conoscenza della lingua
Inglese.
<P> In attesa di un vostro gentile riscontro porgo cordiali saluti.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 28 Jan 2000 08:06:34 -0600
<BR>From: Ian Timshel &lt;<A HREF="mailto:timshel@escape.ca">timshel@escape.ca&gt;</A>
<BR>Subject: Subscription
<P> Hi there.
Is the Gazette something I can subscribe to or do I need to return to
the site to update. I also noticed the info on typing tutors was dated from
the fall of 98. Are you still actively working on this paper?
Cheers! Ian
<BLOCKQUOTE> <EM>
[You will need to return to the site for the next issue. Each issue is
posted on the first day of the month.
<P> If you wish, you can subscribe to the announcement list at
lg-announce-request@ssc.com. Put the single word "subscribe" in the message
body. Then you will receive an e-mail announcement every month when the
issue is posted.
<P> Our articles are contributions from our readers. I do not know of
any author planning another typing tutor article. However, I will
print your letter in the Mailbag to show there is interest in such
an article. -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Fri, 28 Jan 2000 18:14:13 -0000
<BR>From: oliver cameron &lt;<A HREF="mailto:oliver@hii.co.uk">oliver@hii.co.uk&gt;</A>
<BR>Subject: Upgrading to shadow passwords
<P> I am running RH 4.2 and I need to convert my existing etc/passwords file to the shadow passwords format used on a new RH 6.1 installation. Can anyone give me a simple explanation of how to do this? Any help would be greatly appreciated.
<P> Many thanks in advance, Oliver.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
21 Jan 00 16:26:47 PST
<BR>From: Mike Craft &lt;<A HREF="mailto:moiloa@netscape.net">moiloa@netscape.net&gt;</A>
<BR>Subject: Driver for ATI Xpert @ Work PCI card
<P> Hi! girls and boys,
<P> I'm new user and believer of yhe Linux O.S and I need help badly.I'm looking
for a driver for an ATI Xpert @ Work 8Mb PCI card. Where can I get it?
<P> I'm using a Red Hat 5.2 and my monitor is a Mitsubishi Diamond Scan, model
FA3415AT4 60Hz. HF:15.7 - 35.5 Hz, VF:45 - 80 Hz Mx Display 800x600
<P> Could someone help, I would appreciate it a lot. Thanks.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 24 Jan 2000 16:44:15 +0100
<BR>From: Martial Farad &lt;<A HREF="mailto:mfarad@ifrance.com">mfarad@ifrance.com&gt;</A>
<BR>Subject: probl&egrave;me
<P> Bonjour,
Je sais que ce n'est pas un mail pour les d&eacute;butant qui ne connaissent
rien, mais j'ai vraiment besoin d'aide.
J'ai un lecteur de disquette externe, et je n'arrive pas &agrave; le monter
sous linux. Il me renvoie le message:
<P> Mount: the kernel does not recognize /dev/fd0 as a block device (Maybe
'insmod driver' ?)
<P> Pourriez-vous me dire ce qu'il ne va pas ou me donner une adresse de
site ou e-mail qui pourrais m'aider. Je vous en serai tr&egrave;s
reconnaissant.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 30 Jan 2000 21:25:49 -0500
<BR>From: Ze'ev Ionis &lt;<A HREF="mailto:zionis@interlog.com">zionis@interlog.com&gt;</A>
<BR>Subject: Running an NT command from Linux (or vice-versa)
<P> I have two PCs on my lan - an NT4sp6 box and a RHLinux6.1 box. They share a
UPS. The UPS has hardware and software which will allow it to send a
shut-down command to just ONE box. That box then has to send a shutdown
command to the other. I know how to do this if they were both running NT
(there is a command in the NT resource kit to allow you to send a remote
shutdown). But I have NO idea how to do this from one OS to the other. Any
ideas?
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 31 Jan 2000 16:38:49 +0200
<BR>From: Zlotnikov yuri &lt;<A HREF="mailto:zlotniko@macs.biu.ac.il">zlotniko@macs.biu.ac.il&gt;</A>
<BR>Subject: CPU resource distribution
<P> Please, send me any article about CPU resource distribution
(sharing) in Linux.
<P>Thanks<BR>
Vladimir
<a name="gen"></a>
<P> <hr> <P>
<!-- =================================================================== -->
<center><H3><font color="maroon">General Mail</font></H3></center>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sun, 2 Jan 2000 20:34:49 -0400 (WST)
<BR>From: David Santo Orcero &lt;<A HREF="mailto:irbis@activanet.es">irbis@activanet.es&gt;</A>
<BR>Subject: None
<P> Hello.
<P> I tryed ftp link [ftp.ssc.com] with netscape and with ncftp and now it
works fine.
<P> Yours:
<P> David
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 3 Jan 2000 12:53:35 GMT
<BR>From: &lt;<A HREF="mailto:rupert.linux@btinternet.com">rupert.linux@btinternet.com&gt;</A>
<BR>Subject: Postscript or HTML editions of Gazette
<P> I've read the FAQ on Gazette distributions.
<P> I would like read the Gazette either as HTML or PDF format.
<P> The FAQ talked about being able to use the "Print to file" option of Netscape
to produce a postscript version of the Gazette which Acrobat viewers would be
able to read (I assume).
<P> I've tried exporting the front page of the Gazette to a postscript file which
netscape the extension PRN onto.
I've tried renaming the extension to PDF to see if the Acrobat viewer would
take the file. It didn't.
<P> If I can't use Acrobat to view the Gazette, I'm fine using HTML format if I
can get the pages downloaded onto my local PC to view them offline. Apart
from using a web page archiving program, how else would I be able to view the
Gazette offline?
<P> regs
rupert heesom
<BLOCKQUOTE> <EM>
[If your goal is to read the </EM>Gazette<EM> on screen off-line, download the
FTP files (FAQ question 3).
<P>If your goal is to print the </EM>Gazette<EM>, just use the "Print"
command in your browser.
<P>The FAQ was trying to say that Netscape's "Print to File" option (on Linux)
produces Postscript. PDF is a different file format from Postscript. Acrobat
and <CODE>xpdf</CODE> are PDF viewers; <CODE>gv</CODE> is a Postscript viewer.
I have <A HREF="../faq/index.html#formats_no">reworded</A> the FAQ answer to make
it more clear. -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 04 Jan 2000 02:47:59 +0000
<BR>From: Malcolm Macsween &lt;<A HREF="mailto:malcolm@arcadia.softnet.co.uk">malcolm@arcadia.softnet.co.uk&gt;</A>
<BR>Subject: The Answer Guy LG #49 - psychic, already .....
<P> The answer guy is really excelling himself this month ....
<P> How exactly did he help me to fix my Mosix cluster on the Linux 2.4 SMP
cluster in Oct , 2000 - I've forgotten already. Sorry - maybe you can
refresh my memory .... perhaps my memory management module is faulty,
but I seem to have forgotten the whole year.
<BLOCKQUOTE> <EM>
[The </EM>Gazette<EM>'s Y2K problem was a result of Jim's time machine coupled
with my too-successful attempt to change the copyright dates in bulk. The
dates are
<A HREF="http://www.linuxgazette.com/issue49/lg_answer49.html">fixed now</A>.
-Ed.
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Thu, 06 Jan 2000 16:41:01 -0500
<BR>From: Anderson Silva &lt;<A HREF="mailto:afsilva@liberty.edu">afsilva@liberty.edu&gt;</A>
<BR>Subject: [Fwd: type, tepy, tpey, ytep, type...]
<P> There is a mistake in the Developing Web Application Article (Jan 2000).
<P> AS
<P> -------- Original Message --------
<P> Content-Transfer-Encoding: 7bit
<P> "...how to create your won guest book..."
<P> And if there are two thousand people pounding away in it then we'll have
a won ton guest book.
<BLOCKQUOTE> <EM>
[Fixed. Do I get a fortune cookie? -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 11 Jan 2000 23:02:40 +0100
<BR>From: Reinhold Baldauf &lt;<A HREF="mailto:rbaldauf@nikoma.de">rbaldauf@nikoma.de&gt;</A>
<BR>Subject: Abo
<P> Hi out there,
please tell me, how i can get the gazette regularly - i'm living in
germany
Kind regards
<BLOCKQUOTE> <EM>
[Linux Gazette comes out the first day of each month at www.linuxgazette.com
and its mirrors, including four in Germany. Please see
<A HREF="http://www.linuxgazette.com/mirrors.html">
www.linuxgazette.com/mirrors.html</A> and
<A HREF="http://www.linuxgazette.com/faq/index.html">
www.linuxgazette.com/faq/index.html</A> -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 12 Jan 2000 09:25:33 -0800
<BR>From: Marjorie Richardson &lt;<A HREF="mailto:mlr@ssc.com">mlr@ssc.com&gt;</A>
<BR>Subject: SuSE reseller not playing fair in Uruguay
<P> From comp.os.linux.announce:
<P> <A HREF="http://www.linuxstart.com/~rodolfo/openletter.html">
http://www.linuxstart.com/~rodolfo/openletter.html</A>
<P> These pages are a open letter to the Linux Community signed by a
group of users to show the problems that they are living with the name
LINUX in Uruguay.
<P> Uruguayan SuSE reseller wish to obtain exclusive rights on the
LINUX name
<P> With No. 316.081 of August 30, 1999 has been filed before the
Uruguayan Trademark Office a trademark application for registration of
the LINUX name to International class 42 (computer related services).
This application has been filed by Mr. Francisco Pereira and Mr.
Enrique Place de Cuadro, addressed at 1207 Pedro Berro Street, Esc.
603, of Montevideo, Uruguay. In accordance with the official
publication from the Industrial Property Bulletin No. 6 of December
1999.
Mr. Pereira and Place are part of the firm called LinuxTECH who is
the reseller of the SuSE Linux distribution for Uruguay.
This is a improper proceeding by somebody to obtain exclusive rights
over the LINUX name through the known way to register the trademark in
the own name.
Since Mr. Pereira and Mr. Place have started their activity in
Uruguay with LinuxTECH company they have not stopped to looking for
seize exclusive commercialization of Linux in Uruguay:
<P> Firstly, they obtain the exclusive representation to sell SuSE
distribution, with which they prevented that anybody can import SuSE
Linux, as several people of the Uruguayan community came doing. This
has been resisted by some users who, by means of protest, have
obtained that German SuSE send the new distritutions directly to them.
Immediately they created its own company calling with a copy of the
wellknown Suisse company LINUXTECH. Of course, they also filed their
own trademark application LINUXTECH under No. 316.082 saying thath the
name LINUXTECH is of their own property.
Into their commercial name they do not doubt to place the word
LINUX (LinuxTECH). Without any doubt the use of the world LINUX in
the commercial name allows they to rise to the prestige that enjoys
LINUX in the market, taking advantage of the freedom that enjoys LINUX
for its generalized use. (Nobody would be happend to initiate a
computer company called MicrosofTECH of WindowsTECH, seeing that
without doubts it would have legal troubles).
Afterwards, they register under the .uy DNS the domain
www.linux.com.uy, being in the knowledge that the Uruguay Linux User
Group have and use the domain www.linux.org.uy since 1997. With this
action Mr. Pereira and Mr. Place want to "capture" the unprepared
internaut who looking to accede to the UYLUG site falls in their
pages.
Finally, they try to make official the deffinitive apropriation of
the LINUX name appling the registration in their behalf.
<P> The Uruguay Linux User Group -UYLUG- through representatives of
their Board of Directors has tried to dialog with Mr. Pereira and
Place to obtain at least the withdrawal to their improper application
of registration but without any doubt, it is facing people which use
aggressive commercial tactics and do not know the opening principles,
cooperation and solidarity that exist into the Linux community.
<P> From already the Uruguay Linux User Group will take ahead all the
legal and out-legal actions to obtain these two people do not see made
the LINUX name total control.
<P> Montevideo, January 6,2000
<P> Signed by:
<P> Pablo Boix, Federico Gamio, Heber Godoy, Manuel Perez, Rodolfo
Pilas, Andres Tarallo
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Sat, 15 Jan 2000 21:13:28 -0700
<BR>From: Warren Young &lt;<A HREF="mailto:tangent@cyberport.com">tangent@cyberport.com&gt;</A>
<BR>Subject: More history!
<P> I <STRONG>really</STRONG> enjoyed the "history of rm and rmdir" article in
your January issue. More, more!
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Mon, 17 Jan 100 13:55:38 GMT
<BR>From: &lt;<A HREF="mailto:jgomsi@apolo.umh.es">jgomsi@apolo.umh.es&gt;</A>
<BR>Subject: issue49.html not loading
<P> Hi,
<P> I just want to say that from home with my 56K modem I can't load
the html_in_a_file Linuxgazette (Not Explorer neither Navigator).
<P> But here at university I can do it from a fast
mirror.
<BLOCKQUOTE> <EM>
[A few people have experienced this. The cause is not known. What happens if
you use another mirror? -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Tue, 18 Jan 2000 00:55:05 -0600
<BR>From: PJ Wessel &lt;<A HREF="mailto:ibi@greencis.net">ibi@greencis.net&gt;</A>
<BR>Subject: To The Editor
<P> Dear Editor,
<P> I recently wrote an article, The Penguin and Me, which appeared in the
January Issue of Linux Gazette. I am thrilled at the response from your
dedicated readers, but feel I must reply publicly to some misconceptions
on my part that proved to be incorrect.
<P> First and formost I must make clear that my experiences, although very
limited, are with the Linux-Mandrake 6.0 distro only. I have no
experience with or personal knowledge of any other Linux distribution.
<P> Linux-Mandrake, 6.0 is compiled for Pentium machines. It will not run
under 386 or 486 machines. However, early versions of Mandrake such as
5.3 which was optimized for the Pentium processor should run very well.
Thanks to Civileme, of the Mandrake "Expert" group, I now understand
that other distributions may vary, and, many of them are compatible with
the 386 and 486 processors.
<P> Linux does not support all dual processor motherboards. However, all
motherboards should support dual-boot systems.
<P> I apologize for any inconvenience my comments may have caused.
<P> Thank you for the opportunity to apolgize to the Linux community, to the
gentle readers who have generously given their time to comment, and to
the publisher of Linux Gazette.
<P> <HR> <P>
<!--====================================================================-->
<IMG ALT=" " SRC="../gx/envelope.gif">
Wed, 19 Jan 2000 10:54:39 +0100 (CET)
<BR>From: Dipl.-Stat. Detlef Steuer &lt;<A HREF="mailto:steuer@statistik.uni-dortmund.de">steuer@statistik.uni-dortmund.de&gt;</A>
<BR>Subject: January 2000: The Hunger Site
<P> Thank you very much especially for the link
to the hunger site!
<P> PS: I like the Gazette, too :-)
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
This page written and maintained by the Editor of the <I>Linux Gazette</I>.
Copyright &copy; 2000, <A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A><BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>"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> <hr> <P>
<!-- =================================================================== -->
<center><IMG ALT=" " SRC="gx/cover70.jpg" WIDTH=200 HEIGHT=268></center>
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<font color="green">
February 2000 <I>Linux Journal</I>
</font>
</H3>
<P>
The February issue of <A HREF="http://www.linuxjournal.com/"><I>Linux
Journal</I></A> is on the newsstands now.
This issue focuses on Linux on the desktop.
<P> <I>Linux Journal</I> has articles that appear "Strictly On-Line".
Check out the Table of Contents at
<A HREF="http://www.linuxjournal.com/issue70/index.html">
http://www.linuxjournal.com/issue70/index.html</A> for articles in
this issue as well as links to the on-line articles.
To subscribe to <I>Linux Journal</I>, go to <A
HREF="http://www.linuxjournal.com/subscribe/index.html">
http://www.linuxjournal.com/subscribe/index.html</A>.
<P>
<font color="green">
For Subcribers Only</font>: <I>Linux Journal</I> archives are available
on-line 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">Best
</FONT>
</H3>
<P> Technology Center Hermia, Tampere, Finland - December 28, 1999
<P> SOT, publisher of the #1 Linux in Finland - the home country of
Linux and Linus - today released the beta version of their
Best Linux operating system to English-speaking users around
the globe.
<P> "We now have over 3300 registered T-1 beta testers. They will
be providing us important feedback, suggesting new features
and testing the product thoroughly. I believe that this beta
release is more stable and has better hardware support than
any of the final distributions currently available." said
Santeri Kannisto, CEO, SOT. "Happy Y2K!"
<P> The English beta version is called Best Linux T-1. SOT will
start shipping the CD-ROMs free-of-charge to registered beta
testers this week. A ready-to-burn iso image is also available
for those who don't want to wait for snail mail. Direct links
to the image and additional information are available at
the Best Linux web site, http://bestlinux.net
<P> SOT will also distribute CDs from its offices in Tampere,
Helsinki and Tallinn. Detailed contact information is available
at <A HREF="http://www.sot.com">http://www.sot.com</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Caldera
</FONT>
</H3>
<P> As part of its "Linux for eBusiness" strategy,
Caldera Systems, Inc. has announced that its
soon-to-be introduced OpenLinux eServer will
ship with IBM open-source e-commerce products...
<A HREF="http://www.ecommercetimes.com/news/articles2000/000124-8.shtml">
http://www.ecommercetimes.com/news/articles2000/000124-8.shtml</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Corel
</FONT>
</H3>
<P> Ottawa, Ontario - January 18, 2000 - Corel Corporation today announced it
has entered into an agreement to acquire up to a 30 per cent stake in
OE/ONE.com, a start-up company developing an "Information Appliance" platform
or thin-client Internet Appliance platform.
<P> Founded by former Corel executive Eid Eid this past year, OE/ONE.com has
developed a software tool kit, specifications and an industrial design for
the product, and is currently working with OEMs - including Tier One
consumer electronics manufacturers - to develop the appliance, expected to
hit the market in the sub-US $500 range.
<P> Corel will assist OE/ONE.com in implementing many Corel<65> LINUX<55> features
with the OE/ONE.com software. By leveraging what Corel has done with the
File Manager, Browser, Control Center and GUI (graphical user interface),
OE/ONE.com can bring ease-of-use at the screen and display level to the
Information Appliance while running on Linux's stability and performance. At
the same time, Corel will develop a scaled-down version of the Corel LINUX
OS optimized for specific devices and applications.
<P> Corel has also released WordPerfect Office 2000 Beta for Linux
on its online beta testing sites.
<A HREF="http://www.ecommercetimes.com/news/articles2000/000131-1.shtml">
http://www.ecommercetimes.com/news/articles2000/000131-1.shtml</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Mandrake
</FONT>
</H3>
<P> Linux-Mandrake 7.0 (Air) has been released.
<A HREF="http://www.linux-mandrake.com">http://www.linux-mandrake.com</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Red Hat
</FONT>
</H3>
<P> Red Hat announced
this week that it has begun shipping a new version of its
Linux OS for Compaq Alpha computer systems...
<A HREF="http://www.ecommercetimes.com/news/articles2000/000113-5.shtml">http://www.ecommercetimes.com/news/articles2000/000113-5.shtml</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">SuSE
</FONT>
</H3>
<P> San Francisco, CA - January 4, 2000 - SuSE is announcing the availability
of a beta-quality version of SuSE Linux 6.3 for the Macintosh PowerPC at
MacWorld in San Francisco. The sales release of SuSE Linux for Power PC is
planned for this spring. Offering SuSE Linux on PowerPC supports SuSE's
strategy of cross-platform availability.
<P> Nuremberg, 17th January 2000 -- SuSE Linux AG, one of the leading Linux
specialists worldwide, is continuing to expand its support services. The
opening of a new support center in Bremen is directly connected to the
worldwide success of SuSE Linux AG's existing support services. The
declared aim of SuSE Linux AG is to continue with this success, and to
meet the continually growing demand in the area of support services for
Linux.
The Support Center in Bremen will begin operating on February 15, 2000.
<P> Langenhagen/Nuremberg, Germany - 19 January 2000 - SuSE has teamed up
with Minolta to facilitate printer support. The resultant benefits are
significant. Linux users can now enjoy high-quality output from the
Minolta PagePro 8, 18 and 25 monochrome laser printers. The recently
launched Version 6.3 of SuSE Linux features a driver utility that also
includes installation support for the PagePro 8, 18 and 25 printers. In
practical terms, this means that these Minolta printers will be visible
and selectable in the Linux user's windows and functions such as paper
trays, mail bins, etc., will also be easily selectable - an important
consideration for printers with hundreds of individually customizable
configurations. Another practical advantage is that Minolta has just
launched an extended version of its network management utility, PageScope,
to make life easier for Linux network administrators.
<a name="general"></a>
<p><hr><p>
<!-- =================================================================== -->
<center><H3><font color="green">News in General</font></H3></center>
<P> <hr> <P>
<!-- =================================================================== -->
<A NAME="transmeta"></A>
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Transmeta secrecy lifted
</FONT>
</H3>
<P> Transmeta, the company that employs Linus Torvalds, has finally let the
world in on what it has been working on. On January 19, Transmeta announced
a line of Crusoe CPUs. These chips utilize Code Morphing (TM) software to
emulate other CPUs (most notably, Intel x86)--this is the part Linus was
working on.
<P> Transmeta is also creating a Linux distribution called Mobile Linux for
computers without hard disks, with enhancements in the areas of power
management and efficient memory use. The distribution will not be sold to
the public, however. Instead, it will be offered to OEMs so that they can
have an operating system to go with their new chip. Transmeta promises to
release Mobile Linux as open-source software.
<P> The information above was gathered from Transmeta's web pages
<A HREF="http://www.transmeta.com">www.transmeta.com</A> (also known as
<A HREF="http://www.crusoe.com">www.crusoe.com</A>), and especially from
the FAQ
<A HREF="http://www.transmeta.com/about/faq.html">
http://www.transmeta.com/about/faq.html</A>.
<P> Analyses from the industry:
<UL>
<LI> <A HREF="http://www.zdnet.com/zdtv/zdtvnews/features/story/0,3685,2119139,00.html">
Transmeta's Mystery Unveiled</A>
<LI> <A HREF="http://www.linuxjournal.com/articles/business/030.html">
Transmeta: So Now We Know</A>
<LI> <A HREF="http://www.linuxjournal.com/articles/conversations/012.html">
Studly Work: Talking Transmeta with Linus Torvalds</A>
<BR><EM>Includes a discussion by Linus on what exactly is in Mobile Linux.</EM>
</UL>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linux curriculum begins today in Utah Public Schools
</FONT>
</H3>
<H4>DATC press release--</H4>
<P> I am proud to announce what I believe to be the first ever Linux-based
class to be held in any public school. Today begins the start of Linux'
inroads into the mainstream educational arena here at the Davis Applied
Technology Center (http://www.datc.tec.ut.us) .
<P> The class itself, Introduction to GNU/Linux, is a course designed for
people who have had some experience in computers, but do not know what
Linux is, or how it operates. It does require some hands-on experience
with computers, but only to make sure that students understand basic
hardware and software concepts. It is also the fruit of a survey
question asked of the Linux community in October's issue of the Linux
Gazette (http://www.linuxgazette.com/)
<P> This coursework (version 0.99) is currently in the process of gaining
distribution approval by the Utah Attorney General's office, so that it
can be posted in whole to the Linux Documentation Project. (This is
because the State of Utah holds the ultimate copyright - I forsee no
problems in gaining approval, however.) Once the curriculum is posted,
it will be distributed under the auspices of Open Documentation, which
means that it can be distributed and used much like Open Sourced
software. A full declaration and conditions sheet is included in the
document concerning the use and distribution of this curriculum.
<P> The curriculum can be used as a self-paced/self-study guide (as is our
normal mode of classwork here at DATC) or you can just as easily use it
as an instructor's guide on the secondary educational level. I would
also encourage those teaching undergrad-level college or technical
courses to make full use of this document, once it is posted on the LDP.
<P> I actively encourage all public school instructors to use this guide,
and especially encourage all interested parties (be they teachers,
students, or simply IT sysadmins) to feel more than free to mail me with
constructive criticisms, suggestions for addition to this coursework, or
even technical corrections. (Although I have tested all of the labs and
coursework here, there may be some things I still may have missed.) Any
questions about the course in general can be directed to me at
tjmiller@datc.tec.ut.us As an aside, I am also actively working to add
Sair Inc. Linux certification (http://www.linuxcertification.com) to the
list of courses as well, since DATC also offers Novell, Cisco, and
Microsoft MCP/MCSE courses.
<P> My goal in writing this curriculum is simple: To bring Linux out of the
back offices and hobbyists' desktops, and into the minds (and the
hearts) of IT's future - the Comp Sci students of today. I find that the
schools are where students discover and incorporate their loves and
hates of the computer industry, and the sooner they can get started on
learning the mysteries of Linux, the greater the benefits to the
GNU/Linux movement in general.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">"Open-source" Books
</FONT>
</H3>
<P> <A HREF="http://forums.oreilly.com/~publishing">
http://forums.oreilly.com/~publishing</A>
<P> The groundswell of Open Source, or free software, technologies has
created a sea change in commercial book publishing. Several
publishers, including O'Reilly &amp; Associates, have started offering
books under various open-content licenses so that they can be freely
displayed on Internet sites, distributed with software on CD-ROMs,
taken apart to be used for course handouts, and in some cases
printed by other people besides the original publisher. As
revolutionary for the publishing industry as this distribution
mechanism is, some projects go even further to work directly with
the developers of Open Source projects. We are likely to see the
integration of professionally edited and produced documentation into
the model of Open Source development over the next few years.
<P> Having recently finished one project myself under an open-content
license -- Using Samba -- and having started work on several other
such projects, I'd like to invite all interested persons to a
discussion on how the Open Source community and professional
publishers can
<P> 1. Involve developers of open source software more directly in the
development of high-quality guides and other
professionally-edited content.
<P> 2. Find the development models for open documents that work well
with the successful models used for open-source software.
<P> There are many angles to consider -- quality control, Internet-time
release schedules, the big-picture thinking required to keep the
book's balance and structure strong during updates, risks and
benefits of forking, adequate compensation for writers and
publishers, dealing with the natural tendency to want to hide work
in progress with competitive publishers -- so take your pick and
give us a thoughtful post!
<P>
-Andy Oram, Editor, O'Reilly &amp; Associates, Inc.<BR>
<A HREF="mailto:andyo@oreilly.com">andyo@oreilly.com</A>
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linsight launches
</FONT>
</H3>
<P>
Linsight is the professional approach toward providing a single and complete information resource for Linux. By providing resources for interested readers, Linsight will advocate Linux to an entirely new audience and raise awareness of the operating system to new markets. The need for a complete Linux information resource will be met, and Linsight stands ready to accomplish this goal.
<P>
Phase 1 of Linsight, launched today, is comprised of two resources:
<P><B>LinEvents:</B>
<P> <P> LinEvents (<A HREF="http://linevents.com/">http://linevents.com</A>)
exists to make information pertaining to upcoming events that are related
to Linux and Free Software/Open Source accessible.
<P> <P> LinEvents has been created to achieve the following goals:
<P> <P>
<OL>
<LI>To provide a single and authoritative resource of all upcoming events, both geographically limited and world-wide.
<LI>To assist interested Linux users in finding local Linux user groups.
<LI>To assist interested Linux users in making informed decisions about upcoming events, and their importance to the community.
<LI>To provide additional content for LinTraining through an upcoming workshop listings directory.
<LI>To assist non-United States markets in locating geographically local events.
</OL>
<P> <P> <B>LinTraining</B>:
<P> <P> LinTraining (<A
HREF="http://lintraining.com/">http://lintraining.com</A>) exists to make
information pertaining to Linux training and certification accessible.
<P> <P> LinTraining has been created to achieve the following goals:
<P> <P>
<OL>
<LI>To provide a resource where interested individuals can easily locate available Linux training resources.
<LI>To publicize the classes that are provided by Linux training centers.
<LI>To provide resources for training centers who want to start teaching Linux classes.
<LI>To encourage courseware publishers by proving that there is a market for Linux courseware material.
<LI>To promote the ongoing efforts to create a Linux certification program.
</OL>
<P> <P> Linsight (<A HREF="http://linsight.com/">http://linsight.com/</A>) is
founded by Dave Whitinger, co-founder of Linux Today, and is wholly owned
by Atipa Corporation.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">IDG/Linus Torvalds Community Award
</FONT>
</H3>
<P> Framingham, Mass. - January 3, 2000 - IDG World Expo today announced that The XFree86 Project, Inc. is the recipient of the February 2000 IDG/Linus Torvalds Community Award. IDG Chairman and Founder, Patrick J. McGovern and Linux creator Linus Torvalds will present the $25,000 award at LinuxWorld Conference &amp; Expo, following Torvalds' keynote address on Wednesday, February 2, 2000 at the Jacob Javits Center, New York City, NY.
<P> "The XFree86 Project embodies the essence of the free software movement," said Charlie Greco, IDG World Expo president and CEO. "Their work on the upcoming release of Xfree86 with Linux vendors like SuSE, VA Linux Systems and Red Hat ensures Linux compatibility with future releases of Xfree86."
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Software Carpentry's Open Source design competition
</FONT>
</H3>
The aim of the <a href="http://www.software-carpentry.com">Software
Carpentry</a> project is to create a new generation of easy-to-use
software engineering tools, and to document both those tools
and the working practices they are meant to support.
The <a href="http://www.acl.lanl.gov">Advanced Computing
Laboratory</a> at <a href="http://acl.lanl.gov">Los Alamos
National Laboratory</a> is providing $860,000 of funding for
<a href="http://www.software-carpentry.com">Software Carpentry</a>,
which is being administered
by <a href="http://www.codesourcery.com">Code Sourcery, LLC</a>.
All of the project's designs, tools, test suites, and documentation
will be generally available under the terms of an Open Source
<a href="http://www.software-carpentry.com/license.html">license</a>.
<p> The first stage of the <a
href="http://www.software-carpentry.com">Software Carpentry</a> project
is a <a href="http://www.software-carpentry.com/contest-rules.html">design competition</a>,
with $100,000 in prizes for entries in four categories:
<ul>
<li>
a dependency management and program reconstruction tool to to supercede
<a href="http://www.gnu.org/software/make/make.html"><tt>make</tt></a>;
</li>
<li>
a platform investigation and project reconfiguration tool to supercede
<a href="http://sourceware.cygnus.com/autoconf"><tt>autoconf</tt></a>;
</li>
<li>
a testing framework to replace tools such as
<a href="http://www.xprogramming.com/software.htm"><tt>XUnit</tt></a>,
<a href="http://expect.nist.gov/"><tt>Expect</tt></a>,
and
<a href="http://www.gnu.org/software/dejagnu/dejagnu.html"><tt>DejaGnu</tt></a>;
and
</li>
<li>
an issue tracking system to supercede
<a href="http://sourceware.cygnus.com/gnats"><tt>gnats</tt></a>
and
<a href="http://bugzilla.mozilla.org"><tt>bugzilla</tt></a>.
</li>
</ul>
<p> Entries will be published on the web, along with the judging
panel's comments, in order to encourage discussion, and provide
examples of good practice for the community at large.
<p> Once winners have been announced, the project will provide
$200,000 for implementation, review, testing, and documentation. All
tools will be required to run on both Linux and Microsoft
Windows&nbsp;NT, and to be implemented primarily in, or scriptable
with, <a href="http://www.python.org">Python</a>.
<P> For more information, please see the Software Carpentry web page
(<A HREF="http://www.software-carpentry.com">www.software-carpentry.com</A>).
<P> Greg Wilson
gvwilson@nevex.com
(416) 593 2428
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Wave Technologies acquires Sair
</FONT>
</H3>
<P> ST. LOUIS, January 11, 2000--
Wave Technologies International, Inc.
(<A HREF="http://www.wavetech.com">www.wavetech.com</A>),
has acquired Sair, Inc. (<A
HREF="http://www.linuxcertification.com">www.linuxcertification.com</A>). Sair
develops comprehensive vendor-neutral Linux training materials and is the
architect of the Sair Linux &amp; GNU Certification and its associated exams.
Terms of the agreement were not disclosed.
<P> Wave intends to continue a separate Sair Linux &amp; GNU subsidiary that will
promote and market Linux training and certification programs. The combined
organizations will pursue four major strategic initiatives consisting of:
<P> 1. Original Equipment Manufacturer (OEM) sales of training materials. The companies have disclosed existing development agreements with Compaq, Linuxcare, Caldera(r) and others.
<P> 2. Certification Exams. Wave's strategic focus has been on IT
certification, and Wave plans to support and continue to expand its
certification programs including boot camps currently delivered for individuals
pursuing the Linux Professional Institute certification, the Red Hat(
Certified Engineer designation and the Sair Linux &amp; GNU Certification.
<P> 3. Boot Camp Programs. Wave currently offers intensive integrated training
programs that provide self study, Internet-based training and intensive live
labs targeted at major certifications. Wave and its global network of
independent distributors plan to expand Linux certification training programs.
<P> 4. Publishing and Distribution. The company plans to expand its
distribution of courseware under Sair's existing Authorized Centers for
Education (ACE) program and to leverage Wave's existing global distribution
network for expanded training sales and distribution.
<P> Founded in 1992, Sair is a leading provider of live Linux certification
exams. The Sair Linux &amp; GNU Certification is comprised of three levels, each
containing four exams. Sair has a contract with Sylvan Prometric for delivery
of the 12 Sair Linux &amp; GNU exams, making them available to more than 140
countries. To date, four exams have been submitted to Sylvan for delivery. The
three levels of certification include: Level I- Sair Linux &amp; GNU Certified
Administrator (LCA); Level II-Sair Linux &amp; GNU Certified Engineer (LCE); and
Level III-Master Sair Linux &amp; GNU Certified Engineer (MLCE).
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linuxnerds certification test wants contributions
</FONT>
</H3>
<P> <A HREF="http://Linuxnerds.com">Linuxnerds.com</A> is attempting to
assemble a comprehensive Linux certification test. This test would be issued
over the web at no cost the Linux community. At this time we at Linuxnerds.com
would like to request contributions in the form of question and answer for
inclusion. People whose questions are included will be given credit for them.
Questions should be submitted to Questions@Linuxnerds.com in essay form and
elicit an explanation not true/false or multiple choice. On 1/30/2000 we
hopefully, as a community, will sort through the contributions and post a draft
certification test by 2/15/2000 with a final copy posted by 3/1/2000. Comments
and questions concerning this announcement should be sent to <A
HREF="mailto:Nerd@Linuxnerds.com">Nerd@Linuxnerds.com</A>.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Colorado Linux Info Quest conference
</FONT>
</H3>
<P> Denver, CO (Jan 17, 2000) -- In response to the tremendous growth of Linux
over the past few years, Colorado Linux Info Quest (CLIQ) is proud to announce
the first ever Linux conference and exhibit to be held along the Colorado
Front Range, Saturday, April 1st, 2000 at the Denver Tech Center Marriott.
<P> CLIQ, in association with local Linux user groups and local and regional
Linux business sponsors, will be holding a one day event featuring a full days
schedule of Linux exhibits, invited talks, real world demonstrations and Birds
of a Feather sessions.
<P> Vendors and visitors should check the CLIQ web site, http://thecliq.org,
often for more up to date information.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Embedded Linux Polls from LinuxDevices.com
</FONT>
</H3>
<P> PALO ALTO, CA., December 12, 1999 -- LinuxDevices.com, the popular
embedded Linux portal, today launched the web's first automated
Embedded Linux Polls center. The online polls will track developer
and user trends and preferences in the hot emerging market for Linux
in non-desktop "embedded" system applications. These are non-desktop
applications for computers where the device is not itself considered
a computer, such as ATM machines, internet kiosks, industrial process
control, medical instruments, and telecommunications devices.
<P> "In contrast to the desktop PC domain" says LinuxDevices.com founder
Rick Lehrbaum, "Microsoft doesn't dominate the embedded space."
"The big players, here, have until recently been Wind River Systems
(VxWorks), Microtec (VRTX), Microware (OS9), QNX Software Systems
(QNX OS), and Lynx Real-time Systems (LynxOS)," adds Lehrbaum.
<P> "Although over the past year, Microsoft has made a strong play for
the embedded space with a dual -- though somewhat confused -- approach
consisting of both Windows CE and Windows NT Embedded, most embedded
developers are wary of designing a Microsoft desktop or palmtop
operating system into small footprint or real-time embedded applications
where performance and reliability are paramount," continues Lehrbaum.
"Against this backdrop, the ability of developers to tune and customize
Linux, in combination with its well known robustness, has made Linux
a growing alternative to both the Microsoft Windows OSes and the
traditional proprietary RTOSes," concludes Lehrbaum.
<P> Through its new Embedded Linux Polls function, LinuxDevices.com intends
to measure and characterize current and future preferences and trends of
embedded system developers. Like Linux itself, the polls data collected
by LinuxDevices.com will be fully available for all to review once
each weekly poll has closed. A new poll will be held each week, with the
results of past polls readily available for inspection. Users and
prospective users of Linux in embedded applications are encouraged
to participate in the polls, which can be found at
http://www.linuxdevices.com/polls. Companies or developers are also
invited to submit proposed poll questions to LinuxDevices.com via email,
at polls@linuxdevices.com.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Linux Links
</FONT>
</H3>
<P> <A HREF="http://pegasus.rutgers.edu/~elflord/font_howto/">
Linux font HOWTO</A> (from C.O.L.A.)
<P> <A HREF="http://www.inux.com">iNUX inc.</A> sells Linux desktop computers
"distinguished by the stunning and interactive 3D graphics of our intuitive
user interface. Upon system start-up, users are presented with comfortable
access to ten, instead of just one, computer desktops."
<P> <A HREF="http://myfreedesk.com">MyFreeDesk.com</A> offers a suite of office
applications run directly on their web site.
<P> <A HREF="http://www.sasi.com">Linux-based DSL modem</A>. (Silicon Automation
Systems Limited)
<P> <A HREF="http://www.linuxlinks.com">LinuxLinks</A> reached just over 8,000
verified LinuxLinks after the new Millennium. This represents a rapid increase
in the number of new links entered into database per month and further
demonstrates the continuing expansion of quality websites on the net covering
Linux.
<P> <A HREF="http://www.linuxnetmag.de/en/">LinuxNetMag</A> is a Linux ezine
published in German and English.
<P> The <A HREF="http://www.lpi.org">Linux Professional Institute</A> has
released the first exam in its Linux certification program.
<P> <A HREF="http://linuxdevices.com/cgi-bin/article_view.cgi?artid=AT7351624613">
Interview with Red Hat CTO Michael Tiemann</A>
<P> <A HREF="http://gettux.com">GetTux.com</A> offers SubX: HowTo Edition, a
monthly CD-ROM containing Linux HOWTOs and kernel updates. The cost is US$10
per month. A portion of each subscription cost will be donated to the Linux
Documentation Project.
<P> <A HREF="http://www.linu-x.com">www.linu-x.com</A> is a Linux
news/download portal.
<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">C.O.L.A software news
</FONT>
</H3>
<P> <A HREF="http://pysol.tsx.org">PySol 3.30</A> now contains 160 solitaire
games.
It even has its own <A HREF="http://www.geekcomix.com/si/fall99/10-23.html">
comic strip episode</A>.
<P> <A HREF="http://home.zf.jcu.cz/~zakkr/kim/">kim</A> is an interactive
user-friendly process manager. It looks similar to Midnight Commander.
<P> <hr> <P>
<!-- =================================================================== -->
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
<FONT COLOR="green">Other software
</FONT>
</H3>
<P> <A HREF="http://www.ibss.net">Integrated Business Systems &amp; Services,
Inc.</A> has certified Synapse Manufacturing and Synapse EAI+ for Linux.
<P> <A HREF="http://www.cygnus.com">Cygnus</A>, which recently merged with
Red Hat, announced a software development environment for
Nintendo's Game Boy Advance video game system.
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
This page written and maintained by the Editor of the <I>Linux Gazette</I>.
Copyright &copy; 2000, <A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A><BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H3>Contents:</H3>
<p><a href="#tag/greeting"
><img src="../gx/dennis/bbub.gif" alt="(!)" border="0"
align="middle"><strong>Greetings From Jim Dennis</strong></A></p>
<DL>
<!-- index_text begins -->
<dt><A HREF="#tag/1"
><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
></a>DNS ports... --or--
<dd><A HREF="#tag/1"
><strong>DNS Ports: A bit about Name Resolution Protocols</strong></a>
<dt><A HREF="#tag/2"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Seagate SCSI tape problem --or--
<dd><A HREF="#tag/2"
><strong>Tape Drive Errors</strong></a>
<dt><A HREF="#tag/3"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>DAT --or--
<dd><A HREF="#tag/3"
><strong>Drivers for SCSI/DAT Tape Drives</strong></a>
<dt><A HREF="#tag/4"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Linux password lost --or--
<dd><A HREF="#tag/4"
><strong>Lost Password</strong></a>
<dt><A HREF="#tag/5"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>WUFTP and authentication --or--
<dd><A HREF="#tag/5"
><strong>When AUTH is ident, not Authentication</strong></a>
<dt><A HREF="#tag/6"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Linux box as a router: Kewl! --or--
<dd><A HREF="#tag/6"
><strong>How do you say "Dial on Demand"</strong></a>
<dt><A HREF="#tag/7"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>ans guy ? --or--
<dd><A HREF="#tag/7"
><strong>Looking for ...</strong></a>
<br>TAG, we're it.
<dt><A HREF="#tag/8"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>+routing -masquerading --or--
<dd><A HREF="#tag/8"
><strong>Hello Routing, Goodbye Masquerading</strong></a>
<dt><A HREF="#tag/9"
><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
></a>January Answer Guy: "Can't See Ethernet Card" --or--
<dd><A HREF="#tag/9"
><strong>More on Linksys Ether16 Cards</strong></a>
<dt><A HREF="#tag/10"
><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
></a>stty parity, LG Issue 48 AG item --or--
<dd><A HREF="#tag/10"
><strong>Clarification/Correction: stty -parenb</strong></a>
<dt><A HREF="#tag/11"
><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
></a>radio receiver for serial port use; Published in Linux Gazette
--or--
<dd><A HREF="#tag/11"
><strong>Radio Time Source with Serial Interface</strong></a>
<dt><A HREF="#tag/13"
><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
><strong>Id "x" respawning</strong></a>
<dt><A HREF="#tag/14"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Outlook Clients Fail to find Mail Host</strong></a>
<dt><A HREF="#tag/15"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>LG49 Mailz --or--
<dd><A HREF="#tag/15"
><strong>Answer Guy Debunks Time Machine Myth for Y2K</strong></a>
<dt><A HREF="#tag/16"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Reveal Sound Card --or--
<dd><A HREF="#tag/16"
><strong>Call Microsoft</strong></a>
<dt><A HREF="#tag/17"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Question --or--
<dd><A HREF="#tag/17"
><strong>LILO for Loading "Other" OS': Setting the Default Boot Stanza</strong></a>
<dt><A HREF="#tag/18"
><img src="../gx/dennis/bbub.gif" height="28" width="50"
alt="(!)" border="0"
></a>KVM switch --or--
<dd><A HREF="#tag/18"
><strong>KVM Switches: All are NOT Created Equal</strong></a>
<dt><A HREF="#tag/19"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Changing distributions, fstab and labels --or--
<dd><A HREF="#tag/19"
><strong>More on Maximal Mount Counts &amp; Volume Labels and UUIDs</strong></a>
<dt><A HREF="#tag/20"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Netscape Messenger --or--
<dd><A HREF="#tag/20"
><strong>Netscape 4.7 as a POP Client</strong></a>
<dt><A HREF="#tag/21"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Linux 6.0 NTPd question --or--
<dd><A HREF="#tag/21"
><strong>error: Interrupted system call</strong></a>
<dt><A HREF="#tag/22"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>233mhz to 450mhz --or--
<dd><A HREF="#tag/22"
><strong>Overclocking a Motherboard? 233Mhz to 450Hmz?</strong></a>
<dt><A HREF="#tag/23"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>LiLo --or--
<dd><A HREF="#tag/23"
><strong>Fixing a lilo.conf After the Fact</strong></a>
<dt><A HREF="#tag/24"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Here's a good question for you... --or--
<dd><A HREF="#tag/24"
><strong>CRC Error -- System Halted --</strong></a>
<dt><A HREF="#tag/26"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>holy linux --or--
<dd><A HREF="#tag/26"
><strong>Out of the Blue Strategic Advice for Red Hat</strong></a>
<dt><A HREF="#tag/27"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>"harden" Linux DNS server --or--
<dd><A HREF="#tag/27"
><strong>"Hardening" a Red Hat (into a Helmet?)</strong></a>
<dt><A HREF="#tag/28"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Question --or--
<dd><A HREF="#tag/28"
><strong>Virtual Mail Hosting in a Single Inbox</strong></a>
<dt><A HREF="#tag/29"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Foxbase --or--
<dd><A HREF="#tag/29"
><strong>Out-"Fox"-ing the Fox?</strong></a>
<dt><A HREF="#tag/30"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Hard drive --or--
<dd><A HREF="#tag/30"
><strong>Adding a Disk</strong></a>
<dt><A HREF="#tag/31"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>How can I view ascii data coming across my serial port? --or--
<dd><A HREF="#tag/31"
><strong>Serial Capture</strong></a>
<dt><A HREF="#tag/32"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Telnet --or--
<dd><A HREF="#tag/32"
><strong>Remote Control through Telnet</strong></a>
<dt><A HREF="#tag/33"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>X Server --or--
<dd><A HREF="#tag/33"
><strong>Jaton 107 Blade 3D and XFree86</strong></a>
<dt><A HREF="#tag/34"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Redirecting stdin on telnet --or--
<dd><A HREF="#tag/34"
><strong>Redirecting stdin into telnet</strong></a>
<dt><A HREF="#tag/36"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>LI --or--
<dd><A HREF="#tag/36"
><strong>New Installation Stops at LI</strong></a>
<dt><A HREF="#tag/37"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Redhat 6.1 and Netscape --or--
<dd><A HREF="#tag/37"
><strong>Netscape can't find ANY of THEM</strong></a>
<dt><A HREF="#tag/38"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Can't Log in as 'root' via telnet</strong></a>
<dt><A HREF="#tag/39"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Exceed & Linux --or--
<dd><A HREF="#tag/39"
><strong>Exceed (MS Windows X Server) and Linux</strong></a>
<dt><A HREF="#tag/40"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>just a question about linux. very puzzling --or--
<dd><A HREF="#tag/40"
><strong>Double Reverse DNS Strikes Again</strong></a>
<dt><A HREF="#tag/41"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Open ports --or--
<dd><A HREF="#tag/41"
><strong>Closing Ports, Disabling Unwanted Services</strong></a>
<dt><A HREF="#tag/42"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Daemons</strong></a>
<dt><A HREF="#tag/43"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Now what? --or--
<dd><A HREF="#tag/43"
><strong>Using a Downloaded .iso Image for System Upgrade</strong></a>
<dt><A HREF="#tag/44"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>maybe you know where I can look --or--
<dd><A HREF="#tag/44"
><strong>Automated Login Around a Challenge Card</strong></a>
<dt><A HREF="#tag/45"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Can you possibly shed some light? --or--
<dd><A HREF="#tag/45"
><strong>Mystery Question</strong></a>
<dt><A HREF="#tag/46"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>Idled Daemon on Linux --or--
<dd><A HREF="#tag/46"
><strong>idled RPM for Red Hat</strong></a>
<dt><A HREF="#tag/47"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
><strong>Monthly Win (Lose) Modem Question</strong></a>
<dt><A HREF="#tag/48"
><img src="../gx/dennis/qbub.gif" height="28" width="50"
alt="(?)" border="0"
></a>IMAP/POP daemon on RH 6.0 and 6.1 --or--
<dd><A HREF="#tag/48"
><strong>Installing a POP Daemon on Red Hat Linux</strong></a>
<!-- index_text ends -->
</DL>
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/greeting"><HR WIDTH="75%" ALIGN="center"></A>
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>Greetings from Jim Dennis</H3>
<!-- begin greeting -->
<BLOCKQUOTE>
All,
</BLOCKQUOTE>
<BLOCKQUOTE>
This is going to be a great year for Linux.
</BLOCKQUOTE>
<BLOCKQUOTE>
I was at a Fry's (a chain of computer stores in California and
around the west coast of the U.S.) in Palo Alto a couple of weeks
ago. They had Loki games for Linux at the endcap of one aisle,
boxes of Corel's new Linux distribution at the end of another, and
copies of _Linux_Unleased_ at the end of another. As Heather and I
wandered past the a components wall we heard a customer insisting
that he needed a "100% Linux compatible" motherboard. While I was
browsing the magazines, Heather brought over a store employee who
she heard telling one of his co-workers that he needed to go study
Linux 'cause he was hearing so much about it. When we were in the
check out stand the guy next to us was buying a copy of
<A HREF="http://www.turbolinux.com/">TurboLinux</A>
4.0 and a small stack of books to go with it. (No, I didn't see
copies of my book there yet. Darn!).
</BLOCKQUOTE>
<p><em>[ I brought that employee over to give him my business card, after
answering a handful of his questions. Business is booming for Linux
<a href="http://www.starshine.org/">consulting</a>, too. -- Heather ]
</em></p>
<BLOCKQUOTE>
That was just a short trip to the store to get some party supplies
(hosting some cypherpunks from the RSA conference). We wanted to
special lighting.
</BLOCKQUOTE>
<BLOCKQUOTE>
While we were there we also picked up a couple of little UPS
power strips (CyberPower Systems <A HREF="http://www.cyberpowersystems.com"
>http://www.cyberpowersystems.com</A>)
for a couple of the workstations around the house. These were only
about $70 each and there were the only ones in their price range
that have serial connectors for UPS power management. This wasn't
important for Heather and I, but we figured it would be a nice
feature to play with. I figured that there wasn't much chance for
there to be a Linux driver in the package (there wasn't) but there
might be some freeware already done (there is).
</BLOCKQUOTE>
<BLOCKQUOTE>
The cool thing is that I found the link to the University of
Iowa powstatd (power status daemon)
(<A HREF="http://dollar.biz.uiowa.edu/powstatd"
>http://dollar.biz.uiowa.edu/powstatd</A>).
(The irritating thing is that that was a "JavaScript" driven link
on CyperPower's web site, but they may yet get another helping of
clue). So <tt>powstatd</tt> is available as RPM and
<A HREF="http://www.debian.org/">Debian</A> packages. In fact it's
available as two different Debian packages depending on whether you
need the encryption support that makes it less dangerous to remotely
control the power/shutdown on other systems over your network using
this tool.
</BLOCKQUOTE>
<BLOCKQUOTE>
The gist of this is that the Linux software for this peripheral is
readily available, linked to the manufacturer's web site and that it
probably offers more utility and better security than the included
proprietary software. (Also the fact that Alberto Maria Segre's
<tt>powstatd</tt> package is open source means that our *BSD cousins can
use it and that future operating systems will find it that much easier
to support).
</BLOCKQUOTE>
<p><em>[ Chances are pretty good that FreeBSD's support for Linux binaries
would run it directly. It's probably more important that our
cousins on non-Intel hardware, whether running Linux, *BSD or
something else, will be able to recompile it. -- Heather ]</em></p>
<BLOCKQUOTE>
(I went back to a different Fry's last night and
picked up a copy of "Heroes of Might &amp; Magic III"
for Linux, which was ported by Loki Software
<A HREF="http://www.lokigames.com"
>http://www.lokigames.com</A>. They had Linux copies
of Civilization, Quake III, and Railroad Tycoon.
They also had plush stuffed "Tux" penguins all over the store).
</BLOCKQUOTE>
<BLOCKQUOTE>
To many new Linux users this may not seem remarkable. However,
to those of use who started using Linux back in about '92 it's
pretty incredible.
</BLOCKQUOTE>
<BLOCKQUOTE>
Last month I was looking through Microtimes and Computer
Currents (a couple of freebie local computer "newspapers"
which are almost all advertising for regional computer stores;
they each have SF Bay Area and Los Angeles editions). I noticed
that many (about 25%) of the ads for computers systems now mention
Linux (and <A HREF="http://www.freebsd.org/">FreeBSD</A> in some cases).
</BLOCKQUOTE>
<BLOCKQUOTE>
Of course, some people would hasten that the Silicon Valley isn't
middle america, and Fry's isn't the venue for "Joe Sixpack."
However, it's hard to deny that this is happening in other
places, too. (Linux is particularly popular in other countries,
particularly Europe and Asia). I seem to recall that IDC or
Gartner recently had to revise their estimates of how fast
Linux was growing --- especially on the desktop/client side.
</BLOCKQUOTE>
<BLOCKQUOTE>
I've experienced another indication of Linux growth over the
last few months. When I first started doing the "Answer Guy"
column I received an average of 30 questions a month. Now I
get about 50 per week!
</BLOCKQUOTE>
<BLOCKQUOTE>
(Sorry I can't answer them all. I don't even have
a "fair" or sensible way to pick which questions I
answer. Basically I answer them when I see them
or set them aside and hope for a night when I'm
watching TV and have idle fingers).
</BLOCKQUOTE>
<BLOCKQUOTE>
Some people might complain that "answer guy" mail volume is
not a representative sampling of overall Linux usage. It could
be that I'm getting more popular among the existing Linux userbase.
Who knows. I'm just a sysadmin, support guy and sometimes writer.
</BLOCKQUOTE>
<BLOCKQUOTE>
But this sure looks like a good year to be a Linux geek from
where I'm sitting.
</BLOCKQUOTE>
<BLOCKQUOTE>
Of course anyone who wants to look into it for themselves
can point their web browser at <A HREF="http://www.google.com"
>http://www.google.com</A> and
search on the string: "Linux market research" and read what
lots of other people are saying on the subject).
</BLOCKQUOTE>
<BLOCKQUOTE>
Makes me glad that I'm such a "curses curmudgeon." The truth
is that the main reason I chose Linux is because Microsoft was
pushing MS Windows so hard. I don't like GUIs and for a long
time I couldn't afford a monitor that was big enough to
display a reasonable working area (for an environment that insists
on cluttering half of the available space with menus, titles,
scroll bars, status lines, icon ribbons, ruler bars and other
crap that I don't need to see) and that had enough of a refresh
rate to let me work for hours without that exhausting flicker.
</BLOCKQUOTE>
<BLOCKQUOTE>
So, I decided to Learn UNIX so I could still do most of what I
wanted in "text mode" (through a terminal if necessary). I grabbed
a (used) copy of Coherent and played with that enough to do the
basics. From there I started reading the alt.os.linux news group
(just after its split from alt.os.minix, which I also used to
read). Eventually I got access to enough bandwidth to download
my first distribution (SLS). Later I bought my first Linux on a
CD (Yggdrasil).
</BLOCKQUOTE>
<em><P>
[ Although we know what happened to it (others became more popular by
updating faster) I swear I still don't know what happened to its author,
Peter MacDonald. Even the Linux
<A HREF="http://www.kernelnotes.org/pub/linuxhq/raw/kernel.org/2.2.x/CREDITS"
>CREDITS</A> file has no address for him.
</P>
<P>There was an excellent
<A HREF="http://www2.linuxjournal.com/lj-issues/issue2/2755.html"
>article on the early distributions</a> in Linux Journal, Issue 2.
-- Heather ]
</P></em>
<BLOCKQUOTE>
But enough about the past. Now about the future. I don't know
any more about the future than anyone else. However it does
appear that I'll be in New York at the LinuxExpo that'll be going
on there from February 1st through the 4th. My co-authors should
also both be there, so come on my the <A HREF="http://www.linuxcare.com/">Linuxcare</A> booth or hunt me
down in the hallway track or at the BoFs (birds of a feather
meetings).
</BLOCKQUOTE>
<em><p>[ Hey, let's keep that straight. It's
<a href="http://www.linuxworldexpo.com/">LinuxWorld</a> conference and
expo in New York ... they couldn't take the URL "linuxworld" because
<a href="http://www.linuxworld.com/">Linux World magazine</a> already
had it. They did manage to snag "linuxexpo.com", but "linux-expo.com"
leads to
<a href="http://www.linux-expo.com/international/linux-expo/linux-expo.html"
>Linux Expo 2000</a> is in Paris, France, on the 1st through
3rd of February.
</p><p>It's hard to tell, but I think it's the same parent group running
it, so maybe that makes it less wacky that they're on the same
dates (essentially competing with each other). Apparently even
the conference folks agree, there's enough Linuxers to go around.
</P><p>I ask, would it have been too hard to offer "paris.linuxworldexpo.com"
and "newyork.linuxworldexpo.com"? I'm getting really tired of seeing
entire domains squished into the tiny existence of "www" being their
only visible host.
</p><p>And before anybody asks, no. We're NOT going to both shows.
-- Heather ]</p></em>
<BLOCKQUOTE>
Hope to see you all there.
</BLOCKQUOTE>
<!-- end greeting -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<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"
>DNS Ports: A bit about Name Resolution Protocols</H3>
<p><strong>From Matt Harrington on Sun, 02 Jan 2000
on the SAGE (USENIX Sysadmin's Guild) list</strong></p>
<!-- ::
DNS Ports: A bit about Name Resolution Protocols
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
is the following true or false?
</STRONG></P>
<P><STRONG>
a client talks to a nameserver on port 53/tcp. the nameserver
answers back on a random udp port greater than 1023.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It is false. An FAQ that will answer your question
is at:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote>
<A HREF="http://www.intac.com/~cdp/cptd-faq/section2.html#ports"
>http://www.intac.com/~cdp/cptd-faq/section2.html#ports</A>
</BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... However, I'll also add some detail here.
</BLOCKQUOTE>
<BLOCKQUOTE>
First point: normal DNS resolution occurs over UDP.
</BLOCKQUOTE>
<BLOCKQUOTE>
The usual sequence for a UNIX client is something like
this:
</BLOCKQUOTE>
<BLOCKQUOTE>
The application executes a call to <TT>"gethostbyname()</TT>"
(a standard library function, which is linked into
the libc on almost any UNIX platform). <TT> gethostbyname()</TT>
in glibc (Linux libc version 6.x) is implemented to
look at the contents of your <TT>/etc/nsswitch.conf</TT> file,
and apply a set of rules from that to load NSS (name
services systems) libraries. Most Linux systems are
configured to use libnsscompat.so --- which uses
NIS/NIS+, DNS and traditional UNIX files (<TT>/etc/hosts</TT>,
<TT>/etc/networks</TT>). You can see all of the NSS libraries
on most Linux systems using the command:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
ls <TT>/lib/libnss*</TT>
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... although you might have to look at the contents of
<TT>/etc/ld.so.conf</TT> for a list of other directories in
which other libnss libraries might exist.
</BLOCKQUOTE>
<BLOCKQUOTE>
Entries in <TT>/etc/nsswitch.conf</TT> will refer to these
libraries (take the basename of the library file and
trim off the "libnss" prefix to relate library name
to the nsswitch.conf keyword).
</BLOCKQUOTE>
<BLOCKQUOTE>
Before I get back to describing the DNS IP protocols
(your question) I'll mention that all this complexity and
redirection is actually useful since it allows an admin
to configure his Linux (or other GNU system) to use
files, DNS, NIS, NIS+, as well as more obscure Hesiod,
and new LDAP and NDS naming/directory services without
having to recompiling any of the standard utilities on
any system.
</BLOCKQUOTE>
<BLOCKQUOTE>
It's also important to realize that the Linux and UNIX
doesn't have any sort of "resolver daemon" nor is this
a function of the kernel (a system call or device driver
or anything like that). This is just a set of libraries
to which almost all other applications are linked.
</BLOCKQUOTE>
<BLOCKQUOTE>
When the system is configured to use DNS (as they
almost all are) then the library functions open and
read the <TT>/etc/resolv.conf</TT> file. This gives a list
of DNS servers to which the resolver will direct its
initial queries.
</BLOCKQUOTE>
<BLOCKQUOTE>
The query will be over UDP, with an arbitrary unprivileged
source port and a destination port of 53 (which is the
DNS query port listed in your <TT>/etc/services</TT> file).
</BLOCKQUOTE>
<BLOCKQUOTE>
The initial response should come from one of the DNS servers
as listed in <TT>/etc/resolv.conf</TT>, and be directed back to
(have a destination port equal to) the source of the query.
The source of the response should also be port 53.
</BLOCKQUOTE>
<BLOCKQUOTE>
Notice that I mentioned "initial" queries and responses.
That's because the DNS protocol allows a server to
refer the client to some other DNS server. Thus there
may be an initial response that amounts to: "I don't
know, go ask ..."
</BLOCKQUOTE>
<BLOCKQUOTE>
Thus the standard packet filtering rules that you're
thinking about require one to allow UDP traffic from
port 53 to any unprivileged port in your domain.
</BLOCKQUOTE>
<BLOCKQUOTE>
Naturally this seems a bit too loose. One approach is
to have the firewall track outstanding DNS requests
maintaining a context state and only permitting responses
back to host/port pairs that have outstanding DNS queries.
This is call "stateful" packet inspection and it is one
of the features that distinguishes a "firewall" from a
simple "packet filter."
</BLOCKQUOTE>
<BLOCKQUOTE>
(Actually I hate to use the term "firewall" because it
is so nebulous. However, I have to simplify a bit or
I can't say anything).
</BLOCKQUOTE>
<BLOCKQUOTE>
A better approach is to configure your caching name
server(s) so they never forward clients to other name
servers. Thus you can have one or more "sacrificial"
caching nameservers on your perimeter network, allow
all DNS traffic to those, and have a set of rules on
the interior router/packet filters that allows all
DNS traffic from those to your hosts.
</BLOCKQUOTE>
<BLOCKQUOTE>
This is the architecture I recommend.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
i can't seem to find the answer in various o'reilly books. of
course, someone walked off with the DNS one.
</STRONG></P>
<P><STRONG>
the reason i ask is that i'm trying to write a cisco access list
which blocks all traffic to my subnet. i still want to talk to
the nameservers though, which are on another subnet. note: i
don't even have access to the router. i'm just trying to make it
easy for the overworked network guys to put this filter in place.
</STRONG></P>
<P><STRONG>
DNS only seems to work if the following line is in place...
</STRONG></P>
<Pre><STRONG>
access-list ### permit udp host ip.of.name.server any gt 1023
</STRONG></Pre>
<P><STRONG>
---matt
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You could restrict this to require that the packets
come <EM>from</EM> port 53.
</BLOCKQUOTE>
<BLOCKQUOTE>
Implicitly you are trying to use the architecture that
I've recommended above. You're trying to limit the
DNS traffic that comes into your subnet so that it
all comes from a particular name server.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that this requires that you configure your caching
name server so that it never "forwards" DNS requests
(tells the client to go ask a different server). This
is done by configuring the caching name server with
it's own "forwarders" directive (providing it with a
list of some nearby "better connected" nameservers), and
by using the "slave" directive in BIND 8.x.
</BLOCKQUOTE>
<BLOCKQUOTE>
Hope that explains it O.K. If not you might consider
posting a more detailed question to "Ask Mr. DNS" at
Acme Byte and Wire (<A HREF="http://www.acmebw.com/askmr.htm"
>http://www.acmebw.com/askmr.htm</A>).
</BLOCKQUOTE>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 1 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 1 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>DNS Ports: Answers from another Recipient</H3>
<p><strong>Robert Hajime Lanning answered on Sun, 02 Jan 2000
on the SAGE (USENIX Sysadmin's Guild) list</strong></p>
<BLOCKQUOTE>
Hmm. That message was to the SAGE (USENIX Sysadmin's Guild)
(<A HREF="http://www.usenix.org/sage"
>http://www.usenix.org/sage</A>) list, and not to my "Answer Guy"
persona as I'd initially thought.
</BLOCKQUOTE>
<!-- ::
DNS Ports: Answers from another Recipient
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
DNS is udp not tcp
</STRONG></P>
<P><STRONG>
Zone transfers can be tcp.
</STRONG></P>
<P><STRONG>
Request:
client (libresolv) random above 1023 -&gt; server (named) port 53
</STRONG></P>
<P><STRONG>
Response:
server port 53 -&gt; client same port that request was sent from
</STRONG></P>
<P><STRONG>
name server to name server:
53 -&gt; 53
53 &lt;- 53
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Mr. Robert Hajime Lanning answered Matt's question before I did.
However, I didn't see that until I got further through my
inbox.
</BLOCKQUOTE>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 1 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 1 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>More on the DNS Ports &amp; Firewalling Question</H3>
<p><strong>Jim Duncan answered on Sun, 02 Jan 2000
on the SAGE (USENIX Sysadmin's Guild) list</strong></p>
<!-- ::
More on the DNS Ports &amp; Firewalling Question
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Matt Harrington writes:
is the following true or false?
</STRONG></P>
<P><STRONG>
a client talks to a nameserver on port 53/tcp. the nameserver answers
back on a random udp port greater than 1023.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
False. The nameserver should answer back to the source port of the query.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
i can't seem to find the answer in various o'reilly books. of course,
someone walked off with the DNS one.
</STRONG></P>
<P><STRONG>
the reason i ask is that i'm trying to write a cisco access list which
blocks all traffic to my subnet. i still want to talk to the nameservers
though, which are on another subnet. note: i don't even have access to
the router. i'm just trying to make it easy for the overworked network
guys to put this filter in place.
</STRONG></P>
<P><STRONG>
DNS only seems to work if the following line is in place...
</STRONG></P>
<Pre><STRONG>
access-list ### permit udp host ip.of.name.server any gt 1023
</STRONG></Pre>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
RFC 2181, Clarifications to the DNS Specification, says:
</BLOCKQUOTE>
<Blockquote>
<BlockQuote>
4.2. Port Number Selection
</BlockQuote></Blockquote>
<Blockquote><Blockquote>
Replies to all queries must be directed to the port from which they
were sent. When queries are received via TCP this is an inherent
part of the transport protocol. For queries received by UDP the
server must take note of the source port and use that as the
destination port in the response. Replies should always be sent from
the port to which they were directed. Except in extraordinary
circumstances, this will be the well known port assigned for DNS
queries [RFC1700].
</Blockquote></Blockquote>
<BLOCKQUOTE>
So this means if the query came in to port 53 from source port nnnnn, it
must go back out to port nnnnn, source port 53. And almost always, the
destination port inbound and source port outbound will be 53.
</BLOCKQUOTE>
<BLOCKQUOTE>
If your goal is to allow outside resolvers and servers to query your own
name servers, then you need to allow port 53, both UDP and TCP, through to
the IP address of your name server, e.g.,
</BLOCKQUOTE>
<blockquote><pre> access-list ### permit udp host ip.of.name.server eq domain any
access-list ### permit tcp host ip.of.name.server eq domain any
</pre></blockquote>
<BLOCKQUOTE>
Why tcp? Because if the response is too large for a UDP packet, the rules
say to retry using TCP. Also, TCP is typically used for zone transfers.
</BLOCKQUOTE>
<BLOCKQUOTE>
Some folks know the second rule but not the first -- a little knowledge is
a dangerous thing -- and so they apply two rules like this:
</BLOCKQUOTE>
<blockquote><pre> access-list ### permit udp host ip.of.name.server eq domain any
access-list ### permit tcp host ip.of.name.server eq domain host secondary.name.server
</pre></blockquote>
<BLOCKQUOTE>
They may have additional lines like the second, one for each secondary
name server providing fallback for their primary zones. But this is wrong
because it neglects the case where TCP is called into play because the UDP
response is too big for a single packet, and then things will begin to
fail in strange ways.
</BLOCKQUOTE>
<BLOCKQUOTE>
I should point out that some folks may never see this behavior because
they never see a response too big for UDP. Also, while there are a small
number of different servers out there, there are a multitude of resolvers,
and many of them are broken or not fully tested for situations like this.
It's possible that if the response it too big, the resolver may break
anyhow, regardless of the access-list configuration on the Cisco router.
</BLOCKQUOTE>
<BLOCKQUOTE>
It's easier, by the way, to provide access as in the first examples I list
above because you're explicitly allowing the access to domain name service
on the name server on the inbound interface. That's better than opening
up a huge range of ports, outbound, to do the inverse with "gt 1023".
</BLOCKQUOTE>
<BLOCKQUOTE>
Hope this helps.
</BLOCKQUOTE>
<BLOCKQUOTE>
Jim
</BLOCKQUOTE>
<!-- sig -->
<!-- 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"
>Tape Drive Errors</H3>
<p><strong>From M Wyn on Thu, 20 Jan 2000
</strong></p>
<!-- ::
Tape Drive Errors
~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Please also send me a copy of your answer if you
got one. Many thanks.
</STRONG></P>
<P><STRONG><DL><DT>
Michael Wyn
</DL></STRONG></P>
<P><STRONG>
I've just bought a Dell 1300 server with factory-installed
RedHat 6.1. The machine was ordered with an internal Seagate DAT
tape drive. It is a SCSI, DDS-3 24G, STD124000N (3.5")
internal unit. The <TT>/var/log/dmesg</TT> file identifies the drive:
"<TT>Detected scsi tape st0 at scsi0, channel 0, id 6, lun 0</TT>".
</STRONG></P>
<P><STRONG>
Issuing command (as root):
</STRONG></P>
<P><STRONG><BlockQuote>
'<TT>mt -f <TT>/dev/st0</TT> status</TT>' with a DAT in, returns
</BlockQuote></STRONG></P>
<pre><strong> "SCSI 2 tape drive:
File number= -1, block number=-1, partition=0
Tape block size 0 bytes. Ddensity code 0x0 (default).
Soft error count since last status =0
General status bits on (10000):
IM_REP_EN"
</strong></pre>
<P><STRONG>
and the tape access lite blinks indicating error
reading the tape. Ejected tape then re-inserted it to clear
the blinking lite then issuing command (as root):
</STRONG></P>
<pre><strong> 'mt -f /dev/st0 rewind'
</strong></pre>
<P><STRONG>
returns: "<TT>/dev/st0: Input/output error</TT>"
</STRONG></P>
<P><STRONG>
Doing a '<TT>tar cvf /dev/st0 .</TT>' will return I/O errors. In
short, the tape drive is not useable.
</STRONG></P>
<P><STRONG>
RedHat folks suggested to install the '<TT>mt-st0.5b-4.i386.rpm</TT>'.
Issuing '<TT>rpm -iq mt-st</TT>' returns a message saying that it is
installed. Trying to '<TT>rpm -Uvh mt-st-0.5b-4.i386.rpm</TT>' and got
the "package installed" message. Tried to de-install using
'<TT>rpm -e mt-st-0.5b-4.i386.rpm</TT>' and got '<TT>package not installed</TT>'
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
They definitely don't understand your question!
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Dell told me to call <A HREF="http://www.linuxcare.com/">Linuxcare</A>. No answer just yet. Any idea?
Private email would be highly appreciated. Thanks.
Michael Wyn
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Oddly enough I work for Linuxcare.
</BLOCKQUOTE>
<BLOCKQUOTE>
On most 4mm DAT drives the "blinking" LED error
is an indication that the drive needs to be cleaned.
I'd run a cleaning tape into the drive and let it
run.
</BLOCKQUOTE>
<BLOCKQUOTE>
I highly recommend running your data through Lee
McLoughlin's 'buffer' program. That should be
included with your distribution or find it at
Freshmeat (<A HREF="http://www.freshmeat.net"
>http://www.freshmeat.net</A>) or RPM Find
(<A HREF="http://www.rpmfind.net"
>http://www.rpmfind.net</A>). 'buffer' will
smooth the system's access to the tape drive,
ensure steady flow and good "streaming." Search
the back issues of my column for the gory details.
</BLOCKQUOTE>
<BLOCKQUOTE>
Other than that I'd suggest having the drive
serviced. It wouldn't hurt to upgrade your
kernel (if you're still running 2.2.5, which
shipped with the most recent <A HREF="http://www.redhat.com/">Red Hat</A>). However,
I've never heard of any software/driver problems
with the Linux st (SCSI tape) drivers.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 2 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 2 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Seagate SCSI tape problem</H3>
<p><strong>From M Wyn on Fri, 21 Jan 2000
</strong></p>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I hate suggesting hardware RMA (return merchandise
authorization) --- but this does sound very hardware-ish
</BLOCKQUOTE>
<P><Strong><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>Thanks for your note.
<br>I cleaned the drive using a brand new cleaning tape from Dell.
No success. Additional info:
</strong><P>
<P><Strong>
when I tried issuing '<TT>mt -f /dev/st0 load</TT>', I got
"<TT>st0: error with sense data: [valid=0] Info fld=0x0,
current st09:001 sense key Hardware error. /dev/st0: Input/Output error</TT>"
</strong></P>
<P><Strong>
You may be right that I have a defective tape drive unit (even it
was received in Dec. 99). Incidentally, I erased a voice message
from a Dell representative saying that after the unit was shipped,
they found out that DAT tape drive was not "certified" yet [.. with
linux 6.1 and Dell 1300 server..].
</strong></P>
<P><Strong>
I'll be contacting them this morning.
If you have additional comments/suggestions, please email them
to me.
</strong></P>
<P><Strong>
Sincerely;
<br>Michael Wyn
</strong></P>
<!-- end 2 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 1 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Tape Drive Errors</H3>
<p><strong>From M Wyn on Sun, 30 Jan 2000
</strong></p>
<p><strong>
Thanks for your note.
It turns out that the tape driver terminator came loose during shipping.
Pressed it in firmly (a sweet click was heard!) and the tape is
running AOK now.
</strong></p>
<p><strong>
Sincerely;
</strong></p>
<p><strong>
Michael Wyn
</strong></p>
<!-- end 1 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<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"
>Drivers for SCSI/DAT Tape Drives</H3>
<p><strong>From Dave Lammon on Thu, 20 Jan 2000
</strong></p>
<!-- ::
Drivers for SCSI/DAT Tape Drives
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi,
<br>We are using a Compaq Proliant to do some of our DNS work since NT will
not support the way our reverse delegation is done.
</STRONG></P>
<P><STRONG>
I'm trying to use a shareware tape backup program and the compaq has a
compaq DAT on a scsi channel.
</STRONG></P>
<P><STRONG>
I'm sort of new with Linux and I prbably dont have device support
for the tape drive. Do I use ftape or is there another module to
use for this. I will try compiling a new kernel and see what
options are there. I am using Redhat 6x.
</STRONG></P>
<P><STRONG>
Any help would be apreciated.
</STRONG></P>
<P><STRONG>
Thanks
<br>Dave Lammon
<br>Network Administrator
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
There should be no special work required to use a
SCSI tape drive under Linux. You access those through
the st driver (the <TT>/dev/st0</TT> node for the first drive
and, <TT>/dev/st1</TT>, etc for other drives).
</BLOCKQUOTE>
<BLOCKQUOTE>
If this is an autochanger you might want to get the
'<tt>mtx</tt>' utility which can be found at its author's web site:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Dandelion Digital's Linux Home Page
<DD><A HREF="http://www.dandelion.com/Linux"
>http://www.dandelion.com/Linux</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
... this is like the '<tt>mt</tt>' command but it adds support
for commands like: "next", "previous", etc (and the
<TT>ioctl()</TT>'s to go with them).
</BLOCKQUOTE>
<BLOCKQUOTE>
If you can't access your tape drive, try loading the
<tt>st.o</tt> module. If you've built your own kernel for this
system, go back into your kernel sources, re-run the
make menuconfig (or make xconfigure, or whatever you
like) and make sure that you have the SCSI tape support
compiled in available as a module.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that using auto-loading support for the tape modules
has been a problem in the past. I highly recommend that
you manually load and unload your <tt>st.o</tt> driver (or build
it statically into your kernel). The problem is that an
autoloaded <tt>st.o</tt> might get auto-unloaded at an inopportune
time (when there's been enough inactivity on the driver.
In those cases, when the driver is re-loaded it will
reset the drive and rewind the tape. This could be bad
if you intended to APPEND new datasets to an existing
tape.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 3 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 3 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>DAT</H3>
<p><strong>From Dave Lammon on Fri, 21 Jan 2000
</strong></p>
<p><strong>
Thank You,
<br>this is excellent help, far more than I expected.
I did manage to get the DAT to work with the tape software. I used
<TT>/dev/st0</TT> and it looks like its working.
I greatly appreciate the help.
</strong></p>
<p><em>[
p.s. Dave, turn off the HTML+plaintext option in your mailer. Thanks.
-- Heather. ]</em></p>
<!-- end 3 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/4"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 4 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Lost Password</H3>
<p><strong>From Joy Higgins on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Lost Password
~~~~~~~~~~~~~
:: -->
<P><STRONG>
My boyfriend put Linux <A HREF="http://www.caldera.com/">Caldera</A> on the home computer which means
the only one left is my work one... I know practically nothing
about computers to begin with so be patient okay??
</STRONG></P>
<P><STRONG>
He was making a third user name and for some reason he not only
couldn't get into that users desktop (wording? I'm sorry!) and
then he found he couldn't log into root either. He tried getting
the password but it didn't work...
</STRONG></P>
<P><STRONG>
He called a computer guy that told him it sounds like the computer
is now worth the metal it took to make it because of Linux being
on it but not accessible and we could purchase a couple thousand
dollars of a "password cracker" if we wish... we do not. Is
there any way to get roots password because we think it was
changed instead of having the third users password entered in (I
hope that makes sense to you). Can you help us please? I just
want my computer back.
</STRONG></P>
<P><STRONG>
Joy
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Wow! The &quot;computer guy&quot; your boyfriend called is
either a scam artist or an IDIOT.
</BLOCKQUOTE>
<BLOCKQUOTE>
For the record you can buy my book for less than
thirty dollars (U.S.) and the first thing I cover
in the "Emergencies" appendix is how to recover from
a lost root password. This is also one of the
most common FAQs on the
<a href="news:comp.unix.admin">comp.unix.admin</a> newsgroup.
</BLOCKQUOTE>
<BLOCKQUOTE>
For Linux all you have to do is:
</BLOCKQUOTE>
<BLOCKQUOTE><dl>
<dt>1. Reboot
<dd>(try [<tt>Ctrl</tt>]+[<tt>Alt</tt>]+[<tt>Delete</tt>])
<dt>2. During the LILO prompt type:
<dd><tt>(kernel/image name) init=/bin/sh rw</tt>
<br>
... note that's usually going to be just:
<br><tt>linux init=/bin/sh rw</tt>
<dt>3. This should start the Linux kernel,
<dd>with the
root filesystem mounted in read/write mode.
The cool thing is that none of your normal
init processes (like the <tt>getty</tt>s that
ask for your name and call the login program)
will be started.
<dt>4. (Maybe) mount your <TT>/usr</TT> filesystem with a
command like:
<dd><tt>mount /usr</TT>
<dt>5. Change your root password with a command like:
<dd><tt>passwd</tt>
<dt>6. Flush the cache buffers:
<dd><tt>sync; sync; sync</tt>
<dt>7. (Maybe) unmount <TT>/usr</TT>:
<dd><tt>umount /usr</TT>
<dt>8. Remount the root fs in readonly mode:
<dd><tt>mount -o remount,ro /</tt>
<dt>9. Let <tt>init</tt> clean up and reboot the system:
<dd><tt>exec /sbin/init 6</tt>
<br>... there is a "6" (six) at the end of that
command.
</dl></BLOCKQUOTE>
<BLOCKQUOTE>
That's it. Don't worry about the couple of lines
where I said '(Maybe)' --- you can follow those steps
too, if you don't understand. The errors from unnecessarily
executing those steps are harmless.
</BLOCKQUOTE>
<BLOCKQUOTE>
You can follow a similar procedure using a "rescue"
diskette. However, I'll let you buy my book (or
visit <A HREF="http://www.toms.net/rb"
>http://www.toms.net/rb</A>) for the details on that
approach. That book is "<a href="http://www.amazon.com/exec/obidos/ASIN/1562059343/linuxsystemadmin/104-3347499-9099625">Linux System Administration</a>"
by M Carling, Stephen Degler, and me (New Riders
Publishing).
</BLOCKQUOTE>
<BLOCKQUOTE>
Hope that helps. Don't let that "computer guy" near
any of your Linux boxes. (Even if he knows quite a bit
about MS Windows I wouldn't let him near any of my systems,
his advice was horridly uninformed and it sounds like he
delivered his misinformation with an air of authority
and conviction that exacerbates the problem).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 4 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 4 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Linux password lost</H3>
<p><strong>From Joy Higgins on Tue, 18 Jan 2000
</strong></p>
<P><STRONG>
Thank you so much for your quick response!! I'm printing it out and
bringing it home... and the "computer guy" isn't getting any more business!
</STRONG></P>
<P><STRONG>
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle"> Thanks again!
</STRONG></P>
<P><STRONG>
Joy
</STRONG></P>
<!-- end 4 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/5"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 5 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>When AUTH is ident, not Authentication</H3>
<p><strong>From John Garetti on Tue, 18 Jan 2000
</strong></p>
<!-- ::
When AUTH is ident, not Authentication
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi. My name is John. Wondering if there is a way to tell the
ftpd from Wash. Univ. to send authentication requests over the
same port as the main ftp port. It seems to be using port 113
which is driving my router admin people up the wall.
</STRONG></P>
<P><STRONG>
Thx.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The FTP daemon is actually doing an "ident" request
(which is laughingly called the "auth" protocol).
Search any good engine on the string "identd" or
the phrase "inetd daemon" for more details. For
the real guts of it look at the RFC that describes
it:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Identification Protocol
<DD><A HREF="http://www.faqs.org/rfcs/rfc1413.html"
>http://www.faqs.org/rfcs/rfc1413.html</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
This is not "authentication" like asking for a password or a
key or anything like that. It just asks the remote system
what username owns a given TCP socket and it is used for
logging. Obviously the remote system might respond with
anything. The result cannot be trusted unless the remote
system is known to be secure and under the same
administration as the FTP server.
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway you should be able to disable this behaviour and/or
block the port. This is especially important if you plan
to let MS Windows clients access this server (since they
don't support the ident/auth protocol, but the attempts
will cause significant connection delays).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 5 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 5 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>WUFTP and authentication</H3>
<p><strong>From John Garetti on Tue, 18 Jan 2000
</strong></p>
<p><strong>
thx for the info.
</strong></p>
<!-- 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"
>How do you say "Dial on Demand"</H3>
<p><strong>From edj on Tue, 18 Jan 2000
</strong></p>
<!-- ::
How do you say "Dial on Demand"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
This may be really trivial for unix gurus, but I can't contain my
excitement at having successfully routed my small office LAN
through my linux box to a single ppp account! Broadband's too
expensive and before I got this set up we were running around
telling each other to hang up coz we needed to check our
e-mail! Heh, now we can all surf the web at the same time.
This is no small feat for a Mac user.
<IMG SRC="../gx/dennis/smily.gif" ALT=";)"
height="24" width="20" align="middle">
</STRONG></P>
<P><STRONG>
But I have one challenge which I think I'm going to need some
help with. On a Mac I can get the PPP client to dial the ISP
automatically when a TCP/IP application starts up and needs
to connect to the internet. How do I do this on linux?
</STRONG></P>
<P><STRONG>
-edj
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The feature you're asking for is called "dial
on demand." Under Linux this used to require
an additional package called '<tt>diald</tt>'. However,
it is also now a built in feature of the PPP
daemon (<tt>pppd</tt>).
</BLOCKQUOTE>
<BLOCKQUOTE>
Search the <tt>pppd(8)</tt> man page for the term "demand"
and read through that a bit.
</BLOCKQUOTE>
<BLOCKQUOTE>
I notice that Al Longyear's PPP FAQ is desparately
out of date and should be updated sometime soon.
It still refers us to diald. Of course you <EM>can</EM>
still use diald in any event, but you should be able
to simply add the "demand" keyword to your
<TT>/etc/ppp/options</TT> file.
</BLOCKQUOTE>
<BLOCKQUOTE>
Hope that helps.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 6 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 6 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>"edj": Re: PPP Dial on Demand</H3>
<p><strong>From star on Thu, 20 Jan 2000
</strong></p>
<P><strong>
Hi Jim,
<br>Thanks, that really helped.
</strong></p>
<P><strong>
- -edj
</strong></p>
<!-- 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"
>Looking for ...</H3>
<H4 ALIGN="center">TAG, we're it.</H4>
<p><strong>From Ashish Duggal on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Looking for ...
~~~~~~~~~~~~~~~
TAG, we're it.
:: -->
<P><STRONG>
hi !
<br>sorry to bother you. but, i was wondering if i could write to you on this
address for linux answers ?
</STRONG></P>
<P><STRONG>
thanks and regards
<br>ashish
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You'll be much better off looking for those answers
perhaps by searching the Linux Gazette archives
(<A HREF="http://www.linuxgazette.com"
>http://www.linuxgazette.com</A>) before sending questions
to me.
</BLOCKQUOTE>
<BLOCKQUOTE>
I'm getting a lot more "Answer Guy" mail than I
used to, and I have a lot less time to answer it.
</BLOCKQUOTE>
<BLOCKQUOTE>
That means that your chances of being one of the
ones I get to in a given month are getting lower
every day.
</BLOCKQUOTE>
<BLOCKQUOTE>
My criteria for answering questions are not well
defined. It depends mostly on what mood I'm
in and how much TV I'm watching (I mostly answer
LG AG mail while watching television).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 7 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 7 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Looking for the Linux Gazette</H3>
<p><strong>From tedbdodd on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Looking for the Linux Gazette
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I found an answer to a Linux question you had answered. I
found it through a search engine. I surmise that you write
articles for a magazine or something. What would this be?
</STRONG></P>
<P><STRONG>
Ted B
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I've been writing the "Answer Guy" column for
the Linux Gazette (<A HREF="http://www.linuxgazette.com"
>http://www.linuxgazette.com</A>)
for about three years now.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 7 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/8"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 8 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Hello Routing, Goodbye Masquerading</H3>
<p><strong>From hax0r on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Hello Routing, Goodbye Masquerading
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I've done masquerading a couple of times thanks to the wealth of
information on it, esp. with cable/dsl.
</STRONG></P>
<P><STRONG>
But now I'm in a situation where I actually have 30 or so ip's to work
with so I dont need to masquerade, only thats all I know how to do
The linux box is to act as a normal firewall/gateway for various win
boxen
</STRONG></P>
<P><STRONG>
Do I simply have to add the corrent routes for eth0 and eth1 and
<TT>echo 1 &gt; /proc/sys/net/ipv4/ip_forward?</TT>
</STRONG></P>
<P><STRONG>
the main command I have for masq now is
<br><tt>$IPCHAINS -A forward -s $INTERNALNET -d 0/0 -j MASQ</tt>
<br>do I have to change MASQ to ACCEPT or delete this line altogether?
</STRONG></P>
<P><STRONG>
Justin
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You can just delete the line.
</BLOCKQUOTE>
<BLOCKQUOTE>
Routing really is that simple. You configure your
interfaces with their routes, you enable the kernel's
routing flag through the <TT>sysctl()</TT> (<TT>/proc/sys/net/.../</TT>) and
that's it.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that you will probably still want to use ipchains to
implement some packet filtering rules. Those are there to
protect yourself from script-kiddies who are scanning the
'net for vulnerable hosts. They have scripts that are
trying known exploits to break into any systems they can
find (generally by scanning IP address ranges).
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that your router (Linux) is the only thing between your
MS-Windows boxes and the Internet. Win '98 and NT are
relatively safe from "takeover" exploits. They don't offer
interactive login service by default, and their APIs don't
readily support remote control. So the principle dangers to
your MS Windows systems are in the following three
categories:
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
DoS: denial of service
<li>
File Service Leakage
<li>
Viruses
<li>
Trojan Horses
</ul>
MS Windows systems are typically not very robust.
Historically they have been locked up, or rebooted when they
receive gibberish network traffic on any port to which they
are listening. It is lucky for Windows users that their OS
ships "deaf" and doesn't listen for much.
</BLOCKQUOTE>
<BLOCKQUOTE>
The "file sharing" features in MS Windows are notorious
complex, insecure, and unstable. You should definitely stop
all traffic between ports 137 through 139 and the Internet.
</BLOCKQUOTE>
<BLOCKQUOTE>
Packet filtering won't protect you from viruses and trojan
horses. These you'll primarily get via e-mail attachments,
and your best defense is to avoid executing programs and
opening documents that are sent to you. (Unfortunately most
Microsoft application products currently support various
forms of executable macros and dynamic content embedded in
their "data").
</BLOCKQUOTE>
<BLOCKQUOTE>
Personally I'd suggest that you actually continue to use IP
masquerading as much as you can. It's somewhat safer in
that the script kiddies can't establish direct connections
to your internal systems.
</BLOCKQUOTE>
<BLOCKQUOTE>
At the same time you should protect your Linux router using
a combination of packet filtering and hosts.deny
(TCP_Wrappers) rules, and by disabling any services that you
aren't actively using. Replace telnet with ssh, and FTP
with scp or sslftp. Read the Security HOWTO
(<A HREF="http://www.linuxdoc.org/HOWTO/Security-HOWTO.html"
>http://www.linuxdoc.org/HOWTO/Security-HOWTO.html</A>) by Kevin
Fenzi and Dave Wreski and the Linux Administrators Security
Guide (<A HREF="http://metalab.unc.edu/lasg"
>http://metalab.unc.edu/lasg</A>)
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
(Warning!: you'll need
a PDF viewer for that last URL, I've heard that Kurt agreed
to open this up to HTML conversion but I can't find a handly
link to it at the moment).
</UL></BLOCKQUOTE>
<!-- sig -->
<p><em>[ The HTML version is now available at
<A HREF="http://www.securityportal.com/lasg/"
>http://www.securityportal.com/lasg/</A>.
To find this, I looked in the FAQ found at the URL Jim gave,
found that that the main site didn't work, and decided to
try it with standard HTTP instead of HTTPS after all. The
home page there is quite basic but led me to the correct
place. Enjoy!
-- Heather ]</em></p>
<!-- end 8 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 8 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>+routing -masquerading</H3>
<p><strong>From Justin Azoff on Tue, 18 Jan 2000
</strong></p>
<p><strong>
Thanks for all the info on routing etc, no wonder i couldnt find any info
on it, its too simple.
<br>Unfortunately the dsl provider that finally came through only gave us one
ip so im back to masquerading
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
</strong></p>
<p><strong>
Justin
</strong></p>
<!-- end 8 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/9"><HR WIDTH="75%" ALIGN="center"></A>
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Linksys Ether16 NIC installation issues, as asked...</H3>
<p><em>[ This was our most popular question for answers from the crowd to
help out the Answer Guy. So, for those of you who missed it, the
original question was... -- Heather ]</em></p>
<P><STRONG><FONT COLOR="#000066"><EM>
From Chuck Whinney on Sun, 05 Dec 1999
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000066"><EM>
I cant seem to get my Linksys Ether16 LAN card to work under linux. I turned
off the PnP liek teh linksys website said, and I turned the motherboard
setting from PnP on that IRW to the ISA setting. Linux still never
recognizes it.
</EM></FONT></STRONG></P>
<P><STRONG><FONT COLOR="#000066"><EM>
Any ideas? Thanks! Chuck
</EM></FONT></STRONG></P>
<!-- . . . . . . . . . . . . . . . . . . . -->
<p><hr width="40%" align="center">
<!-- begin 9 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>More on Linksys Ether16 Cards</H3>
<p><strong>rabuno answered on Sun, 02 Jan 2000
</strong></p>
<!-- ::
More on Linksys Ether16 Cards
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<BLOCKQUOTE>
A loyal reader offers this answer to supplement one from
last month.
</BLOCKQUOTE>
<p><strong><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Chuck Whinney (no email) asks you:
</strong></p>
<p><em>[ Nobody's email is listed in Answer Guy messages, because
I strip them out unless it's actually important to the
question or commentary. I believe privacy is important,
and I won't have spambots harvesting addresses
via this column. I've snipped the repeat, as I just did that
above. -- Heather ]</em></p>
<p><strong><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The Linksys Ether16 is a nice cheap card. Out of p-n-p mode it acts like
a NE2000, at least close enough so the Linux ne driver has no trouble
running it. The card comes with a DOS floppy with the configuration
program, but Chuck shouldn't need to use that unless the card has been
previously used (in a Winxx machine) or unless he wants to set goofy IO
address or IRQ settings. The last couple I've purchased new ($30 at my
local office supply store) came defaulted to NE2000 mode, IRQ=5, IO
address=300.
</strong></p>
<p><strong>
The only possible causes of trouble in Chuck's case, imho, would be:
<ul>
<li> a damaged card or a damaged slot
<li> a conflict with some other device
<li> Linksys has modified their chipset so the card is no longer compatable
</ul>
</strong></p>
<p><strong>
If Chuck continues to have troubles with the card feel free to send him my
email &amp; I can try to help him out.
</strong></p>
<p><strong>
I loyally read your column in LG. Thanks; you are providing a great
service. Happy New Year.
</strong></p>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Thanks, rabuno. I occasionally get other clarifications and
corrections, and sometimes I'm not that good about getting them
forwarded into the column. I'd like to thank everyone who
helped me out on this column last year, and I'd love to be able
to answer all the questions that come to me. I think I missed
about 400 from last year. They're still in my "lgaz/2do" folder
in case I get laid up with nothing else to do for a couple of
months during this new millenium.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 9 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 12 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>A Solution to: How to detect Linksys Ether16 Cards</H3>
<p><strong>Claude Baker answered on Sat, 08 Jan 2000
</strong></p>
<!-- ::
A Solution to: How to detect Linksys Ether16 Cards
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<BLOCKQUOTE>
Here's another reader-contributed answer to using those pesky
NE2000 clone Linksys Ether16 ethernet cards:
</BLOCKQUOTE>
<p><strong><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The writer questions how to detect a LinkSys Ether16 and you suggest
another card.
</strong></p>
<p><strong>
I have that card in a router/firwall box which is based upon a P133 with
a PCI motherboard. I'm ashamed to admit it, but I spent 2-3 months
figuring out how to configure the card. As you might guess, I was
looking in the wrong places because I thought that I was misconfiguring
the routing and masquerading.
</strong></p>
<p><strong>
The Linksys card is an ne2000 clone and it is setup using a DOS utility
found on the driver diskette. The driver software may be downloaded from
the LinkSys site and it is an executable that copies itself to a
floppy. Once the download is on a floppy, a:\utility\setup queries the
card to display IRQ and I/O addresses. The utility also allows you to
set the desired IRQ, I/O address, and select between RJ-45 or BNC I/O on
the card. All setup choices are saved in non-volatile memory.
</strong></p>
<p><strong>
Setup on my machine also required a change in the Award BIOS - I had to
specify the IRQ I used to be a "Legacy ISA" rather than "PCI/ISA PnP"
for Linux.
</strong></p>
<p><strong>
I spent some time setting up a Linux Router Project distribution for
that machine and have a recollection that in addition to pulling in the
non-PCI ne2000 module, I also needed an 8309 module. My impression is
that the ne2000 is part of the 8309 family.
</strong></p>
<p><strong>
Claude Baker
</strong></p>
<!-- sig -->
<!-- end 12 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 25 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>Linksys Ether16 NIC installation issues</H3>
<p><strong>marcus.post answered on Tue, 11 Jan 2000
</strong></p>
<!-- ::
More Suggestions on Linksys Ether16
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I wanted to comment on this because some easy items where missed in
answering this customer. THe chipset is fully supported, being an NE2000
clone that works just fine. If he is having difficulty installing it, here's
where he should check:
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I got about three or four items to expound on this
message. Presumably that means that I didn't do a
very good job answering the question.
</BLOCKQUOTE>
<BLOCKQUOTE>
These days I try to forward/respond to corrections and
commentary on the threads in previous months.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
#1 Conflicts. This is not likely a problem, since the Ether software that
sets the IRQ and I/O of the card checks for conflicts before setting the
resources. If you have not installed new hardware, or turned on any extra on
board peripherals (Serial, Parallel, or USB ports), this shouldn't be an
issue.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I'm not familiar with this particular NE2000 clone.
Older ethercards commonly were set by pins and jumpers.
I'd also not trust the IRQ detection on an ISA bus.
Classically this has not been reliable. As you suggest
an installed card which was inactive might not respond
to IRQ probing but could cause problems later when it
was active.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
#2 How the driver is loaded. As a shot in the dark, you are likely using
redhat, in which case the best choice is to use Linux Config to set up the
module to load at boot. Most distros will work the same way, but some you
have to manually edit rc.* files. THere is a linux-conf topic for network
interfaces, but I forget what it is called ATM. If you have to edit the rc.*
files, look for a <tt>rc.modules</tt> file; most distrobutions have one with the
network card modules already specified, but commented out. Find the one with
your module ( <tt>ne2k.o</tt> I believe) and uncomment it. In either case, don't
worry about specifying the IRQ; you only need to note the I/O address for
this card. <EM>VERY IMPORTANT</EM> when specifying the I/O port, use "<tt>0x320</tt>"
instead of "<tt>320</tt>". You have to specify the number is hex, which is '<tt>0x</tt>'. So,
if the software that disabled your plug n play on the card said it was using
port "<tt>330</tt>", tell linux that the port is "<tt>0x330</tt>" Don't expect the module to
autodetect the card: on this card, it almost never works (I own three of
them personally), while autodetect works on other cards, such as my SMC. I
don't know why, but don't count on the module to detect the card.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I presume you're referring to the '<tt>linuxconf</tt>' program.
I'd suggest using '<tt>insmod</tt>' to load the appropriate loadable
module manually.
</BLOCKQUOTE>
<BLOCKQUOTE>
You make a good point about using the 0x prefix to
indicate that you are providing a hexadecimal address.
Presumably you could convert 0x300 to its decimal equivalent
though I've never tried it.
</BLOCKQUOTE>
<BLOCKQUOTE>
One thing I do like about PCI --- it supports much
easier and robust autodection than the old ISA cards.
</BLOCKQUOTE>
<BLOCKQUOTE>
You also have chosen reasonal I/O port addresses,
0x300, through 0x330 are the most common ethernet I/O
base port mappings. I've also seen 0x240, and 0x280.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
#3. I dont know about ISA IRQ changes you made in the BIOS. From personal
experience, they just aren't needed. You sound comfortable enough with them,
so you may want to change them back to normal once you are positve the Linux
configurations are correct and complete.
</STRONG></P>
<P><STRONG>
#4 Standard troubleshooting: If you dont get an error when booting, check
'<tt>ifconfig</tt>'. You may just need to assign the card an address, subnet, et al.
Or, run dhcpcd if you have a DHCP server/cable modem/DSL router/whatever.
Try a different ISA slot. If all looks good locally, but you cant reach
outside of your own box, check your cables, subnet mask. First answer if the
problem is hardware or software. Tackle it logically.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I thought he specified that he was getting <tt>SIOCSIFADDR:</tt>
errors (meaning that the driver isn't seeing the interface).
If you can successfully set an address etc. with
'<tt>ifconfig</tt>' then you should check for external connections,
link lights, and similar problems.
</BLOCKQUOTE>
<BLOCKQUOTE>
I have found that some 10/100 ethernet cards seem to be
"allergic" to some hubs. So be sure to try a "known
working" connection.
</BLOCKQUOTE>
<BLOCKQUOTE>
In particular I don't like the Linksys hubs, but I've
never had problems with the Netgear products.
</BLOCKQUOTE>
<BLOCKQUOTE>
Running tcpdump on your interface can be a useful was
to check for functionality. That should work so long
as there is any traffic on the segment and the driver
is loaded correctly. Thus you can isolate it to
the higher level (addressing, masking, routing tables)
or the lower (driver kernel, or physical link layer).
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Best of luck,
<br>Toodles
</STRONG></P>
<!-- sig -->
<!-- end 25 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<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"
>Clarification/Correction: stty -parenb</H3>
<p><strong>From Lamar Owen on Thu, 23 Dec 1999
</strong></p>
<!-- ::
Clarification/Correction: stty -parenb
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
<tt>parenb</tt> (and <tt>-parenb</tt>) is the <tt>PAR</tt>ity <tt>EN</tt>a<tt>B</tt>le toggle. <tt>parodd</tt> (and <tt>-parodd</tt>)
are to further set odd or even, with the default (IIRC) being even.
</STRONG></P>
<P><STRONG>
--
<br>Lamar Owen
<br>WGCR Internet Radio
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Thanks for that clarification. I should have known that.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 10 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/11"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 11 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>Radio Time Source with Serial Interface</H3>
<p><strong>From Shawn Bibb on Sat, 08 Jan 2000
</strong></p>
<!-- ::
Radio Time Source with Serial Interface
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<BLOCKQUOTE>
In response to one of my discussions about NTP and
time synchronization for disconnected (home) networks
I commented on how I'd like to find a cheap GPS
receiver with a serial interface. Those make
good time sources for your home NTP server.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
i have one of these and it works very well. ~$100. i recommend it.
<br><tt><A HREF="http://www.atomictime.com/Atomic%20Time%20Web%20v4/Product17.html"
>http://www.atomictime.com/Atomic%20Time%20Web%20v4/Product17.html</A></tt>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It this one radio or GPS? It shouldn't matter, either
should keep us to within on second which is high enough
resolution for most of us.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 11 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/13"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 13 -->
<H3 align="left"><img src="../gx/dennis/bbubble.gif"
height="50" width="60" alt="(!) " border="0"
>Id "x" respawning</H3>
<p><strong>Bill McElhannon answered on Tue, 18 Jan 2000
</strong></p>
<BLOCKQUOTE>
A forward on an old issue.
</BLOCKQUOTE>
<p><strong><img src="../gx/dennis/bbub.gif"
height="28" width="50" alt="(!) " border="0"
>
Hello,
</strong></p>
<p><strong>
I had this problem today and found that it was caused by my root file
system being full. This may be old news but I just thought I would pass
it along in case it could help someone.
</strong></p>
<p><strong>
Thanks for your great work in The Linux Gazette, I really enjoy it and
have learned a lot.
</strong></p>
<p><strong>
Bill McElhannon
</strong></p>
<!-- sig -->
<!-- end 13 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/14"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 14 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Outlook Clients Fail to find Mail Host</H3>
<p><strong>From Ted Allison on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Outlook Clients Fail to find Mail Host
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Mr. Dennis,
</STRONG></P>
<P><STRONG>
We have recently begun to experience a new strange problem relating to
trying to send email through our Linux 2.0.34 box. We have over 30 users
that have Outlook 2000 and connect to our Linux box to send and receive
email with no problems at all. The settings in Outlook 2000 are to use POP3
to receive email and SMTP to send email.
</STRONG></P>
<P><STRONG>
The problem is this: New users that we added cannot send email as they
receive an error message that states that Outlook 2000 cannot find
mail.xxxdomain.com. They can receive email with no problems, but all of
the sudden new users cannot send email. Existing users have no problems
sending or receiving, just new users which is very odd.
</STRONG></P>
<P><STRONG>
Any ideas as to what the problem may be? We would appreciate any help in
this matter.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Can they ping mail.xxxdomain.com (actual domain
name anonymized)?
</BLOCKQUOTE>
<BLOCKQUOTE>
The error suggests a problem with the DNS
resolving on the new clients. I'd look at that
first. Then I'd look at other ways in which
these new systems might differ from
the existing clients.
</BLOCKQUOTE>
<BLOCKQUOTE>
Try using the TELNET.EXE client on one of these
new system to connect to port 25 of the Linux
box (mail.xxxdomain.com). If that works than the
problem is purely with your client system and you
should call a Microsoft support center.
</BLOCKQUOTE>
<p><em>[
Ted forwarded it to his colleague, Jeff.
-- Heather. ]</em></p>
<p><strong><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Jim,
</strong></p>
<p><strong>
Thanks for the reply as I appreciate it. The problem ended up being that
some POPs blocked Port 25 as I did the Telnet test and could not connect to
the port.
</strong></p>
<p><strong>
Thanks again,
<br>Jeff
</strong></p>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 14 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/15"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 15 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Answer Guy Debunks Time Machine Myth for Y2K</H3>
<p><strong>From Tom on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Answer Guy Debunks Time Machine Myth for Y2K
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hello Mr. Dennis [Answerguy!]
</STRONG></P>
<P><STRONG>
Thanks for spending (many I suppose
<IMG SRC="../gx/dennis/smily.gif" ALT=";-)"
height="24" width="20" align="bottom"> hours answering tons of mails. The
2c tips and the Answerguy section are really my favourite pages.
I'm overwhelmed by your knowledge - but please tell me about your finest
secret... the time machine... My html version of the LG49 contains eMails
from December 2000. Booooah.
<br>Thanks again for your great work!
</STRONG></P>
<P><STRONG>
Greetings
<br>Tom
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Our editor and host mentioned that he had a problem like
that.
</BLOCKQUOTE>
<BLOCKQUOTE>
I think its been fixed on the primary Linux Gazette
web site now. However, it might still appear wrong
on some mirrors.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 15 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 3 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>The Answer Guy LG #49 - psychic, already .....</H3>
<p><strong>From Malcolm Macsween on Tue, 4 Jan 2000
<br>Answered by the Linux Gazette Editor, Mike Orr.
</strong></p>
<P><STRONG>
The answer guy is really excelling himself this month ....
</STRONG></P>
<P><STRONG>
How exactly did he help me to fix my Mosix cluster on the Linux 2.4 SMP
cluster in Oct , 2000 - I've forgotten already. Sorry - maybe you can
refresh my memory .... perhaps my memory management module is faulty,
but I seem to have forgotten the whole year.
</STRONG></P>
<P><STRONG>
<A HREF="http://www.linuxgazette.com/issue49/lg_answer49.html"
>http://www.linuxgazette.com/issue49/lg_answer49.html</A>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It was my too-successful attempt to update the copyright dates on the
articles in bulk, combined with Jim's time machine.
</BLOCKQUOTE>
<BLOCKQUOTE>
The dates are corrected. The new files will be visible at noon today
(UTC-0800).
</BLOCKQUOTE>
<BLOCKQUOTE>
Thanks for the letter. This is the most humorous of the complaints
I received, and probably the one I will publish.
</BLOCKQUOTE>
<!-- end 3 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/16"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 16 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Call Microsoft</H3>
<p><strong>From Anthony Hunt on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Call Microsoft
~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I am unable to use my Reveal Sound Card (VER. 1.09 REV. 4A) with my
Creative Labs Modem Blaster. My operating system is windows 98. Any
suggestions?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
... and read a bit of our webazine before mailing
its columnists.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 16 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/17"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 17 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>LILO for Loading "Other" OS': Setting the Default Boot Stanza</H3>
<p><strong>From Cavaiani, Don on Sun, 02 Jan 2000
</strong></p>
<!-- ::
LILO for Loading "Other" OS': Setting the Default Boot Stanza
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi James,
</STRONG></P>
<P><STRONG>
If I put the "<tt>other</tt>" (the msdos portion) code in the lilo.conf
B/4 the <tt>image =</tt> ... for the Linux O/S, will msdos load as the
default (i.e., if the operator does not enter anything) instead of Linux.
</STRONG></P>
<P><STRONG>
Or, is there another way to do this?
</STRONG></P>
<P><STRONG>
Thanks,
<br>Don
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
<TT>/sbin/lilo</TT> will make the first "stanza" (section) of the
<TT>/etc/lilo.conf</TT> file the default unless there is an explicit
'<tt>default=</tt>' directive in the "global" section.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you do use the '<tt>default=</tt>' directive, refer to the desired
stanza by its label.
</BLOCKQUOTE>
<BLOCKQUOTE>
The issues of whether the OS will boot without any
keystroke intervention, how long it will wait, whether
it will prompt the user by default, and what the prompt
message will look like can all be answered by reading
the <tt>lilo.conf(5)</tt> man page.
</BLOCKQUOTE>
<p><em>[ It's likely there is also more than you ever wanted to
know about LILO in the directory under <tt>/usr/docs</tt>
(or <tt>/usr/share/docs</tt>) for the lilo package.
-- Heather ]</em></p>
<!-- sig -->
<!-- end 17 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/18"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 18 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>KVM Switches: All are NOT Created Equal</H3>
<p><strong>From Michael Slaven on Fri, 24 Dec 1999
</strong></p>
<!-- ::
KVM Switches: All are NOT Created Equal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Jim-
</STRONG></P>
<P><STRONG>
Here's the story...
</STRONG></P>
<P><STRONG>
Raritan Computer manufactures bulletproof KVM switches. We have recently
begun to get positive feedback from the Linux community because our switches
do NOT occasionally allow keyboard/mouse lock-ups like our competitors. We
use a dedicated emulation chip for EACH computer connected to the switch.
</STRONG></P>
<P><STRONG>
Unfortunately, most of the public perceives occasional lock-ups as normal
for KVM switches and this is definitely not the case.
</STRONG></P>
<P><STRONG>
This said, getting that message out to the Linux community is not easy. I'm
interested in:
</STRONG></P>
<p><strong><ol>
<li> How you have your office set up ( how many computers)
<li> If you have the need for a KVM switch
<li> If so, I'd be willing to "lend" you one for 30-40 to test and evaluate.
</ol></strong></p>
<P><STRONG>
All I would ask in return is that if someone asks you about KVM switches,
you at least can tell them that all switches are not created equal.
</STRONG></P>
<P><STRONG>
Let me know what you think.
<br>Thanks for your time.
</STRONG></P>
<P><STRONG>
Michael Slaven
<br>OEM Manager
<br>Raritan Computer Inc.
<A HREF="http://www.raritan.com"
>http://www.raritan.com</A>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Well, I don't think I'll be considered a corporate shill
for simply including your message as it was written to me.
</BLOCKQUOTE>
<BLOCKQUOTE>
I'll have to admit that I haven't purchased any Raritans,
though I've seen them in some of the offices of my
customers, etc. Of course I'm aware that there are
differences among different types of KVM switches.
</BLOCKQUOTE>
<BLOCKQUOTE>
It's always been my opinion that the biggest gain is from
using any of the "active" (electronic) switches. Using
the mechanical A-B switch boxes will occasionally cause
the failure of a chip on your motherboard (effectively
meaning you'll have to replace about 1 motherboard in
20 per year of daily use).
</BLOCKQUOTE>
<BLOCKQUOTE>
Hopefully the future of USB will solve this problem for
keyboards and mice (I'm not aware of any problems
with mechanical switching of monitors). On the one
hand I think USB is overly complicated and expensive.
On the other hand, it will will hopefully save future
generations of computer users from fussing with the
sorts of DTE/DCE, CTS/RTS, DSR/DTR problems that we
old fogeys have had to fight with RS-232.
</BLOCKQUOTE>
<p><em>[ I've occasionally seen monitors get weird color effects when
switching, but so far, every such case has turned out to be
solved when the video cord was reseated or replaced. There
hasn't been any evidence that it was somehow any fault of the
switch. I've never used a Raritan; most were Belkins and
ProTec. -- Heather ]</em></p>
<BLOCKQUOTE>
Anyway, if you put up some white papers and actually
describe some of the failure modes (capacititive
discharge?) and how your components and designs are
better for protecting computers than those used by
your competitors, you'll probably gain some more
converts. (My personal needs have been too modest
--- and Raritan has been too expensive --- for me so far).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 18 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/19"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 19 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>More on Maximal Mount Counts &amp; Volume Labels and UUIDs</H3>
<p><strong>From ghaverla on Thu, 23 Dec 1999
</strong></p>
<!-- ::
More on Maximal Mount Counts &amp; Volume Labels and UUIDs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Dear Answer Guy,
</STRONG></P>
<P><STRONG>
Nice column. I'm up to my eyeballs in updates (I'm updating
2 Linux machines and 1 Solaris). Anyway, in the current
"The Answer Guy", you have a reply from Ted T'so on
Maximal Mount Counts which suggests a solution to a
problem I ran into last night. I'm updating a PC which
has 2 SCSI controllers from
<A HREF="http://www.suse.com/">S.u.S.E.</A> to
<A HREF="http://www.debian.org/">Debian</A>, and found that
because the controllers are seen in the reverse order
now, that the devices the disks are assigned to has changed.
Since the one controller is to be used for low performance
or not always connected devices, I don't want that controller
being seen first, which is what has happened under Debian.
These labels, as in
</STRONG></P>
<Pre><STRONG>
LABEL=temp /tmp ext2 defaults 1 2
</STRONG></Pre>
<P><STRONG>
or
</STRONG></P>
<Pre><STRONG>
UUID=3a30d6b4-08a5-11d3-91c3-e1fc5550af17 /usr ext2 defaults 1 2
</STRONG></Pre>
<P><STRONG>
Are they assigned to the entire disk, or to partitions
of a disk? The way the reply is worded it seems the label goes
with the disk, and not with the partition.
</STRONG></P>
<P><STRONG>
Thanks for any light you can shed on this.
</STRONG></P>
<P><STRONG>
Gord
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The UUIDs and labels are on filesystems (partitions),
and not on disks (physical volumes).
</BLOCKQUOTE>
<BLOCKQUOTE>
Obviously things will get more confusing and interesting
as we develop LVM (logical volume management) subsystems
under Linux.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 19 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/20"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 20 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Netscape 4.7 as a POP Client</H3>
<p><strong>From Carlos Germ<72>n Siufi on Fri, 07 Jan 2000
</strong></p>
<!-- ::
Netscape 4.7 as a POP Client
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I can't connect to my pop3 account using Netscape Messenger v4.7. My
problem is my user ID. It's the e-mail address. Example:
<br>"<tt>username@domain.com</tt>"
<br>I think Netscape only sends "<tt>username</tt>" not
"<tt>username@domain.com</tt>". Now
I'm using the command <tt>fetchmail</tt> with the <tt>-u</tt> parameter.
Example:
<br>"<tt>fetchmail mail.domain.com -u username@domain.com</tt>".
<br>It works. How can I fix Netscape Messenger?
</STRONG></P>
<P><STRONG>
Germ<EFBFBD>n Siufi
<br>[From Argentina]
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
German,
</BLOCKQUOTE>
<BLOCKQUOTE>
My personal inclination would be to use <tt>fetchmail</tt> to fetch
your mail into your local spool (or inbox) and just use Netscape
Communicator on that. I'd also configure NS to feed
outgoing mail to my MTA (my local copy of <tt>sendmail</tt>) and
let that do my masquerading, or use its support for
"from" rewriting (through the <tt>genericstable</tt> FEATURE) and
other mail handling.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you really insist on using NS' built-in POP and SMTP
support and letting it do this stuff directly then I'd
just play with the entry in the "Edit, Preferences,
Identity" dialog, trying to put in your full username@
domain name address.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 20 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/21"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 21 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>error: Interrupted system call</H3>
<p><strong>From Robert Richardson on Fri, 07 Jan 2000
</strong></p>
<!-- ::
error: Interrupted system call
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi James
</STRONG></P>
<P><STRONG>
I am not sure who I should direct this question to: I have Dell
5100 workstation running RedHat Linux 6.0 (Kernel 2.2.5-15),
setup with NTP to provide time for LAN. It works great but I
sometimes, see in the the NTP log file, the message "<tt>29 Dec
16:28:33 ntpd[634]: select(11, #---#--#---, 0L, 0L, &amp;0.000000)
error: Interrupted system call</tt>". This causes no problems, as
far as I can tell, but is there anything I should be concerned
about. I will appreciate any information you can provide.
Attached is a copy of the NTP log file. Thanks
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I'm not sure what's causing this. However, I'd
suggest a couple of rather simple steps:
</BLOCKQUOTE>
<BLOCKQUOTE>
First, there was a bug on the default XFree86 servers
and some of the video cards that were shipping with
some Dell systems. The symptom was a very slow system
clock. The solution was to upgrade the XFree86 RPMs.
</BLOCKQUOTE>
<BLOCKQUOTE>
Second, the 2.2.5 kernels that shipped with
<A HREF="http://www.redhat.com/">Red Hat</A>
6.0 were pretty bad (as Linux kernels go). I'd
strongly recommend an upgrade to the 2.2.14 kernels
(which are MUCH more stable).
</BLOCKQUOTE>
<BLOCKQUOTE>
So download the kernel sources and build it. I don't
recommend using the RPM (or any package managment
system) for doing kernel upgrades. I just use the
main sources and build them using the Makefiles
(usually using <tt>make menuconfig</tt>).
</BLOCKQUOTE>
<BLOCKQUOTE>
In this case I suspect a combination of an XFree86
bug and a kernel bug which is causing the problems
with the system clock. <tt>xntpd</tt> could easily be
sensitive to these sorts of things.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 21 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/22"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 22 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Overclocking a Motherboard? 233Mhz to 450Hmz?</H3>
<p><strong>From Steve on Fri, 07 Jan 2000
</strong></p>
<!-- ::
Overclocking a Motherboard? 233Mhz to 450Hmz?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I have a motherboard in my PC that says it has a max processor
speed of 233mhz, i did'nt know this when i resently purchased a
450mhz CPU. Is there any way i can override this issue, my max bus
speed is 66.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I wouldn't recommend it. Bare motherboards are not very
expensive so you should be able to pick up one for
about a $100 or less that will take the CPU that you
got and still allow you to pull in your old DIMMs,
and adapter cards from the existing system.
</BLOCKQUOTE>
<BLOCKQUOTE>
Of course I'd double check the RAM (DIMMs, SIMMs or
whatever you've got) and make sure it is fast enough
that you aren't wasting the investment in the new CPU.
</BLOCKQUOTE>
<BLOCKQUOTE>
Personally I don't recommend CPU upgrades at all.
I suggest that people buy the CPU, motherboard, and
RAM together, and get them matched to one another.
Also it is quite unlikely that you applications are
actually CPU bound. Your CPU investment would probably
have been better spent in extra RAM or a faster
controller.
</BLOCKQUOTE>
<BLOCKQUOTE>
As you say your current motherboard's bus speed is
only 66Mhz. You probably want a motherboard that
runs at closer to 100Mhz (at least PC100 RAM). You
don't want the CPU sitting there waiting for its
own RAM all the time.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 22 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/23"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 23 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Fixing a lilo.conf After the Fact</H3>
<p><strong>From Don Benesch on Fri, 07 Jan 2000
</strong></p>
<!-- ::
Fixing a lilo.conf After the Fact
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Answerguy,
<br>Can you tell me how to switch operating systems on LiLo?
When I installed Redhat Linux I was not given the chance of selecting the
startup OS and it defaults to Linux. I share this computer, and need it to
start up in windows. I can <tt>Fdisk /mbr</TT>, but I thought that there
might be a quicker way to switch the * to the Windows OS.
Also, If I do <TT>/mbr</TT>, how do I put Lilo back on without going thru
the whole install?
</STRONG></P>
<P><STRONG>
<br>Thanks
<br>Don (New to Linux)
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Go back and read some of my articles on LILO. Just go the
the Linux Gazette web site and use their search engine.
</BLOCKQUOTE>
<BLOCKQUOTE>
You'll find a number of sample configurations files
(<TT>/etc/lilo.conf</TT>) and many long-winded explanations
of how to use the <TT>/sbin/lilo</TT> utility to write, re-write,
and remove the LILO boot loader code from your MBR,
your superblocks, etc.
</BLOCKQUOTE>
<BLOCKQUOTE>
Basically you want to add an "<tt>other</tt>" stanza to your
<TT>/etc/lilo.conf</TT> and run the <TT>/sbin/lilo</TT> command. That's
all there is to it. Understanding how that works and
what to put in that stanza and what your other alternatives
might be is why you need to do all that homework.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 23 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/24"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 24 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>CRC Error -- System Halted --</H3>
<p><strong>From Tom Manning on Tue, 11 Jan 2000
</strong></p>
<!-- ::
CRC Error -- System Halted --
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi there...
</STRONG></P>
<P><STRONG>
Problem I'm having with Linux is this: Couple of days ago, worked
great. Then one morning I booted up, typed "<tt>linux</tt>" at the LILO
prompt, and it immediately said "<tt>CRC ERROR --SYSTEM HALTED--</tt>"
</STRONG></P>
<P><STRONG>
End of story. <tt>CTRL-ALT-DEL</tt> doesn't even work, it has to be reset
manually. I can boot into Windows just fine.
</STRONG></P>
<P><STRONG>
Linux and Windows are on seperate hard drives, I'm running a
Celeron266 with 96MB RAM, ABIT BX6(1) motherboard.... What do you
think?
</STRONG></P>
<P><STRONG>
Thanks very much
</STRONG></P>
<P><STRONG>
Tom
<br>[Canada?]
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It sounds like an ailing hard drive to me. Try a
boot/rescue floppy (Tom's Root/Boot is nice for this --
<A HREF="http://www.toms.net/rb"
>http://www.toms.net/rb</A>).
</BLOCKQUOTE>
<BLOCKQUOTE>
If you can't mount your filesystems, try running fdisk to
view the partition table. The command '<tt>fdisk -l</tt>' will list
all available partitions on all drives (except for the
<A HREF="http://www.debian.org/">Debian</A> fdisk which will require a
series of commands like
'<tt>fdisk -l /dev/hda ; fdisk -l /dev/hdb</TT>' etc depending on the
number of drives you have --- they use a more powerful
version of fdisk which nonetheless has this limitation).
</BLOCKQUOTE>
<BLOCKQUOTE>
It's possible that the CRC error is only affecting your
track 0 (where your MBR, and the partition table are
stored).
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway it is almost certainly a hardware problem. If
you have a backup, I'd replace the drive (or at least
reformat it with badblock checking enabled) and restore
your system and data. If you don't have a backup, you
might be able to recover some of your data and filesystems
through some low-level disk editing heroics.
</BLOCKQUOTE>
<BLOCKQUOTE>
(If you've given up on recovering the filesystems and
data, and you want to confirm that it really is hardware
and not some Linux glitch, try using MS Windows to
repartition and reformat that second drive. Not that
MS Windows does that any better than Linux --- but you'll
know by that it's not "just us").
</BLOCKQUOTE>
<!-- sig -->
<!-- end 24 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/26"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 26 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Out of the Blue Strategic Advice for Red Hat</H3>
<p><strong>From dennis garber on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Out of the Blue Strategic Advice for <A HREF="http://www.redhat.com/">Red Hat</A>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
In order for redhat to succeed, they must do 4 things.
</STRONG></P>
<P><STRONG><ol>
<li> Buy www.phatlinux.com's distrubution. Offer it as an
alternative to yours
<li> Buy www.trelos.com 's version vmware.com
<li> Buy the technology of the lothar project. Which allows windows
plug and play devices to work under linux.
<li> Get some focus groups together to see if the information in the
documentation is getting accross to non programmers.
</ol>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I have no idea where this advice comes from.
</BLOCKQUOTE>
<BLOCKQUOTE>
Are you a share holder or investor in PhatLinux, Trelos
Lothar, etc?
</BLOCKQUOTE>
<BLOCKQUOTE>
Of course this raises the question: "succeed at what?"
</BLOCKQUOTE>
<BLOCKQUOTE>
I presume you mean something like: "for them to justify
their valuation by reporting profits on a scale to match
the earnings to capitalization ratio of traditional
companies."
</BLOCKQUOTE>
<BLOCKQUOTE>
Since I'm not a shareholder of Red Hat my initial
gut reaction is: "who cares?"
</BLOCKQUOTE>
<BLOCKQUOTE>
If I was a Red Hat shareholder I wouldn't ever expect
them to report profits or earning in line with their
market cap. It's a speculative holding, bought by people
who believe that its "buzz" will keep other investors
interested. That's basically like Yahoo! and other
high flying Internet stocks.
</BLOCKQUOTE>
<BLOCKQUOTE>
It appears to me that the stock market's absurd gains
in the last decade amount to a simple fact of the
current prosperity and concentration of wealth in
our economy: "There's no where else to stash it."
</BLOCKQUOTE>
<BLOCKQUOTE>
It is generally accepted that putting money into banks
for a paltry 3% to 5% return is a way to slowly LOSE
your money due to inflation and taxation. Other
forms of investment such as real estate and the bond
market are driven more by inflation. When we have low
inflation those investments won't "perform" well.
</BLOCKQUOTE>
<BLOCKQUOTE>
Meanwhile the poor are getting poorer, the middle
class are working hard and spending more, and the rich
are getting richer. The hard working middle class
have put money (or had it deducted) into pension plans.
</BLOCKQUOTE>
<BLOCKQUOTE>
So we have billions of dollars (the holdings of the
pension plans, and those of the rich individuals and
corporations) which have to "go somewhere." There's
incredible social and economic pressure for that money
to be "working."
</BLOCKQUOTE>
<BLOCKQUOTE>
Since the U.S. economy is the strongest in the world
and the North American continent is one of the
most politically stable there is little incentive to
invest overseas. So most of the money will stay
on our stock markets.
</BLOCKQUOTE>
<BLOCKQUOTE>
(This is not to say that we are the "good guys." From what
I've read of Chomsky, Uncle Sam stirs up much of this
international trouble. We later don our white hat and make a
great show of our heroic efforts to make peace. To read
more on that topic visit the "The Noam Chomsky Archive"
<A HREF="http://www.lbbs.org/chomsky/index.cfm"
>http://www.lbbs.org/chomsky/index.cfm</A> and consider getting
and reading a copy of "Deterring Democracy" in particular).
</BLOCKQUOTE>
<BLOCKQUOTE>
As for Red Hat I don't know that PhatLinux is such a
critical aquisition for them. There have been several
"FAT Linux" distributions (running under a subdirectory
on an MS-DOS/MS Windows filesystem) over the years.
There is a Macmillan product known as something like:
"Linux for Windows" (which might be a re-packaging
of PhatLinux for all I know). You can find info about
it at <A HREF="http://www.macmillansoftware.com/mac_software"
>http://www.macmillansoftware.com/mac_software</A>
if you're willing to put up with the JavaScript that they
force all over their page. It's basically unusable in
Lynx and I don't feel inclined to fire up X to look
at it (since I'm writing this through an ssh link
about three U.S. states from my home mailbox).
</BLOCKQUOTE>
<BLOCKQUOTE>
So, Red Hat could create a "no-repartition" Linux
product. They could buy a company that's done it
(build or buy --- it's the recurring question for every
business' software strategy).
</BLOCKQUOTE>
<BLOCKQUOTE>
I have no experience with PhatLinux
(<A HREF="http://www.phatlinux.com"
>http://www.phatlinux.com</A>) so I can't offer an opinion on
the technical merits for this suggestion. They (Red Hat)
would presumably want their own analysts to make that
decision.
</BLOCKQUOTE>
<BLOCKQUOTE>
TreLOS' "Win4Lin" (<A HREF="http://www.trelos.com"
>http://www.trelos.com</A>) clone of
VMWare (<A HREF="http://www.vmware.com"
>http://www.vmware.com</A>) might be an
interesting aquisition. Of course, with Red Hat's
market capitization they could court VMWare directly.
</BLOCKQUOTE>
<BLOCKQUOTE>
I've never used either of these products personally.
Most of my associates at <A HREF="http://www.linuxcare.com/">Linuxcare</A>
(<A HREF="http://www.linuxcare.com/">www.Linuxcare.com</A>)
use VMWare when they need to access "legacy" MS Windows apps
(and even when they want to run a copy of Linux under a virtual
machine).
</BLOCKQUOTE>
<BLOCKQUOTE>
Again, I can't speak to the technical merits of such an
aquisition.
</BLOCKQUOTE>
<BLOCKQUOTE>
There's also Kevin Lawton's Freemware
(<A HREF="http://www.freemware.org"
>http://www.freemware.org</A>) is an open source project to
implement something like Win4Lin and VMWare. Kevin Lawton
wrote the Bochs package which is a shareware virtual machine
(that implements an x86 on any UNIX platform).
</BLOCKQUOTE>
<BLOCKQUOTE>
Meanwhile let's not forget the <A HREF="http://www.winehq.com/">WINE</A> project
<A HREF="http://www.winehq.com"
>http://www.winehq.com</A> which is continuing to plug away at
running MS Windows programs under Linux (in this case
without need for an emulator or hardware virtualization
layer).
</BLOCKQUOTE>
<BLOCKQUOTE>
So, Red Hat (or other Linux companies) have a smorgasbord of
MS-Windows binary compatability technologies to choose from.
</BLOCKQUOTE>
<BLOCKQUOTE>
Lothar (<A HREF="http://www.linux-mandrake.com/lothar"
>http://www.linux-mandrake.com/lothar</A>) is a project
that is being spear-headed by MandrakeSoft, a competitor to
Red Hat. In addition it basically overlaps some of the
functionality that Red Hat hopes to implement in Linuxconf
(a package in which they've already invested some effort and
support). However, Lothar does seem to be an open source
project --- so any contribution by Red Hat could benefit
them (and everyone ele). It looks like Lothar is focused
primarily on the administration and configuration of
hardware. Basically let's provide a good UI for "adding
hardware" (one that's better and more robust than Win '9x's
infamous "Adding Hardware" wizard).
</BLOCKQUOTE>
<BLOCKQUOTE>
Your last suggestion makes more sense than any of the
others. Of course one should be careful with "focus goups."
If the methods used in selecting participants and conducting
the research aren't exceptionally good, then you just end
up drawing conclusion from the exercise that match
assumptions that you fed into it.
</BLOCKQUOTE>
<BLOCKQUOTE>
All of your suggestions do have a consistent theme. They
all relate to the growth of Linux on the PC desktop.
</BLOCKQUOTE>
<BLOCKQUOTE>
It seems that Red Hat doesn't consider that to be a
strategic priority. I can understand their point of
view there. They are trying to "break into" lucrative
niches "where the money is." That is suggested by
their aquisition of Cygnus.
</BLOCKQUOTE>
<BLOCKQUOTE>
Linux on the desktop will probably happen. Red Hat will
probably help. However, the migration away from MS Windows
on home and client systems will be primarily driven by users
and free programmers (including Red Hat developers in their
"free" time).
</BLOCKQUOTE>
<BLOCKQUOTE>
Meanwhile, Red Hat has "bigger fish to fry" (or so they
hope).
</BLOCKQUOTE>
<BLOCKQUOTE>
As to which breeds of fish they're cooking, I wouldn't
know. Unfortunately for them Red Hat seems to lack focus.
They claim to want to build up their services --- yet they
still lack credibility in their support and professional
services offerings.
</BLOCKQUOTE>
<BLOCKQUOTE>
Their bread and butter has been shrink wrap --- and they are
getting nailed by Macmillan's Mandrake based packages (which
have a well-established retail channel through their ties to
book stores).
</BLOCKQUOTE>
<BLOCKQUOTE>
Their purchase of Cygnus would suggest a diversification
into tool chain and embedded systems (the strengths of
that company).
</BLOCKQUOTE>
<BLOCKQUOTE>
Their announced strategic relationships with Oracle et al
suggest a focus on the IT server room --- the old NT killer.
</BLOCKQUOTE>
<BLOCKQUOTE>
I personally see these as different directions. None of
them point to Joe consumer and the desktop.
</BLOCKQUOTE>
<BLOCKQUOTE>
Their support of <A HREF="http://www.gnome.org/">GNOME</A> can be
seen as a desktop oriented
initiative. However, it seems that the public, even the
IT purchasing public suffers from the delusion that servers
need GUIs. So I'm not sure that this is a compelling argument.
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway I think that Red Hat does hope to "cash in on" the
name recognition that they've built. They don't seem to
think that retail sales of their distribution will sustain
reasonable growth for them. They're right!
</BLOCKQUOTE>
<BLOCKQUOTE>
The Linux market is overly "distribution"-manic. There is
relatively little difference among distributions. Red Hat,
<A HREF="http://www.suse.com/">S.u.S.E.</A>,
<A HREF="http://www.caldera.com/">Caldera</A>,
<A HREF="http://www.turbolinux.com/">TurboLinux</A>,
<A HREF="http://www.debian.org/">Debian</A>, Corel and
<a href="http://www.stormix.com/">Stormix</a> are
all fundamentally the same software.
</BLOCKQUOTE>
<p><em>[ With different installers, each having their own idea of glitz.
Actually, the packaging system
is a slight delimiter -- .rpm vs .deb -- but with the help of
a small package called <tt>alien</tt>, even that can generally
be overcome quickly.
-- Heather ]</em></p>
<BLOCKQUOTE>
With an effective LSB (*) we wouldn't even have to ask
"what distribution is that for/from?" You could simply
install, configure and manage any package from the open
source world without worrying about the details.
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
(Linux Standards Base: <A HREF="http://www.linuxbase.org"
>http://www.linuxbase.org</A>)
</ul>
I think Red Hat realizes the truth in this and is frantically
seeking other revenue streams. The sad think is that the
shrink-wrapped/packaging business is not such a bad one
to be in. It did, after all, get them where they are today.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 26 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/27"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 27 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>"Hardening" a Red Hat (into a Helmet?)</H3>
<p><strong>From Judith Bride on Tue, 11 Jan 2000
</strong></p>
<!-- ::
"Hardening" a <A HREF="http://www.redhat.com/">Red Hat</A> (into a Helmet?)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Mr. Dennis,
<br>Can you direct me to a source that will tell me how to secure our
RHLinux 6.0 DNS server. I am new to Linux. We only use it for DNS, so
we want to make sure we've closed all unnecessary services.
</STRONG></P>
<P><STRONG>
Thanks.....
<br>Judith
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You could start with Bastille Linux at
<A HREF="http://www.bastille-linux.org"
>http://www.bastille-linux.org</A>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 27 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/28"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 28 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Virtual Mail Hosting in a Single Inbox</H3>
<p><strong>From Dina Yazbeck on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Virtual Mail Hosting in a Single Inbox
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Dear Sir
</STRONG></P>
<P><STRONG>
I am basicaly trying to host a domain and have all the emails of
the users of this domain (<tt>remotedomain.com</tt>) sent to one particular
mailbox (such as <tt>remotedomain@myisp.net</tt>) This is straigh forward.
Assuming that the remote domain machine (LINUX) polls the ISP
server. What is the procedure to use to retrieve this mail and
distribute it the respective mailboxes of the users mail boxes.
Waiting for your reply.
</STRONG></P>
<P><STRONG>
Thank you.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Personally I despise this method of virtual
mail hosting, and I won't do it to my friends and
customer (nor would I let an ISP do it to me).
</BLOCKQUOTE>
<BLOCKQUOTE>
However, you can read the Fetchmail FAQ for
too much information on this.
</BLOCKQUOTE>
<BLOCKQUOTE><blockquote><code>
<A HREF="http://www.tuxedo.org/~esr/fetchmail/fetchmail-FAQ.html"
>http://www.tuxedo.org/~esr/fetchmail/fetchmail-FAQ.html</A>
</code></blockquote></BLOCKQUOTE>
<!-- sig -->
<em><p>[ It might be possible to severely abuse plus-addressing to do
it. See the Procmail Tips Pointer, and jump to section 13.2:</p>
<blockquote><code><a href="http://www.faqs.org/faqs/mail/procmail/tips-pointer/" >http://www.faqs.org/faqs/mail/procmail/tips-pointer/</a>
</code></blockquote>
<p>-- Heather ]</p></em>
<!-- end 28 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/29"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 29 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Out-"Fox"-ing the Fox?</H3>
<p><strong>From S.R. Dawson on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Out-"Fox"-ing the Fox?
~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Not sure if you can help me, but I have thousands of records stored in the
original Foxbase+, Version 2.0 database, which are all *.dbf files, totally
MS-Dos based. Are there any utilities that I could aquire which would be
able to read these files and convert to a Windows-based database?
</STRONG></P>
<P><STRONG>
Thank you.
<br>Steve Dawson
<br>Terre Haute, In
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I suppose you could install Linux, and write some
scripts using dbview (*) convert them to text,
copy them back to an MS-DOS partition and then use them
in Microsoft's Foxbase!
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
( <A HREF="http://www.infodrom.north.de/~joey/Linux/Debian/dbview.html"
>http://www.infodrom.north.de/~joey/Linux/Debian/dbview.html</A> )
</ul>
Actually I don't do (MS) Windows and it's too early
in the year for me to be thinking about April Fool's Day.
</BLOCKQUOTE>
<BLOCKQUOTE>
Why don't you just ask a nice purveyor of MS Windows
software (tens of thousands of apps at your local
Egghead --- err, Software Supermarket)?
</BLOCKQUOTE>
<!-- sig -->
<!-- end 29 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/30"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 30 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Adding a Disk</H3>
<p><strong>From Samuel Q Roodman on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Adding a Disk
~~~~~~~~~~~~~
:: -->
<P><STRONG>
I recently got Mandrake 6.1 up and running on Pentium 90 with 48
mb of ram. The question I have is: The system is running with a
scsi drive and I wish to add another. How do I access the drive
to format it and then access the directories once its formated?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Add the new drive by assigning it a unique SCSI ID
for the bus/cable on which you are adding it, and
resolving any termination issues that come up.
</BLOCKQUOTE>
<BLOCKQUOTE>
Once you've restored your system to functionality ---
with the new drive physically/electronically
connected then it's easy.
</BLOCKQUOTE>
<BLOCKQUOTE><ol>
<li>run: <tt>fdisk /dev/sdb</TT>
<br>(Assuming you only have one drive now,
the new drive should be <TT>/dev/sdb</TT>).
<li> create any partitions you like on the
new drive. BE CAREFUL! Don't blow away
partitions on your old drive. I recommend
that your existing drives be assigned
IDs that are numerically than the new drive(s).
<li>for each partition:
<br><tt>mke2fs -c /dev/sdbX</TT>
<br>.... BE CAREFUL! Make sure that you use the
appropriate <TT>/dev/sd?</TT> node or you'll format
one of your existing filesystems.
<li> edit your <TT>/etc/fstab</TT>. I use a text editor (<tt>vi</tt>
or <tt>xemacs</tt> in vi emulation mode), but there are
several user interfaces (GUIs and text/curses
menuing systems) that can help you with that.
</ol></BLOCKQUOTE>
<BLOCKQUOTE>
Typical new entries might look something like:
</BLOCKQUOTE>
<blockquote><pre>/dev/sdb1 /u1 ext2 defaults 1 0
/dev/sdb2 /u2 ext2 defaults 2 0
</pre></blockquote>
<BLOCKQUOTE>
... The device names should match the ones
you used for those <tt>mke2fs</tt> commands. The second
column lists "mount points" which should be
empty directories that you create wherever it
suits your needs. You can name them anything
you like (pretty much).
</BLOCKQUOTE>
<BLOCKQUOTE>
Read the <tt>fstab(5)</tt> man page using the command:
<br><tt>man fstab</tt>
</BLOCKQUOTE>
<BLOCKQUOTE>
... the (5) is a UNIX convention for referring to a
keyword or man page reference by specifying which
chapter or section of the man pages is appropriate.
</BLOCKQUOTE>
<BLOCKQUOTE>
(That convention arose because many system calls,
library functions, and commands and some commands
and their configuration files have the same
names).
</BLOCKQUOTE>
<BLOCKQUOTE>
That's basically all there is to it. Once you've physically
connected the new drives, you can do all of this (including
mounting the new filesystems and using them) without
rebooting.
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that the example as given would automatically
mount these new filesystems on reboot. To use these
filesystems after editing the fstab and WITHOUT rebooting
simply issue a series of commands like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
mount /u1; mount /dev/sdb2
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... where you refer to the unique value in either of the
first two columns/fields of the fstab entries (the device
or the mount point). The mount command will search the
fstab for a matching entry and supply the rest of its
arguments therefrom.
</BLOCKQUOTE>
<BLOCKQUOTE>
(Of course you can read the mount(8) man page for info
on mounting filesystems without editing the fstab file.
To do a temporary mount you simply provide all of the
details on the mount command line, and leave your
fstab alone).
</BLOCKQUOTE>
<BLOCKQUOTE>
Note: if you mount a filesystem over a non-empty
directory there will be no harm done. However the
underlying contents will be inaccessible (hidden)
until you umount the overlaid fs. This is NOT
recommended practice, so you should consider it a
mistake if you do this.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 30 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/31"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 31 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Serial Capture</H3>
<p><strong>From Glenn Proctor on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Serial Capture
~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Is there a way to view ascii data in a terminal session coming through
my linux pc's serial port? My business does a lot of data ingest over
direct connections, muxes and that sort of thing. Quite often I wish I
had a quick way to troubleshoot or check new connections to see that
the data coming across is ungarbled or is even hitting the serial
port.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Look for TTYSnoop at Freshmeat:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><code>
<A HREF="http://www.freshmeat.net/appindex/1999/09/05/936520647.html"
>http://www.freshmeat.net/appindex/1999/09/05/936520647.html</A>
</code></BlockQuote></BLOCKQUOTE>
<!-- sig -->
<!-- end 31 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/32"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 32 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Remote Control through Telnet</H3>
<p><strong>From Dirk Blennemann on Tue, 11 Jan 2000
</strong></p>
<!-- ::
Remote Control through Telnet
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Dear James,
</STRONG></P>
<P><STRONG>
I noticed your address on the <A HREF="http://www.linuxcare.com/">Linuxcare</A> pages and understood that
your are a Linux expert.
</STRONG></P>
<P><STRONG>
I like to control a Linux server via Telnet. Do you have an idea
where I may find information about that subject?
</STRONG></P>
<P><STRONG>
Thank you very much in advance!
</STRONG></P>
<P><STRONG>
Dirk
<br>[Germany]
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Any book on Unix will tell you how to access text
mode and shell applications and utilities. Linux and
UNIX basically don't distinguish among text console,
serial terminal, telnet, and other forms of terminal
access.
</BLOCKQUOTE>
<BLOCKQUOTE>
There's not much else to say on that subject.
I recommend the use of <tt>ssh</tt>, SSL telnet or other secure
variants of the client/server package to protect you
from sniffing (which is a big problem for traditional
<tt>telnet</tt>) and spoofing (which is the bane of
<tt>rsh</tt> and <tt>rlogin</tt>).
</BLOCKQUOTE>
<BLOCKQUOTE>
It is also possible to remotely execute graphical
applications. You run any X server on a system at
hand (in front of you), and you can run X Windows
programs on other hosts (clients) by exporting the
DISPLAY environment variable on the remote shell.
</BLOCKQUOTE>
<p><em>[ As long as the client running the app can remotely access
the I/O server on port 6000 or so. -- Heather ]</em></p>
<BLOCKQUOTE>
<tt>ssh</tt> will allow this very easily and securely. It
can automatically export the appropriate variable/value
to your remote host and will encrypt all the X lib
protocol traffic through its own tunnel.
</BLOCKQUOTE>
<BLOCKQUOTE>
This is a rather big topic, but any books on Linux
and UNIX should cover it in great detail.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 32 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/33"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 33 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Jaton 107 Blade 3D and XFree86</H3>
<p><strong>From Eduardo Castello on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Jaton 107 Blade 3D and XFree86
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I have a Jaton 107 Blade 3D with 8Mb and a SamSung Syncmaster 550s
and I can't configure the X server!!!
</STRONG></P>
<P><STRONG>
What should I do?!!!
</STRONG></P>
<P><STRONG>
Please help me!!!!!!!!!!!!!!!!!
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I have never heard of a "Jaton 107" --- but Blade 3D are
Trident chipsets. A search on <A HREF="http://www.google.com/linux"
>http://www.google.com/linux</A>
shows people reporting success with AGP Blade 3D and
XFree86 3.3.5 and another using XFree86 3.3.4 from
<A HREF="http://www.suse.com/">S.u.S.E.</A>
(AGP or PCI unspecified).
</BLOCKQUOTE>
<BLOCKQUOTE>
The XFree86 web site is the canonical source of what
chipsets are supported by their X server. The Trident
Blade3D is listed on the 3.3.5 support list at
<A HREF="http://www.xfree86.org/3.3.5/README3.html"
>http://www.xfree86.org/3.3.5/README3.html</A>
</BLOCKQUOTE>
<BLOCKQUOTE>
Of course this assumes that you're trying to use XFree86.
There are also commercial X servers like X Inside
(from Xig) and and Metro-X (from Metrolink).
</BLOCKQUOTE>
<BLOCKQUOTE>
Your message doesn't give any clues as to what distribution
you're using, what X server you're having trouble with,
or even what specific problem you're having.
</BLOCKQUOTE>
<BLOCKQUOTE>
Hint: When asking for tech support, especially free
support, via e-mail BE SPECIFIC! At least tell the nice
support person what you tried, and what happened.
</BLOCKQUOTE>
<BLOCKQUOTE>
Other Hint: Do your homework. Read some of the back
issues of my column and you'll find about 100 messages
where people have asked variations of: How do I get
X to work with _____ video card? I answer them all
about the same way. I look for the video card in
Google, Alta Vista, Yahoo! etc to see if I can guess
the chipset. Then I look at the XFree86 site to see
if its on their supported list. Then I suggest that they
consider getting one of the other X servers or getting
a supported video card. (Meanwhile my searches include
the keyword: Linux so I also get some testimonials and
comments from Linux users who mention these cards).
</BLOCKQUOTE>
<BLOCKQUOTE>
The answer is always the same:
</BLOCKQUOTE>
<BLOCKQUOTE><ol>
<li> Determine the chipset.
<li> Check XFree86 web site and FAQ
<li> Check a few search engines
<li> Consider purchasing a replacement:
<ol type="a">
<li> a supported card
<li> one of the commercial X servers
</ol>
</ol></BLOCKQUOTE>
<!-- sig -->
<!-- end 33 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/34"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 34 -->
<H3 align="left"><img src="../../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Redirecting stdin into telnet</H3>
<p><strong>From Christopher Smith on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Redirecting stdin into telnet
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I'm running <A HREF="http://www.redhat.com/">Red Hat</A> 6.0, and I'm
trying to redirect my telnet
stdin from a file. Whenever I use either a pipe or <tt>&lt;</tt> input, the
client connects, informs me that the <tt>escape is ^]</tt>, and says <tt>the
remote server has closed the connection</tt>. What's wrong?
</STRONG></P>
<P><STRONG>
Example: $ <tt>telnet csmith &lt; input.txt</tt>
</STRONG></P>
<P><STRONG>
Christopher Smith
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I've seen examples of telnet scripting being done this
way. However, I think it probably depends on the
version of telnet that you're using and there is a
better way.
</BLOCKQUOTE>
<BLOCKQUOTE>
For example when I do an strace on my copy of
telnet I find a number of system calls like:
</BLOCKQUOTE>
<blockquote><pre>ioctl(0, SNDCTL_TMR_STOP, {B134 -opost -isig -icanon echo ...}) = -1 ENOTTY (Inappropriate ioctl for device)
</pre></blockquote>
<BLOCKQUOTE>
Note that result: <tt>ENOTTY</tt> which is kernel speak for
"Error, this file handle doesn't refer to a terminal
device (TTY)"
</BLOCKQUOTE>
<BLOCKQUOTE>
This suggests that telnet is detecting that its
input file handle is not a terminal device, and is
bailing at that point.
<ul><li> (It would be nice if it
gave an error message a unique error code and if
they listed this constraint in their man pages).</ul>
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway, simple redirection is not the way to
run interactive programs like telnet under scripted
control. You probably want to use the 'expect'
scripting language instead.
</BLOCKQUOTE>
<BLOCKQUOTE>
For example, here's a simple 'expect' script to
control telnet sessions:
</BLOCKQUOTE>
<blockquote><pre>#!/usr/bin/expect -f
# Sample telnet automation
## call with autotel host username password
set host [lindex $argv 0]
set rcfile [open ~/.autotel/$host r ]
gets $rcfile user
gets $rcfile pass
spawn telnet "$host"
expect "login:"
send "$user\r"
expect "word:"
send "$pass\r"
interact
</pre></blockquote>
<BLOCKQUOTE>
This appears in my book (<a href="http://www.amazon.com/exec/obidos/ASIN/1562059343/linuxsystemadmin/104-3347499-9099625"
>Linux System Administration</a>,
published by New Riders Publishing). You call it like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
autotel foo
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... and it will automatically look for a .autotel/foo
file under you home directory, read a pair of lines
for the user name and password. Then it uses them to
login to the host (whose name must match the
<tt>.autotel/</tt> filename (*) ).
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
(Actually the version of this on my own
system read three lines from the autotel
files: a location, and the username/password
pair).
</UL></BLOCKQUOTE>
<BLOCKQUOTE>
As I say this is a very simple 'expect' script. It
shows the most basic features of the language:
you can do all of the normal things like open
files, read from and write to them, do basic string
handling and arithmetic, etc. But the features of
'expect' for which it is renouned include the ability
to '<tt>spawn</tt>' interactive processes on psuedo-terminals
(ptys), and to '<tt>expect</tt>' certain patterns from the
them, and '<tt>send</tt>' strings back to them.
</BLOCKQUOTE>
<BLOCKQUOTE>
Of course 'expect' has support for the common conditional
and looping structures, and the '<tt>expect</tt>' function supports
timeouts values. So you can write arbitrary handling for
errors and situations that don't match your intended
dialog.
</BLOCKQUOTE>
<BLOCKQUOTE>
There's also the '<tt>interact</tt>' function which allows
your script to turn the keyboard back over to you,
so that the script then passively relays your input
and the program's output. Actually the '<tt>interact</tt>'
function is even more powerful than than since it
can also monitor the communications and dynamically
"catch" certain key sequences, expanding them into
macros, or using them as triggers to execute your
own defined procedures or to break out of the
interaction and complete other parts of the script.
</BLOCKQUOTE>
<BLOCKQUOTE>
So, I'd check out the 'expect' programming language
and see if that will help. Here's an untested script
that would do something like what you wanted:
</BLOCKQUOTE>
<blockquote><pre>#!/usr/bin/expect -f
# Sample telnet "feeder"
set host [lindex $argv 0]
set infilename [lindex $argv 1]
set infile [open $infilename r ]
spawn telnet "$host"
while [ gets $infile line ] {
sleep 1
send -- $line
}
</pre></blockquote>
<BLOCKQUOTE>
(This would just blindly feed lines into a telnet
session from your input file. It's pretty stupid,
but you'd call it with something like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
telfeeder host.domain.not ./filename
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... note the lack of redirection here).
</BLOCKQUOTE>
<BLOCKQUOTE>
Note that it's also possible to use C-Kermit
(the kermit communications package from Columbia
University <A HREF="http://www.columbia.edu/kermit"
>http://www.columbia.edu/kermit</A>) to automate
and script a communications session. I wrote an
article about this for SysAdmin Magazine
(<A HREF="http://www.samag.com/archive/0607/index.shtml"
>http://www.samag.com/archive/0607/index.shtml</A>) back
in 1997. The key point of that article (which is
not online, though I could probably re-publish myself
now) is that Kermit is not just a file transfer protocol
and it is not limited simply to modem and serial
communications, it has support for telnet and rlogin
protocols.
</BLOCKQUOTE>
<BLOCKQUOTE>
In fact Kermit as improved since my article:
</BLOCKQUOTE>
<BLOCKQUOTE><ul><li>
it now supports Kerberos authentication and encryption
<li>
it has internal SSL support
<li>
it can use some other program like ssh for its
communications channel.
<li>
it can now operate as an alternative to FTP
using providing a number of advantages over the
somewhat decrepit FTP protocol.
<li>
the license has been clarified and liberalized
a bit, to allow re-distribution with free OS
packages (like Linux, *BSD, etc) etc.
</UL></BLOCKQUOTE>
<BLOCKQUOTE>
(Some of these were features I recommended to Frank
de la Cruz, the father of Kermit, during my research and
in subsequent e-mail conversations. However, I'm by no
means the only person to make these sorts of suggestions and
I couldn't claim any credit for their development).
</BLOCKQUOTE>
<BLOCKQUOTE>
One other alternatives to 'expect' that comes to mind is the
<tt>Expect.pm</tt>, PERL module which add 'expect' features to the
PERL 5 language. (The old PERL 4 had a <tt>comm.pl</tt> library that
offered some of these features as well).
</BLOCKQUOTE>
<BLOCKQUOTE>
I'm sure there are others.
</BLOCKQUOTE>
<BLOCKQUOTE>
Hopefully this will help you solve the real problem that
you're bumping into. Obviously, solving the problem goes
way beyond just answering the question you asked.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 34 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/36"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 36 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>New Installation Stops at LI</H3>
<p><strong>From Gene Becker on Tue, 18 Jan 2000
</strong></p>
<!-- ::
New Installation Stops at LI
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I have loaded my new <A HREF="http://www.redhat.com/">Red Hat</A> 6.1 several times and when I reboot it comes up
to LI and then blinks a curser. At this point I can do nothing and it will
set there indefinitely.
HELP!
</STRONG></P>
<P><STRONG>
Gene Becker
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Next time you re-install, try putting your boot or root
Linux filesystem in a SMALL partition at the beginning
of the drive. I'd suggest a <TT>/boot</TT> filesystem of less
than 32Mb and/or a root (<TT>/</TT>) filesystem of less than
127Mb.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you can't do that because you have an MS-DOS
or MS Win '9x partition in the way, then use LOADLIN.EXE.
</BLOCKQUOTE>
<BLOCKQUOTE>
The probably is probably that your BIOS doesn't
know how to access parts of your disk, particularly
those portions of the hard disk that lie beyond the
1024 cylinder boundary.
</BLOCKQUOTE>
<BLOCKQUOTE>
I've explained this well over 100 times in this
column so I highly recommend searching on the terms
LILO and LOADLIN in the Linux Gazette archives. (Using
the search engine). That's at
<A HREF="http://www.linuxgazette.com"
>http://www.linuxgazette.com</A> and you can find
many mirrors to them at <A HREF="http://www.google.com/linux"
>http://www.google.com/linux</A>
</BLOCKQUOTE>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 36 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/37"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 37 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Netscape can't find ANY of THEM</H3>
<p><strong>From Space on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Netscape can't find ANY of THEM
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi,
</STRONG></P>
<P><STRONG>
I know this is a silly question, but I just can't seem to figure this
out. I setup my ISP and dial in and log on ok, then when I open Netscape and
try to open a web page Netscape can't find any of them!?!?! I had it fixed
once but since then I have reinstalled RH 6.1 again and can't remember how I
fixed it. I am starting a journal and keeping track from now on! Thanks
Answer Guy
</STRONG></P>
<P><STRONG>
Space@
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Sounds like you have something wrong with your
<TT>/etc/resolv.conf</TT> (like it's empty or it doesn't
list any valid name servers).
</BLOCKQUOTE>
<BLOCKQUOTE>
Ask your ISP for a list of preferred name servers.
(You can use just about any on there on the
Internet so long as you have IP addressing and
routing working, but it's polite to use the
ones that are "close" to you).
</BLOCKQUOTE>
<BLOCKQUOTE>
If that still doesn't work, then look at
your <tt>nsswitch.conf</tt> and consider replacing it
with something more like:
</BLOCKQUOTE>
<blockquote><pre># /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
</pre></blockquote>
<BLOCKQUOTE>
The <tt>nsswitch.conf</tt> that comes with
<A HREF="http://www.redhat.com/">Red Hat</A> is
silly and makes all sorts of reference to NIS and NIS+
services which you probably aren't using. Those
should be harmless though they do impact performance.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 37 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/38"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 38 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Can't Log in as 'root' via telnet</H3>
<p><strong>From liberty on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Can't Log in as 'root' via telnet
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
hi ; !
</STRONG></P>
<P><STRONG>
I can t make a "root" login from a computer to the linux computer
with telnet , but I can make it with another name user , and after
i can make "<tt>su</tt>" command .... do you know this problem or
security,? thanks
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
That's the way it's supposed to work.
The normal login services check for a file
named <TT>/etc/securetty</TT> and will refuse to accept
a direct root login from any terminal/device that is
not listed there.
</BLOCKQUOTE>
<BLOCKQUOTE>
Depending on the exact distribution and version it
may be possible to simply rename that file if you
insist on over-riding this policy and allowing root
logins from anywhere. In other cases you might have to
edit one or more of the "service" files under <TT>/etc/pam.d/</TT>
to remove the lines that refer to the PAM securetty
module.
</BLOCKQUOTE>
<BLOCKQUOTE>
In general it is better to accept this policy and
use '<tt>su</tt>' Indeed it is even better to disable telnet
and replace it with '<tt>ssh</tt>' (which generally doesn't
impose this restriction, though it can be configured
to do so).
</BLOCKQUOTE>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 38 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/39"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 39 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Exceed (MS Windows X Server) and Linux</H3>
<p><strong>From Sam.Young on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Exceed (MS Windows X Server) and Linux
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
James:
</STRONG></P>
<P><STRONG>
I came across an article regarding Exceed and Linux authored by
you and I wanted to drop you a line.
</STRONG></P>
<P><STRONG>
I have Exceed V6.1 on a Win98 PC and a Linux V6.0 server. I'd
like to use exceed on the Win98 PC to do a X-windows emulation to
the Linux server.
</STRONG></P>
<P><STRONG>
Can you point me in the right direction for some configuration
instructions? What do I have to 'start' on the Linux server?
What 'start up method' should I use in Exceed? What command do I
need to pass from the Exceed client to Linux to work properly?
</STRONG></P>
<P><STRONG>
Thanks. Sam
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
The most I would have done is made a passing
reference to Exceed. I've never installed or configured
it myself, though I've used it occasionally.
</BLOCKQUOTE>
<BLOCKQUOTE>
Linux can support all of the common Unix X protocols.
So you can run <tt>xdm</tt> (X display manager) under Linux and
Exceed should offer options to broadcast or query
for "managed displays" (which should find any Linux
box running <tt>xdm</tt>). This networking function of xdm
is really more core to its operation than the simple
GUI login that most Linux users think of when they
talk about <tt>xdm</tt>.
</BLOCKQUOTE>
<BLOCKQUOTE>
It's also possible to configure your Linux system
to allow <tt>rsh</tt>/<tt>rlogin</tt> (or <tt>telnet</tt>, <tt>ssh</tt>, etc) and the only
commands you should have to run on it in order to
allow it to open windows on your X server (Exceed)
is: <tt>export DISPLAY=</tt>$YOUR_EXCEED_WINDOWS_IP_or_DNSNAME<tt>:0</tt>
(don't forget the colon zero at the end of that).
</BLOCKQUOTE>
<BLOCKQUOTE>
That's all there should be to it. Once you've
remotely executed that command, and possibly added
the Linux box to your "<tt>xhost</tt>" or access control
list then you should be able to use X clients to your
heart's content.
</BLOCKQUOTE>
<BLOCKQUOTE>
Exceed is a commercial package. It should have come
with documentation and there should be technical support
available. Using Exceed to display your Linux X clients
is ABSOLUTELY NO DIFFERENT then using it with any generic
UNIX system. So, if you have any other trouble, get them
to deliver the tech support that you've paid for.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 39 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/40"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 40 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Double Reverse DNS Strikes Again</H3>
<p><strong>From Nelson Carvalho on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Double Reverse DNS Strikes Again
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
hello
<br>im contacting regarding linux. i have linux box with apach and fpt and
<tt>sendmail</tt> (pop3,smtp) and a dns server and dhcp server and it work fine and
fast from linux machine to linux machine. now i also have this linux box
connected to a few windows machines, now i try to <tt>ftp</tt> from the windows
machine to the linux box and it takes at least 90 seconds for it to connect
to it, once connected it is fast and good. it also does the same thing if i
try using outlookexpress to check email on the linux box. it takes about 90
seconds for it to connect and send messages, just wondering if you have any
suggestions on what might be happening?
<br>the web browser for www works with no hesitation, only ftp and mail take 90
seconds or more to establish a connection.
<br>also these computers are not connected to the internet, its a private
network.
</STRONG></P>
<P><STRONG>
i appriciate any help u could give me
<br>thanks.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It sounds like you don't have DNS nor <TT>/etc/hosts</TT> entries
for your MS Windows clients. If you add the IP addresses
and some names for those clients to one or the other of
these then your problem will probably go away.
</BLOCKQUOTE>
<BLOCKQUOTE>
Search my back issues on the string "double reverse dns"
or "double reverse lookup" for the gory details. (Hint:
it has to do with TCP Wrappers and how it figures how
"who" is connecting so that it can log the connection and
so that it can make policy decisions according to the
content in your <TT>/etc/hosts.allow</TT> and <TT>/etc/hosts.deny</TT> files).
</BLOCKQUOTE>
<BLOCKQUOTE>
The easiest and smartest solution is to make sure that
you have proper reverse entries in your DNS zones and/or
your <TT>/etc/hosts</TT> files for all of your systems.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 40 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/41"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 41 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Closing Ports, Disabling Unwanted Services</H3>
<p><strong>From Troy Miller on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Closing Ports, Disabling Unwanted Services
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I'm new to Linux and I'm trying to secure my PC. I have a DSL line and I
found out I have 4 open ports (FTP, Finger, Telnet and SMTP). I'm trying to
find a resource on how to close these ports. I do not plan to use them at
this time. I don't want to compromise my system.
</STRONG></P>
<P><STRONG>
Thanks,
<br>Troy
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Bravo! You are doing the right thing.
</BLOCKQUOTE>
<BLOCKQUOTE>
Three of the services you mention are usually launched
dynamically by inetd. So you can disable them by
editing your <TT>/etc/inetd.conf</TT> file, find these services
by name, and commenting them out of the file (inserting
a "<tt>#</tt>" (hash/pound sign) at the beginning of those lines).
After that you can send a HUP signal to inetd to force it
to re-initialize itself. You can use the following command
to do that:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
kill -HUP $(cat /var/run/inetd.pid)
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
Of course, in this case you aren't running ANY other
inetd services so you can even just kill you inetd process
using a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
/etc/rc.d/init.d/inetd stop
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... or something like that. (The exact path to your
<TT>/etc/.../init.d</TT> scripts might differ depending on
your distribution).
</BLOCKQUOTE>
<BLOCKQUOTE>
You can also find an remove the <tt>rcX.d</tt> scripts that
start inetd during boot if you like. Your system
might have a '<tt>chkconfig</tt>' command to manage those
SysV init symlinks for you, or you can use the
technique that I've described here before
(create <TT>/etc/.../rc*.d/disabled</TT> directories, and
move the S??... symlinks into those as appropriate).
</BLOCKQUOTE>
<BLOCKQUOTE>
Search the back issues for "sysv init" to hear the
long-winded discussion of how all of that works.
</BLOCKQUOTE>
<BLOCKQUOTE>
That leaves the SMTP service. That is probably being
provided by sendmail, which is probably being loaded
"standalone" (not dynamically through inetd). So you
also want to find the <TT>/etc/.../rcX.d/S*</TT> script that's
starting sendmail and disable that.
</BLOCKQUOTE>
<BLOCKQUOTE>
After you've done that you'll have a machine that
doesn't provide any network services to anyone.
</BLOCKQUOTE>
<BLOCKQUOTE>
You can double check that using a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
netstat --inet -an
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... and looking for anything that's in the LISTEN
state. You can also check it using a port scanner
like nmap from another system. (I'm guessing that
you've already been playing with one of those,
to get the information on which you've based this
question).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 41 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/42"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 42 -->
<H3 align="left"><img src="../../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Daemons</H3>
<p><strong>From sangeeth george on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Daemons
~~~~~~~
:: -->
<P><STRONG>
sir,
</STRONG></P>
<P><STRONG>
i am sangeeth george, doing my final year Btech.in
information technology.recently i came across a new
topic(which not actually a new one but i came to know
only recently)called "Daemons".since then i had been
fetching for materials to learn more about it.but i
couldn't find any worthy one.can u help me in getting
more info about this topic. i've got a lot of doubts
about it and i would like to share with you.some of
them are,
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
A daemon under UNIX (and some other operating
systems) is a program which runs in the background,
has no controlling terminal (is detached) and is
(under UNIX and Linux) in it's own process group.
</BLOCKQUOTE>
<BLOCKQUOTE>
Other than those (relatively minor and technical)
details it is just a program.
</BLOCKQUOTE>
<BLOCKQUOTE>
I've heard that the term originally was 'dmon'
from Multics, or ITS or some other predecessor
to UNIX. I guess it stood for "device monitor."
</BLOCKQUOTE>
<BLOCKQUOTE>
However, since I'm on my <A HREF="http://www.debian.org/">Debian</A> box, which has
a '<tt>dict</tt>' client, and a '<tt>dictd</tt>' (dictionary daemon)
and several freely available lexicons installed
I'll just yank in a definition from that:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote>
[using my <tt>xemacs</tt> macro equivalent of vi's <tt>:r!dict daemon</tt>]
</BlockQuote></BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
From Jargon File (4.0.0/24 July 1996) [jargon]:
</STRONG></P>
<em><strong><font color="#000033"><br> daemon /day'mn/ or /dee'mn/ /n./ [from the mythological
<br> meaning, later rationalized as the acronym `Disk And Execution
<br> MONitor'] A program that is not invoked explicitly, but lies
<br> dormant waiting for some condition(s) to occur. The idea is that
<br> the perpetrator of the condition need not be aware that a daemon is
<br> lurking (though often a program will commit an action only because
<br> it knows that it will implicitly invoke a daemon). For example,
<br> under {{ITS}} writing a file on the {LPT} spooler's directory
<br> would invoke the spooling daemon, which would then print the file.
<br> The advantage is that programs wanting (in this example) files
<br> printed need neither compete for access to nor understand any
<br> idiosyncrasies of the {LPT}. They simply enter their implicit
<br> requests and let the daemon decide what to do with them. Daemons
<br> are usually spawned automatically by the system, and may either
<br> live forever or be regenerated at intervals.
<br>
<br> Daemon and {demon} are often used interchangeably, but seem to
<br> have distinct connotations. The term `daemon' was introduced to
<br> computing by {CTSS} people (who pronounced it /dee'mon/) and
<br> used it to refer to what ITS called a {dragon}. Although the
<br> meaning and the pronunciation have drifted, we think this glossary
<br> reflects current (1996) usage.
</font></strong></em>
<P><STRONG>
From The Free On-line Dictionary of Computing (15Feb98) [foldoc]:
</STRONG></P>
<em><strong><font color="#000033"><br> daemon
<br>
<br> &lt;operating system&gt; /day'mn/ or /dee'mn/ (From the mythological
<br> meaning, later rationalised as the acronym "Disk And Execution
<br> MONitor") A program that is not invoked explicitly, but lies
<br> dormant waiting for some condition(s) to occur. The idea is
<br> that the perpetrator of the condition need not be aware that a
<br> daemon is lurking (though often a program will commit an
<br> action only because it knows that it will implicitly invoke a
<br> daemon).
<br>
<br> For example, under {ITS} writing a file on the {LPT} spooler's
<br> directory would invoke the spooling daemon, which would then
<br> print the file. The advantage is that programs wanting files
<br> printed need neither compete for access to, nor understand any
<br> idiosyncrasies of, the {LPT}. They simply enter their
<br> implicit requests and let the daemon decide what to do with
<br> them. Daemons are usually spawned automatically by the
<br> system, and may either live forever or be regenerated at
<br> intervals.
<br>
<br> {Unix} systems run many daemons, chiefly to handle requests
<br> for services from other {host}s on a {network}. Most of these
<br> are now started as required by a single real daemon, {inetd},
<br> rather than running continuously. Examples are {cron} (local
<br> timed command execution), {rshd} (remote command execution),
<br> {rlogind} and {telnetd} (remote login), {ftpd}, {nfsd} (file
<br> transfer), {lpd} (printing).
<br>
<br> Daemon and {demon} are often used interchangeably, but seem to
<br> have distinct connotations (see {demon}). The term "daemon"
<br> was introduced to computing by {CTSS} people (who pronounced
<br> it /dee'mon/) and used it to refer to what {ITS} called a
<br> {dragon}.
<br>
<br> (11 May 1995)
</font></strong></em>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
It's obvious that the Jargon file and FOLDOC
entries are basically the same. I believe that
the Jargon entry was adopted by FOLDOC.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
1.It is possible for us to retrieve the commands
that we have entered in a shell promptusing 'uparrow
key'.Is it due to the action of Daemons . if yes,name
of that daemon?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
What you're describing is a feature of some
of the common UNIX/Linux command shells. It is
not done through any sort of daemon.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
2. in one of the magazine i've read that Daemons are
much more powerful than TSR ,as Tsr need some user
intervention.is it true?can u give an eg. for that.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
That is hogwash. The old MS-DOS print spooler
TSR (terminate/stay resident) was about as close
to a daemon as you can get under MS-DOS (serving almost
the same function as the <tt>lpd</tt> line printer daemon
under Linux and the BSD UNIX').
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
3.surely there must be some kind of difference exsists
between ordinary programs and daemons in the
INSTALLATION part ,since daemons are executed by
system itself . can you explain me how to(where
to)install a program if we want it to act as a Daemon.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
No. Daemons can be started by any user at
any time under UNIX. A daemon is just a program
that detaches itself from it's controlling terminal
(by closing STDIN, standard input, STDOUT, standard
output, and STDERR, standard error file descriptors)
and using the<TT> setpgrp()</TT> system call to set itself
into a separate process group.
</BLOCKQUOTE>
<BLOCKQUOTE>
Most daemons on most UNIX systems are started by
the init process (either directly, via <TT>/etc/inittab</TT>,
or through one of the rc*) scripts during the boot
process.
</BLOCKQUOTE>
<BLOCKQUOTE>
The most common daemons are:
</BLOCKQUOTE>
<BLOCKQUOTE><dl>
<dt>inetd: <dd>"Dispatcher" --- starts other
daemons in response to network connections
on well known service (WKS) ports as
specified in the <TT>/etc/inetd.conf</TT> and the
<TT>/etc/services</TT> files.
<dt>
sendmail: <dd>Handles SMTP,
<br>competitors: qmail and Postfix
<dt>
init: <dd>"Father of all processes" --- it
starts all of the rc* scripts, and
it monitors all terminals, and consoles
forcing new getty and xdm processes
on them as login sessions are ended.
<dt>
httpd: <dd>Web server daemon.
<dt>
cron: <dd>Scheduler: this keeps a list of commands
to be run at given intervals. cron performs
most of the routine system maintenance
<dt>
atd: <dd>The at service used to be managed by
cron (there was a cron job that ran every
minute to execute any outstanding at jobs).
However, recently (a couple years ago)
at was set into a separate daemon in most
Linux distributions. This is particularly
useful on laptops where the old method would
keep the disk drives spinning unnecessarily.
<dt>
lpd: <dd>print spool server
</dl>
</BLOCKQUOTE>
<BLOCKQUOTE>
... et cetera.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
4.what really is the importance of Daemons in new
world (say E-commerce)?(i raised this question since i
may most probably take a seminar on this topic)
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
There is nothing special about daemons.
</BLOCKQUOTE>
<BLOCKQUOTE>
What is the importance of background jobs
in e-commerce and the "new world?" They are
just programs. Likewise for daemons.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
kindly provide me anwsers to these
questions + any website from where i can learn more
about it.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
You need a basic book on UNIX.
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
expecting an early reply from you.
</STRONG></P>
<P><STRONG>
thanking you
<br>sangeeth george t
</STRONG></P>
<!-- sig -->
<!-- end 42 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/43"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 43 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Using a Downloaded .iso Image for System Upgrade</H3>
<p><strong>From ljones on Tue, 18 Jan 2000
</strong></p>
<!-- ::
Using a Downloaded .iso Image for System Upgrade
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hello,
</STRONG></P>
<P><STRONG>
I have <A HREF="http://www.redhat.com/">Red Hat</A> 5.2 installed, and have successfully downloaded the
.iso image for 6.1.
</STRONG></P>
<P><STRONG>
How do I use the image to upgrade?
</STRONG></P>
<P><STRONG>
Lawrence
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Basically you have to burn that image onto a CDR or
CDRW using '<tt>cdrecord</tt>'
</BLOCKQUOTE>
<BLOCKQUOTE>
Then you can boot from the CD media and do your upgrade.
</BLOCKQUOTE>
<BLOCKQUOTE>
It would be nice if you could just mount the .iso
image on a loopback block device and run the upgrade
utility from that. However, I don't think you can
do that. There's no problem with the mounting part,
just use a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
mount -o loop /path/to/....iso /mnt/loop
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... to mount the <tt>.iso</tt> file as a filesystem. The
problem is that the installer/upgrader for Red Hat
is set up to run from the initrd (initial RAM disk)
or from the init process. I haven't torn it apart
and looked that closely at it --- but it doesn't
seem like you can just mount the image, or the CD
and run the installer/upgrader. You have to boot
from it.
</BLOCKQUOTE>
<!-- sig -->
<p><em>[ Should be pretty easy to boot from one of its floppy images, then
point to your loopback mounted drive location as a file source.
You </em>might<em> have to mount it at /cdrom in order to convince
the diskette to use it. -- Heather ]</em></p>
<!-- end 43 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/44"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 44 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Automated Login Around a Challenge Card</H3>
<p><strong>From Wayne Xin on Thu, 20 Jan 2000
</strong></p>
<!-- ::
Automated Login Around a Challenge Card
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Sorry for the bold disturbance. I've been frustrated with this problem.
Hope you can point me to the right solution.
</STRONG></P>
<P><STRONG>
I have a battery based security card that changes my password for ISP
connection every minute. So I can't totally automate my login process
with a fixed password. Is there a place that talks about pausing in the
middle of a script for me to type in the password and then continuing to
capture the remotely assigned IP?
</STRONG></P>
<P><STRONG>
Appreciate your help.
<br>PS: I am talking linux 6.1 (X86) modem/ISP configuration
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
In the 'expect' scripting language you can
use an '<tt>interact</tt>' function with one or more "escape
patterns."
</BLOCKQUOTE>
<BLOCKQUOTE>
Here's an example:
</BLOCKQUOTE>
<blockquote><pre>#!/usr/bin/expect -f
spawn telnet "somehost"
expect "login:"
send "myname\r"
expect "enter key from your card:"
interact "\r" {
return
}
expect "success"
## continue with script
interact
</pre></blockquote>
<BLOCKQUOTE>
In this case we open a telnet to "somehost" and we
automate part of the login (waiting for a login:
prompt, sending a name, waiting for a sort of
password for your card).
</BLOCKQUOTE>
<BLOCKQUOTE>
The interesting part of this is where we have the
'interact' directive. In this case we interact
until an [Enter] key is entered and when we see that
escape sequence we execute some 'expect' code (in this
case all we're doing is executing the 'return' from
the interact to the rest of our script).
</BLOCKQUOTE>
<BLOCKQUOTE>
It's possible in 'expect' to have multiple "escape
sequences" or "macros" as options to the the '<tt>interact</tt>'
function. Each of these can have its own block of
'expect' code. These other bits of code can '<tt>spawn</tt>'
other programs that have their own nested '<tt>interact</tt>'
functions, etc.
</BLOCKQUOTE>
<BLOCKQUOTE>
Obviously (as I've shown) you can also have multiple
'<tt>interact</tt>' sessions in a script. (It should also be
obvious that you'll only get to the second and subsequent
sessions by using a '<tt>return</tt>' from each of the
preliminary '<tt>interact</tt>' invocations.
</BLOCKQUOTE>
<BLOCKQUOTE>
Most 'expect' syntax is derived from the TCL libraries
around which it is build. TCL is a language that was
designed to be embedded into other applications and
utilities and 'expect' is a utility which lets you
run interactive programs, connected to psuedo-terminals
and control them through its '<tt>expect</tt>', '<tt>send</tt>',
and related functions. The rest of the language is
TCL.
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway that's the easiest way that I know of to
do this under Linux. There's also an <tt>Expect.pm</tt>
PERL module. I haven't used it, but it should have
most of the same features.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 44 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/45"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 45 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Mystery Question</H3>
<p><strong>From Robert Polk on Thu, 20 Jan 2000
</strong></p>
<!-- ::
Mystery Question
~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hello,
</STRONG></P>
<P><STRONG>
Currently I am contracting for an LA based company. We currently
have internal mail as well as a majority of users still using POP
mail from an ISP.
</STRONG></P>
<P><STRONG>
We'll say the domain name is <tt>z.com</tt>. My question is in regard to
MX records.
</STRONG></P>
<P><STRONG>
Example: <tt>domain z.com</tt>
</STRONG></P>
<pre><strong> MX preference 10 external.z.com
MX preference 10 mail.z.com
</strong></pre>
<P><STRONG>
then it continues with 20, etc preferences.
</STRONG></P>
<P><STRONG>
Currently most users are still using this external mail for their
internet email (<tt>external.z.com</tt>). There are however, about 20
users internally that are only using the internal mail host for
their internet email (<tt>mail.z.com</tt>)=
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I'm not sure what the question is.
</BLOCKQUOTE>
<BLOCKQUOTE>
There is a problem if you're using both of these hosts
(mail.z.com and external.z.com) as POP servers for the one
domain. Unless you're doing some sort of address rewriting
or other mail routing on one or the other of these then any
piece of mail for z.com could land on either of these hosts.
Since each of them has equal MX values, and there are no
lower MX values for the z.com domain, the mail that lands on
one or the other will stay there.
</BLOCKQUOTE>
<BLOCKQUOTE>
In general you don't want to have this ambiguity.
The lowest MX for a given domain or subdomain should
lead to one unique host. The secondaries and tertiaries
can be ambiguous since they will all relay their mail
to the lower MX hosts.
</BLOCKQUOTE>
<BLOCKQUOTE>
You can do scaling in a few ways at the MTA level.
For example you can have a big aliases file (DBM)
or a set of NIS/NIS+ maps or an LDAP server to
provide aliasing of recipients to specific POP
servers. This can give provide a "flat" external
mail profile (everyone is @z.com) while allowing
you to scale to a much larger number of users
than you could support on a single POP server.
</BLOCKQUOTE>
<BLOCKQUOTE>
(This assumes also that you'll configure all
the mail hubs to re-write outgoing mail to
masquerade the From: and Return: addresses).
</BLOCKQUOTE>
<BLOCKQUOTE>
Maybe the question you were asking is how to
have your mail servers distinquish between
the internal and external users. In that case,
just use aliases. Mail that's <EM>addressed</EM> to
"external.z.com" will ignore the z.com MX record.
Likewise for any that's <EM>addressed</EM> to "mail.z.com"
</BLOCKQUOTE>
<BLOCKQUOTE>
To understand this you must note the distinction
between where hosts to which mail is SENT and those
to which it is ADDRESSED. Mail is sent to a host
according to it's MX records. What that host does
with it depends on how it is addressed. If the
mail is addressed to any of the names that are on
on a hosts "whoami" list (the sendmail 'w' class)
then rewriting, aliasing, and local delivery are
performed.
</BLOCKQUOTE>
<BLOCKQUOTE>
(I'm shamelessly limiting the MTA terminology
here to that of 'sendmail' --- the various other
MTAs have similar features and concepts).
</BLOCKQUOTE>
<BLOCKQUOTE>
Anyway, I've said more than enough given that
I have no idea of what your question really is.
</BLOCKQUOTE>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 45 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/46"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 46 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>idled RPM for Red Hat</H3>
<p><strong>From dsrao on Thu, 20 Jan 2000
</strong></p>
<!-- ::
idled RPM for <A HREF="http://www.redhat.com/">Red Hat</A>
~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi ,
</STRONG></P>
<P><STRONG>
Where can i find idled daemon for Linux(RedHat 6.1) &amp; what
are the neccessary steps for installing the same. Thanks in advance.
</STRONG></P>
<P><STRONG>
-ganesh
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Look at:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><code>
<A HREF="http://rpmfind.net/linux/RPM/idled.html"
>http://rpmfind.net/linux/RPM/idled.html</A>
</code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... The RPM Find repository (<A HREF="http://rpmfind.net/linux/RPM"
>http://rpmfind.net/linux/RPM</A>)
is about the best place to find contributed RPMs for
just about any RPM distribution. There is also an rpmfind
utility (<A HREF="http://rpmfind.net/linux/rpm2html/rpmfind.html"
>http://rpmfind.net/linux/rpm2html/rpmfind.html</A>)
which can automate much of the process of finding
RPM files, resolving their dependencies, etc.
</BLOCKQUOTE>
<BLOCKQUOTE>
I'm not sure if idled is still being maintained.
</BLOCKQUOTE>
<BLOCKQUOTE>
You might also look at autolog
(<A HREF="http://www.rpmfind.net/linux/RPM/autolog.html"
>http://www.rpmfind.net/linux/RPM/autolog.html</A>)
which can also automatically log out shell
sessions after inactivity. The only RPMs I
found on this were for <A HREF="http://www.suse.com/">S.u.S.E.</A>
--- so You might
have to grab an SRC RPM and rebuild it.
(Red Hat doesn't list dependencies and provisions
using the same keys as S.u.S.E).
</BLOCKQUOTE>
<!-- sig -->
<!-- end 46 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/47"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 47 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Monthly Win (Lose) Modem Question</H3>
<p><strong>From ilijam on Thu, 20 Jan 2000
</strong></p>
<!-- ::
Monthly Win (Lose) Modem Question
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
I have Rockvel 56,6 KB V90 Data Voice Fax. Linux doesn't detects him
under Win u need to install some special drivers, can u tell where can i find them.
</STRONG></P>
<P><STRONG>
thanks bye
<br>[From Macedonia]
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Rockwell modems typically use the Rockwell chipsets.
These are winmodems. Rockwell refuses to release
programming details about these chips, ergo there are
officially NO Linux drivers for them.
</BLOCKQUOTE>
<BLOCKQUOTE>
For more info on those look at:
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Linux VooDoo (Ultimate Source for Linux Drivers?)
<DD><A HREF="http://www.linuxvoodoo.org/drivers/cards/modems"
>http://www.linuxvoodoo.org/drivers/cards/modems</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
.... and at the Linux "Winmodem Support" Page
(<A HREF="http://linmodems.org"
>http://linmodems.org</A>). NOTE: WWW.linmodems.org DOES NOT
WORK. You must use &quot;<A HREF="http://linmodems.org"
>http://linmodems.org</A>&quot; if you want
to see their web pages.
</BLOCKQUOTE>
<BLOCKQUOTE>
(I didn't know that and had to hunt down the URL
through Google after trying several variations of
www.linmodems.org, ...linmodem.or, ...linmodems.com, etc).
</BLOCKQUOTE>
<em><p>[ As of press time, you don't have to.
<a href="http://www.linmodems.org/"
>http://www.linmodems.org/</a> worked just fine
for me.</p>
<p>But while I have you here, I know that the Lucent (binary-only) driver was
mentioned on the <a href="http://www.debian.org/Lists-Archives/"
>Debian mailing list</a> for laptop users. After
some messing with it, the user was actually successful in getting
a usable modem. -- Heather ]</p></em>
<BLOCKQUOTE>
Gawd! A new millennium and I'm still getting Winmodem
questions! (Please! No mail about how the new
millenium doesn't start until 2001 --- I'm with Linus
on this, I don't care. It's a tenth of one per cent different!)
</BLOCKQUOTE>
<!-- sig -->
<!-- end 47 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<A NAME="tag/48"><HR WIDTH="75%" ALIGN="center"></A>
<!-- begin 48 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>Installing a POP Daemon on Red Hat Linux</H3>
<p><strong>From Hongwei Li on Sat, 22 Jan 2000
</strong></p>
<!-- ::
Installing a POP Daemon on <A HREF="http://www.redhat.com/">Red Hat</A> Linux
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG>
Hi,
</STRONG></P>
<P><STRONG>
I recently installed RedHat 6.0 and 6.1 on two machines,
respectively. Everything looks working except that users can not
access their e-mail accounts on these two servers from PC Windows
using Netscape Mail or MS Outlook Express although they can access
the e-mails using telnet, pine. Apparently, POP3 daemon is not
working on these two RH Linux boxes.
</STRONG></P>
<P><STRONG>
Somebody said I can retrieve POP3 daemon from IMAP package. But,
I don't know where it is and how to do it. Could you help me?
How to check the system if POP3 daemon is installed and working?
Where can I get IMAP package and retrieve POP3 daemon, then
installed it and let it run? or should I get something else?
</STRONG></P>
<P><STRONG>
I would greatly appreciate your help!
</STRONG></P>
<P><STRONG>
Hongwei Li
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Your "somebody" is a smart cookie. You sould listen
to him or her. However, you might ask him (or her) for
a wee bit more detail.
</BLOCKQUOTE>
<BLOCKQUOTE>
Red Hat inexplicably puts their POP and IMAP daemons
in the same file. You can install them using
something like the following procedure:
</BLOCKQUOTE>
<BLOCKQUOTE>
1) Mount your RH Linux CD (disc #1?) using
a command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
mount /mnt/cdrom
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
2) Go to RPM directory using something like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
cd /mnt/cdrom/Redhat/RPMS
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
3) Install the imap....rpm package using a
command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
rpm -Uvh imap*
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
... or:
</BLOCKQUOTE>
<BLOCKQUOTE><BLOCKQUOTE><CODE>
rpm -i imap*
</CODE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
That's basically all there is to it. You can
test for POP installlation/accessibility using a
command like:
</BLOCKQUOTE>
<BLOCKQUOTE><BlockQuote><Code>
telnet $TARGET 110
</Code></BlockQuote></BLOCKQUOTE>
<BLOCKQUOTE>
... where $TARGET is replaced with the hostname or
IP address of the system on which you hope to find
a POP server.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you get a "connection refused" or a "connection
closed by remote host" then you don't have POP installed
properly on the $TARGET system (or you have a firewall,
packet filter, or <TT>/etc/hosts.deny</TT> rule between your client
and the server).
</BLOCKQUOTE>
<BLOCKQUOTE>
Otherwise you should get something a little like this:
</BLOCKQUOTE>
<blockquote><pre>Trying 123.45.67.8...
Connected to popserver.wherever.not.
Escape character is '^]'.
+OK &lt;13260.948530011@popserver.wherever.not&gt;
USER nobody
+OK
PASS somedumbpassword
+OK Mailbox open, 4294967295 messages
QUIT
</pre></blockquote>
<BLOCKQUOTE>
The USER, PASS and QUIT commands were typed by me. There
are additional POP 3 protocol commands you could use to play
with the server manually, but this is enough to verify that
the server is running, that the user name and password are
valid and that the POP server isn't having trouble opening
the user's mail spool.
</BLOCKQUOTE>
<BLOCKQUOTE>
NOTE: The PASS command is simply transmitting and
displaying your password. Don't do this over an insecure
network or with a bad person looking over your shoulder!
</BLOCKQUOTE>
<BLOCKQUOTE>
(Also note: The number of messages that the POP daemon
reports as being in your inbox had better be alot less
then what I show in this example: 2^32 - 1).
</BLOCKQUOTE>
<BLOCKQUOTE>
As for you question about whether you should get something
else (something other than the POP daemon that Red Hat
packages in their IMAP RPM file): That's entirely up to you.
</BLOCKQUOTE>
<BLOCKQUOTE>
I did dig up a page where Cameron Laird started
collecting notes for a comparison of POP daemons
(<A HREF="http://starbase.neosoft.com/~claird/comp.mail.misc/POP_comparison.html"
>http://starbase.neosoft.com/~claird/comp.mail.misc/POP_comparison.html</A>)
</BLOCKQUOTE>
<BLOCKQUOTE>
It doesn't offer much commentary nor comparison, yet.
However, it does offer links to over a dozen POP servers.
Surprisingly I couldn't find any other online articles
that offer a comparison or summary of POP daemons and
server.
</BLOCKQUOTE>
<BLOCKQUOTE>
One of the most popular POP daemons is QPopper
(<A HREF="http://www.eudora.com/freeware/qpop.html"
>http://www.eudora.com/freeware/qpop.html</A>). This is
a (relatively) free package from the publishers of
the Eudora mail client software for Macs and MS Windows.
One of the principle advantages of this package is
its support for changing passwords through it's own
client/server protocol. To enable this you have to
install the poppasswd daemon in addition to the
qpopper daemon.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you replace your MTA (mail transport agent) with
qmail then you'll want to switch to the qmail-pop3d
daemon (which comes with qmail). You can find out more
than you wanted to know about that and many addons,
and optional packages and patches related to it by
searching the Qmail home page (<A HREF="http://www.qmail.org"
>http://www.qmail.org</A>)
on the term "POP."
</BLOCKQUOTE>
<BLOCKQUOTE>
It's a pity there isn't more info to guide users
in selecting a POP daemon. Then again, basic POP
is a pretty protocol with only a very focussed purpose.
Any of them should do the basic job at hand.
</BLOCKQUOTE>
<BLOCKQUOTE>
If you're allowing POP from outside of your network
(beyond your organization's firewall or packet filters)
then you should require APOP authentication or you should
ensure that your outside clients are connecting through
a secure channel (like FreeS/WAN -- <A HREF="http://www.xs4all.nl/~freeswan"
>http://www.xs4all.nl/~freeswan</A> --
or an ssh tunnel).
</BLOCKQUOTE>
<BLOCKQUOTE>
APOP is an extension to the POP protocol that uses a
challenge-response exchange to perform the authentication
(there's also a KPOP variation for sites using Kerberos).
What is remarkable is that I don't see options in any of
the software that I've looked at to DISABLE plain text
passwords (so that you can enforce a policy that your
external users MUST use APOP).
</BLOCKQUOTE>
<BLOCKQUOTE>
It doesn't sound like this will be a problem for you,
but if it is (and for the benefit of my other readers)
here's a couple of links to information about POP over
ssh, and how to configure a system to allow POP and/or
IMAP over SSL (secure socket layer).
</BLOCKQUOTE>
<BLOCKQUOTE><DL><DT>
Secure POP via SSH mini-HOWTO
<DD><A HREF="http://www.linuxdoc.org/HOWTO/mini/Secure-POP%2BSSH.html"
>http://www.linuxdoc.org/HOWTO/mini/Secure-POP%2BSSH.html</A>
<dt>
linuxsec: [linux-security] Re: POP secure access??
<dd><A HREF="http://www-uxsup.csx.cam.ac.uk/lists/linuxsec/0104.html"
>http://www-uxsup.csx.cam.ac.uk/lists/linuxsec/0104.html</A>
</DL></BLOCKQUOTE>
<BLOCKQUOTE>
Hope all that helps.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 48 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<!-- begin 2 -->
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
height="50" width="60" alt="(?) " border="0"
>IMAP/POP daemon on RH 6.0 and 6.1</H3>
<p><strong>From Randall Gellens on Sun, 30 Jan 2000
</strong></p>
<P><STRONG><FONT COLOR="#000066"><EM>
One of the most popular POP daemons is QPopper
(<A HREF="http://www.eudora.com/freeware/qpop.html"
>http://www.eudora.com/freeware/qpop.html</A>). This is
a (relatively) free package from the publishers of
the Eudora mail client software for Macs and MS Windows.
</EM></FONT></STRONG></P>
<P><STRONG>
Why do you say "relatively"?
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
I was under the misconception that Qualcomm was imposing
some restrictions on the distribution of qpopper
derivatives. However, I copied you so that you could
clear that up for me. (I see that it's not listed
as "non-free" by my <A HREF="http://www.debian.org/">Debian</A> package lister and now
I see that it appears to be a BSDish license.
</BLOCKQUOTE>
<BLOCKQUOTE>
So, I was wrong to qualify it this way. Qpopper is a
free package.
</BLOCKQUOTE>
<P><STRONG><FONT COLOR="#000066"><EM><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
If you replace your MTA (mail transport agent) with
qmail then you'll want to switch to the qmail-pop3d
daemon (which comes with qmail). You can find out more
than you wanted to know about that and many addons,
and optional packages and patches related to it by
searching the Qmail home page (<A HREF="http://www.qmail.org"
>http://www.qmail.org</A>)
on the term "POP."
</EM></FONT></STRONG></P>
<P><STRONG>
Many people use Qpopper and Qmail together. There is a <TT>./configure</TT>
option for Qpopper to use Qmail's home dir mail spool.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Glad to hear it. I obviously haven't been using qpopper
recently. I should probably switch.
</BLOCKQUOTE>
<P><STRONG><FONT COLOR="#000066"><EM><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
APOP is an extension to the POP protocol that uses a
challenge-response exchange to perform the authentication
(there's also a KPOP variation for sites using Kerberos).
What is remarkable is that I don't see options in any of
the software that I've looked at to DISABLE plain text
passwords (so that you can enforce a policy that your
external users MUST use APOP).
</EM></FONT></STRONG></P>
<P><STRONG>
By default, Qpopper does not permit users to log in with plain text
passwords if they are enabled for APOP (or SCRAM).
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Maybe the FAQ or README should clarify that. Maybe
I missed it. That's one of the reasons that I try to
copy the "right" people when I'm doing my "Answer Guy"
responses. I learn from my mistakes that way.
</BLOCKQUOTE>
<BLOCKQUOTE>
Is SCRAM some variant of the CRAM-MD5? (challenge/response
authentication mechanism: RFC 2095 and 2195?)
</BLOCKQUOTE>
<BLOCKQUOTE>
Does that get around the need to store the POP user's
cleartext password on the server? I read through these
RFCs and didn't quite get the part about storing
"contexts" rather than copies of the cleartext passwords.
(I didn't spend long on it, but I think I'm missing
some detail here --- I should probably read some source
code to an implementation to see what I missed).
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Randall Gellens
<em><br>Opinions are personal; facts are suspect; I speak for myself only
<br>--- randomly selected quote ---
<br>A child of five would understand this. Send somebody to
fetch a child of five. --Groucho Marx, _Duck Soup_
</em></STRONG></P>
<!-- sig -->
<!-- end 2 -->
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <hr> <P>
<!-- QUICK TIPS SECTION ================================================== -->
<center>
<H1><A NAME="tips"><IMG ALIGN=MIDDLE ALT="" SRC="../gx/twocent.gif">
More 2&#162; Tips!</A></H1> <BR>
Send Linux Tips and Tricks to <A HREF="mailto:gazette@ssc.com">
gazette@ssc.com
</A></center>
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Removing "Strange" files (response)
</FONT> </H3>
Sun, 30 Jan 2000 05:02:06 -0800
<BR>From: Jim Dennis &lt;<A HREF="mailto:jimd@starshine.org">jimd@starshine.org&gt;</A>
<P> Last month there was a shell script offered by
Mendel Cooper &lt;thegrendel@theriver.com&gt; for removing files
with degenerate names. That is to safely unlink those filenames
containing "special" or strange characters.
<P> It appears to be a dangerous script, and is probably not the
best was to accomplish his stated goals.
<P> There is no reason to blindly and indiscriminately remove all files
containing whitespace, and the character set
<CODE>[+{;"\=?~()&lt;&gt;&amp;*|$]</CODE>.
There is good reason to warn the sysadmin about the existence of
such filename/links in the "common" areas of the file hierarchy.
<P> In fact this particular set of characters seem arbitrary. For
example why include the "open curly brace" and not its closing
counterpart? Experience has shown that one is much better off
using converse logic in these cases. In other words, one should
define a set of the characters which are definitely to be allowed
in filenames rather than trying to think of all the characters
that "might be bad."
<P> To safely find all files with such strange characters one can
use a command like:
<PRE>
find / -name '*[^][a-zA-Z0-9#%~:,._+-]*'
</PRE>
... this defines a list of characters which I allow in my
filenames: alphanumerics (<CODE>a-zA-Z0-9</CODE>), the square brackets
(<CODE>[]</CODE>) --- note that /usr/bin/[ is a standard link to the
/usr/bin/test command --- a few bits of punctuation that are
occasionally found in filenames (such as the "dot" and "tilde"
characters).
<P> Note that even this liberal list of allowed characters isn't
liberal enough on my Debian and S.u.S.E. systems. I find
some "accented" (High ASCII) character filename links among
some of the fonts and console/kbd map packages. I find that
many MP3 files contain spaces, ampersands, and apostrophes.
<P> In order to see characters that might not be displayed correctly
by your terminal you can use the "-v" option to the cat command
like so:
<PRE>
find / -name '*[^])}{([a-zA-Z0-9@#$&amp;"'"'"'%~:,._+-]*' | cat -v
</PRE>
<P> ... here I've even further liberalized my character set even
to allow single and double quotes to be allowed. The part of
this that might be confusing bears explanation:
<PRE>
[^])}{([a-zA-Z0-9@#$&amp;"'"'"'%~:,._+-]
^^^^^^
</PRE>
<P> Here I'm adding the double quote (which is quoted from the
shell by the single quote way back at the beginning of this
argument), then I'm ending the current single quoted context
and immediately starting a double quoted one context. This is
still part of the same shell argument (since I haven't introduced
any unquoted whitespace, or anything that is in a normal IFS).
Then I have a single quote (which is quoted by the double quotes)
and a terminating double quoted (ending that string), and another
opening single quote which goes to the end of the argument.
<P> It's ugly, but it is the easiest way to put a literal single
quote into a shell argument. (There are a number of characters
that are "special" or that have "metasyntactic" implications
when they are in a double quoted context, but only the single
quote is significant inside of a single quoted context.
<P> Note also that I use the dash character as the last one inside my
character class. That to indicate to the regex/globbing engine
that this particular dash represents itself (a literal dash) and
that it is NOT operating to indicate a range of other characters,
as it is when it appears in the a-z, A-Z, and 0-9 sequences.
Similarly I have the closing bracket as the first "normal"
character after the opening of the class and the "negation"
operator. The regex/globbing engine that's used by find, bash and
the GNU utilities is well written enough to distinguish between the
literal inclusion of these "special" characters and their other
uses within the regex/glob character class defining syntax. To
allow the use of the "^" (circumflex or "caret" ) character we can
include an additional instance of it later in the class definition
(anywhere other than the first or last character of the sequence).
<P> This regex "class definition" sequence is quite an advanced topic,
so it is easiest to use it as an example so long as you understand
what it does. In other words you can safely use this example even
if you don't understand how to create such a pattern --- just be
sure that you know what it DOES.
<P> To safely remove a file with special characters in its name
one can use a syntax like:
<PRE>
find . -maxdepth 1 -name .... -print0 | xargs -0 rm
</PRE>
... note that those are "zeros" in the -print0 'find' directive
and the -0 option to 'xargs' These "zero" arguments work together
to ensure that the filenames are passed from the 'find' process to
the rm command as NUL terminated strings. The ASCII NUL character
(the 0-th in that encoding system) is really special and it really
can't be embedded in a filename.
<P> There are some other GNU utilities that accept a -0 or --null
option to allow 'find' to pass NUL-terminated arguments to them
including GNU tar and cpio.
<P> The ellipses in this example can be replaced with any globbing
pattern that exclusively matches the file(s) to be removed. Use
the find command into a 'cat -v' process first to be sure that it
only lists those file that you really intend to remove. Of course
the . argument could be replaced with any directory name or list of
names.
<P> Incidentally, the reason I came across this is because I'm starting
work on a "Linux Tips fortune cookie" file.
<H4>Mendel Cooper responds:</H4>
<P> That is correct, in the sense that all administrative tools, utilities,
and scripts are dangerous, especially those affecting the filesystem. Any
script coming from an outside source that is used blindly and without
understanding is dangerous.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">2C Tip
</FONT> </H3>
Wed, 12 Jan 2000 18:18:58 +0100 (CET)
<BR>From: Flavio Poletti &lt;<A HREF="mailto:poletti@writeme.com">poletti@writeme.com&gt;</A>
<P> I've read the 2C Tip from Pat Bateman &lt;pat99@linustart.com&gt; and I found
it useful. I wrote a small Perl script that inspects all open ports and reports
about them. I want to share it with the others - and also ask you to check if
it works or if it is not useful!!!
<P> <A HREF="misc/tips/showports.pl.txt">showports.pl</A>
<P> Good bye,
<P> Flavio Poletti.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Quick html browse / edit
</FONT> </H3>
Wed, 19 Jan 2000 00:22:45 +0100
<BR>From: Paco &lt;<A HREF="mailto:fmunoz@geocities.com">fmunoz@geocities.com&gt;</A>
<P> If you want to edit your HTML code you have some choices, most of them
only allow you to change your bare code in a non Visual method. This can be
viewed as drawback but after the design of the 1st file of a given set must of
the work is Cut &amp; Paste, so you can use the Netscape editor to create the
template them clear all the junk code that it write and then use one of the
following options:
<PRE>
- Just an editor and and your favorite browser
Lynx, Netscape, konkeror ..... and another windows with vi, pico, joe, emacs or
somethings more "WYGIWYSish"
Use: Just from X, lauch all that you want and don't forget to reload your pages
after saving them
- mc
midnight command can let you see html files (rendered by lynx) and edit them
with cooledit (Warning this a a console tool !! If you use one of them too
much you could end as a Computer Guru years later ! )
Use: Just open a console and tipe mc (Most distros) browse with the arrows,
read files with F3/enter and edit them with F4
- emacs : This "editor" have some features that help you to browse and edit your
html files. Is there anything that can't be programed in it? ;-)
Use: Just read all the emacs docs, and launch it (either in X or console)
- Amaya lets you update your changes automagically and give you a treelike
view of your code's structure. (nice feature if you use a lots of tables) Made
by the w3 consortium, see http://www.w3.org
Use: Launched from X
- One of the KDE tools :
KDreamSite see http://www.raverx.seite.ms
WebMaker see http://www.services.ru/linux/webmaker
KWebDeb see http://mason.gmu.edu/~ebanker/kwebdev/index.html
Use: Launched from X
Galway (good !, GNOME html editor) see http://erin.netpedia.net/
Use: Launched from X
There are also others
CoffeCup (good but not Open Source) ,
tkHTML
asWedit
plexel
ASHE
Bluefish (Nice!) see http://bluefish.linuxbox.com/
Bulldozer (designed by the NASA!)
ewin
</PRE>
<P> You can allways go to http://www.freshmeat.net or even www.linuxberg.org and
search there for more stuff, I'm sure that this list is not complete.
<P> I strongly sugest you to use some short of scripting or templates to create
your pages. The target is to tipe your have your new text as plain text and get
nicely formated html pages just a "click/script" away. (Perl anyone?)
<P> Un saludo
Francisco Mu<4D>oz
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Yet another tip
</FONT> </H3>
Sun, 23 Jan 2000 16:22:57 -0700 (MST)
<BR>From: Mendel Cooper &lt;<A HREF="mailto:thegrendel@theriver.com">thegrendel@theriver.com&gt;</A>
<P> Hello again, LG people.
<P> Here is another one for your 'tips' column.
<P> It seems that "whois" queries are no longer quite the same. A simple
"whois xyz.com" defaults to the Network Solutions server, but due to
political machinations these guys are playing it tight lipped and have
sharply restricted the amount of info returned on a "whois". If you
need the in-depth goods on a domain name, you now have to turn to an
alternate whois server, such as ripe.net.
<P> The following script, named 'wh', will do a domain name lookup on any of three
alternate whois servers. As root, save 'wh' to /usr/local/bin, and then create
three symbolic links in that directory, like so:
<PRE>
[root /usr/local/bin]# ln -s /usr/local/bin wh /usr/local/bin/wh-ripe
[root /usr/local/bin]# ln -s /usr/local/bin wh /usr/local/bin/wh-cw
[root /usr/local/bin]# ln -s /usr/local/bin wh /usr/local/bin/wh-radb
</PRE>
<P> The script can be invoked as 'wh zzz.com', which does a lookup of
zzz.com on the ripe.net server. If invoked as 'wh-cw zzz.com', it looks
up zzz.com on the cw.net server. If invoked as 'wh-radb zzz.com', it
looks up zzz.com on the radb server.
<P> These alternate servers unfortunately do not list as many domain names
as the Network Solutions server, but they do provide a great deal more
info on the ones they have.
<P> <A HREF="misc/tips/wh.sh.txt">wh</A>
<!-- END tips -->
<P> <hr> <P>
<!--================================================================-->
<H4><font color="maroon">
Tips in the following section are answers to questions printed in the Mail
Bag column of previous issues.
</font></H4>
<!-- BEGIN tips.answers -->
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Linux clickability in windows NT Domain
</FONT> </H3>
Fri, 31 Dec 1999 15:09:38 -0600
<BR>From: &lt;<A HREF="mailto:tdierkes@home.com">tdierkes@home.com&gt;</A>
<P> As a new feller, I'm flabbergasted that a question was asked that I KNEW!
<P> Network Neighborhood is using WINS to resolve the IP addresses. The NT
machines may have the correct domain name in there (DNS tab), but, on the
WINS Addressing tab (start | settings | control panel | network |
protocols | TCPIP | Properties | WINS Addressing) there is a check tab
for
<P> "Enable DNS for Windows Resolution"
<P> That must be checked.
<P> Or, you could have your Linux machine name added to the WINS server.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Making Linux talk to an NT network
</FONT> </H3>
Fri, 31 Dec 1999 16:08:52 -0600
<BR>From: &lt;<A HREF="mailto:tdierkes@home.com">tdierkes@home.com&gt;</A>
<P> David,
<P> Use the Diagnostics found on
http://us1.samba.org/samba/docs/DIAGNOSIS.html
<P> You might be better to at least read the FAQ first
http://us1.samba.org/samba/docs/FAQ/
<P> I just got most of my Samba issues resolved this week. I also felt like
I was spinning my wheels for a while. The Diagnostics will, besides help
you identify your problems, will also point out what you need to do MOST,
and that is, break your connectivity problems down into smaller bytes.
<P> ie. Let us start with the 1st problem of your 10 Easy Step guide you
suggested. Come back with the 1st specific problem and we can go from
there.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">linux on a laptop
</FONT> </H3>
Fri, 31 Dec 1999 16:53:47 -0600
<BR>From: &lt;<A HREF="mailto:tdierkes@home.com">tdierkes@home.com&gt;</A>
<P> Do not forget to check http://www.linuxgazette.com/search.html which is
the Linux Gazette search engine for anwers before asking. I searched
on ATI rate and got a lot of responses.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Not a tip, but rather a question
</FONT> </H3>
Fri, 31 Dec 1999 19:08:30 -0500
<BR>From: Gerard Beekmans &lt;<A HREF="mailto:glb@dds.nl">glb@dds.nl&gt;</A>
<P> Hi,
<BLOCKQUOTE>
<P> I'm looking to add "disk mirroring" (RAID-1) to a SUSE 6.1 system with
an AHA-2940U2W.. I must be
looking in the wrong places, but it seems like information about this
particular issue is scarce at best.
Any ideas?
</BLOCKQUOTE>
<P> An idea is to use Software-RAID. This eliminates the need of a hardware
RAID controller.
<P> What you need to do, is read the Sofware-RAID mini HOWTO. You can get
this document from http://www.linuxdoc.org/
<P> You might have the file in /usr/doc/HOWTO/mini/ (or whever your system
stores HOWTOs) but there's a chance your local version is outdated. So
download the one from the LDP site mentioned above to ensure yourself of
reading the latest version.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">pulse vs tone dialing
</FONT> </H3>
Fri, 31 Dec 1999 19:14:33 -0500
<BR>From: Gerard Beekmans &lt;<A HREF="mailto:glb@dds.nl">glb@dds.nl&gt;</A>
<P> Hi,
<BLOCKQUOTE>
<P> currently my modem dials using tone, but my phone line needs pulse, how
do fix it?
</BLOCKQUOTE>
<P> You need to modify your modem's dial string.
<P> Currently, it says something like ATDT&lt;here phonenumber&gt;
<P> Change this to ATDP&lt;here phonenumber&gt; and it'll dial in pulse-mode
rather than in tone-mode.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Access 97
</FONT> </H3>
Sat, 1 Jan 2000 12:41:58 -0600
<BR>From: McKown, John &lt;<A HREF="mailto:JMckown@Insurdata.com">JMckown@Insurdata.com&gt;</A>
<P> First, happy new year!
<P> To the best of my, admittedly limited, knowledge, there is not a way to run
Access 97 directly on Linux. I think that I have seen some Linux ODBC
drivers which allow a Linux client to access an Access97 database running on
another computer. In particular, on
http://freshmeat.net/appindex/1999/12/07/944590737.html . This says that it
allows a Linux client to talk to any NT ODBC data source. This, of course,
requires running WindowsNT. You can do that by having two machines, one
running Linux the other running WindowsNT. Network them together with a
normal Ethernet connection. Or, you can purchase a product called VMWare
(http://www.vmware.com). This product allows you to install and run a
WindowsNT (or 95 or 98) system under Linux. Note - this DOES require you to
buy WindowsNT! It is not an emulator of WindowsNT, it simply allows a real
WindowsNT machine to run along with Linux on the same physical machine. I
have used this product to run Windows98 under Linux and it does work quite
well for me. VMWare allows the WindowsNT "virutal machine" to talk to Linux
via a "virtual" ethernet connection.
<P> Question, why must you use Access97? Linux has some nice database software
that is free. I'm thinking mainly of PostgreSQL and MySQL. The main thing
that they lack is a "builtin" GUI interface. But I'm sure that there are
some out there. Probably in Perl or Python, both of which can "talk" to
either of those database systems.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Re: pulse vs tone dialing
</FONT> </H3>
Sun, 2 Jan 2000 23:44:41 -0500
<BR>From: Pierre Abbat &lt;<A HREF="mailto:phma@oltronics.net">phma@oltronics.net&gt;</A>
<P> You need to change "atdt" to "atdp". Where you change this depends on how you
are dialing and perhaps on your distribution. On a Red Hat or Mandrake system
using "ifup ppp0" or UserNet, this is in
/etc/sysconfig/network-scripts/chat-ppp0. In kppp, hit Setup, Modem tab, Modem
Commands button. The config file is ~/.kde/share/config/kppprc if you need to
edit it by hand or program.
<P> phma
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Running Microsoft Windows Apps on Linux.
</FONT> </H3>
2 Jan 00 12:38:23 ARST
<BR>From: Ivan Andres Hernandez Puga &lt;<A HREF="mailto:iahp@usa.net">iahp@usa.net&gt;</A>
<P> Dear Rick:
<P> Try with WINE (http://www.winehq.org).
I have heard that you can run MS-Office and VisualBasic 6 using that program.
<P> Luck.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Re: SNA Server
</FONT> </H3>
Tue, 04 Jan 2000 20:05:17 +0000
<BR>From: Burkhard Perkens-Golomb &lt;<A HREF="mailto:perkens@sdm.de">perkens@sdm.de&gt;</A>
<P> Just use metacrawler:
<P> http://www.metacrawler.com/index.html?nocookie
<P> and search for "sna linux" (without quotes).
<P> There's even an GPLed SNA Server available.
<P> Burkhard
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Linux Red Hat installation kernel panic Unable to mount root
</FONT> </H3>
Thu, 6 Jan 2000 13:58:39 +0100
<BR>From: Ewan Gatherer (ECS) &lt;<A HREF="mailto:Ewan.Gatherer@ecs.ericsson.se">Ewan.Gatherer@ecs.ericsson.se&gt;</A>
<P> Hi
<P> You should boot your linux box with the boot disk you created, or where meant to create when installing Linux. Once booted, if all goes well, you will have you linux box up and running. Then re-install lilo or your favourite boot manager by typing lilo. If you want to set the dos partition to startup by default use lilo -D dos.
<P> If this does not solve your problem or things do not go as I mentioned above drop me a mail.
<P> Best regards
<P> Ewan Gatherer
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Linksys Ether16 NIC installation issues, as asked in the Answer Guy,
LG Jan 2k
</FONT> </H3>
Thu, 06 Jan 2000 14:33:19 -0700
<BR>From: Marcus Post &lt;<A HREF="mailto:marcus.post@wcom.com">marcus.post@wcom.com&gt;</A>
<BLOCKQUOTE>
<P> From Chuck Whinney on Sun, 05 Dec 1999
I cant seem to get my Linksys Ether16 LAN card to work under linux. I turned
off the PnP liek teh linksys website said, and I turned the motherboard
setting from PnP on that IRW to the ISA setting. Linux still never
recognizes it.
Any ideas? Thanks! Chuck
</BLOCKQUOTE>
<P> I wanted to comment on this because some easy items where missed in
answering this customer. THe chipset is fully supported, being an NE2000
clone that works just fine. If he is having difficulty installing it, here's
where he should check:
<P> #1 Conflicts. This is not likely a problem, since the Ether software that
sets the IRQ and I/O of the card checks for conflicts before setting the
resources. If you have not installed new hardware, or turned on any extra on
board peripherals (Serial, Parallel, or USB ports), this shouldn't be an
issue.
<P> #2 How the driver is loaded. As a shot in the dark, you are likely using
redhat, in which case the best choice is to use Linux Config to set up the
module to load at boot. Most distros will work the same way, but some you
have to manually edit rc.* files. THere is a linux-conf topic for network
interfaces, but I forget what it is called ATM. If you have to edit the rc.*
files, look for a rc.modules file; most distrobutions have one with the
network card modules already specified, but commented out. Find the one with
your module ( ne2k.o I believe) and uncomment it. In either case, don't
worry about specifying the IRQ; you only need to note the I/O address for
this card. *VERY IMPORTANT* when specifying the I/O port, use "0x320"
instead of "320". You have to specify the number is hex, which is '0x'. So,
if the software that disabled your plug n play on the card said it was using
port "330", tell linux that the port is "0x330" Don't expect the module to
autodetect the card: on this card, it almost never works (I own three of
them personally), while autodetect works on other cards, such as my SMC. I
don't know why, but don't count on the module to detect the card.
<P> #3. I dont know about ISA IRQ changes you made in the BIOS. From personal
experience, they just aren't needed. You sound comfortable enough with them,
so you may want to change them back to normal once you are positve the Linux
configurations are correct and complete.
<P> #4 Standard troubleshooting: If you dont get an error when booting, check
'ifconfig'. You may just need to assign the card an address, subnet, et al.
Or, run dhcpcd if you have a DHCP server/cable modem/DSL router/whatever.
Try a different ISA slot. If all looks good locally, but you cant reach
outside of your own box, check your cables, subnet mask. First answer if the
problem is hardware or software. Tackle it logically.
<P> Best of luck,
Toodles
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Win98 ICS + Linux
</FONT> </H3>
Fri, 07 Jan 2000 23:11:51 +0100
<BR>From: Anders Hoglund &lt;<A HREF="mailto:anders.hoglund@linux.nu">anders.hoglund@linux.nu&gt;</A>
<P> Hello!
<P> It's easy to do that, run netcfg and click on "interfaces". Edit your
"eth0" with
"interface configuration protocol - dhcp", save and restart.
After that it should work!
<P> Sorry for my bad english!
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Diamond SupraExpress 56i V PRO
</FONT> </H3>
Wed, 12 Jan 2000 15:40:19 +0100
<BR>From: Alberto Caso &lt;<A HREF="mailto:caso@intermail.es">caso@intermail.es&gt;</A>
<P> Hi,
I read your question on Linux Gazette #48 about installing a Diamond
SupraExpress 56i V PRO under Linux and I have to give you bad news: it's
a winmodem. Well, it is not a full winmodem, as it does data compression
on the modem rather than on the PC, but it is partialy
software-controled, so it will only work with the proper drivers
installed. As the technical staff at Diamond told me (yes, I had a
SupraExpress 56i V PRO), there are no plans to provide drivers for
platforms other than Win32. I also emailed the developer support staff,
but I got no answer from them.
Alberto.
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Suggestion and ideas
</FONT> </H3>
Wed, 19 Jan 2000 01:37:34 +0100
<BR>From: Paco &lt;<A HREF="mailto:fmunoz@geocities.com">fmunoz@geocities.com&gt;</A>
<P> Just read a Linux newbie guide and an Instalation guide. :-)
Try not to read all the other stuff ... untill you need it or had finished the
instalation (and everything is working)
<P> 1 To get out from a manual just hit q (From the origins of the Unix world q
was the key to quit :-) You are right, This is said in noplace. I have figured
in and old VAX some years ago just after 10 minutes (You have to log out
before you could leave the terminal)
<P> 2 To copy a file use (much like the old MSDOS copy, well not really) use:
<CODE>cp file1 target</CODE>
where target can be a file or a directory (just type man cp, now that you know
how to exit tit :-)
<P> 3 Pico is nice, In console mode I use the midnight commander to navigate the
directories and just hit F4 to launch cooledit and edit files (Funtions keys
hints are at the bottom of the screen) Very easy. I miss it a lot when I use
the University Solaris box.
<P> 4 ????
<P> <hr> <P>
<!--================================================================-->
<a name=""></a>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
ANSWER: <FONT COLOR="navy">Re: HELP with LT Win Modem and SB 16 >Sound Blaster wanted!
</FONT> </H3>
Thu, 20 Jan 2000 15:49:55 +1300
<BR>From: Greig McGill &lt;<A HREF="mailto:rider@wave.co.nz">rider@wave.co.nz&gt;</A>
<P> Following up from your january issue, specifically:
<BLOCKQUOTE>
From: Gerard Beekmans
<P> It's true; Winmodems don't work under Linux. Winmodems are
specially designed to work with Microsoft Windows and are not supported
in Linux. The only way to get a modem to work is to buy a
non-winmodem.
</BLOCKQUOTE>
<P> This is not strictly true...
<P> Go to www.linmodems.org.
<P> I managed to get my LT Winmodem going on my Acer notebook - runs sweeter than it did under win98.
<!-- END tips.answers -->
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
This page written and maintained by the Editor of the <I>Linux Gazette</I>.
Copyright &copy; 2000, <A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A><BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<font color="maroon">
<H1>Web Applications with Database Connectivity</H1>
<h2>- getting started -</h2>
</FONT>
<H4>By <a href="mailto:mandreiana@yahoo.com">Marius Andreiana</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<p><h3>Abstract</h3>
<p>Almost any company with a presence on the web uses some kind of database to
ease the content maintaining. This article will introduce a way to develop database-backed
web sites using open-source software : Linux, Apache, PostgreSQL, PHP3.<p>
Although this is written for a Red Hat Linux system, most of it ( if not all )
applies to other distributions.
<p>
<h3>Contents</h3>
<UL>
<LI><a href="#linux">Linux</a>
<LI><a href="#apache">Apache</a>
<LI><a href="#postgres">PostgreSQL</a>
<LI><a href="#php3">PHP3</a>
<LI><a href="#all">Putting it all together</a>
<LI><a href="#res">Resources</a>
</UL>
<h2><p><a name="linux">Linux</a></h2>
<p>We all know about Linux... You could also check my
<a href="http://www.linuxstart.com/~marius/intro/">Introduction to Linux</a>
<p>
<h2><p><a name="apache">Apache</a></h2>
<p>Apache is the most used web server on the internet. Originally based on NCSA,
it evolved into a far superior system which can rival (and probably surpass)
almost any other UNIX based HTTP server in terms of functionality, efficiency
and speed. Apache is an entirely volunteer effort, completely funded by its
members, not by commercial sales.
<p>Your Linux distribution includes Apache. Install it ( if it isn't already
installed ) and start the HTTP daemon.
It's a very simple installation, so it won't be covered here. Test it by typing
in your web browser : <b>http://localhost/</b>. You should see a page which tells
you that the installation was successful.
<p>
<h2><p><a name="postgres">PostgreSQL</a></h2>
<p>PostgreSQL is an advanced Object-Relational database management system (DBMS)
that supports almost all SQL constructs (including transactions, subselects and
user-defined types and functions).
Postgres, developed originally in the UC Berkeley Computer Science Department,
pioneered many of the object-relational concepts now becoming available in some
commercial databases. It provides SQL92/SQL3 language support, transaction
integrity, and type extensibility. PostgreSQL is a public-domain, open source
descendant of this original Berkeley code.
<p>The easiest way to set up PostgreSQL is from
<a href="ftp://ftp.redhat.com/pub/RedHat/6.1/RPMS/">RedHat's 6.1 RPMs</a>.
Install everything beginning with <b>postgres</b>.
<p>I recommend not to store your database files in the default location,
<b>/var/lib/pgsql/</b>, but in <b>/home/postgresdb</b> ( or somewhere
in <b>/usr/local</b> ). That way, if you have to reinstall the system, you
woun't lose the data ( you do have a separate partition for <b>/home</b>,
don't you ? ).
<p>So how do you do this ?
After installing the RPMs, user <b>postgres</b>
is the database administrator ( not <b>root</b> !). Logged in as root, set
up a password for <b>postgres</b> :
<p><b># passwd postgres</b>
<p>
Next, create the directory and change it's
owner to be the PostgreSQL administrator :
<p>
<b># mkdir /home/postgresdb<br>
# chown postgres.postgres /home/postgresdb
</b>
<p>The location of database files is specified by PGDATA environment variable.
You should set this up so it's available to all users. Add this at the end
of <b>/etc/profile</b> file :
<p><b>PGDATA=/home/postgresdb<br>
PGLIB=/usr/lib/pgsql<p>
export PGDATA PGLIB
</b><p>
In order to use the database, the <b>postmaster</b> must be running.
You'll probably want it to run all the time, so let's add it to the
start-up daemons :
<p>
<b># setup</b>
<p>Select <b>Sytem services</b>, then make sure <b>postgresql</b> is
marked with a *.
<p>
Okay, one more thing. We must modify in <b>/etc/rc.d/init.d/postgresql</b>
( which is run at start-up ) the database directory. Replace every
occurence of <b>/var/lib/pgsql</b> with <b>/home/postgresdb</b>
<p>Now you are ready to go. Start the <b>postgresql</b> service :
<p><b>
# /etc/rc.d/init.d/postgresql start
</b>
<p>
Being the first time it is run, the base database files will be created. Then
the postmaster will be started ( by default, TCP/IP communication is enabled ).
<p>
It's time to test the instalation. Create a user <b>pguser</b> :
<p><b>
# adduser pguser<br>
# passwd pguser
</b><p>
Logged in as <b>postgres</b>, create the same user for PostgreSQL :
<p><b>
$ createuser pguser
</b><p>
Answer to the questions by not allowing this user to create databases, don't let it
be a superuser and create a database for him.
<p>
Log in as <b>pguser</b> and run <b>psql</b>. Create a table and insert
a few records :
<p><b>
pguser=> create table friends ( name varchar(30), email varchar(90) );<br>
pguser=> insert into friends values ( 'John', 'john@johnny.com' );<br>
pguser=> insert into friends values ( 'Mary', 'mary@linuxmail.com' );<br>
pguser=> select * from friends;<br>
</b>
<p>You could do this from <b>PgAccess</b> ( included in Postgres ) if
you want a graphical user interface, but for now try the command line
( and don't forget the semi-colon at the end ).
<p>
Time to move forward.
<p>
<h2><p><a name="php3">PHP3</a></h2>
<p>PHP is a server-side HTML-embedded scripting language with a strong
database integration layer. Writing a database-enabled web page is incredibly
simple. Supported databases include PostgreSQL, MySQL, Oracle, Sybase, Informix.
<p>Again, the easiest way to set up PHP is from
<a href="ftp://ftp.redhat.com/pub/RedHat/6.1/RPMS/">RedHat's 6.1 RPMs</a>.
Install <b>php</b>, <b>php-manual</b>, <b>php-pgsql</b>.
<p>
Now let's tell Apache about PHP. Uncomment the follwing lines in
<b>/etc/httpd/conf/httpd.conf<p>
LoadModule php3_module modules/libphp3.so<br>
AddModule mod_php3.c
<p></b> and <b>/etc/httpd/conf/srm.conf<p>
AddType application/x-httpd-php3 .php3<br>
AddType application/x-httpd-php3-source .phps
</b><p>
You could also add to <b>DirectoryIndex</b> index.php3 ( in <b>srm.conf</b> )
<p>
<p>Choose a place which will hold our work. For start you could use <b>/home/httpd/html/</b>
( if that's your DocumentRoot defined in <b>srm.conf</b> ).
<p>
Let's test with a simple document named <b>test.php3</b> ( the extension is
very important ) with a single line : <b>&lt;?php phpinfo() ?&gt;</b>
<p>
Access this file from your web browser from <b>http://localhost/test.php3</b>
<br>
You should see lots of information about PHP, your server ...
<p>
<h2><p><a name="all">Putting it all together</a></h2>
<p>Everything is set, let's get some results !
<p>Our friends John and Mary are still there, waiting for you.
Create a file named <b>friends.php3</b>.
<a href="misc/andreiana/friends.php.txt">Here it is</a>, with
lots of comments.
<p>
<FONT color=#000000><FONT color="#0000BB">
&lt;?php<br><br></FONT><I><FONT color="#FF8000" size="-1">
//define&nbsp;variables&nbsp;used&nbsp;with&nbsp;the&nbsp;database</FONT></I><FONT color="#0000BB">
<br></FONT><I><FONT color="#FF8000" size="-1">
//usually&nbsp;this&nbsp;goes&nbsp;in&nbsp;an&nbsp;include&nbsp;file</FONT></I><FONT color="#0000BB">
<br>$PG_HOST=<FONT color="#DD0000">
<STRONG>"localhost"</STRONG></FONT><FONT color="#007700">;</FONT><br>$PG_PORT=5432<FONT color="#007700">;</FONT><br>$PG_DATABASE=<FONT color="#DD0000">
<STRONG>"pguser"</STRONG></FONT><FONT color="#007700">;</FONT><br>$PG_USER=<FONT color="#DD0000">
<STRONG>"pguser"</STRONG></FONT><FONT color="#007700">;</FONT><br><br>$PG_PASS=<FONT color="#DD0000">
<STRONG>""</STRONG></FONT><FONT color="#007700">;</FONT><br><br></FONT><I><FONT color="#FF8000" size="-1">
//let's&nbsp;open&nbsp;the&nbsp;database</FONT></I><FONT color="#0000BB">
<br>$dbconn=pg_connect<FONT color="#007700">(</FONT>&nbsp;<FONT color="#DD0000">
<STRONG>"dbname=$PG_DATABASE&nbsp;host=$PG_HOST&nbsp;port=$PG_PORT&nbsp;user=$PG_USER&nbsp;password=$PG_PASS"</STRONG></FONT>&nbsp;<FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><FONT color="#007700">if</FONT>&nbsp;<FONT color="#007700">(</FONT>&nbsp;!&nbsp;$dbconn&nbsp;<FONT color="#007700">)</FONT>&nbsp;<FONT color="#007700">{</FONT><br>&nbsp;&nbsp;&nbsp;&nbsp;<FONT color="#007700">echo</FONT>&nbsp;<FONT color="#DD0000">
<STRONG>"Error&nbsp;connecting&nbsp;to&nbsp;the&nbsp;database&nbsp;!&lt;br&gt;&nbsp;"</STRONG></FONT>&nbsp;<FONT color="#007700">;</FONT><br>&nbsp;&nbsp;&nbsp;&nbsp;printf<FONT color="#007700">(</FONT><FONT color="#DD0000">
<STRONG>"%s"</STRONG></FONT>,&nbsp;pg_errormessage<FONT color="#007700">(</FONT>&nbsp;$dbconn&nbsp;<FONT color="#007700">)</FONT>&nbsp;<FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br>&nbsp;&nbsp;&nbsp;&nbsp;exit<FONT color="#007700">(</FONT><FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><FONT color="#007700">}</FONT><br><br></FONT><I><FONT color="#FF8000" size="-1">
//the&nbsp;database&nbsp;handle&nbsp;is&nbsp;$dbconn</FONT></I><FONT color="#0000BB">
<br></FONT><I><FONT color="#FF8000" size="-1">
//run&nbsp;a&nbsp;sql&nbsp;command&nbsp;to&nbsp;insert&nbsp;another&nbsp;record</FONT></I><FONT color="#0000BB">
<br>$sqlcom=<FONT color="#DD0000">
<STRONG>"insert&nbsp;into&nbsp;friends&nbsp;values&nbsp;('Marius',&nbsp;'marius@marius.com')"</STRONG></FONT><FONT color="#007700">;</FONT><br><br>$dbres&nbsp;=&nbsp;pg_exec<FONT color="#007700">(</FONT>$dbconn,&nbsp;$sqlcom&nbsp;<FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><FONT color="#007700">if</FONT>&nbsp;<FONT color="#007700">(</FONT>&nbsp;!&nbsp;$dbres&nbsp;<FONT color="#007700">)</FONT>&nbsp;<FONT color="#007700">{</FONT><br>&nbsp;&nbsp;&nbsp;&nbsp;<FONT color="#007700">echo</FONT>&nbsp;<FONT color="#DD0000">
<STRONG>"Error&nbsp;:&nbsp;"</STRONG></FONT>&nbsp;+&nbsp;pg_errormessage<FONT color="#007700">(</FONT>&nbsp;$dbconn&nbsp;<FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br>&nbsp;&nbsp;&nbsp;&nbsp;exit<FONT color="#007700">(</FONT><FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><FONT color="#007700">}</FONT><br><br></FONT><I><FONT color="#FF8000" size="-1">
//let&nbsp;me&nbsp;know&nbsp;I've&nbsp;been&nbsp;added&nbsp;to&nbsp;the&nbsp;database&nbsp;by&nbsp;sending&nbsp;me&nbsp;an&nbsp;email</FONT></I><FONT color="#0000BB">
<br>mail<FONT color="#007700">(</FONT><FONT color="#DD0000">
<STRONG>"marius@marius.com"</STRONG></FONT>,&nbsp;<FONT color="#DD0000">
<STRONG>"Lucky&nbsp;winner&nbsp;!"</STRONG></FONT>,&nbsp;<br><FONT color="#DD0000">
<STRONG>"You've&nbsp;just&nbsp;won&nbsp;a&nbsp;row&nbsp;in&nbsp;our&nbsp;database.&nbsp;Congratulations&nbsp;!"</STRONG></FONT>,&nbsp;<FONT color="#DD0000">
<STRONG>"From&nbsp;:&nbsp;boss@db.com"</STRONG></FONT><FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br></FONT><I><FONT color="#FF8000" size="-1">
//yes,&nbsp;it's&nbsp;that&nbsp;simple</FONT></I><FONT color="#0000BB">
<br></FONT><I><FONT color="#FF8000" size="-1">
//(&nbsp;sending&nbsp;an&nbsp;email&nbsp;I&nbsp;mean,&nbsp;it's&nbsp;not&nbsp;so&nbsp;easy&nbsp;to&nbsp;win&nbsp;:)</FONT></I><FONT color="#0000BB">
<br><br></FONT><I><FONT color="#FF8000" size="-1">
//what&nbsp;do&nbsp;we&nbsp;have&nbsp;now&nbsp;in&nbsp;the&nbsp;database&nbsp;?<br></FONT></I><FONT color="#0000BB">
<br>$sqlcom=<FONT color="#DD0000">
<STRONG>"select&nbsp;*&nbsp;from&nbsp;friends"</STRONG></FONT><FONT color="#007700">;</FONT><br><br>$dbres&nbsp;=&nbsp;pg_exec<FONT color="#007700">(</FONT>$dbconn,&nbsp;$sqlcom&nbsp;<FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><FONT color="#007700">if</FONT>&nbsp;<FONT color="#007700">(</FONT>&nbsp;!&nbsp;$dbres&nbsp;<FONT color="#007700">)</FONT>&nbsp;<FONT color="#007700">{</FONT><br>&nbsp;&nbsp;&nbsp;&nbsp;<FONT color="#007700">echo</FONT>&nbsp;<FONT color="#DD0000">
<STRONG>"Error&nbsp;:&nbsp;"</STRONG></FONT>&nbsp;+&nbsp;pg_errormessage<FONT color="#007700">(</FONT>&nbsp;$dbconn&nbsp;<FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br>&nbsp;&nbsp;&nbsp;&nbsp;exit<FONT color="#007700">(</FONT><FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><FONT color="#007700">}</FONT><br><br></FONT><I><FONT color="#FF8000" size="-1">
//and&nbsp;interpret&nbsp;the&nbsp;results</FONT></I><FONT color="#0000BB">
<br>$row=0<FONT color="#007700">;</FONT><br>$rowmax=pg_NumRows<FONT color="#007700">(</FONT>$dbres<FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><br><FONT color="#007700">while</FONT>&nbsp;<FONT color="#007700">(</FONT>$row&lt;$rowmax<FONT color="#007700">)</FONT><br><FONT color="#007700">{</FONT><br>&nbsp;&nbsp;&nbsp;&nbsp;$do&nbsp;=&nbsp;pg_Fetch_Object<FONT color="#007700">(</FONT>$dbres,&nbsp;$row<FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;$s=<FONT color="#DD0000">
<STRONG>"&lt;p&gt;$do-&gt;name&nbsp;|&nbsp;$do-&gt;email\n"</STRONG></FONT><FONT color="#007700">;</FONT><br>&nbsp;&nbsp;&nbsp;&nbsp;printf<FONT color="#007700">(</FONT><FONT color="#DD0000">
<STRONG>"%s"</STRONG></FONT>,&nbsp;$s<FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;$row++<FONT color="#007700">;</FONT><br><FONT color="#007700">}</FONT><br><br></FONT><I><FONT color="#FF8000" size="-1">
//close&nbsp;the&nbsp;database</FONT></I><FONT color="#0000BB">
<br>pg_close<FONT color="#007700">(</FONT>&nbsp;$dbconn&nbsp;<FONT color="#007700">)</FONT><FONT color="#007700">;</FONT><br><br></FONT><I><FONT color="#FF8000" size="-1">
//That's&nbsp;all.&nbsp;This&nbsp;isn't&nbsp;a&nbsp;tutorial&nbsp;to&nbsp;PHP,&nbsp;I&nbsp;wanted&nbsp;to&nbsp;show&nbsp;you&nbsp;how</FONT></I><FONT color="#0000BB">
<br></FONT><I><FONT color="#FF8000" size="-1">
//it&nbsp;can&nbsp;be&nbsp;done.&nbsp;As&nbsp;you&nbsp;can&nbsp;see,&nbsp;it&nbsp;isn't&nbsp;hard&nbsp;at&nbsp;all</FONT></I><FONT color="#0000BB">
<br>?&gt;<br></FONT></FONT>
<p>
<p>
You can find more on the web. All of this is open-source, remember ? You'll
easily find scripts made by various people doing lots of things
and more open-source projects ( go get your shopping cart :)
<h2><a name="res">Resources</a></h2>
<UL>
<LI><a href="http://www.apache.org">Apache</a>
<LI><a href="http://www.postgresql.org">PostgreSQL</a>
<LI><a href="http://www.postgresql.org/docs/awbook.html">PostgreSQL: Introduction and Concepts</a>
<LI><a href="http://w3.one.net/~jhoffman/sqltut.htm">SQL Tutorial</a>
<LI><a href="http://www.php.net">The PHP Home</a>
</UL>
<p>
<p>Well, that's it. You are now able to start developing database-enabled
web applications. Of course, you should learn more. Much more.
<p>
<p>
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2000, Marius Andreiana<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Interview with Mike Cowpland, Corel Corporation</font></H1>
<H4>By <a href="mailto:prakash@freeos.com">Prakash Advani</a></H4>
</center>
<BLOCKQUOTE> <EM>
[Originally published on the FreeOS site as
<A HREF="http://www.freeos.com/linux/interviews/mikecowpland.ephtml">
http://www.freeos.com/linux/interviews/mikecowpland.ephtml</A>. Reprinted here
at the author's request. -Ed.]
</EM> </BLOCKQUOTE>
<P> <HR> <P>
<!-- END header -->
<p align="left"><font face="Arial, Helvetica, sans-serif">Dr. Michael Cowpland,
president and CEO of <a href="http://www.corel.com">Corel</a> Corporation,
hardly needs an introduction. An engineer by qualification, Dr Cowpland
began his career at Bell Northern Research in 1964. In 1985, he founded
Corel one of the largest software companies in the world.
The company is now helping develop the fast growing Linux platform;
in fact, Corel plans to port a majority of its applications to Linux.
Mike Cowpland talks of his plans for Corel and his views on Linux to <a href="http://www.freeos.com">FreeOS.com</a>.
</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>What is Corel doing with
Linux?<br>
</b></font><font face="Arial, Helvetica, sans-serif" size="2">Corel is
basically offering really comprehensive solutions to Linux. We are doing more
than any other company and are also providing complete connectivity to the Windows
world. We have recently launched Corel Linux for the desktop. This is currently
available in North America and can be downloaded from our Web site. We have
made an extremely easy to use distribution that can be installed even quicker
than Windows. The user can also connect seamlessly to the all the Windows files
on the network including Microsoft public files. With the announcement that
we made a few weeks ago, he can also connect to Windows applications to run
those. If someone has the legacy applications that they want to connect and
still enjoy the benefits of Linux, they can do that by having a single application
server serving up the group. So you can have a cluster of Linux desktops and
one Windows NT server and they can all load up their Windows applications from
there and while using their own native Linux applications on the desktop. So
that provides a complete solution where we provide the basic software, which
is the browser, the office suite and the graphic suite. Then they may have their
human resource or accounting software that they still have on Windows. They
can run on their server without having to run them on the desktop.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Will Corel become a Linux
company in the near future?<br>
</b>Well, we are already very heavily a Linux company. That is supported by
the fact that we are we are the most popular download on the Web. If you look
at CNET the number one download site, we have been the number one Linux download
consistently so effectively we are already a Linux company. We are introducing
our Linux suite very shortly and that would give us more exposure and capability
in Linux. </font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Where do you see Linux
5 years from now?<br>
</b>In 5 years, Linux will become the more dominant operating system in terms
of Unix. Windows will be more involved with back-end applications like it is
today.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Why did Corel decide
to develop its own distribution rather than adopting or embracing an existing
one?<br>
</b>We did look at several distributions but found them very limited. They were
difficult to install and use and required an expert, which we did not find acceptable.
In Linux, when something is not happening, the best thing is to do it yourself
and that is exactly what we did. As compared to any other distribution, we received
the highest rating of 9 from CNET in addition to being CNET's Editor's Choice,
whereas Red Hat has received a rating of 8.</font></p>
<p><b><font face="Arial, Helvetica, sans-serif" size="2">Corel is primarily known
as a company developing Graphic suites and Office suites. Does this give a feeling
that Corel is losing its focus of developing applications?</font></b><font face="Arial, Helvetica, sans-serif" size="2"><br>
</font><font face="Arial, Helvetica, sans-serif" size="2">Not really, a tremendous
amount of User Interface has been worked at with programs such as CorelDraw.
In Linux, it is a world team effort with each organization doing what its best
at. The kernel is still being developed by the kernel people and we simply use
it. We don't have to reduplicate that work. We are best at the user interface
and we are doing that. With our 50 million Windows users worldwide we have very
rich experience with that. We have made the user interface really easy to use
and the fact that our distribution has been well received proves it.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Corel has been a Windows
developers and is now a Linux developer. Does it affect your relationship with
Microsoft?<br>
</b>We have always had a good relationship with Microsoft and continue to do
so. We use Visual Basic and they use our components. We can focus in certain
other areas, which I think in some ways it is going to be good for Microsoft.
They are, as you know, getting hammered for being a monopoly. Microsoft will
do better when they have competition OS around.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>What do you think is
better. Being a Linux Developer or being a Windows developer?<br>
</b></font><font face="Arial, Helvetica, sans-serif" size="2">We
actually like being a multi-platform developer. Otherwise one company has too
much control over computer manufacturers - they can dictate terms. They can
insist that you bundle certain things or put logos in certain places, which
Microsoft has been known to do. I don't think that's good for anybody. Being
in the multi-platform world is healthier while maintaining connectivity, because
you don't want to have different islands which cannot talk to each other. We
consider connectivity as the biggest thing that Corel is doing for Linux. We
have our Windows experience and while we don't expect Windows to go away, we
do expect Linux to be just as important as Windows. Much of the work that we
will be doing on applications will be shared between the platforms.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>How is Corel helping
the Linux community?</b><br>
</font><font face="Arial, Helvetica, sans-serif" size="2">We have been doing
work with Corel Linux in the GPL or Mozilla open source licenses. The Wine work
that we are doing is been put back into the community. The Corel File Manager,
all of which we wrote ourselves, has been put back into the community. We are
actually very supportive of the open source concept. On the applications side
we don't see those as being open source because there are dozens and dozens
of third party utilities that we select, tune-up and include. That's what makes
a very rich applications because the core software is only part of the source.
It is the other utilities that make them useful. As we have to pay royalties
for many of these, its impossible to give them free.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Which are the big vendors
who have agreed to pre-install Corel Linux on their systems?</b><br>
PC Chips, that makes more motherboards than anybody else is installing Corel
Linux as we speak. We are working with other big vendors too which we will make
announcements over the next 6 months. I think a lot of end-user computer manufacturers
are waiting for applications such as Corel's office applications and graphic
applications to be available before they can really offer a consumer product.
We will have those available soon and we expect them to make announcements then.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>There are some installation-related
issues regarding Corel Linux 1.0. What is Corel doing about those?<br>
</b>There are some issues regarding legacy hardware such as ISA, which has not
been as automated as the latest Bus. The fact is that developers are now focusing
on the high volume situation first. It will take a lot before it can cover every
legacy hardware and this is typical of any Linux distribution.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Corel had the Netwinder
Project, which for some reason did not take-off and Corel decided to spin it
off. What was the reason behind that?<br>
</b>The project has divested to rebel.com, and we are an active partner there.
They are doing very well and just went through a private round of financing.
They have a product similar to Cobalt, which has a market capitalization of 3-4
billion US$. We are very happy with our 25% ownership of rebel that we got in
the Netwinder project. We just felt it was better off as a separate company
because hardware does require a separate focus.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Will Corel do something
similar with Corel Linux?<br>
</b></font><font face="Arial, Helvetica, sans-serif" size="2">No,
because we are enabling 90% of the work between Windows applications
and Linux applications and to some extent Macintosh applications. That is more
proficient than other companies doing both Linux applications and Windows applications.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Are all Corel applications
going to be available for Linux? <br>
</b>Yes, absolutely. We are also considering acquisition of other applications of
Windows to port over to Linux, to make our portfolio even more complete. We
are also looking at companies who have a dual platform strategy. It is easier
to buy technologies than to buy the whole company in a non-exclusive way.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><i>(Mike Cowpland refused
to give any further details about the companies that they plan to or are considering
to acquire. Said it was too pre-mature to discuss this now.)</i></font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Corel Office for Linux
was expected by the year-end of 1999? Apart from Word Perfect none of the other
applications are ported to Linux yet. What is the progress on that?</b><br>
It should be available in beta form in a week's time and that's very close to
year-end.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>What about the competition
to your office suite from Star Office?<br>
</b>The downloads of their office suite are running at 10% of our volumes which
is not very competitive. If you look at Sun's history of software it has been
dismal. Even now people complain that they are not even freeing up Java. IBM
is very upset that they are charging 3% license fees for anybody using Java
program. Sun's history on software has been the pits.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>What would happen if
Microsoft office were available for Linux?<br>
</b>That would be good for the industry. More the applications on Linux, the
better. In fact we are working on that. With our GraphOn Bridges you will be
able to run Microsoft applications on Corel Linux without Microsoft having to
do any work. You still have to pay Microsoft's license but it will enable people
to rely on Linux without giving up on their favorite Windows applications.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Both Microsoft and Sun
are offering their office suites over the servers with the concept of application
service providers. What are Corel's plans?<br>
</b>We are doing that too. We have an offering for ASP's as that provides very
low cost of ownership.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Does Corel plan to sell
computers with Linux and Corel apps preinstalled?<br>
</b>No we would rather work with partners to do that.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>There have been some
controversies about the Corel Linux licensing which wasn't 100% GPL?<br>
</b>Even Richard Stallman has been happy with our license. Being a big commercial
company, we have to be more careful of copyright than other smaller companies.
We had certain terms, which had to be introduced to ensure that everything was
legal.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Will Corel support other
free operating systems in the future?<br>
</b>No. We think it is important to focus on Linux, as it is clearly the one.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>There were some talks
about Red Hat taking over Corel, is that going to happen?<br>
</b>No, I don't think they would do that, because Red Hat is a much smaller
company than Corel. They have only 40-50 developers where as we have got 800
developers. We understand the Windows market, Red Hat does not.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>What if it happens?<br>
</b></font><font face="Arial, Helvetica, sans-serif" size="2">It
is not going to happen (laughs).</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>If you had a choice to
be taken over by a company, which company would you prefer?<br>
</b>None (laughs).</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>How does Corel plan to
make money out of the open source model?<br>
</b>Corel has always been known to offer enormous value for money and thereby
the paradigm suits us very well. If you put a software in a box along with a
manual, it typically costs between 50 and 100 US$ and that's what an upgrade
sells for. It is really no different to our Windows model. The only difference
is that you get a good CD in the market with free downloads and that's why we
have had 2 million Word Perfect downloads, the number one rate of free download
of Corel Linux.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2">In my point of view, it
is very similar to the Windows model. It goes even faster and you still make
money on the boxes because some people don't want to wait for the downloads.
They want the CD and the manuals or they want the extra bells and whistles such
as the high level of support or may be some more bells and whistles such as
content. For example, on our Web site we have 50,000 images but if you want
to access 2 million then you have to join up and pay 30 US$ a year as
subscription. So it fits into a subscription model. We are looking at the Web
site as a revenue generator and are keen to develop a lot more traffic to our
portal <a href="http://www.corelcity.com">Corelcity.com</a>.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>Is Corel's Web site powered
by Corel Linux?<br>
</b>Some part of it is on Solaris and Window NT, but the trend would be towards
moving to Corel Linux.</font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b>What are Corel's plans
for India?<br>
</b>We are optimistic about the potential of the Indian market and are very
very keen on it. It is a huge market and English is commonly used. We also think
India is natural for Linux because it needs computers at the lowest possible
cost. Why would they want to pay the high price of Windows when they don't have
to? At the same time it is full of computer scientist who can improve Linux
because they have access to the source code. So India can become a major contributor
to Linux since they can all see the source code, use the source code and be
a part of the improvement. So it's much more exciting for India than simply
being a part of Microsoft's monopoly.</font></p>
<EM>
<p><font face="Arial, Helvetica, sans-serif" size="2">Do you have any interesting
questions to Mike Cowpland which haven't been answered in this interview? Send
an email to <a href="mailto:prakash@freeos.com">Prakash Advani</a> and the top
5 questions will be forwarded to Mike Cowpland.</font></p>
<P> <font face="Arial, Helvetica, sans-serif" size="2">
<A HREF="http://Freeos.com">Freeos.com</A> islooking for people who can
provide news, articles and updates to our the Web site. If you are interested
in contributing in any way please e-mail <A
HREF="mailto:prakash@freeos.com">prakash@freeos.com</A>.</FONT>
</EM>
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2000, Prakash Advani<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<IMG ALT="HelpDex logo" SRC="../gx/collinge/HelpDex.gif"
WIDTH="78" HEIGHT="50" ALIGN="left">
<IMG ALT="HelpDex logo" SRC="../gx/collinge/HelpDex.gif"
WIDTH="78" HEIGHT="50" ALIGN="right">
<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 -->
<BLOCKQUOTE><EM>
[</EM>Linux Gazette<EM> is proud to present the Linux comic strip
</EM>HelpDex<EM> by cartoonist Shane Collinge. Each
</EM>Gazette<EM> issue will
contain the Author's and Editor's favorite cartoons from the previous
month. All cartoons may be seen at
<A HREF="http://mrbanana.hypermart.net/Linux.htm">
http://mrbanana.hypermart.net/Linux.htm</A>. A new cartoon is posted
there daily Monday-Friday. -Ed.]
</EM></BLOCKQUOTE>
<P> HelpDex is a VERY lame Linux pun on "help desk". Follow Carol and Tux,
her stuffed penguin toy, as they force their way through the corporate
programming world with style, panache and um, er, stuffed toys. -SC
<P>
<IMG ALT="HelpDex1.jpg" SRC="gx/collinge/HelpDex1.jpg"
WIDTH="750" HEIGHT="299">
<BR CLEAR="all">
<IMG ALT="HelpDex6.jpg" SRC="gx/collinge/HelpDex6.jpg"
WIDTH="750" HEIGHT="297">
<BR CLEAR="all">
<IMG ALT="HelpDex8.jpg" SRC="gx/collinge/HelpDex8.jpg"
WIDTH="750" HEIGHT="297">
<BR CLEAR="all">
<IMG ALT="HelpDex10.jpg" SRC="gx/collinge/HelpDex10.jpg"
WIDTH="750" HEIGHT="296">
<BR CLEAR="all">
<IMG ALT="agbdab.jpg" SRC="gx/collinge/agbdab.jpg"
WIDTH="750" HEIGHT="304">
<BR CLEAR="all">
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2000, Shane Collinge<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<font color="maroon">
<H1>Creating A Linux Certification Program, Part 8</H1>
<H2>"Dreams Become a Reality"</H2>
</font>
<H4>By <a href="mailto:rferrari@rainmanintl.com">Ray Ferrari</a></H4>
<BLOCKQUOTE> <EM>
[ This is the continuation of a series begun by by Dan York. -ed.]
</EM> </BLOCKQUOTE>
</center>
<P> <HR> <P>
<!-- END header -->
<P>On Tuesday,
January 11, 2000, the culmination of hard work by a dedicated group
of volunteers worldwide has produced the first in a series of
certification tests for the Linux* community. The Linux Professional
Institute(LPI; <A HREF="http://www.lpi.org/">http://www.lpi.org</A>
)which was incorporated (nonprofit) in Ontario, Canada in October,
1999; has released its T1A Exam
<P>(<A HREF="http://www.lpi.org/t1alaunch.html">
http://www.lpi.org/t1alaunch.html</A> ) to the world through the
<A HREF="http://www.vue.com/linux">
Virtual University Enterprises'</A> (VUE)
1700 plus testing centers. The exam qualifies the participant
towards certification at Level 1 (Junior-Level/ Linux system
administrator). This first exam is just one in a series which will be
available for the individual looking to add credentials to their
Linux knowledge and experience.
<P>In October 1998,
the concept of Linux certification was launched with the leadership
of Evan Leibovitch(current LPI Executive Director) and Dan
York(current Board Chairman)who were
introduced to each other by Jon &quot;maddog&quot; Hall of Linux
International. After many months of hard work and thousands of
volunteers, Evan Leibovitch proclaims, &quot;This
is what we've been
working towards since the day we started.&quot; &quot;We've tried to
make our program challenging, vendor-neutral and accessible, and I
believe we've succeeded on all fronts&quot; according to Evan. Scott
Murray(Director of Exam Development) adds &quot;Our volunteers are a
crucial part of LPI, and the delivery of quality exams reflects the
hard work and care they have contributed to the program.&quot; &quot;We
want to provide a certification that is supported and respected by
it's community&quot; he says. And further acknowledgment comes from Dan
York; &quot;We've learned an amazing amount...and truly demonstrated
the power of a group of people working together to accomplish a
common goal!&quot; &quot;All that we can say is THANK YOU for helping
to make this dream a reality&quot; he says.
<P><BR>
<P>We would like to
thank the many people who have worked on the technical aspects of the
tests(submitting and reviewing test questions), those who have
staffed our booths at the shows around the globe, those who have
responded through our different channels of communication(web site,
e-mails, etc.), our participants in the Advisory Council, and most
importantly our financial sponsors; both individual, and
corporate(listed alphabetically) ; Caldera Systems, IBM, Linuxcare,
SGI, SuSE, TurboLinux, and Wave Technologies. Our association with
Wave Technologies and ProsoftTraining.com have helped us greatly. We
have an extensive listing of our volunteers at
<A HREF="http://www.lpi.org/thanks99.html">http://www.lpi.org/thanks99.html</A>
.
<P><BR>
<P>Those
interested in taking the first exam(T1A) will need to register with
VUE;
<A HREF="http://www.vue.com/linux/">http://www.vue.com/linux/</A>
and pay a fee of $100. The test will take approximately 1-2 hours. To
find the location nearest you go to
<A HREF="http://www.vue.com/testing/index.html">http://www.vue.com/testing/index.html</A>
.
<P>A call for help is
still being echoed for the submission of questions for the T2series
of exams. If you can help write questions for these tests, please
visit our <A HREF="http://www.lpi.org/cgi-bin/tips.py">&quot;TIPS
system&quot;</A>. We could also use help reviewing all of the
questions for these advanced tests. Plus, volunteers would be
greatly appreciated to help staff upcoming events. For a schedule of
events which we will be participating in, please see
<A HREF="http://www.lpi.org/i-events.html">http://www.lpi.org/i-events.html</A>.
Some events include the Linux World Expos, Linux Business Expos,
Atlanta Linux Showcase, and the following:
<P>
On February 2-4, we will be at Linux World in New York City and
Linux World
Paris(contact <A HREF="mailto:tom@lpi.org">tom@lpi.org</A> ),
February 24-March 3 in Hannover, Germany for the
CeBIT show( <A HREF="mailto:tom@lpi.org">tom@lpi.org</A>
), March 7-10 in Sydney, Australia for the Open Source
Expo and Conference(contact
<A HREF="mailto:jon@cybersite.com.au">Jonathan Coombs</A>), and the
Linux Business Expo(with
Comdex) in Chicago on April
17-20, 2000. Please contact the above persons or Dan
York <A HREF="mailto:dan@lpi.org">dan@lpi.org</A>)
if you can staff any of the booths for these shows.
<P><BR>
<P>Stay
tuned to the Linux Gazette and Linux Professional Institute,
as we move forward to making these dreams a reality within the Linux
community.
<P><BR>
<P>*Linux is a
trademark of Linus Torvalds; Linux Professional Institute is a
trademark of the Linux Professional Institute Inc.
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2000, Ray Ferrari<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">From Pico to Nano</font></H1>
or
<h3>The Slightly Bigger Editor</h3>
<H4>By <a href="mailto:guckes-nano@math.fu-berlin.de">Sven Guckes</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<p>
The program "Pine" has become a popular program for both Email and News.
It makes use of a small and simple editor named "pico".
<p>
Pico's command set only has a dozen commands and it shows the most useful
commands in the last two lines of the display:
<p>
<table>
<tr>
<td>
<pre> </pre>
<td bgcolor="#e0e0e0">
<FONT COLOR="#000000">
<pre>
UW PICO(tm) 3.5 New Buffer
[...]
<b>^G</b> Get Help <b>^O</b> WriteOut <b>^R</b> Read File <b>^Y</b> Prev Pg <b>^K</b> Cut Text <b>^C</b> Cur Pos
<b>^X</b> Exit <b>^J</b> Justify <b>^W</b> Where is <b>^V</b> Next Pg <b>^U</b> UnCut Text<b>^T</b> To Spell
</pre>
</FONT>
</td>
</tr>
</table>
<p>
However, the source code for Pico is closely linked to the source code of Pine;
therefore you cannot download Pico on its own - you have to donwload
the source of the complete newsreader to install the little editor.
Worse: Although Pine is freely available you should know this:
<p>
<center>
Pine and Pico are <b>not</b> "OpenSource"
</center>
<p>
<hr>
<h1> Pico is dead - long live Nano </h1>
Yes, you cannot just download the source for Pico and install on its own.
However, many users would like to use this kind of editor
and simply copy it everywhere for personal use.
<p>
That's why there is now an OpenSource project for a "Pico clone" -
"<b>Nano</b>".
(Think of it as "'<b>n ano</b>ther editor", if you like.)
<p>
The goal of Nano is to make a small editor like Pico available under
the GNU General Public Licence and to add some important commands,
while keeping the design, ie "small and beautiful".
<p>
<hr>
<h1>The Editor's New Clothes</h1>
Here is a screenshot of nano:
<p>
<table>
<tr>
<td>
<pre> </pre>
<td bgcolor="#e0e0e0">
<FONT COLOR="#000000">
<pre>
<pre>
nano 0.8.1 New Buffer
.
^O Write Out ^_ Goto Line ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^\ Replace ^W Where Is ^V Next Page ^U Uncut Txt ^T To Spell
</pre>
</FONT>
</td>
</tr>
</table>
<p>
The difference to <tt>pico</tt> is subtle -
no more copyright by the University of Washington ["UW ... (tm)"]. :-)
<p>
Also, the <tt>WriteOut</tt> command now is above the <tt>Exit</tt> command,
so you can see both "exit commands" in one column.
<p>
The new commands are in the second column -
<tt>GotoLine</tt> and <tt>Replace</tt>.
<p>
The <tt>Help</tt> command is still available with <tt>Control-G</tt> -
but when you invoke it then you will see this message:
<p>
<pre>
[ Help function not yet implemented, nyah! ]
</pre>
But as with all program which develop fast -
the documentation is usually missing.
<p>
But do not despair - there's help on the command line:
<p>
<xmp>
$ nano -h
Usage: nano [GNU long option] [option] +LINE <file>
Option Long option Meaning
-V --version Print version information and exit
-c --const Constantly show cursor position
-h --help Show this message
-i --autoindent Automatically indent new lines
-s [prog] --speller=[prog] Enable alternate speller
-t --tempfile Auto save on exit, don't prompt
-v --view View (read only) mode
-w --nowrap Don't wrap long lines
-x --nohelp Don't show help window
-z --suspend Enable suspend
+LINE Start at line number LINE
</xmp>
All these switches are pretty nice, of course. Try them!
Maybe we will see these lines in some Unix programs from now on:
<pre>
set editor="nano -citxz"
</pre>
<hr>
<h1> What's your version? </h1>
One of the things I like about program is that they
identify themself by their version (and relase date):
<p>
<pre>
$ nano -V
nano version 0.8.0 by Chris Allegretta
</pre>
Soon this will hopefully show both important addresses -
that of the website and the email address:
<p>
<pre>
$ nano -V
nano 0.8.0 http://go.to/nano-editor nano-editor@go.to by Chris Allegretta
</pre>
<hr>
<h1> Smaller, Faster, Better </h1>
You may now that "nano" and "pico" are used in the
decimal system for fractions like "centi" and "milli";
"nano" stands for "a billionth" (ie 10^(-9)), and
"pico" stands for "one trillionth" (ie 10^(-12)).
<p>
So, although "nano" is bigger than "pico"
I hope that nano will both be smaller in source
as well as in binary size.
<p>
<hr>
<h1> A quick look at history </h1>
As of Jan 31th, 2000, the current version is nano-0.8.1
and the tape GNU-zipped archive has about 72 kilobytes.
<p>
<pre>
date size name-version
==== ==== ============
000110 56k nano-0.7.4
000113 56k nano-0.7.5
000116 58k nano-0.7.7
000119 60k nano-0.7.8
000123 67k nano-0.7.8
000124 68k nano-0.7.9
000125 70k nano-0.8.0
000129 72k nano-0.8.1
</pre>
On average each version adds 2K - so when nano-1.0.0
gets released it should be around 110k. ;-)
<p>
<hr>
<h1> Installation </h1>
The author distributes RPMs for Nano now.
However, there is no ftp site which carries Nano yet.
So if you would like to install your own nano binary
then you could use a browser to download Nano -
or simply the nice tool "wget":
<p>
<pre>
wget http://faculty.plattsburgh.edu/astyanax/nano/dist/nano-0.8.1.tar.gz
</pre>
Unpack with GNU tar:
<pre>
gtar xvvzf nano-0.8.1.tar.gz
</pre>
.. and run the configure script and make the binary:
<pre>
cd nano-0.8.1
./configure
make
</pre>
The installation is pretty fast. :-)
<p>
Now strip the binary:
<p>
<pre>
guckes@linux> ls -l nano
-rwx--x--x 1 guckes users 120357 Jan 31 21:31 nano
guckes@linux> strip nano
guckes@linux> ls -l nano
-rwx--x--x 1 guckes users 38232 Jan 31 21:34 nano
</pre>
Only 38K!
<p>
<pre>
guckes@linux> ls -l =pico
-rwxr-xr-x 1 root root 159576 Aug 13 02:23 /usr/bin/pico
</pre>
Yes, Pico is bigger!
<p>
And if someone asks you why people delight in nanotechnology -
now you know. Enjoy Nano!
<p>
<hr>
<h1> Discussing Nano </h1>
As far as I know there is no mailing list for the development of Nano yet.
Therefore please use the newsgroup
<a href="news:comp.editors">comp.editors</a>
to discuss <tt>Nano</tt>.
<p>
However, I am pretty sure that the news about Nano
will hit the newsgroup comp.mail.pine pretty soon.
I expect many users of Pine to switch to using Nano instead of Pico.
Expect crossposts - so please direct followups from comp.mail.pine:
<pre>
Followup-To: comp.editors
</pre>
<p>
Thankyou.
<p>
<hr>
<h1> The Big Future </h1>
The author, Chris Allegretta, is currently working towards
"<b>Internationalization</b>" (I18N) of nano you should be able to edit
and see text of other languages which require the space
of two characters to make up one symbol in language.
<p>
Also, an interface to "<b>spell checking</b>" is in the works.
This needs lots of testing , of course.
So all you nerds with strange language -
please help checking and testing this code!
<p>
Personally, I hope that these commands will be added:
<p>
<ul>
<li> Visualization of the edit buffer's end.
<li> Visualization of trailing whitespace (noone ever sees it which is bad!).
<li> Visualization of _underlined_ and *ephasized* text. (very simple)
<li> Commands to jump to line before/after current paragraph.
<li> Command to "pipe" the current text to another (external) command.
<li> Substitution ("Subst", aka "search and replace") with these options:
substitution starts at line 1 or optionally on current line;
skip current match; perform substitution on all further matches.
</ul>
<hr>
<a name="links"></a>
<h1>Links and addresses</h1>
<pre>
Chris Allegretta allegrcr@plattsburgh.edu
Nano editor maintainer
<a href="http://go.to/nano-editor"
>http://go.to/nano-editor</a> or (currently)
<a href="http://faculty.plattsburgh.edu/astyanax/nano/"
>http://faculty.plattsburgh.edu/astyanax/nano/</a>
Nano editor HomePage (run by Chris Allegretta)
<a href="http://faculty.plattsburgh.edu/astyanax/nano/dist/"
>http://faculty.plattsburgh.edu/astyanax/nano/dist/</a>
Nano editor distribution location (only HTTP - no FTP or FTP mirrors yet)
<a href="http://faculty.plattsburgh.edu/astyanax/nano/dist/RPMS/"
>http://faculty.plattsburgh.edu/astyanax/nano/dist/RPMS/</a>
Nano editor RPMs
<a href="http://www.math.fu-berlin.de/~guckes/pico/"
>http://www.math.fu-berlin.de/~guckes/pico/</a>
Pico editor page (run by Sven Guckes)
Sven Guckes guckes-nano@math.fu-berlin.de
Author of this article and evangelist for text based programs
such as elm, irc, lynx, mutt, nn, screen, slrn, vim, zsh.
Email since 1989, Usenet since 1992. Webmaster of slrn.org, vim.org.
<a href="http://www.math.fu-berlin.de/~guckes/"
>http://www.math.fu-berlin.de/~guckes/</a>
</PRE>
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2000, Sven Guckes<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Linux Site O' The Month: Unix Guru Universe</font></H1>
<H4>By <a href="mailto:slambo@linuxstart.com">Sean Lamb</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<H2>What's This?</H2>
<P> This article is the the current installment in an ongoing series of site
reviews for the Linux community. Each month, I will highlight a Linux-related
site and tell you all about it. The intent of these articles is to let you
know about sites that you might not have been to before, but they will all have
to do with some aspect of Linux. Now, on with the story...
<H2>Unix Guru Universe - "The Official Home Page for Unix System Administrators"</H2>
<h3><a href="http://www.ugu.com/">http://www.ugu.com</a></h3>
<P> I can hear you yelling now - "Hey waittaminnitt! This is <i>Linux</i> Gazette,
not <i>UN*X</i> Gazette!" Just hold your horses, and listen for a moment. Linux
was originally written as a UNIX clone, right? All right, that may be an
oversimplification, but the ls command will work the same in UNIX
as in AIX or *BSD or Linux, right? Well, let's take a look at what we can find.
<P> Unix Guru Universe (UGU) is a clearing house of information for a great majority of
UNIX-like operating systems in use today. This includes Solaris, HP-UX, OpenBSD and,
of course, our beloved Linux. If we follow the link from the UGU home page to the
list of 80 UNIX flavors (yes, there really are that many), then the link to Linux, we
are provided with a wealth of information about configuring, adminning and just using
Linux.
<P> Included in the Linux Articles section are the Network Administrator's Guide, the
Firewall and Proxy Server HOWTO and the Linux DNS Howto. The Linux-specific section of
UGU also has a list of useful FTP and User Group sites as well as links to many of the larger
distributions (not just Redhat, Caldera and SuSE, but others too like Walnut Creek and
Yggdrasil). There is also a Linux-specific web bulletin board under the Newsgroup link.
<P> However, don't forsake the rest of UGU just to get to the Linux-specific information.
If we look under the Beginners & Users Start Here link, we find helpful general information
including a brief history of UNIX, an Introduction To The UNIX Operating System, Commonly
Used Commands, and UNIX Commands For DOS Users.
<P> Even with these beginner documents, UGU is aimed at the sysadmin who is looking for a
handy reference on a wide variety of UNIX platforms. UGU's about page says it best:
<blockquote>
... UGU was developed for the System Administrators who don't have time to surf/cruise/browse
the internet looking across the world for the information they seek. It was developed so an
Admin could go in find what they are looking for quickly and easily and get out. The page is
for ALL Admins beginners to guru's alike to share.
</blockquote>
<P> On the Internet of today, it's hard to find sites that have more and better content than
flash. UGU faces up to this challenge excellently; this site, aside from the home page, is
almost entirely graphics free. This means, of course, that the site is exceedingly fast
loading on even the pokiest of today's dial up connections (it's even tolerable at 2400 baud).
UGU also avoids the use of tables and doesn't use frames so you can browse the site using almost
any browser currently available.
<P> Regular readers of this column will know that I like search engines. For a newbie to any
site, it is much easier to get a feel for what's available by letting the search engine
highlight the content that the user is looking for. UGU's search engine is under the Find It
Fast, Find It Now link on the home page and the Search link at the bottom of each content page.
UGU's search provided quick and relevant results to my searches, returning information on the
UGU site as well as links to software developers' sites for further information.
<P> So, once you get your box up and running and you need information on how to admin it
efficiently and securely, check out the information at UGU.
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2000, Sean Lamb<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Large Objects and Perl DBI</font></H1>
<H4>By <a href="mailto:zing@tcu-inc.com">Mark Nielsen</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
If this document changes, it will be available here:
<a href="http://genericbooks.com/Literature/Articles/2">
http://genericbooks.com/Literature/Articles/2
</a>.
<h2>Index:</h2>
<ol>
<li><a href="#Resources"> Resources</a>
<li><a href="#Intro"> Introduction</a>
<li><a href="#DBI"> Using Perl DBI</a>
<li><a href="#Large"> Using Large Objects and Perl</a>
<li><a href="#Web">Using the database server with a webserver.</a>
<li><a href="#Comments"> Comments</a>
</ol>
<hr> <a name="Resources"></a> <h2>Resources</h2>
I assume that you have DBI and DBD::Pg installed with Perl.
<ol>
<li> man DBI
<li> man DBD::Pg
<li> <a href="ftp://ftp.perl.com/CPAN/modules/by-category/07_Database_Interfaces/">
ftp://ftp.perl.com/CPAN/modules/by-category/07_Database_Interfaces/
</a>
<li> <a href="http://www.postgresql.org/cgi/htsearch?config=pgsql-questions&restrict=&exclude=&method=and&format=builtin-long&sort=score&words=large+object+dbi"> A search for "large" and "dbi"</a> on one of the postgresql
newsgroups.
<li> <a href="http://www.postgresql.org/doxlist.html"> http://www.postgresql.org/doxlist.html</a> -- A chapter on Large Objects in the Programmer's
Guide for PostgreSQL.
<li> <a href="http://www.postgresql.org/docs/programmer/largeobjects3386.htm"> Two examples using psql</a> which explain how to use large objects.
</ol>
<hr> <a name="Intro"></a> <h2>Introduction</h2>
I work at ZING Is Not GNU. We sell and distribute free books or literature.
Well, besides selling books inexpensively, we also want people to download
the books. This creates a problem when you need to take megabytes of data
and put them into a database. I have programmed putting large amounts
of data into databases before, but only 100k or less of data per transaction.
This was the first time I needed to put really large files into a database.
My biggest problem was the fact it really isn't
documented well when you use Perl. Also, I never needed to use
Large Objects with PostgreSQL before. I have used other database servers
for Large Objects, but not PostgreSQL.
<p>
What are Large Objects? Large Objects are "things" (text or binary data) which
cannot fit into a normal field in a table. For example, a 100 megabyte file
cannot really fit into a field in a table.
<p>
What were the technologies I was using? RedHat Linux, postgresql-6.5.3,
Perl 5 (with DBI, DBD::Pg, and Pg), and apache_1.3.9.
<p>
In general, how do you use Large Objects in PostgreSQL? You can save
large objects like "files" where the database server will let you input
a file and it will give you a number in return, and when you want to
retrieve the data, you use the number to export your data to a temporary
file on your hard drive. It is kind of weird. In order to extract a Large
Object, it sort of takes two steps. First, you copy the data to a file
on your computer, and then you can read it. The problem is, from my
point of view, is that data normally is read once. Here, it is read twice,
to make the file, and then to read the file. There isn't any way around this
(as far I as know), but I am just new to Large Objects in PostgreSQL (I have
used them in other database servers before though), so perhaps there
are better ways.
<hr> <a name="DBI"></a> <h2>Using Perl DBI</h2>
<a href="http://www.perl.com">
PERL</a> is a programming language used by many web and database professionals.
It took a couple of years, but now people are finally recognizing that
free and open software, like
<a href="http://www.perl.com">PERL</a>,
<a href="http://www.php.net">PHP</a>, and
<a href="http://www.python.org">Python</a>
can be used for commercial companies
as an alternative to bloated, inefficient, and unstable commercial
programming languages (which most of the time you don't have source code
for, and hence, you can never be sure what you are using truly does
everything it claims to do -- there is one company I am
talking about in particular). Being a contractor, I have noticed an
explosion of Perl jobs (it pleases me greatly to see the rise of ethically
clean software), and hence, I am sure this will be useful to other contractors
out there who would prefer to use PostgreSQL over other alternatives.
Perl DBI is a generic database interface for all database
servers or files. In order to connect to a specific database, you also
need a Perl DBD driver. For example, to connect to PostgreSQL, I use Perl
DBI and Perl DBD:Pg. Here is a brief example of how I print out
the first and last names from a PostgreSQL database using the table
"people".
<pre>
#!/usr/bin/perl
use DBI;
use vars qw($dbh);
### zing is the database I am connecting to.
$dbh ||= DBI-&gt;connect("dbi:Pg:dbname=zing");
my $Command = "select first_name,last_name from people
sort by last_name,first_name";
my $sth = $dbh-&gt;prepare($Command);
my $Result = $sth-&gt;execute;
while (my @row_ary = $sth-&gt;fetchrow_array)
{print "&lt;br&gt; $row_ary[0] $row_ary[1]\n";}
</pre>
The problem with PERL DBI is that the Large Object interface isn't
fined tuned yet, and you have to use the specific DBD driver for each
type of database. The problem with DBD::Pg is that Large Objects is
not well documented, and it took me a long time looking through
newsgroups to find the answer I was looking for. Eventually, I also
did manage to find
<a href="http://www.postgresql.org/docs/programmer/largeobjects3386.htm">
this note on Large Objects</a>.
<hr> <a name="Large"></a> <h2>Using Large Objects and Perl</h2>
ONE WARNING: The reason why temporary files are actually a good thing is
for the following reason, for big files, if you suck the data all into
memory at once, Perl running under Apache using mod_perl will use up
a lot of system memory and it won't give it back (even though Perl will
reuse the memory itself). Imagine if you have 10 people downloading
10 megabyte files and your Perl script loads the files into memory
before it prints them (instead of just printing them line-by-line). Apache
will use 100 megabytes of system memory (actually Perl will) and it won't
give it back. This can be bad. In other Database servers using Large Objects,
I could load the data directly into memory. I would not want to do that
with really large files anyways. Read this
<a href="http://perl.apache.org/guide/performance.html">
performance guide</a> for more info.
<p>
Okay, how do we import and export large object from PostgreSQL?
This following example comes straight from the
<a href="http://www.postgresql.org/docs/programmer/largeobjects3386.htm">this
PostgreSQL documentation</a>. This example uses the program psql.
<pre>
CREATE TABLE image (
name text,
raster oid
);
INSERT INTO image (name, raster)
VALUES ('beautiful image', lo_import('/etc/motd'));
SELECT lo_export(image.raster, "/tmp/motd") from image
WHERE name = 'beautiful image';
</pre>
<p> Now, we need to convert this into perl. Here is a perl script which
would do the exact same thing.
<pre>
#!/usr/bin/perl
use vars qw($dbh);
$dbh ||= DBI-&gt;connect("dbi:Pg:dbname=zing");
my $Command = "INSERT INTO image (name, raster)
VALUES ('beautiful image', lo_import('/etc/motd'));";
my $sth = $dbh-&gt;prepare($Command);
$sth-&gt;execute();
$Command = "SELECT lo_export(image.raster, '/tmp/motd') from image
WHERE name = 'beautiful image'";
$sth = $dbh-&gt;prepare($Command);
$sth-&gt;execute();
</pre>
<p>
Those two examples do the following. The first command loads the file
"/etc/motd" into a table. The second command takes the data in the table
and exports it to a file called "/tmp/motd". If you want to get the "oid"
of data in the table and export it to a file, you could also do this.
<pre>
## This command will return a numeric "oid" number
$Command = "SELECT raster from image WHERE name = 'beautiful image'";
$sth = $dbh-&gt;prepare($Command);
$sth-&gt;execute();
my @row_ary = $sth-&gt;fetchrow_array;
my $Oid = $row_ary[0];
## This command will export the data with the "oid" to a file
$Command = "SELECT lo_export($Oid, '/tmp/motd') from image";
$sth = $dbh-&gt;prepare($Command);
$sth-&gt;execute();
</pre>
<p>
For live examples, ZING at
<a href="http://www.genericbooks.com">www.genericboosk.com</a>
has all of its Perl Scripts available for public viewing. Look for
scripts that view documents that are extracted from the database.
ZING now has setup scripts to let people upload and download documents,
so we should have real live examples floating around on the website.
<hr> <a name="Web"></a> <h2>Using the database server with a webserver.</h2>
Okay, what problems can you encounter when you use a webserver to
input/output the data from a database server? Well, the biggest problem
I saw, was that if the database server and the webserver run under two
different accounts (like "www" and "pgsql"), the webserver and database
server may have problem reading the others temporary files.
Here is a list of problems
and their solutions.
<ol>
<li> The webserver cannot upload the file to PostgreSQL because it doesn't
have super user privileges to use lo_import and lo_export. Well, give the
webserver its own database server (same account), give the webserver
super user status with the database server, or look into client-side
commands that I never had a chance to look at yet, concerning lo_import
and lo_export.
<li> The webserver cannot delete the exported files once the database
server has exported them and the webserver doesn't need them anymore.
Make the webserver and database server run under the same account,
setup a "group" where the webserver can delete the database server
files, or setup a cron job to delete the files every once in a while and
save the files by the pid of the webserver so that they will tend
to get overwritten by new processes later. ZING just saves files by their pid
number so that the next time a document is pulled, it will overwrite the
previous one (which isn't needed anymore).
</ol>
<p> At ZING, we export the files by the pid number of the child process
of the webserver. When the webserver needs to export another document,
it hands the process to one of its children, and if the child already
has exported a document before, it will just overwrite the previous one
which makes it so we don't end up with tons of exported undeleted files.
Then, once an hour, we go through and delete any files older than 15 minutes.
It is not as elegant as I would like, but it works fine.
<p>
In general, it is a bad idea to let your webserver have super user
status or to have the webserver and database server run under the same
username. For security, you don't want your webserver having the power
to blow away the database server. Oh well.
<hr> <a name="Comments"></a> <h2>Comments</h2>
I really don't like the way Large Objects are handled in PostgreSQL, or
any other database server I have used. There should be a way to treat
importing and exporting data from a database server as STDIN or STDOUT
where you can just grab the stuff line by line and not the whole darn
thing at once. I don't like the fact that we have to use intermediate files
to get to the data. It would be nice if we could choose to directly dump data
directly into memory or use temporary files if the data is too big to hold
in memory. CHOICE is the key word here.
What does this mean? Since PostgreSQL is the best
free and open database server out there, help the guys out by
<a href="http://www.postgresql.org/devel-contrib.html">
becoming a developer for PostgreSQL!</a> Perhaps there is a way to directly
dump Large Objects into memory using PostgreSQL, and if there is, write
a follow-up to this article and prove me wrong! Actually, being able to
get Large Objects one line at a time would really be cool.
<p>
Anyways, I will try to find better solutions, so
<a href="mailto:zing@tcu-inc.com">let me know</a> if you hear
of any!
<p>
Large Objects have always been a pain for me. I have always wanted to
use Large Objects in PostgreSQL. Now that I had a reason, I finally
did it. Hopefully it will save other people headaches. If it saved you
from headaches, donate time or money to
<a href="http://www.genericbooks.com">ZING</a>, or do something charitable
for some other cause! If we all do a little, it makes a big impact.
<p>
My next goal is to do handle Large Objects in PostgreSQL using the
programming languages PHP and Python. After that, I want to see if there
is a way to use Large Objects without being a super user.
After that, I want to compare this
to MySQL. For licensing reasons and since PostgreSQL has always been
100% free and open, I prefer PostgreSQL over MySQL. However I want to
compare and contrast them to help make PostgreSQL better. Recently, MySQL
has relaxed its license, but I am going to stick with PostgreSQL since
they have always had the best license.
<hr>
<a href="http://www.tcu-inc.com/mark">Mark Nielsen</a> works for
<a href="http://www.tcu-inc.com">The Computer Underground</a> as a
receptionist and as a
book binder at <a href="http://www.genericbooks.com">
ZING</a>.
In his spare time, he does volunteer stuff, like writing
these documents for The Linux Gazette (and other magazines).
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2000, Mark Nielsen<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Creating Installation CDs from various Linux Distributions</font></H1>
<H4>By <a href="mailto:mark@tcu-inc.com">Mark Nielsen</A> and <a href="mailto:kris@tcu-inc.com">Krassimir Petrov</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
If this document changes, it will be available here:
<a href="http://www.tcu-inc.com/mark/articles/cdburn.html">
http://www.tcu-inc.com/mark/articles/cdburn.html</a>
<h3> Index </h3>
<ol>
<li><a href="#Ref"> References</a>
<li><a href="#Intro"> Introduction to CD-ROM burning</a>
<li><a href="#ide"> Installing an IDE CD-ROM writer</a>
<li><a href="#programs"> Cdrecord and Xcdroast</a>
<li><a href="#download"> Download your favorite distributions.</a>
<li><a href="#write"> Write the CD-ROM</a>
<li><a href="#conclusions"> Conclusions and future articles</a>
</ol>
<hr>
<a name="Ref"></a>
<h1>References</h1>
<ol>
<li> <a href="http://www.guug.de/~winni/linux/cdr/html/">
CD-Writing HOWTO</a> by Winfried Tr<54>mper
<li> <a href="http://www.linuxdoc.org/HOWTO/mini/LILO.html">Lilo mini-Howto</a>
<li><a href="http://www.fh-muenchen.de/rz/xcdroast"> Xcdroast</a>
</ol>
<hr>
<a name="Intro"></a>
<h1>Introduction to CD-ROM burning</H1>
The purpose of this article is to explain how to create an installation CD-ROM from one of the Linux distributions. We will limit ourselves to IDE CD-ROM writers, any ftp program, the program cdrecord, and the pre-made ISO images from various Linux distributions. We will also be touching the /etc/lilo.conf file.
<p>
This document may be modified and distributed with or without the permission of its authors. The authors disclaim any warranties with regard to this document: use it at your own risk.
<hr>
<a name="ide"></a>
<h1>Installing an IDE CD-ROM writer</H1>
Using SCSI CD-ROM writers is usually easy, but most people have IDE CD-ROM writers and it is what we are using. Thus, we will talk only about IDE CD-ROM writers.
<p>
First, there are two types of CD-ROM writers, CD-ROM recorders and CD-ROM re-writers. Either will work fine. CD-ROM recorders only write once to the cheap ($2 or cheaper) write-once CD-ROMs. The CD-ROM re-writers can also delete and re-write the more expensive rewriting CD-ROMs. CD-ROM rewriters also can behave as CD-ROM recorders.
<p>
Second, in order to use an IDE CD-ROM writer, you must fool the computer into believeing that it is a SCSI CD-ROM writer. You do this by attaching a Linux kernel module called "ide-scsi" to your IDE CD-ROM wrtier and then by loading the ide-scsi module. There are two ways of attaching the ide-scsi module, by the lilo prompt or inside the /etc/lilo.conf file. We will assume your CD-ROM writer is at /dev/hdd. Here is a list that explains what /dev/hdd is.
<ol>
<li> If your CD-ROM writer is the master drive on the primary controller, it uses /dev/hda.
<li> If your CD-ROM writer is the slave drive on the primary controller, it uses /dev/hdb.
<li> If your CD-ROM writer is the master drive on the secondary controller, it uses /dev/hdc.
<li> If your CD-ROM writer is the slave drive on the secondary controller, it uses /dev/hdd.
</ol>
Now here are the two ways of attaching the ide-scsi module to your CD-ROM writer.
<ol>
<li> At the lilo prompt when your Linux boots up, hit the tab key. This will give you a list of kernels you can use. For example, we will use the word "linux" to represent a kernel on our system. If your kernel is called "linux" also, then type in
<br> linux hdd=ide-scsi
<br> and the CD-ROM writer located at /dev/hdd will become a scsi CD-ROM writer
located at /dev/scd0.
<li> If you want to use lilo to configure your CD-ROM writer, you need to put the following line in /etc/lilo.conf file:
<br> append="hdd=ide-scsi"
<br> and a sample file is here
<pre>
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.2.5-15
label=linux
root=/dev/hda1
initrd=/boot/initrd-2.2.5-15.img
append="hdd=ide-scsi"
read-only
</pre>
and then after you are done editing this file, type the command "lilo" to install lilo. Then reboot.
</ol>
<p>
In order to load the ide-scsi module, type "insmod ide-scsi" at the prompt.
You can also put this command at the bottom of /etc/rc.d/rc.local (for RedHat people)
to have it load at boot time.
<p>
Remember! After you can properly configured the IDE CD-ROM writer, your CD-ROM writer will be located at "/dev/scd0". If you want to keep it this way, do this:
<pre>
rm -f /dev/CD-ROM
ln -s /dev/scd0 /dev/CD-ROM
</pre>
Certain programs expect your CD-ROM to be at /dev/CD-ROM, and thus, this links (or creates an alias) your CD-ROM to /dev/CD-ROM.
</p>
<hr>
<a name="programs"></a>
<h1>Cdrecord and Xcdroast</h1>
There are two programs to make CD-ROMs in Linux. The first is cdrecord and the second is a GUI program called Xcdroast. We will limit ourselves to the program cdrecord. However, here is a link for <a href="http://www.fh-muenchen.de/rz/xcdroast"> Xcdroast</a> if you want further information. One note about Xcdroast, you will need a spare primary partition (about 1 gig) to normally use Xcdroast.
<p>
After you have attached your CD-ROM writer to the ide-scsi module and you have loaded the ide-scsi module, you want to see if your CD-ROM writer is recognized by cdrecord.
The command cdrecord has a special option that will attempt to recognize your device. To recognize the device, the format of the command is: # cdrecord -scanbus.
<p>
If you have not installed the IDE CD-ROM writer properly, you will probably get this response:
<pre>
# cdrecord -scanbus
cdrecord: No such file or directory. Cannot open SCSI driver.
</pre>
If you properly installed your IDE CD-ROM writer, issuing the command "cdrecord -scanbus" should produce something like this:
<pre>
# cdrecord -scanbus
Using libscg version 'schily-0.1'
scsibus0:
0,0,0 0) 'ATAPI " 'CD-R/RW CRW6206A' '1.2A' Removable CD-ROM
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
.............
0,7,0 7) *
</pre>
This basically means that the system recognized the Acer 6206A CD-RW as a SCSI device and is ready to record. There is something important to notice here: the triplet <0,0,0> which identifies the CD-R device. This triplet will be necessary for the proper use of cdrecord.
<hr>
<a name="download"></a>
<h1>Download your favorite Linux distribution</H1>
At this step, we download a distribution. In order to write a CD, we need a CD-image, better known as an ISO-image. Getting a distribution's ISO-image is fairly easy if you have used Netscape or any ftp program.
<p>
The easiest way to search around for distributions is by browsing the Internet. You can use for that Netscape. You can go to a Linux metasite containing most of the distributions or you can go to the website of a specific distribution and download it either from there or from one of their mirrors. In our case, we went to Redhat's website but we preferred to download from one of the mirrors since they may be not as overloaded as Redhat's website. Our choice was
<a href="ftp://sunsite.utk.edu/">ftp://sunsite.utk.edu</a> and here is the
<a href="ftp://sunsite.utk.edu/pub/linux/redhat/redhat/redhat-6.1/iso/6.1-i386.iso">image for RedHat 6.1</a> on an Intel platform.
One note, for you Linux users, if you use Netscape to download an ISO image from an ftp site, press the "shift" key while you are pressing on the link for the ISO image, otherwise it will print the ISO image inside your browser and you will just see garbage.
<p>
If you want to use another program besides Netscape to download files from an ftp site, use "ncftp" or "gftp". Remember, if your ftp program doesn't automatically detect binary or ascii mode, tell it to choose "binary" mode. Typing in "bin" at the prompt of your ftp program usually takes care of this.
<p>
Here is a small list of ISO images. We didn't test the suse, caldera, or
Slackware images. We are not sure if the Slackware images are the latest
versions.
<ol>
<li><a href="ftp://sunsite.utk.edu/pub/linux/redhat/redhat/redhat-6.1/iso/6.1-i386.iso">
ftp://sunsite.utk.edu/pub/linux/redhat/redhat/redhat-6.1/iso/6.1-i386.iso</a>
<li> <a href="ftp://sunsite.utk.edu/pub/linux/Mandrake/iso/mandrake70.iso">
ftp://sunsite.utk.edu/pub/linux/Mandrake/iso/mandrake70.iso</a>
<li> <a href="ftp://ftp.suse.com/pub/suse/i386/evaluation-6.3.iso">
ftp://ftp.suse.com/pub/suse/i386/evaluation-6.3.iso</a>
<li> <a href="ftp://ftp.caldera.com/pub/openlinux/2.3/iso-images/">
ftp://ftp.caldera.com/pub/openlinux/2.3/iso-images/</a>
<li> <a href="ftp://ftp.CD-ROM.com/pub/linux/slackware/iso/">
ftp://ftp.CD-ROM.com/pub/linux/slackware/iso/</a>
</ol>
<p>
We like
ftp://sunsite.utk.edu/pub/linux/redhat/redhat/redhat-6.1/iso
because downloads are sometimes very fast. At 7am ET, we can achieve on average 380 KB/sec, which means that the download of almost 650 MB can be done in about 1/2 hour. We like it also for another reason: once you get into pub/Linux directory, you will notice there other Linux distributions: Mandarke and Debian.
<p>
We downloaded the file 6.1-i386.iso in the folder /tmp
<p>
Now, that we have the CD-R setup and the file downloaded, we can proceed with writing the CD.
<p>
<hr>
<a name="write"></a>
<h1>Write the CD-ROM</h1>
You can use Xcdroast to install the image, but we will use cdrecord for this example.
<p>
We put a blank CD-ROM writer in the CD-ROM writer drive, navigated with cd to /tmp directory, and issued the cdrecord command:
<pre>
cd /tmp
cdrecord -v speed=2 dev=0,0,0 6.1-i386.iso
</pre>
We now explain what the command means. First, cdrecord is the command itself. Second, -v is the option for verbose operation: this means that we will receive message from the kernel as the command executes. Third, speed=2 indicates the speed with which the recorder writes. Naturally, you should not use a speed higher than that of your own recorder. Our Acer has speed rating of 2x2x6 which means that our maximum write speed is 2. Fourth, you must designate in the command explicitly the CD-R device. We used dev=0,0,0. This is the "triplet" that we wrote about earlier. You use the output from your "cdrecord -scanbus" command to get this information. Finally, 6.1-i386.iso is the ISO image file that is to be written on the CD.
<hr>
<a name="conclusions"></a>
<h1>Conclusions and future articles</h1>
One note, professionals tend to use SCSI CD-ROM writers. SCSI systems are much better than standard IDE systems.
<p>
In order to use some advanced CD-ROM writing capabilities, like re-writing and multi-session writing, you will need to use cdrecord and NOT Xcdroast (unless Xcdroast has changed in the meantime).
<p>
This article was really just a simple article to pave the way for the next
few articles we are going to do.
For our future articles, we will talk about how to make a bootable CD-ROM (instead of booting off of the hard drive or floppy drive), how to make a live filesystem on a bootable CD-ROM (some Linux distributions have examples), and how to make diskless Linux workstations.
<hr>
<a href="mailto:kris@tcu-inc.com"> Dr. Krassimir Petrov</a> recently graduated from OSU.
<a href="mailto:mark@tcu-inc.com">Mark Nielsen</a> works for
<a href="http://www.tcu-inc.com">The Computer Underground</a> as a clerk and as a book binder at
<a href="http://www.genericbooks.com">ZING</a>.
In his spare time, he does volunteer stuff,
like writing articles for The Linux Gazette and developing ZING's website.
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2000, Mark Nielsen and Krassimir Petrov<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Sharing Your Home</font></H1>
<H4>By <a href="mailto:jpollman@bigfoot.com">JC Pollman</A> and
<A HREF="mailto:bill.mote@bigfoot.com">Bill Mote</A></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<p>You move from computer to computer and from OS to OS but you need to
always be in your home directory. This article will show you how - in both
Linux and Microsoft Windows.
<br>&nbsp;
<p><b>Disclaimer: </b>This article provides information we have gleamed
from reading the books, the HOWTOs, man pages, usenet news groups, and
countless hours banging on the keyboard. It is not meant to be an all inclusive
exhaustive study on the topic, but rather, a stepping stone from the novice
to the intermediate user.&nbsp; All the examples are taken directly from
our home networks so we know they work.
<p><b>How to use this guide:</b>
<ul>
<li>
Words encapsulated by square brackets like [Enter] indicate the depression
of a key on the keyboard or a mouse button [Mouse1]</li>
<li>
Words encapsulated by squiggly brackets like {your name here} indicate
data that will/should be substituted with "real" data</li>
<br>Text depicted in italics are commands you, the user, should type at
a prompt</ul>
<b>Prerequisites:</b> In order to have your home directory wherever you
go, you have to have it on your server, so make certain you have an account
on your server. You will also need the samba, nfs client, and nfs server
installed.
<p><b>Protocols:</b> We have seen the question: how do I share a linux
drive to window so many times in the newsgroups that it should never have
to be asked again. But it still continues to be asked. Windows use the
smb protocol to share drives - not tcp/ip. So to share a linux resource
you have to run the smb protocol on linux. Samba is the program that does
this. Linux, on the other hand, uses the tcpip protocol, and the nfs program
is used to share the resources. The protocols are completely different,
but they can be run at the same time and share the same resources. There
is a serious problem with locking the files if both protocols are sharing
the same resource at the same time, but for home use this really should
not be a problem. Security is also a concern and we would strongly recommend
that your "/home server" be behind a firewall and tcp wrappers be running.
<p><a href="misc/pollman/samba.html">Sharing home to a windows box</a>
<p><a href="misc/pollman/nfs.html">Sharing home to another linux box</a>
<p><a href="misc/pollman/final-thoughts.html">Some final thoughts</a>
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2000, JC Pollman and Bill Mote<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Source file management in a complex networked environment</font></H1>
<H4>By <a href="mailto:jrogers@visnetinc.com?subject=Re:cvs-ssh">James M. Rogers</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
When you have more than one person working on a project you need to
make sure that they don't overwrite each others changes.&nbsp; When you
only have a few directories then <A href="http://www.gnu.org/order/ftp.html">Revision Control System (RCS)</a> is
fine.&nbsp; But when you have dozens of projects with ten programmers and
your development environment is spread over several boxes, you have a project
management nightmare that RCS is just not up to handling.
<p>What you need is <A href="http://www.gnu.org/order/ftp.html">Concurent Version System (CVS)</A>. CVS is great
because it is network aware, works with entire directory trees and allows
multiple people to work on the same file at the same time without loosing
anyones changes.&nbsp; CVS is already installed in Redhat 6.0+.
<p>As great as CVS is it still allows your source code to go across the
internet without encrypting it.&nbsp; This month I am going to talk about
setting up a secure networked repository using Secure Shell (ssh).&nbsp;
Next month I will show you how to import your current projects into the
repository, how to check your code out, update files and check your code
back into the repository.
<br>&nbsp;
<ol>
<li>
Setup ssh on all of your boxes.&nbsp; This program is available <a href="ftp://sunsite.unc.edu/pub/packages/security/ssh/">here</a>. The company that makes ssh can be found <a href="http://ssh.com">here</a>.
</li>
<li>
Setup sshd to run on the machine that will host the repository.</li>
<li>
Create a new user account for each group of programmers on the machine
that is hosting the repository account.&nbsp; For this example create a
new user called repository.</li>
<li>
Create a .ssh directory on everyone ones accounts, including the new repository
accounts.</li>
<li>
Run 'chmod 700 .ssh' as the owner of the home directory on everyones account,
including the repository accounts.</li>
<li>
Have everyone create a public and private key using ssh-keygen.</li>
<li>
Collect everyones ~/.ssh/identity.pub files and place these into the ~/.ssh/authorized_keys
in the repository account if they are allowed to work on that project.</li>
<li>
Run 'chmod 700 ~/.ssh/authorized_keys' as the repository account.</li>
<li>
Test to make sure that people can use 'ssh repository@repository_host'&nbsp;
where repository is the name of the group directory and repository host
is the name of the host that has the repository.</li>
<li>
Create a directory called ~/cvsroot in the repository home directory.</li>
<li>
Setup the followint two environmental variables in whatever shell script
rc file you need to.&nbsp; For me it was my ~/.bashrc file:</li>
<p><br>export CVS_RSH=ssh
<br>export CVSROOT=repository@repository_home:/home/repository/cvsroot
<br>&nbsp;
<li>
Login to another window to ensure that you still can login and that these
environmental variables got set correctly.</li>
<li>
Do a 'cvs init' command as any user authorized to use this repository and
you should get no error messages.</li>
<li>
If you get any error messages, start over from scratch and repeat directions
until you get it works.</li>
<li>
If you have any questions please contact me.</li>
<li>
Take this oportunity to play with both SSH and CVS.&nbsp; Read the documentation,
see if you can think up of new ways of using them.&nbsp; If anyone has
another way of setting up cvs repositories, please share with us!&nbsp;
I am especially interested in finding out how to setup a public cvs repository
like I see on the internet all the time.</li>
</ol>
And if anyone was paying attention, this is also how you can setup all of your own accounts so that you only have to log on once to a secure machine and then connect to anyother machine without logging in again. I will discuss how to set that up in my next article in this series.
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2000, James M. Rogers<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Developing Web Applications - Part III</font></H1>
<H4>By <a href="mailto:afsilva@liberty.edu">Anderson Silva</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<br> At this time, I will close the <b>Developing Web
Applications</b> series with a very helpful example that if you understand
it, you will be able to apply the same type of application to several other
types of online applications. I am talking about <b>creating your own online
bookmark</b>. Once you understand this example, you will be able to do
basic <b>mySQL</b> operations with php3.
<p> But before I get to the php3 code for the bookmark application,
you will need to create a mysql table to store your bookmarks.
There are several ways to administrate mySQL databases:
<ul>
<li>
Command Line: You can create all your tables, insert data, and query them
out from the mysql client. To do this, I would suggest you read the mySQL
Language reference at <a href=http://www.mysql.com>http://www.mysql.com</a></li>
<li>
GUI Based: You can download several different types of graphical interface
to administrator a mysql database. For example: xmysql and kmysql. To download
this tools, I would suggest: <a href=http://www.tuxfinder.com>http://www.tuxfinder.com</a></li>
<li>
Online Interface: This is definitely my favorite option. There is a very
nice tool called&nbsp; phpMyAdmin, which allows you to administrate one
or more mySQL database remotely through your browser. Here is the URL:
<a href=http://www.phpwizard.net/phpMyAdmin>http://www.phpwizard.net/phpMyAdmin</a></li>
</ul>
Choose whatever fits you better. For this small project,
I will give you the configuration that fits the needs for this application.
<p>&nbsp;&nbsp;&nbsp; Database Host: <b>myserver</b>
<br>&nbsp;&nbsp;&nbsp; Username: <b>myusername</b>
<br><b>&nbsp;&nbsp; </b>Password: <b>mypassword</b>
<br><b>&nbsp;&nbsp; </b>Database Name:&nbsp;<b> mydatabase</b>
<br><b>&nbsp;&nbsp; </b>Table Name: <b>bookmark</b>
<br>&nbsp;&nbsp;&nbsp; Fields in the <b>bookmark</b> table:&nbsp; <b>id,
url, description</b>
<p> All the information above is relevant when
coding the application. <b>Note:</b> The fields are the columns on the
database. The id was defined to allow every entry in your database to be
unique (<b>primary key</b>), it should be defined to be unique, and auto-increment.
<p> Once you have your database defined and working,
you may start coding your application, and here is how it goes:
<br>&nbsp;
<p> The HTML form that will capture the data and send
it in to the database:
[<A HREF="misc/silva/book_form.html.txt">text copy of this listing</A>]
<pre>
&nbsp;&nbsp;&nbsp; &lt;HTML&gt;
&nbsp;&nbsp;&nbsp; &lt;head&gt;
&nbsp;&nbsp;&nbsp; &lt;title&gt;Anderson's bookmark&lt;/title&gt;
&nbsp;&nbsp;&nbsp; &lt;/head&gt;
&nbsp;&nbsp;&nbsp; &lt;body bgcolor=white&gt;
&nbsp;&nbsp;&nbsp; &lt;form ACTION="sendbook.php3" METHOD="Post"&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;center&gt;&lt;p&gt;Enter The Bookmark Title:&lt;/font&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input TYPE="text" SIZE="40" NAME="description"&gt; &lt;/p&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;center&gt;&lt;p&gt;Enter The Bookmark URL:&lt;/font&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input TYPE="text" SIZE="40" NAME="URL"&gt; &lt;/p&gt;&lt;/center&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;input TYPE="Submit" VALUE="Check"&gt;&lt;br&gt;
&nbsp;&nbsp;&nbsp;&nbsp; &lt;/form&gt;
&nbsp;&nbsp;&nbsp; &lt;a href="book.php3"&gt;View Bookmarks&lt;/a&gt;
&nbsp;&nbsp;&nbsp; &lt;/body&gt;
&nbsp;&nbsp;&nbsp; &lt;/html&gt;
</pre>
The above form will have to text fields: one for the
URL, the other for the URL description. The <b>form </b>tag will be responsable
for telling the browser what to do when the <b>Submit</b> button is pressed.
In this case it will call the php3 script <b>sendbook.php3</b>, and send
the data to that script.
<p> The following script is the <b>sendbook.php3</b>.
This script will open a connection to the mySQL database, and send the
data from the HTML form to the database.
[<A HREF="misc/silva/sendbook.php3.txt">text copy</A>]
<pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;?php
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //if any of the two fields is left blank, don't send data, but send an error message.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!($description=="") || !($URL==""))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //connects to database&nbsp; server
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql_connect(myserver, myusername, mypassword);
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //connects to the database
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql_select_db('mydatabase');
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //this is the query command to insert into the bookmark&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // table the values from $description and $URL
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // inside the Columns description and URL
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql_query("insert into bookmark(description, URL) values ('$description', '$URL')");
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //closes connection to database.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql_close();
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //After the data is inserted, the browser will form a web page with&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // the following information.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "Thanks for adding the bookmark&lt;br&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;a href=book.php3&gt;View BookMraks&lt;/a&gt;&lt;br&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;a href=sendbook.html&gt;Add Another One&lt;/a&gt;&lt;br&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "You need to go to the form: &lt;a href=sendbook.html&gt;Sendbook&lt;/a&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?&gt;
</pre>
The third and last script is called <b>book.php3</b>.
This script will query the data entered by sendbook.php3, and display on
the screen all of your bookmarks.
[<A HREF="misc/silva/book.php3.txt">text copy</A>]
<pre>
&nbsp;&nbsp;&nbsp; &lt;?&nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;HTML&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;HEAD&gt;&lt;TITLE&gt;Afsilva's Bookmark&lt;/title&gt;&lt;/head&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;body bgcolor=white&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;IMG SRC=bookmark.jpg&gt;&lt;br&gt;&lt;br&gt;";
</pre>
<pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Connect to DB server
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql_connect(myserver, myusername, mypasword);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Connect to Database
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql_select_db("mydatabase");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Query the database for everything(*) that is on it.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $result = mysql_query("SELECT * FROM bookmark");
</pre>
<pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //mysql_num_rows() returns the number of bookmarks found.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $rows = mysql_num_rows($result);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "Number of bookmarks:";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //outputs the number of records (rows)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo $rows;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;br&gt;&lt;br&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $i=0;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;a href=sendbook.html&gt;Insert More BookMarks&lt;/a&gt;\n&lt;br&gt;&lt;br&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;table border=1&gt;";
</pre>
<pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //This allows you to access the query in a form of an array.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //The array index is the name of the field of the database.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ($row = mysql_fetch_array($result))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;tr&gt;&lt;td&gt;\n";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // The . operator adds string together.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;a href=".$row["URL"]."&gt;".$row["description"]."&lt;/a&gt;\n";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;/td&gt;&lt;/tr&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo"&lt;/table&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql_close();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo"&lt;a href=../index.html target=_top&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "&lt;/HTML&gt;";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?&gt;
</pre>
With these three files you should be able to get your
first bookmark application working, but just don't stop there. Work upon
it, and make your bookmark better, and smarter. From this example, you
should be able to build several other types of online utilities, like:
guestbooks, counters, surveys, etc.
<p> I hope that this article was useful, and taught you
something new. Feel free to email me at: <a href=mailto:afsilva@liberty.edu>afsilva@liberty.edu</a>, and send me your comments
and questions.
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2000, Anderson Silva<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">Artificial Intelligence and Linux (2<SUP>nd</SUP> Edition)</font></H1>
<H4>By <a href="mailto:afsilva@liberty.edu">Anderson Silva</a></H4>
</center>
<BLOCKQUOTE><EM>
[This is a revision of my article that came out in July 1999. The
article had a few errors and was missing its
conclusion. I have fixed these errors in this revision and added a few
references for anyone who is interested in looking deeper into the
field of AI. One thing I would like to stress is that this
article covers only a very minimal area in AI. -AS]
</EM></BLOCKQUOTE>
<P> <HR> <P>
<!-- END header -->
<p>Artificial Intelligence is a very controversial subject, but the way
I will approach it in this article is simple and fast. The way I have been
approaching AI is not through the philosophical or biological aspect, but
just as a computational subject. When humans want to fly, they don't need
to study the birds to learn how to do it, they just get into an airplane.
This is my way of approaching AI. We want to solve puzzles and games through
a computer without really comparing the way a human accomplishes tasks
differently from a computer.
<p>For the first time in the history of my school, there was going to be
offered an Artificial Intelligence (AI) class. I was very excited about
this class because you hear a lot about AI, but you don't really see a
lot of material for it on magazines and online articles.
<p>Probably the greatest example of an AI application is Turing's Test.
The test consists in a person being a room with a computer terminal, and
this person would start to chat with the computer. At the end the person
would have to figure out if he talked to a real person on the other end
of the terminal or with a computer program. And if the user confuses the
person with the computer then we would have reached AI.
<p>At LU we chose Prolog to be the implementation tool for AI. Our labs
at school are Windows NT based and we have only one Linux machine which
is designated to students. But I have been a Linux user for almost 2 years,
and I wanted to implement all my Prolog assignments in Linux.
<p>I did some research on the web and I found a great Prolog compiler for
Linux. Prolog is like Linux in a certain way, there are several flavors
that you can pick from. The one I chose was SWI Prolog
(<A HREF="http://www.hio.hen.nl/faq/SWI-Prolog.html">
www.hio.hen.nl/faq/SWI-Prolog.html</A>).
Prolog is a very flexible language. Unlike other languages like C, C++
or Java, Prolog is based on formal mathematical logic, in this case: Predicate
Calculus. A Prolog program is normally made of facts with a set of rules.
To reach the final solution it has to satisfy this set of rules. Interpreting
these rules allows the computer to deduce the solution by itself. In Prolog
the facts are normally stored in a separate file called the knowledge base,
and rules in another file that is the actual program.
<p>Allow me to show a very basic search algorithm known as the
<a href="gx/silva2/ai_graph.jpg">Depth First Search</a>(click for image).
<p>This program allows you to find a solution path from the START&nbsp;point
to some GOAL. The DFS&nbsp;algorithm is pretty simple so implement, since
it is a
recursive algorithm. What DFS&nbsp;does is go through the child of
each node in a sequential manner, therefore even though it is an easy way
to implement a
search algorithm, it is not time efficient.
<p><b>But why search a graph?</b><b></b>
<p>The nodes of a graph correspond to partial problem solution states and
the arcs correspond to steps in a problem-solving process. The graph also
defines one or more goal conditions, which are solutions to a problem instance.
The process of finding a solution path from the start to a goal is called
State space search (Luger and Stubblefield 1997).
<p>Through a graph you can find the solutions to several problems that
in our minds seems so easy. For example, an entire chess game can be represented
in graphs, mathematical problems, virtually anything that involves decision
making.
<br>
<hr>
<p>The Program below is the representation of the graph above in Prolog.
[<A HREF="misc/silva2/list1.txt">text version</A>]
<p>=========LIST&nbsp;#1=============
<pre>% Name:&nbsp;&nbsp; Anderson Silva
% Date:&nbsp;&nbsp; March 10, 1999
% ================================
% A graph that will be used for a
% Depth First Search Algorithm
% Knowledge Base.
% ================================
% linked/2
% A nodes and its children
linked(a, [b,c,d]).
linked(b, [e,f]).
linked(c, [g,h]).
linked(d, [i,j]).
linked(e, [k,l]).
linked(f, [l,m]).
linked(g, [n]).
linked(h, [o,p]).
linked(i, [p,q]).
linked(j, [r]).
linked(k, [s]).
linked(l, [t]).
linked(m, []).
linked(n, []).
linked(o, []).
linked(p, [u]).
linked(q, []).
linked(r, []).
linked(s, []).
linked(t, []).
linked(u, []).
% arc/2
% A rule that checks to see if
% there is an arc between two given nodes.
arc(X,Y):- linked(X,L), member(Y,L).</pre>
<hr>
<p>The algorthim that searches the graph for a specific goal:
[<A HREF="misc/silva2/list2.txt">text version</A>]
<p>=========#&nbsp;LIST&nbsp;#2=============
<pre>% Name:&nbsp;&nbsp; Anderson Silva
% Date:&nbsp;&nbsp; March 10, 1999
% ================================
% This is the Depth First Algorithm
% implemented in Prolog that will
% use the graph.pl knowledge base
% ================================
% reverse_write/1
% Inverts the order of the stack.
reverse_write([]).
reverse_write([H|T]):-reverse_write(T), write(H), nl.
% solve/2
% Gives the path in the reverse
% order since dfs is implemented as
% a stack
solve(INode, Solution):- consult('graph.pl'),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; query_goal,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dfs([], INode, Solution),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reverse_write(Solution).
% query_goal/0
% Creates the goal to be reached
% during execution
% We start with abolish, so if solve is ran more
% than once, it will make sure it
% forgets the old goals and only look for the
% new on.
query_goal :- abolish(goal(Node)),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write('Goal? [Followed by a period]'),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nl,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(Node),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert(goal(Node)).
% goal/1
% When the program runs for the first time
% query_goal needs to abolish at least one goal
% and that is why goal(standard) is used.
goal(standard).
% dfs/3
% The Actual recursive algorithm for the
% Depth First Search
dfs(Path, Node, [Node|Path]):- goal(Node).
dfs(Path, Node, Sol):- arc(Node, Node1),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \+ member(Node1, Path),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dfs([Node|Path], Node1, Sol).
</pre>
<hr WIDTH="100%">
<p>With this Prolog program, you will be able to run a Graph Search on
your computer. Notice that LIST&nbsp;#1 defines the graph, therefore you
can make changes in LIST&nbsp;#1 and make your own graphs, and see if the
algorithm will find the node you are looking for.
<p>There are several other search algorithms to solve AI&nbsp;problems,
for example:&nbsp;Breadth-First Search, Heuristic Search, Pattern-Directed
Search, and others.
<p>As I&nbsp;said, this is one small topic in AI, that I&nbsp;thought
it would be useful for some of you that would like to learn more about
AI. If you would like some other areas to reasearch, but you do not even
know where to start, here are a few topics:&nbsp;Expert Systems, Robots,
Knowledge Representation, Fuzzy Logic, Natural Language, Automated Reasoning,
and others.
<p>Finally, I&nbsp;would like to leave you with three books that I&nbsp;used
in college about AI.
<OL>
<LI> Artificial Intellegence: Structures and Strategies for Complex
Problem Solving. Luger, George and Stubblefield, Willian.
<LI> Prolog Programming in Depth. Covington, Michael et al.
<LI> Are We Unique?. Trefil, James.
</OL>
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
Copyright &copy; 2000, Anderson Silva<BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
<center><H2>
<A HREF="http://www.linuxgazette.com/">
<IMG SRC="../gx/newlogo.jpg" width=600 height=256 border=0
ALT="Linux Gazette... making Linux just a little more fun!"></a>
</H2>
<H4>Published by <A HREF="http://www.linuxjournal.com/"><I>Linux Journal</I></A></H4>
</center>
<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">Marius Andreiana</H4>
Marius is 19 years old, and a student in the first year at Politehnica
Bucharest, Romania. Besides Linux, he also loves music (from rock to dance),
dancing, having fun, spending time with friends. He is interested also in
science in general (and that quantum spooky connection :) and says, <EM>"I like
cooking (okay, maybe I don't like it a lot, but I have to cook because I live
alone while I'm at studies in Bucharest. Poor me :-) poor neighbours :-)"</EM>
<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">Ray Ferrari</H4>
I am a new linux enthusiast who has been following the trend for over a
year now. I have successfully installed Debian and participate in
helping bring Linux to more people. I have been working with computers
for seven years on my own, learning as much as possible. I currently am
looking for a sales position within the Linux community. Talks are under
way with VALinux; my dream company. I have been a volunteer for both
Debian and LPI.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Sven Guckes</H4>
Sven, born in 1967, lives and studies
mathematics and computer science
in Berlin, Germany,
He supports the development of text based programs which are
freely available (OpenSource), highly customizable,
available on all platforms, and well supported.
He also comments all his setup files with lots of examples
and makes available them available as "webpages".
His favourite programs as of today are:
irc (sirc), lynx+w3m, (elm) mutt, slrn (nn, gnus), (tcsh) zsh.
He is the maintainer of the webpages on
<A HREF="http://slrn.org">slrn.org</A> and <A HREF="http://vim.org">vim.org</A>.
For more info see <A HREF="http://go.to/guckes">http://go.to/guckes</A>
or write to <A HREF="mailto:guckes@go.to">guckes@go.to</A>.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Sean Lamb</H4>
I am a computer science major and LAN Admin at Lakeland College's Madison, WI,
campus as well as a member of the Wisconsin DOT Help Desk and Server Backup
teams. My previous Linux experience was solely with RedHat until installing
Caldera 2.2. I am a member of MadLUG (the Madison Linux User Group, at <A
HREF=http://madlug.jvlnet.com>http://madlug.jvlnet.com</A>) and an active
contributor to the user group's web presence. When I'm not playing with Linux,
I'm building and running my model railroad. I can be reached at <A
HREF=mailto:slambo42@my-dejanews.com> slambo42@my-dejanews.com</A>.
<p>
<h4><img align=bottom alt="" src="../gx/note.gif">Mark Nielsen</h4>
Mark founded The Computer Underground, Inc. in June of 1998. Since then,
he has been working on Linux solutions for his customers ranging from custom
computer hardware sales to programming and networking. Mark specializes in Perl,
SQL, and HTML programming along with Beowulf clusters. Mark believes in the
concept of contributing back to the Linux community which helped to start his
company. Mark and his employees are always looking for exciting projects to do.
<p>
<h4><img align=bottom alt="" src="../gx/note.gif">Krassimir Petrov</h4>
Krassimir has a PhD in Agricultural Economics from Ohio State University. He
also has an MA in Economics and a BA in Business (Finance, Accounting,
Management).
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">JC Pollman and Bill Mote</H4>
JC has been playing with Linux since kernel 1.0.59. He spend way too much
time at the keyboard and even let his day job - the military - interfere once in
a while. His biggest concern about linux is the lack of documentation for the
intermediate user. There is already too much beginner's stuff, and the
professional material is often beyond the new enthusiast.
<P> Bill is the Technical Support Services manager for a multi-billion dollar
publishing company and is responsible for providing 1st and 2nd level
support services to their 500+ road-warrior sales force as well as their
3,500 workstation and laptop users. He was introduced to Linux by a good
friend in 1996 and thought Slackware was the end-all-be-all of the OS world
... until he found Mandrake in early 1999. Since then he's used his
documentation skills to help those new to Linux find their way.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">James Rogers</H4>
James Rogers is a systems programmer specializing in the area of Cloverleaf
HL7 routers. He is also currently working on an open source library of HL7
routines. He hopes to use this library to write an open source HL7
interface engine.
<P>
<H4><IMG ALIGN=BOTTOM ALT="" SRC="../gx/note.gif">Anderson Silva</H4>
<A HREF="http://www.4christ.org/anderson.html">Anderson</A>
is a Senior at Liberty University majoring in Computer Science.
Originally from Brazil, he works at
<A HREF="http://www.whetstonelogic.com">Whetstone Logic, Inc.</A> as an
Online Application Developer.
He is also a member of the Association for Computing Machinery (ACM)
and the <A HREF="http://www.lylug.org/">
Lynchburg Linux User Group</A> in Lynchburg, Virginia.
<!-- END bio -->
<a name="notlinux"></a>
<P> <hr> <P>
<!--====================================================================-->
<center><H3><font color="maroon">Not Linux</font></H3></center>
<P> <HR> <P>
<!--======================================================================-->
<P>
<P> In late January, I went to the 8th International
<A HREF="http://www.python.org">Python</A> conference in
Arlington, VA, and attended the
<A HREF="http://www.zope.org">Zope</A> track. I have been a Python enthusiast
for several years, and have recently gotten excited about Zope, which is a
web application server. I came back with a year's worth of projects in my
head, and zopified my personal sites (<A
HREF="http://mso.oz.net">mso.oz.net</A>) last weekend. Now comes the harder
part: actually writing applications for this platform, especially since parts
of Zope are still in an alpha stage and are changing rapidly.
<P> Eventually, the <EM>Gazette</EM> itself may migrate to a more interactive
environment like Zope. However, because the <EM>Gazette's</EM> unique
distribution network depends on it being implemented in simple HTML which can
be viewed anywhere (including off-line), we will think long and hard before
making any major changes which may limit its accessibility.
<P> The folks who brought you the WTO protests are at it again with a plan to
<STRONG>Shut Down Microsoft</STRONG>. There will be a street theater action
February 7th at 7:15am. (Ugh, so early in the morning.) If you will be in the
Seattle area and want more information on this, contact Direct Action Network
at 206-632-1656 or 206-632-9482. I will try to have a report in next month's
<EM>Gazette</EM> on how it turns out. (Does this remind anybody of the
<A HREF="http://www.svlug.org/events/tea-party-199811.shtml">
Silicon Valley Tea Party</A>, when Linux enthusiasts crashed the
housewarming party for a Microsoft developer support center in Palo Alto, CA,
in 1998? Of course, the upcoming event will not be focused specifically on
Linux.)
<P> Thanks to all our authors, not just the ones above, but also those who wrote
giving us their tips and tricks and making suggestions. Thanks also to our
new mirror sites.
<P>
Have fun!
<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>
<!-- *** BEGIN copyright *** -->
<P> <hr> <P>
<H5 ALIGN=center>
This page written and maintained by the Editor of the <I>Linux Gazette</I>.<BR>
Copyright &copy; 2000, <A HREF="mailto:gazette@ssc.com">gazette@ssc.com</A><BR>
Published in Issue 50 of <i>Linux Gazette</i>, February 2000</H5>
<!-- *** END copyright *** -->
</BODY></HTML>