February 2000, Issue 50       Published by Linux Journal

Front Page  |  Back Issues  |  FAQ  |  Mirrors  |  Search

Visit Our Sponsors:

Linux Journal
Cygnus Solutions

Table of Contents:

Help Dex New cartoon series!

TWDT 1 (gzipped text file)
TWDT 2 (HTML file)
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.
Linux Gazette[tm],
This page maintained by the Editor of Linux Gazette,

Copyright © 1996-2000 Specialized Systems Consultants, Inc.

"Linux Gazette...making Linux just a little more fun!"

 The Mailbag!

Write the Gazette at


Help Wanted -- Article Ideas

Answers to these questions should be sent directly to the e-mail address of the inquirer with or without a copy to Answers that are copied to LG will be printed in the next issue in the Tips column.

Before asking a question, please check the Linux Gazette FAQ to see if it has been answered there.

 Mon Jan 31 13:43:03 PST 2000
From: Linux Gazette Editor <
Subject: Transmeta

[I'd like to see an LG 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 News Bytes section. -Ed.]

 Tue, 18 Jan 2000 09:11:57 -0700 (MST)
From: Neil Zanella <
Subject: Digital Cameras


It would be nice if the next issue of the gazzette had an article on using digital cameras with Linux.

 Fri, 31 Dec 1999 09:23:13 -0500
From: Brian Cox <
Subject: Modems

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.

 Fri, 31 Dec 1999 12:12:09 -0500
From: krishens <
Subject: Users required to enter root-password? Red Hat 6.1

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>Internet>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?

 Sat, 1 Jan 2000 14:11:05 +0800
From: Chang Jiang <
Subject: About Linux-Win98 interconnect

Dear sir:

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.

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".

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.

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?

Here is the smb.conf file.

 Sat, 01 Jan 2000 22:01:45 -0700
From: Richard Flynn <
Subject: Display support

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.

 Sun, 2 Jan 2000 01:52:41 -0800 (PST)
From: Alexandre I.Gorelov, SFU/TRIUMF, tel. (604)-222-1047, ext. 64-89 <
Subject: Pentium-II Xeon and calculation speed

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...

 Sun, 02 Jan 2000 19:16:11 -0500
From: walter muller <
Subject: connecting w98 and linux boxs

I have one monitor and would like to connect my w98 desktop with my linux desktop, what software do you recommend? thank you

 Mon, 03 Jan 2000 06:53:13 -0500
From: Rick Smith <
Subject: Tracing spoofed packets.


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.

 Mon, 03 Jan 2000 12:45:07 PST
From: Ted Wood <
Subject: Norton Ghost/LILO problem

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!

 Mon, 3 Jan 2000 16:23:38 -0500
From: David Morris <
Subject: Anti Virus programs for linux Red Hat 6


Is there a "definative" anti virul program for Linux? Any info appreciated!

 Tue, 04 Jan 2000 15:46:01 +0530
From: Pradish Mathews <
Subject: Bug in Lockpasswd !!!

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.

 Tue, 04 Jan 2000 05:19:29 -0800
From: CvdBelt <
Subject: HelpWanted!

Hi Gazette Readers!

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:

Thank you in advance!

 Tue, 4 Jan 2000 17:57:33 +0330
From: amin Zia <

Dear Sir:

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.

 Wed, 5 Jan 2000 10:30:09 -0300
From: Luis Bogliolo <
Subject: I habe a problem

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.

Happy New Year, Luis A. Bogliolo

 Wed, 05 Jan 2000 09:31:41 -0500
From: rbruce <
Subject: Sound Card Problem

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?


 Wed, 5 Jan 2000 13:04:24 -0700
From: Akins Bobby Civ 28CS/SCBB <
Subject: XTerms

To Whom It May Concern,

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.

Thanks in advance.

 Thu, 06 Jan 2000 00:03:52 -0500
From: Darren Lehman <
Subject: Subject: X won't start

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:

execve failed for /ect/X11/X (errno 2)

and then 6

_X11TransSocketUNIXConnect: Can't Connect: errno = 2


Giving up

and Finally I wonderered if anyone could help a LINUX newbie.

 Thu, 6 Jan 2000 17:26:01 +0800 (HKT)
From: Samuel Lam <
Subject: Linux + Win98 Lan


Linux Redhat 6.1 and config to use Squid on the Lan.A modem PPP dail up to ISP and NOT with fixed IP.

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.

 Thu, 06 Jan 2000 16:43:00 +0100
From: Fisayp <
Subject: Help Wanted On Domain Hosting Config

Please what are the necessary steps to take to host a domain and web site on a Linux system (Redhat)

 Sat, 08 Jan 2000 22:17:46 +0000
From: George Foussias <
Subject: Linux and the MessagePad2000

Hi everyone,

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.


 7 Jan 00 10:29:24 MST
From: Research & Development Gruop x <
Subject: X Windows Configuration Problem

Res. Sir

I regularly visit your site. First of all I must appricate your efforts to assist users to solve their problems. ed.

I have got a project on Red Hat Linux, Oralce 8i and Apache Web Server platform.

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.

My Hardware configuration is

      Card : SiS 620 with 8 MB Shared Memory on board
   Monitor : Samtron 45Bn
   Monitor Synchronisation :
      Horizonal : 30-55 KHz
      Vertical  : 50-120 Hz

As I have to complete the project in given time constraint, i request you to guide me as early as possible.

Waiting for your replay.

 Mon, 10 Jan 2000 12:27:59 -0600
From: Wagner Perlino (EDB) <
Subject: Win95-Linux small network with null modem

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 ?

 Mon, 10 Jan 2000 19:19:30 -0300
From: Carlos Germán Siufi <
Subject: Router problem

I had two networks. One at the main office ( and the other at the branch ( 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).

My problem is:

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?


PD: Sorry my english.

 Tue, 11 Jan 2000 12:32:01 -0300
From: Gabriel Ramiro Ferro <
Subject: Desde Argentina

Perdón pero no manejo el ingles, lo que desearía es que me informen como adquirir los CD de Linux en forma gratuita Desde ya muchas gracias.

 Tue, 11 Jan 2000 21:56:55 +0100
From: Ivo Naninck <
Subject: Printing MS documents on Novell printer

Hello Gazette,

Can you please put the following question in your next Gazette?

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!

Best regards, Ivo Naninck.

1st graffitiist: QUESTION AUTHORITY!

2nd graffitiist: Why?


 Wed, 12 Jan 2000 00:23:56 +0100
From: Jos vd Snepscheut <
Subject: vgetty and .rmd files


Is there a way to convert .rmd files (made by vgetty) into .wav files.

thanks, Jos (newbe)

 Wed, 12 Jan 2000 09:59:39 -0500
From: abc <
Subject: Partiton Magic 5.0 and Linux Installation

Hi !

I am not quite familiar with Linux installation and stuck at this point.

I have a new DELL with 13 GB hard-disk running windows98 second edition.

I bought Partition Magic 5.0 to create couple logical drives and Linux Native and Swap Partitions.

I am trying to install RedHat 5.2 using a bootable disk and a CD -ROM.

For some reason, neither disk-druid nor fdisk (in-built) recognizes my Logical Partitions.

On the Blue screen (driver information) it says:

/hda1 <size> Win95 FAT 32
/hda2 <size = 13 GB - size of C drive> 0x0f  (blank in type field)

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 ?

fdisk however shows there are partitions on MS-DOS propmt but installation program can not recognize them !

Is there anything I am doing wrong ? Any suggestions ?


 Thu, 13 Jan 2000 17:54:09 +0200
From: Dina Yazbeck <
Subject: Question

I am basically trying to host a domain and have all the e-mails of the users of this domain ( sent to one particular Mailbox (such as 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.

Thank you.

Note: I am new to the Linux world; for that reason, please include details.

 Tue, 06 Jan 1998 05:41:58 +1300
From: M Murugan <
Subject: How to encrypt in linux ..


I would like to encrypt the loginname in my linux-boot-dial floppy.

Is there any command like ASC(x) or chr(x) as in VisualBasic other than tr.

Thanks in advance

[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.

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.]

 Fri, 14 Jan 2000 15:38:17 -0500
From: Kevin Jon Schlossberg <
Subject: ? about "logrotate" on RedHat 5.2...

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.

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.

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.

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.

In the file /etc/logrotate.d/apache it lists

#/var/log/httpd/access_log {
#    postrotate
#       /usr/bin/killall -HUP httpsd
#    endscript

As what I'm guessing the default logrotation would be.

Since my configuration has the access_log files located at


I'm going to guess that I need to change

/logs/accountX/access_log for each accountX

Here's the crux of my problem though - the section that states

#    postrotate
#       /usr/bin/killall -HUP httpsd
#    endscript

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.

Can I put the /usr/bin/killall -HUP httpsd command in the /etc/cron.daily/logrotate file so that instead of


/usr/sbin/logrotate /etc/logrotate.conf

it instead says


/usr/sbin/logrotate /etc/logrotate.conf
/usr/bin/killall -HUP httpsd

and have the /etc/logrotate.d/apache file read:

/logs/account1/access_log {
/logs/account2/access_log {
/logs/account3/access_log {
/logs/account4/access_log {
/logs/accountX/access_log {

for each accountX that I have?

Thanks for any assistance that you can give....

 Fri, 14 Jan 2000 16:02:38 -0500 (EST)
From: Mark Borg <
Subject: Question on motherboard support

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

 Sat, 15 Jan 2000 16:38:55 +0530
From: Kumar V <
Subject: Urgent Help Wanted

Dear Support Manager

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.

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.

Please help me out where i could download the drivers and the procedure for making the SiS 6326 card work in Xwindows.

Hope you will reply to me immediately.

 Sun, 16 Jan 2000 12:58:56 -0800 (PST)
From: Wei Huang <
Subject: help

sir, I need some help.


I wrote a program 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.

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:

This is the body of file
    FILE BODY...
This is the body of file
    FILE BODY...

but it running like this:

    FILE BODY...
    FILE BODY...
This is the body of file
This is the body of file

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?

Question 2, I write a c program.

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.

 Mon, 17 Jan 2000 14:32:33 +0530 (IST)
From: Kenneth Conception <
Subject: None

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.

 Tue, 18 Jan 2000 17:04:04 +0100
From: Michael Schmitz <
Subject: /sbin/dump crashes when doing incremental backup

Since upgrading from RedHat 6.0 to 6.1 /sbin/dump crashes when trying to do incemental backups:

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]
Segmentation fault
madeira:[/tmp]#   DUMP: SIGSEGV: ABORTING!

Does anybody have an idea of what might be the problem?

This is what's installed:


 Tue, 18 Jan 2000 08:04:20 -0800
From: knowmd <
Subject: modoms

need information on compatible modems to run with redhat 5.2 with pentium 233

 Tue, 18 Jan 2000 15:42:13 -0500
From: Christopher Hennessey <
Subject: Law student with questions about Licensing and Linux

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.

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.

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.

I would really appreciate any assistance you may be able to provide for me, please contact me via email.

Thank you.

[Linux Gazette 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

The Free Software Foundation would be another good place to check, since licensing is their forte.

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. -Ed.]

 Wed, 19 Jan 2000 01:16:14 +0100
From: Leonard <
Subject: insmod and newbie to RH6.1


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


Leonard Quivooy

 Wed, 19 Jan 2000 12:30:25 +0100
From: Ivan Suchy <
Subject: Internal modem

Hello LG team,

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.

Thanx for any answer, sincerely

Ivan Suchy

BTW: installation on this server was without any problem, who wants I can send its hardware configuration.

 Wed, 19 Jan 2000 11:46:58 EST
From: <
Subject: bash2


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 ?

Thanks, Marty Fisher

 Mon, 24 Jan 2000 05:42:36 -0500
From: glitch <
Subject: 2 quick questions

I have two quick questions...

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?

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.

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.

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.

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.

 Sat, 22 Jan 2000 13:14:56 -0800 (PST)
From: KAI T. HUANG <
Subject: How to set up a external modem for the internet of Red Hat Linux?

Hi, I have installed Red Hat LInux. I brought a blaster V.90&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.

 Sat, 22 Jan 2000 13:18:56 -0800 (PST)
From: Victor Huang <
Subject: How to use a printer to print out the result of X window program in red hat linux?

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?

 Sat, 22 Jan 2000 13:20:31 -0800 (PST)
From: Victor Huang <
Subject: How to set up HPdeskjet 712c printer in Red Hat Linux?

Can you tell me how to set up HPdeskjet 712c printer in Red Hat Linux? Thank you.

 Sat, 22 Jan 2000 20:50:08 -0500
From: inkognito <
Subject: linux install

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?

 Sun, 23 Jan 2000 12:17:08 -0800
From: Garry J. NICHOL <
Subject: compuserve / linux

How do I connect to compuserve from my linux box using the pppd?

 Sun, 23 Jan 2000 15:46:09 -0600
From: Brent Gill <
Subject: Install Problems

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 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?


 Mon, 24 Jan 2000 14:41:16 -0000
From: Simon_M_Appleby <
Subject: Reconizing other drives via PCMCIA slots

Dear Sirs,

As I am new to Linux and have been given Red Hat 6.1. I have decided to put this on a Laptop.

My question is this :-

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.



 Tue, 25 Jan 2000 20:55:56 +0100
From: Michiel Doetjes <
Subject: Graphics all messed up...


Today I installed my very first Linux system! I guess it works fine, but I have big problems with my graphics card / monitor.

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.

Specs of my system:

Pentium II Mendecino, 366mhz
64 MB Ram
Intel 740 graphics accelerator, 8mb, AGP

I tried various options using xf86config, but I don't seem to get my graphics card to work.

After a nervous breakdown, my computer installed my graphics card as a Chips & Technologies Accelerator. This works fine too.

Does anyone know how to solve this problem?



 Wed, 26 Jan 2000 15:19:19 +0800
From: pgy <

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?

 Thu, 27 Jan 2000 23:10:11 +0800
From: Yau Chuan Hoa <
Subject: Redhat 6.1 Installation Problem

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.

I boot using the AutoBoot.bat from DOS (Win98 startup disk).

My system : Pentium 133, with 64 MB of RAM. S3 chipset (correctly detected) HDD = IBM 1.7GB -> 2 equal primary partitions : FAT16 and ext2 (Partition magic v4)

hda : hda2, hda3      ??? Where is hda1 ???

Error message :

<4> hdc : ATAPI reset complete
<4> hdc : cd_rom_decode_status error = 0x34
<4> hdc : cd_rom_decode_ststus = 0x51 {DriveReady SeekComplete Error}
<4> end_request I/O error dev 16:00 (hdc) sector 1190936
<4> end_request buffer-list destroyed

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.

I tried to get support from Redhat, but it is not it is not helpful, especially in my country, Malaysia.


 Thu, 27 Jan 2000 23:44:18 -0600 (EST)
From: Dr. Pat Fitzpatrick <
Subject: Outgoing mail problem

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.

By the way, using email tools such as pine on the linux machines itself works fine.

I am open to suggestions.

 Fri, 28 Jan 2000 14:30:11 +0100
From: Giuseppe Luigi Bombelli <
Subject: Informazioni

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.

Vi chiederei dove eventualmente reperire informazioni su questa operazione, possibilmente in italiano data la mia scarsa conoscenza della lingua Inglese.

In attesa di un vostro gentile riscontro porgo cordiali saluti.

 Fri, 28 Jan 2000 08:06:34 -0600
From: Ian Timshel <
Subject: Subscription

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

[You will need to return to the site for the next issue. Each issue is posted on the first day of the month.

If you wish, you can subscribe to the announcement list at Put the single word "subscribe" in the message body. Then you will receive an e-mail announcement every month when the issue is posted.

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.]

 Fri, 28 Jan 2000 18:14:13 -0000
From: oliver cameron <
Subject: Upgrading to shadow passwords

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.

Many thanks in advance, Oliver.

 21 Jan 00 16:26:47 PST
From: Mike Craft <
Subject: Driver for ATI Xpert @ Work PCI card

Hi! girls and boys,

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?

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

Could someone help, I would appreciate it a lot. Thanks.

 Mon, 24 Jan 2000 16:44:15 +0100
From: Martial Farad <
Subject: problème

Bonjour, Je sais que ce n'est pas un mail pour les débutant qui ne connaissent rien, mais j'ai vraiment besoin d'aide. J'ai un lecteur de disquette externe, et je n'arrive pas à le monter sous linux. Il me renvoie le message:

Mount: the kernel does not recognize /dev/fd0 as a block device (Maybe 'insmod driver' ?)

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ès reconnaissant.

 Sun, 30 Jan 2000 21:25:49 -0500
From: Ze'ev Ionis <
Subject: Running an NT command from Linux (or vice-versa)

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?

 Mon, 31 Jan 2000 16:38:49 +0200
From: Zlotnikov yuri <
Subject: CPU resource distribution

Please, send me any article about CPU resource distribution (sharing) in Linux.


General Mail

 Sun, 2 Jan 2000 20:34:49 -0400 (WST)
From: David Santo Orcero <
Subject: None


I tryed ftp link [] with netscape and with ncftp and now it works fine.



 Mon, 3 Jan 2000 12:53:35 GMT
From: <
Subject: Postscript or HTML editions of Gazette

I've read the FAQ on Gazette distributions.

I would like read the Gazette either as HTML or PDF format.

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).

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.

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?

regs rupert heesom

[If your goal is to read the Gazette on screen off-line, download the FTP files (FAQ question 3).

If your goal is to print the Gazette, just use the "Print" command in your browser.

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 xpdf are PDF viewers; gv is a Postscript viewer. I have reworded the FAQ answer to make it more clear. -Ed.]

 Tue, 04 Jan 2000 02:47:59 +0000
From: Malcolm Macsween <
Subject: The Answer Guy LG #49 - psychic, already .....

The answer guy is really excelling himself this month ....

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.

[The Gazette'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 fixed now. -Ed.

 Thu, 06 Jan 2000 16:41:01 -0500
From: Anderson Silva <
Subject: [Fwd: type, tepy, tpey, ytep, type...]

There is a mistake in the Developing Web Application Article (Jan 2000).


-------- Original Message --------

Content-Transfer-Encoding: 7bit

" to create your won guest book..."

And if there are two thousand people pounding away in it then we'll have a won ton guest book.

[Fixed. Do I get a fortune cookie? -Ed.]

 Tue, 11 Jan 2000 23:02:40 +0100
From: Reinhold Baldauf <
Subject: Abo

Hi out there, please tell me, how i can get the gazette regularly - i'm living in germany Kind regards

[Linux Gazette comes out the first day of each month at and its mirrors, including four in Germany. Please see and -Ed.]

 Wed, 12 Jan 2000 09:25:33 -0800
From: Marjorie Richardson <
Subject: SuSE reseller not playing fair in Uruguay

From comp.os.linux.announce:

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.

Uruguayan SuSE reseller wish to obtain exclusive rights on the LINUX name

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:

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, being in the knowledge that the Uruguay Linux User Group have and use the domain 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.

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.

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.

Montevideo, January 6,2000

Signed by:

Pablo Boix, Federico Gamio, Heber Godoy, Manuel Perez, Rodolfo Pilas, Andres Tarallo

 Sat, 15 Jan 2000 21:13:28 -0700
From: Warren Young <
Subject: More history!

I really enjoyed the "history of rm and rmdir" article in your January issue. More, more!

 Mon, 17 Jan 100 13:55:38 GMT
From: <
Subject: issue49.html not loading


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).

But here at university I can do it from a fast mirror.

[A few people have experienced this. The cause is not known. What happens if you use another mirror? -Ed.]

 Tue, 18 Jan 2000 00:55:05 -0600
From: PJ Wessel <
Subject: To The Editor

Dear Editor,

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.

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.

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.

Linux does not support all dual processor motherboards. However, all motherboards should support dual-boot systems.

I apologize for any inconvenience my comments may have caused.

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.

 Wed, 19 Jan 2000 10:54:39 +0100 (CET)
From: Dipl.-Stat. Detlef Steuer <
Subject: January 2000: The Hunger Site

Thank you very much especially for the link to the hunger site!

PS: I like the Gazette, too :-)

This page written and maintained by the Editor of the Linux Gazette. Copyright © 2000,
Published in Issue 50 of Linux Gazette, February 2000

"Linux Gazette...making Linux just a little more fun!"

News Bytes


 February 2000 Linux Journal

The February issue of Linux Journal is on the newsstands now. This issue focuses on Linux on the desktop.

Linux Journal has articles that appear "Strictly On-Line". Check out the Table of Contents at for articles in this issue as well as links to the on-line articles. To subscribe to Linux Journal, go to

For Subcribers Only: Linux Journal archives are available on-line at

Distro News


Technology Center Hermia, Tampere, Finland - December 28, 1999

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.

"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!"

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,

SOT will also distribute CDs from its offices in Tampere, Helsinki and Tallinn. Detailed contact information is available at


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...


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/, a start-up company developing an "Information Appliance" platform or thin-client Internet Appliance platform.

Founded by former Corel executive Eid Eid this past year, OE/ 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.

Corel will assist OE/ in implementing many Corel® LINUX® features with the OE/ software. By leveraging what Corel has done with the File Manager, Browser, Control Center and GUI (graphical user interface), OE/ 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.

Corel has also released WordPerfect Office 2000 Beta for Linux on its online beta testing sites.


Linux-Mandrake 7.0 (Air) has been released.

 Red Hat

Red Hat announced this week that it has begun shipping a new version of its Linux OS for Compaq Alpha computer systems...


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.

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.

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.

News in General

 Transmeta secrecy lifted

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.

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.

The information above was gathered from Transmeta's web pages (also known as, and especially from the FAQ

Analyses from the industry:

 Linux curriculum begins today in Utah Public Schools

DATC press release--

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 ( .

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 (

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.

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.

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 As an aside, I am also actively working to add Sair Inc. Linux certification ( to the list of courses as well, since DATC also offers Novell, Cisco, and Microsoft MCP/MCSE courses.

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.

 "Open-source" Books

The groundswell of Open Source, or free software, technologies has created a sea change in commercial book publishing. Several publishers, including O'Reilly & 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.

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

1. Involve developers of open source software more directly in the development of high-quality guides and other professionally-edited content.

2. Find the development models for open documents that work well with the successful models used for open-source software.

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!

-Andy Oram, Editor, O'Reilly & Associates, Inc.

 Linsight launches

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.

Phase 1 of Linsight, launched today, is comprised of two resources:


LinEvents ( exists to make information pertaining to upcoming events that are related to Linux and Free Software/Open Source accessible.

LinEvents has been created to achieve the following goals:

  1. To provide a single and authoritative resource of all upcoming events, both geographically limited and world-wide.
  2. To assist interested Linux users in finding local Linux user groups.
  3. To assist interested Linux users in making informed decisions about upcoming events, and their importance to the community.
  4. To provide additional content for LinTraining through an upcoming workshop listings directory.
  5. To assist non-United States markets in locating geographically local events.


LinTraining ( exists to make information pertaining to Linux training and certification accessible.

LinTraining has been created to achieve the following goals:

  1. To provide a resource where interested individuals can easily locate available Linux training resources.
  2. To publicize the classes that are provided by Linux training centers.
  3. To provide resources for training centers who want to start teaching Linux classes.
  4. To encourage courseware publishers by proving that there is a market for Linux courseware material.
  5. To promote the ongoing efforts to create a Linux certification program.

Linsight ( is founded by Dave Whitinger, co-founder of Linux Today, and is wholly owned by Atipa Corporation.

 IDG/Linus Torvalds Community Award

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 & Expo, following Torvalds' keynote address on Wednesday, February 2, 2000 at the Jacob Javits Center, New York City, NY.

"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."

 Software Carpentry's Open Source design competition

The aim of the Software Carpentry 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 Advanced Computing Laboratory at Los Alamos National Laboratory is providing $860,000 of funding for Software Carpentry, which is being administered by Code Sourcery, LLC. All of the project's designs, tools, test suites, and documentation will be generally available under the terms of an Open Source license.

The first stage of the Software Carpentry project is a design competition, with $100,000 in prizes for entries in four categories:

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.

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 NT, and to be implemented primarily in, or scriptable with, Python.

For more information, please see the Software Carpentry web page (

Greg Wilson (416) 593 2428

 Wave Technologies acquires Sair

ST. LOUIS, January 11, 2000-- Wave Technologies International, Inc. (, has acquired Sair, Inc. ( Sair develops comprehensive vendor-neutral Linux training materials and is the architect of the Sair Linux & GNU Certification and its associated exams. Terms of the agreement were not disclosed.

Wave intends to continue a separate Sair Linux & GNU subsidiary that will promote and market Linux training and certification programs. The combined organizations will pursue four major strategic initiatives consisting of:

1. Original Equipment Manufacturer (OEM) sales of training materials. The companies have disclosed existing development agreements with Compaq, Linuxcare, Caldera(r) and others.

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 & GNU Certification.

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.

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.

Founded in 1992, Sair is a leading provider of live Linux certification exams. The Sair Linux & 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 & 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 & GNU Certified Administrator (LCA); Level II-Sair Linux & GNU Certified Engineer (LCE); and Level III-Master Sair Linux & GNU Certified Engineer (MLCE).

 Linuxnerds certification test wants contributions 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 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 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 .

 Colorado Linux Info Quest conference

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.

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.

Vendors and visitors should check the CLIQ web site,, often for more up to date information.

 Embedded Linux Polls from

PALO ALTO, CA., December 12, 1999 --, 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.

"In contrast to the desktop PC domain" says 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.

"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.

Through its new Embedded Linux Polls function, intends to measure and characterize current and future preferences and trends of embedded system developers. Like Linux itself, the polls data collected by 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 Companies or developers are also invited to submit proposed poll questions to via email, at

 Linux Links

Linux font HOWTO (from C.O.L.A.)

iNUX inc. 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." offers a suite of office applications run directly on their web site.

Linux-based DSL modem. (Silicon Automation Systems Limited)

LinuxLinks 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.

LinuxNetMag is a Linux ezine published in German and English.

The Linux Professional Institute has released the first exam in its Linux certification program.

Interview with Red Hat CTO Michael Tiemann 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. is a Linux news/download portal.

Software Announcements

 C.O.L.A software news

PySol 3.30 now contains 160 solitaire games. It even has its own comic strip episode.

kim is an interactive user-friendly process manager. It looks similar to Midnight Commander.

 Other software

Integrated Business Systems & Services, Inc. has certified Synapse Manufacturing and Synapse EAI+ for Linux.

Cygnus, which recently merged with Red Hat, announced a software development environment for Nintendo's Game Boy Advance video game system.

This page written and maintained by the Editor of the Linux Gazette. Copyright © 2000,
Published in Issue 50 of Linux Gazette, February 2000


(!)Greetings From Jim Dennis

(!)DNS ports... --or--
DNS Ports: A bit about Name Resolution Protocols
(?)Seagate SCSI tape problem --or--
Tape Drive Errors
(?)DAT --or--
Drivers for SCSI/DAT Tape Drives
(?)Linux password lost --or--
Lost Password
(?)WUFTP and authentication --or--
When AUTH is ident, not Authentication
(?)Linux box as a router: Kewl! --or--
How do you say "Dial on Demand"
(?)ans guy ? --or--
Looking for ...
TAG, we're it.
(?)+routing -masquerading --or--
Hello Routing, Goodbye Masquerading
(!)January Answer Guy: "Can't See Ethernet Card" --or--
More on Linksys Ether16 Cards
(!)stty parity, LG Issue 48 AG item --or--
Clarification/Correction: stty -parenb
(!)radio receiver for serial port use; Published in Linux Gazette --or--
Radio Time Source with Serial Interface
(!)Id "x" respawning
(?)Outlook Clients Fail to find Mail Host
(?)LG49 Mailz --or--
Answer Guy Debunks Time Machine Myth for Y2K
(?)Reveal Sound Card --or--
Call Microsoft
(?)Question --or--
LILO for Loading "Other" OS': Setting the Default Boot Stanza
(!)KVM switch --or--
KVM Switches: All are NOT Created Equal
(?)Changing distributions, fstab and labels --or--
More on Maximal Mount Counts & Volume Labels and UUIDs
(?)Netscape Messenger --or--
Netscape 4.7 as a POP Client
(?)Linux 6.0 NTPd question --or--
error: Interrupted system call
(?)233mhz to 450mhz --or--
Overclocking a Motherboard? 233Mhz to 450Hmz?
(?)LiLo --or--
Fixing a lilo.conf After the Fact
(?)Here's a good question for you... --or--
CRC Error -- System Halted --
(?)holy linux --or--
Out of the Blue Strategic Advice for Red Hat
(?)"harden" Linux DNS server --or--
"Hardening" a Red Hat (into a Helmet?)
(?)Question --or--
Virtual Mail Hosting in a Single Inbox
(?)Foxbase --or--
Out-"Fox"-ing the Fox?
(?)Hard drive --or--
Adding a Disk
(?)How can I view ascii data coming across my serial port? --or--
Serial Capture
(?)Telnet --or--
Remote Control through Telnet
(?)X Server --or--
Jaton 107 Blade 3D and XFree86
(?)Redirecting stdin on telnet --or--
Redirecting stdin into telnet
(?)LI --or--
New Installation Stops at LI
(?)Redhat 6.1 and Netscape --or--
Netscape can't find ANY of THEM
(?)Can't Log in as 'root' via telnet
(?)Exceed & Linux --or--
Exceed (MS Windows X Server) and Linux
(?)just a question about linux. very puzzling --or--
Double Reverse DNS Strikes Again
(?)Open ports --or--
Closing Ports, Disabling Unwanted Services
(?)Now what? --or--
Using a Downloaded .iso Image for System Upgrade
(?)maybe you know where I can look --or--
Automated Login Around a Challenge Card
(?)Can you possibly shed some light? --or--
Mystery Question
(?)Idled Daemon on Linux --or--
idled RPM for Red Hat
(?)Monthly Win (Lose) Modem Question
(?)IMAP/POP daemon on RH 6.0 and 6.1 --or--
Installing a POP Daemon on Red Hat Linux

(!) Greetings from Jim Dennis

This is going to be a great year for Linux.
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 TurboLinux 4.0 and a small stack of books to go with it. (No, I didn't see copies of my book there yet. Darn!).

[ I brought that employee over to give him my business card, after answering a handful of his questions. Business is booming for Linux consulting, too. -- Heather ]

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.
While we were there we also picked up a couple of little UPS power strips (CyberPower Systems 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).
The cool thing is that I found the link to the University of Iowa powstatd (power status daemon) ( (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 powstatd is available as RPM and Debian 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.
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 powstatd 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).

[ 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 ]

(I went back to a different Fry's last night and picked up a copy of "Heroes of Might & Magic III" for Linux, which was ported by Loki Software They had Linux copies of Civilization, Quake III, and Railroad Tycoon. They also had plush stuffed "Tux" penguins all over the store).
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.
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 FreeBSD in some cases).
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.
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!
(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).
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.
But this sure looks like a good year to be a Linux geek from where I'm sitting.
Of course anyone who wants to look into it for themselves can point their web browser at and search on the string: "Linux market research" and read what lots of other people are saying on the subject).
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.
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).

[ 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 CREDITS file has no address for him.

There was an excellent article on the early distributions in Linux Journal, Issue 2. -- Heather ]

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 Linuxcare booth or hunt me down in the hallway track or at the BoFs (birds of a feather meetings).

[ Hey, let's keep that straight. It's LinuxWorld conference and expo in New York ... they couldn't take the URL "linuxworld" because Linux World magazine already had it. They did manage to snag "", but "" leads to Linux Expo 2000 is in Paris, France, on the 1st through 3rd of February.

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.

I ask, would it have been too hard to offer "" and ""? I'm getting really tired of seeing entire domains squished into the tiny existence of "www" being their only visible host.

And before anybody asks, no. We're NOT going to both shows. -- Heather ]

Hope to see you all there.

(?) DNS Ports: A bit about Name Resolution Protocols

From Matt Harrington on Sun, 02 Jan 2000 on the SAGE (USENIX Sysadmin's Guild) list

is the following true or false?

a client talks to a nameserver on port 53/tcp. the nameserver answers back on a random udp port greater than 1023.

(!) It is false. An FAQ that will answer your question is at:
... However, I'll also add some detail here.
First point: normal DNS resolution occurs over UDP.
The usual sequence for a UNIX client is something like this:
The application executes a call to "gethostbyname()" (a standard library function, which is linked into the libc on almost any UNIX platform). gethostbyname() in glibc (Linux libc version 6.x) is implemented to look at the contents of your /etc/nsswitch.conf file, and apply a set of rules from that to load NSS (name services systems) libraries. Most Linux systems are configured to use --- which uses NIS/NIS+, DNS and traditional UNIX files (/etc/hosts, /etc/networks). You can see all of the NSS libraries on most Linux systems using the command:
ls /lib/libnss*
... although you might have to look at the contents of /etc/ for a list of other directories in which other libnss libraries might exist.
Entries in /etc/nsswitch.conf 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).
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.
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.
When the system is configured to use DNS (as they almost all are) then the library functions open and read the /etc/resolv.conf file. This gives a list of DNS servers to which the resolver will direct its initial queries.
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 /etc/services file).
The initial response should come from one of the DNS servers as listed in /etc/resolv.conf, 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.
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 ..."
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.
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."
(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).
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.
This is the architecture I recommend.

(?) i can't seem to find the answer in various o'reilly books. of course, someone walked off with the DNS one.

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.

DNS only seems to work if the following line is in place...

access-list ### permit udp host any gt 1023


(!) You could restrict this to require that the packets come from port 53.
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.
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.
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 (

(!) DNS Ports: Answers from another Recipient

Robert Hajime Lanning answered on Sun, 02 Jan 2000 on the SAGE (USENIX Sysadmin's Guild) list

Hmm. That message was to the SAGE (USENIX Sysadmin's Guild) ( list, and not to my "Answer Guy" persona as I'd initially thought.

DNS is udp not tcp

Zone transfers can be tcp.

Request: client (libresolv) random above 1023 -> server (named) port 53

Response: server port 53 -> client same port that request was sent from

name server to name server: 53 -> 53 53 <- 53

(!) Mr. Robert Hajime Lanning answered Matt's question before I did. However, I didn't see that until I got further through my inbox.

(!) More on the DNS Ports & Firewalling Question

Jim Duncan answered on Sun, 02 Jan 2000 on the SAGE (USENIX Sysadmin's Guild) list

Matt Harrington writes: is the following true or false?

a client talks to a nameserver on port 53/tcp. the nameserver answers back on a random udp port greater than 1023.

(!) False. The nameserver should answer back to the source port of the query.

(?) i can't seem to find the answer in various o'reilly books. of course, someone walked off with the DNS one.

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.

DNS only seems to work if the following line is in place...

access-list ### permit udp host any gt 1023
(!) RFC 2181, Clarifications to the DNS Specification, says:
4.2. Port Number Selection
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].
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.
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.,
  access-list ### permit udp host eq domain any
  access-list ### permit tcp host eq domain any
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.
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:
  access-list ### permit udp host eq domain any
  access-list ### permit tcp host eq domain host
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.
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.
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".
Hope this helps.

(?) Tape Drive Errors

From M Wyn on Thu, 20 Jan 2000

Please also send me a copy of your answer if you got one. Many thanks.

Michael Wyn

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 /var/log/dmesg file identifies the drive: "Detected scsi tape st0 at scsi0, channel 0, id 6, lun 0".

Issuing command (as root):

'mt -f /dev/st0 status' with a DAT in, returns

     "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):

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):

     'mt -f /dev/st0 rewind'

returns: "/dev/st0: Input/output error"

Doing a 'tar cvf /dev/st0 .' will return I/O errors. In short, the tape drive is not useable.

RedHat folks suggested to install the 'mt-st0.5b-4.i386.rpm'. Issuing 'rpm -iq mt-st' returns a message saying that it is installed. Trying to 'rpm -Uvh mt-st-0.5b-4.i386.rpm' and got the "package installed" message. Tried to de-install using 'rpm -e mt-st-0.5b-4.i386.rpm' and got 'package not installed'

(!) They definitely don't understand your question!

(?) Dell told me to call Linuxcare. No answer just yet. Any idea? Private email would be highly appreciated. Thanks. Michael Wyn

(!) Oddly enough I work for Linuxcare.
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.
I highly recommend running your data through Lee McLoughlin's 'buffer' program. That should be included with your distribution or find it at Freshmeat ( or RPM Find ( '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.
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 Red Hat). However, I've never heard of any software/driver problems with the Linux st (SCSI tape) drivers.

(?) Seagate SCSI tape problem

From M Wyn on Fri, 21 Jan 2000

(!) I hate suggesting hardware RMA (return merchandise authorization) --- but this does sound very hardware-ish

(?)Thanks for your note.
I cleaned the drive using a brand new cleaning tape from Dell. No success. Additional info:

when I tried issuing 'mt -f /dev/st0 load', I got "st0: error with sense data: [valid=0] Info fld=0x0, current st09:001 sense key Hardware error. /dev/st0: Input/Output error"

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..].

I'll be contacting them this morning. If you have additional comments/suggestions, please email them to me.

Michael Wyn

(?) Tape Drive Errors

From M Wyn on Sun, 30 Jan 2000

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.


Michael Wyn

(?) Drivers for SCSI/DAT Tape Drives

From Dave Lammon on Thu, 20 Jan 2000

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.

I'm trying to use a shareware tape backup program and the compaq has a compaq DAT on a scsi channel.

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.

Any help would be apreciated.

Dave Lammon
Network Administrator

(!) There should be no special work required to use a SCSI tape drive under Linux. You access those through the st driver (the /dev/st0 node for the first drive and, /dev/st1, etc for other drives).
If this is an autochanger you might want to get the 'mtx' utility which can be found at its author's web site:
Dandelion Digital's Linux Home Page
... this is like the 'mt' command but it adds support for commands like: "next", "previous", etc (and the ioctl()'s to go with them).
If you can't access your tape drive, try loading the st.o 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.
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 st.o driver (or build it statically into your kernel). The problem is that an autoloaded st.o 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.

(?) DAT

From Dave Lammon on Fri, 21 Jan 2000

Thank You,
this is excellent help, far more than I expected. I did manage to get the DAT to work with the tape software. I used /dev/st0 and it looks like its working. I greatly appreciate the help.

[ p.s. Dave, turn off the HTML+plaintext option in your mailer. Thanks. -- Heather. ]

(?) Lost Password

From Joy Higgins on Tue, 18 Jan 2000

My boyfriend put Linux Caldera 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??

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...

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.


(!) Wow! The "computer guy" your boyfriend called is either a scam artist or an IDIOT.
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 comp.unix.admin newsgroup.
For Linux all you have to do is:
1. Reboot
(try [Ctrl]+[Alt]+[Delete])
2. During the LILO prompt type:
(kernel/image name) init=/bin/sh rw
... note that's usually going to be just:
linux init=/bin/sh rw
3. This should start the Linux kernel,
with the root filesystem mounted in read/write mode. The cool thing is that none of your normal init processes (like the gettys that ask for your name and call the login program) will be started.
4. (Maybe) mount your /usr filesystem with a command like:
mount /usr
5. Change your root password with a command like:
6. Flush the cache buffers:
sync; sync; sync
7. (Maybe) unmount /usr:
umount /usr
8. Remount the root fs in readonly mode:
mount -o remount,ro /
9. Let init clean up and reboot the system:
exec /sbin/init 6
... there is a "6" (six) at the end of that command.
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.
You can follow a similar procedure using a "rescue" diskette. However, I'll let you buy my book (or visit for the details on that approach. That book is "Linux System Administration" by M Carling, Stephen Degler, and me (New Riders Publishing).
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).

(?) Linux password lost

From Joy Higgins on Tue, 18 Jan 2000

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!

:) Thanks again!


(?) When AUTH is ident, not Authentication

From John Garetti on Tue, 18 Jan 2000

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.


(!) 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:
Identification Protocol
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.
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).

(?) WUFTP and authentication

From John Garetti on Tue, 18 Jan 2000

thx for the info.

(?) How do you say "Dial on Demand"

From edj on Tue, 18 Jan 2000

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. ;)

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?


(!) The feature you're asking for is called "dial on demand." Under Linux this used to require an additional package called 'diald'. However, it is also now a built in feature of the PPP daemon (pppd).
Search the pppd(8) man page for the term "demand" and read through that a bit.
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 can still use diald in any event, but you should be able to simply add the "demand" keyword to your /etc/ppp/options file.
Hope that helps.

(?) "edj": Re: PPP Dial on Demand

From star on Thu, 20 Jan 2000

Hi Jim,
Thanks, that really helped.

- -edj

(?) Looking for ...

TAG, we're it.

From Ashish Duggal on Tue, 18 Jan 2000

hi !
sorry to bother you. but, i was wondering if i could write to you on this address for linux answers ?

thanks and regards

(!) You'll be much better off looking for those answers perhaps by searching the Linux Gazette archives ( before sending questions to me.
I'm getting a lot more "Answer Guy" mail than I used to, and I have a lot less time to answer it.
That means that your chances of being one of the ones I get to in a given month are getting lower every day.
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).

(?) Looking for the Linux Gazette

From tedbdodd on Tue, 18 Jan 2000

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?

Ted B

(!) I've been writing the "Answer Guy" column for the Linux Gazette ( for about three years now.

(?) Hello Routing, Goodbye Masquerading

From hax0r on Tue, 18 Jan 2000

I've done masquerading a couple of times thanks to the wealth of information on it, esp. with cable/dsl.

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

Do I simply have to add the corrent routes for eth0 and eth1 and echo 1 > /proc/sys/net/ipv4/ip_forward?

the main command I have for masq now is
$IPCHAINS -A forward -s $INTERNALNET -d 0/0 -j MASQ
do I have to change MASQ to ACCEPT or delete this line altogether?


(!) You can just delete the line.
Routing really is that simple. You configure your interfaces with their routes, you enable the kernel's routing flag through the sysctl() (/proc/sys/net/.../) and that's it.
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).
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:
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.
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.
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").
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.
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 ( by Kevin Fenzi and Dave Wreski and the Linux Administrators Security Guide (

[ The HTML version is now available at 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 ]

(?) +routing -masquerading

From Justin Azoff on Tue, 18 Jan 2000

Thanks for all the info on routing etc, no wonder i couldnt find any info on it, its too simple.
Unfortunately the dsl provider that finally came through only gave us one ip so im back to masquerading :)


(?) Linksys Ether16 NIC installation issues, as asked...

[ 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 ]

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

(!) More on Linksys Ether16 Cards

rabuno answered on Sun, 02 Jan 2000

A loyal reader offers this answer to supplement one from last month.

(!) Chuck Whinney (no email) asks you:

[ 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 ]

(!) 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.

The only possible causes of trouble in Chuck's case, imho, would be:

If Chuck continues to have troubles with the card feel free to send him my email & I can try to help him out.

I loyally read your column in LG. Thanks; you are providing a great service. Happy New Year.

(!) 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.

(!) A Solution to: How to detect Linksys Ether16 Cards

Claude Baker answered on Sat, 08 Jan 2000

Here's another reader-contributed answer to using those pesky NE2000 clone Linksys Ether16 ethernet cards:

(!) The writer questions how to detect a LinkSys Ether16 and you suggest another card.

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.

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.

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.

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.

Claude Baker

(!) Linksys Ether16 NIC installation issues answered on Tue, 11 Jan 2000

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:

(!) 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.
These days I try to forward/respond to corrections and commentary on the threads in previous months.

(!) #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.

(!) 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.

(!) #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.

(!) I presume you're referring to the 'linuxconf' program. I'd suggest using 'insmod' to load the appropriate loadable module manually.
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.
One thing I do like about PCI --- it supports much easier and robust autodection than the old ISA cards.
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.

(!) #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.

#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.

(!) I thought he specified that he was getting SIOCSIFADDR: errors (meaning that the driver isn't seeing the interface). If you can successfully set an address etc. with 'ifconfig' then you should check for external connections, link lights, and similar problems.
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.
In particular I don't like the Linksys hubs, but I've never had problems with the Netgear products.
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).

(!) Best of luck,

(?) Clarification/Correction: stty -parenb

From Lamar Owen on Thu, 23 Dec 1999

parenb (and -parenb) is the PARity ENaBle toggle. parodd (and -parodd) are to further set odd or even, with the default (IIRC) being even.

Lamar Owen
WGCR Internet Radio

(!) Thanks for that clarification. I should have known that.

(!) Radio Time Source with Serial Interface

From Shawn Bibb on Sat, 08 Jan 2000

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.

(!) i have one of these and it works very well. ~$100. i recommend it.

(!) 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.

(!) Id "x" respawning

Bill McElhannon answered on Tue, 18 Jan 2000

A forward on an old issue.

(!) Hello,

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.

Thanks for your great work in The Linux Gazette, I really enjoy it and have learned a lot.

Bill McElhannon

(?) Outlook Clients Fail to find Mail Host

From Ted Allison on Tue, 18 Jan 2000

Mr. Dennis,

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.

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 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.

Any ideas as to what the problem may be? We would appreciate any help in this matter.

(!) Can they ping (actual domain name anonymized)?
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.
Try using the TELNET.EXE client on one of these new system to connect to port 25 of the Linux box ( If that works than the problem is purely with your client system and you should call a Microsoft support center.

[ Ted forwarded it to his colleague, Jeff. -- Heather. ]

(?) Jim,

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.

Thanks again,

(?) Answer Guy Debunks Time Machine Myth for Y2K

From Tom on Tue, 11 Jan 2000

Hello Mr. Dennis [Answerguy!]

Thanks for spending (many I suppose ;-) 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.
Thanks again for your great work!


(!) Our editor and host mentioned that he had a problem like that.
I think its been fixed on the primary Linux Gazette web site now. However, it might still appear wrong on some mirrors.

(?) The Answer Guy LG #49 - psychic, already .....

From Malcolm Macsween on Tue, 4 Jan 2000
Answered by the Linux Gazette Editor, Mike Orr.

The answer guy is really excelling himself this month ....

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.

(!) It was my too-successful attempt to update the copyright dates on the articles in bulk, combined with Jim's time machine.
The dates are corrected. The new files will be visible at noon today (UTC-0800).
Thanks for the letter. This is the most humorous of the complaints I received, and probably the one I will publish.

(?) Call Microsoft

From Anthony Hunt on Tue, 11 Jan 2000

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?

(!) ... and read a bit of our webazine before mailing its columnists.

(?) LILO for Loading "Other" OS': Setting the Default Boot Stanza

From Cavaiani, Don on Sun, 02 Jan 2000

Hi James,

If I put the "other" (the msdos portion) code in the lilo.conf B/4 the image = ... for the Linux O/S, will msdos load as the default (i.e., if the operator does not enter anything) instead of Linux.

Or, is there another way to do this?


(!) /sbin/lilo will make the first "stanza" (section) of the /etc/lilo.conf file the default unless there is an explicit 'default=' directive in the "global" section.
If you do use the 'default=' directive, refer to the desired stanza by its label.
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 lilo.conf(5) man page.

[ It's likely there is also more than you ever wanted to know about LILO in the directory under /usr/docs (or /usr/share/docs) for the lilo package. -- Heather ]

(?) KVM Switches: All are NOT Created Equal

From Michael Slaven on Fri, 24 Dec 1999


Here's the story...

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.

Unfortunately, most of the public perceives occasional lock-ups as normal for KVM switches and this is definitely not the case.

This said, getting that message out to the Linux community is not easy. I'm interested in:

  1. How you have your office set up ( how many computers)
  2. If you have the need for a KVM switch
  3. If so, I'd be willing to "lend" you one for 30-40 to test and evaluate.

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.

Let me know what you think.
Thanks for your time.

Michael Slaven
OEM Manager
Raritan Computer Inc.

(!) Well, I don't think I'll be considered a corporate shill for simply including your message as it was written to me.
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.
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).
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.

[ 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 ]

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).

(?) More on Maximal Mount Counts & Volume Labels and UUIDs

From ghaverla on Thu, 23 Dec 1999

Dear Answer Guy,

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 S.u.S.E. to Debian, 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

LABEL=temp /tmp ext2 defaults 1 2


UUID=3a30d6b4-08a5-11d3-91c3-e1fc5550af17 /usr ext2 defaults 1 2

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.

Thanks for any light you can shed on this.


(!) The UUIDs and labels are on filesystems (partitions), and not on disks (physical volumes).
Obviously things will get more confusing and interesting as we develop LVM (logical volume management) subsystems under Linux.

(?) Netscape 4.7 as a POP Client

From Carlos Germán Siufi on Fri, 07 Jan 2000

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:
I think Netscape only sends "username" not "". Now I'm using the command fetchmail with the -u parameter. Example:
"fetchmail -u".
It works. How can I fix Netscape Messenger?

Germán Siufi
[From Argentina]

(!) German,
My personal inclination would be to use fetchmail 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 sendmail) and let that do my masquerading, or use its support for "from" rewriting (through the genericstable FEATURE) and other mail handling.
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.

(?) error: Interrupted system call

From Robert Richardson on Fri, 07 Jan 2000

Hi James

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 "29 Dec 16:28:33 ntpd[634]: select(11, #---#--#---, 0L, 0L, &0.000000) error: Interrupted system call". 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

(!) I'm not sure what's causing this. However, I'd suggest a couple of rather simple steps:
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.
Second, the 2.2.5 kernels that shipped with Red Hat 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).
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 make menuconfig).
In this case I suspect a combination of an XFree86 bug and a kernel bug which is causing the problems with the system clock. xntpd could easily be sensitive to these sorts of things.

(?) Overclocking a Motherboard? 233Mhz to 450Hmz?

From Steve on Fri, 07 Jan 2000

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.

(!) 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.
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.
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.
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.

(?) Fixing a lilo.conf After the Fact

From Don Benesch on Fri, 07 Jan 2000

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 Fdisk /mbr, but I thought that there might be a quicker way to switch the * to the Windows OS. Also, If I do /mbr, how do I put Lilo back on without going thru the whole install?

Don (New to Linux)

(!) Go back and read some of my articles on LILO. Just go the the Linux Gazette web site and use their search engine.
You'll find a number of sample configurations files (/etc/lilo.conf) and many long-winded explanations of how to use the /sbin/lilo utility to write, re-write, and remove the LILO boot loader code from your MBR, your superblocks, etc.
Basically you want to add an "other" stanza to your /etc/lilo.conf and run the /sbin/lilo 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.

(?) CRC Error -- System Halted --

From Tom Manning on Tue, 11 Jan 2000

Hi there...

Problem I'm having with Linux is this: Couple of days ago, worked great. Then one morning I booted up, typed "linux" at the LILO prompt, and it immediately said "CRC ERROR --SYSTEM HALTED--"

End of story. CTRL-ALT-DEL doesn't even work, it has to be reset manually. I can boot into Windows just fine.

Linux and Windows are on seperate hard drives, I'm running a Celeron266 with 96MB RAM, ABIT BX6(1) motherboard.... What do you think?

Thanks very much


(!) It sounds like an ailing hard drive to me. Try a boot/rescue floppy (Tom's Root/Boot is nice for this --
If you can't mount your filesystems, try running fdisk to view the partition table. The command 'fdisk -l' will list all available partitions on all drives (except for the Debian fdisk which will require a series of commands like 'fdisk -l /dev/hda ; fdisk -l /dev/hdb' etc depending on the number of drives you have --- they use a more powerful version of fdisk which nonetheless has this limitation).
It's possible that the CRC error is only affecting your track 0 (where your MBR, and the partition table are stored).
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.
(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").

(?) Out of the Blue Strategic Advice for Red Hat

From dennis garber on Tue, 11 Jan 2000

In order for redhat to succeed, they must do 4 things.

  1. Buy's distrubution. Offer it as an alternative to yours
  2. Buy 's version
  3. Buy the technology of the lothar project. Which allows windows plug and play devices to work under linux.
  4. Get some focus groups together to see if the information in the documentation is getting accross to non programmers.

(!) I have no idea where this advice comes from.
Are you a share holder or investor in PhatLinux, Trelos Lothar, etc?
Of course this raises the question: "succeed at what?"
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."
Since I'm not a shareholder of Red Hat my initial gut reaction is: "who cares?"
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.
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."
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.
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.
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."
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.
(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" and consider getting and reading a copy of "Deterring Democracy" in particular).
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 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).
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).
I have no experience with PhatLinux ( 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.
TreLOS' "Win4Lin" ( clone of VMWare ( might be an interesting aquisition. Of course, with Red Hat's market capitization they could court VMWare directly.
I've never used either of these products personally. Most of my associates at Linuxcare ( 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).
Again, I can't speak to the technical merits of such an aquisition.
There's also Kevin Lawton's Freemware ( 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).
Meanwhile let's not forget the WINE project 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).
So, Red Hat (or other Linux companies) have a smorgasbord of MS-Windows binary compatability technologies to choose from.
Lothar ( 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).
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.
All of your suggestions do have a consistent theme. They all relate to the growth of Linux on the PC desktop.
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.
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).
Meanwhile, Red Hat has "bigger fish to fry" (or so they hope).
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.
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).
Their purchase of Cygnus would suggest a diversification into tool chain and embedded systems (the strengths of that company).
Their announced strategic relationships with Oracle et al suggest a focus on the IT server room --- the old NT killer.
I personally see these as different directions. None of them point to Joe consumer and the desktop.
Their support of GNOME 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.
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!
The Linux market is overly "distribution"-manic. There is relatively little difference among distributions. Red Hat, S.u.S.E., Caldera, TurboLinux, Debian, Corel and Stormix are all fundamentally the same software.

[ 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 alien, even that can generally be overcome quickly. -- Heather ]

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.
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.

(?) "Hardening" a Red Hat (into a Helmet?)

From Judith Bride on Tue, 11 Jan 2000

Mr. Dennis,
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.


(!) You could start with Bastille Linux at

(?) Virtual Mail Hosting in a Single Inbox

From Dina Yazbeck on Tue, 11 Jan 2000

Dear Sir

I am basicaly trying to host a domain and have all the emails of the users of this domain ( sent to one particular mailbox (such as 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.

Thank you.

(!) 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).
However, you can read the Fetchmail FAQ for too much information on this.

[ It might be possible to severely abuse plus-addressing to do it. See the Procmail Tips Pointer, and jump to section 13.2:

-- Heather ]

(?) Out-"Fox"-ing the Fox?

From S.R. Dawson on Tue, 11 Jan 2000

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?

Thank you.
Steve Dawson
Terre Haute, In

(!) 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!
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.
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)?

(?) Adding a Disk

From Samuel Q Roodman on Tue, 11 Jan 2000

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?

(!) 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.
Once you've restored your system to functionality --- with the new drive physically/electronically connected then it's easy.
  1. run: fdisk /dev/sdb
    (Assuming you only have one drive now, the new drive should be /dev/sdb).
  2. 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).
  3. for each partition:
    mke2fs -c /dev/sdbX
    .... BE CAREFUL! Make sure that you use the appropriate /dev/sd? node or you'll format one of your existing filesystems.
  4. edit your /etc/fstab. I use a text editor (vi or xemacs in vi emulation mode), but there are several user interfaces (GUIs and text/curses menuing systems) that can help you with that.
Typical new entries might look something like:
/dev/sdb1       /u1    ext2    defaults        1  0
/dev/sdb2       /u2     ext2    defaults        2  0
... The device names should match the ones you used for those mke2fs 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).
Read the fstab(5) man page using the command:
man fstab
... 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.
(That convention arose because many system calls, library functions, and commands and some commands and their configuration files have the same names).
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.
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:
mount /u1; mount /dev/sdb2
... 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.
(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).
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.

(?) Serial Capture

From Glenn Proctor on Tue, 11 Jan 2000

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.

(!) Look for TTYSnoop at Freshmeat:

(?) Remote Control through Telnet

From Dirk Blennemann on Tue, 11 Jan 2000

Dear James,

I noticed your address on the Linuxcare pages and understood that your are a Linux expert.

I like to control a Linux server via Telnet. Do you have an idea where I may find information about that subject?

Thank you very much in advance!


(!) 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.
There's not much else to say on that subject. I recommend the use of ssh, SSL telnet or other secure variants of the client/server package to protect you from sniffing (which is a big problem for traditional telnet) and spoofing (which is the bane of rsh and rlogin).
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.

[ As long as the client running the app can remotely access the I/O server on port 6000 or so. -- Heather ]

ssh 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.
This is a rather big topic, but any books on Linux and UNIX should cover it in great detail.

(?) Jaton 107 Blade 3D and XFree86

From Eduardo Castello on Tue, 18 Jan 2000

I have a Jaton 107 Blade 3D with 8Mb and a SamSung Syncmaster 550s and I can't configure the X server!!!

What should I do?!!!

Please help me!!!!!!!!!!!!!!!!!

(!) I have never heard of a "Jaton 107" --- but Blade 3D are Trident chipsets. A search on shows people reporting success with AGP Blade 3D and XFree86 3.3.5 and another using XFree86 3.3.4 from S.u.S.E. (AGP or PCI unspecified).
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
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).
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.
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.
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).
The answer is always the same:
  1. Determine the chipset.
  2. Check XFree86 web site and FAQ
  3. Check a few search engines
  4. Consider purchasing a replacement:
    1. a supported card
    2. one of the commercial X servers

(?) Redirecting stdin into telnet

From Christopher Smith on Tue, 18 Jan 2000

I'm running Red Hat 6.0, and I'm trying to redirect my telnet stdin from a file. Whenever I use either a pipe or < input, the client connects, informs me that the escape is ^], and says the remote server has closed the connection. What's wrong?

Example: $ telnet csmith < input.txt

Christopher Smith

(!) 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.
For example when I do an strace on my copy of telnet I find a number of system calls like:
ioctl(0, SNDCTL_TMR_STOP, {B134 -opost -isig -icanon echo ...}) = -1 ENOTTY (Inappropriate ioctl for device)
Note that result: ENOTTY which is kernel speak for "Error, this file handle doesn't refer to a terminal device (TTY)"
This suggests that telnet is detecting that its input file handle is not a terminal device, and is bailing at that point.
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.
For example, here's a simple 'expect' script to control telnet sessions:
#!/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"
This appears in my book (Linux System Administration, published by New Riders Publishing). You call it like:
autotel foo
... 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 .autotel/ filename (*) ).
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 'spawn' interactive processes on psuedo-terminals (ptys), and to 'expect' certain patterns from the them, and 'send' strings back to them.
Of course 'expect' has support for the common conditional and looping structures, and the 'expect' function supports timeouts values. So you can write arbitrary handling for errors and situations that don't match your intended dialog.
There's also the 'interact' 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 'interact' 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.
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:
#!/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

(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:
telfeeder host.domain.not ./filename
... note the lack of redirection here).
Note that it's also possible to use C-Kermit (the kermit communications package from Columbia University to automate and script a communications session. I wrote an article about this for SysAdmin Magazine ( 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.
In fact Kermit as improved since my article:
(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).
One other alternatives to 'expect' that comes to mind is the, PERL module which add 'expect' features to the PERL 5 language. (The old PERL 4 had a library that offered some of these features as well).
I'm sure there are others.
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.

(?) New Installation Stops at LI

From Gene Becker on Tue, 18 Jan 2000

I have loaded my new Red Hat 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!

Gene Becker

(!) 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 /boot filesystem of less than 32Mb and/or a root (/) filesystem of less than 127Mb.
If you can't do that because you have an MS-DOS or MS Win '9x partition in the way, then use LOADLIN.EXE.
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.
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 and you can find many mirrors to them at

(?) Netscape can't find ANY of THEM

From Space on Tue, 18 Jan 2000


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


(!) Sounds like you have something wrong with your /etc/resolv.conf (like it's empty or it doesn't list any valid name servers).
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).
If that still doesn't work, then look at your nsswitch.conf and consider replacing it with something more like:
# /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

The nsswitch.conf that comes with Red Hat 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.

(?) Can't Log in as 'root' via telnet

From liberty on Tue, 18 Jan 2000

hi ; !

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 "su" command .... do you know this problem or security,? thanks

(!) That's the way it's supposed to work. The normal login services check for a file named /etc/securetty and will refuse to accept a direct root login from any terminal/device that is not listed there.
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 /etc/pam.d/ to remove the lines that refer to the PAM securetty module.
In general it is better to accept this policy and use 'su' Indeed it is even better to disable telnet and replace it with 'ssh' (which generally doesn't impose this restriction, though it can be configured to do so).

(?) Exceed (MS Windows X Server) and Linux

From Sam.Young on Tue, 18 Jan 2000


I came across an article regarding Exceed and Linux authored by you and I wanted to drop you a line.

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.

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?

Thanks. Sam

(!) 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.
Linux can support all of the common Unix X protocols. So you can run xdm (X display manager) under Linux and Exceed should offer options to broadcast or query for "managed displays" (which should find any Linux box running xdm). 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 xdm.
It's also possible to configure your Linux system to allow rsh/rlogin (or telnet, ssh, 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: export DISPLAY=$YOUR_EXCEED_WINDOWS_IP_or_DNSNAME:0 (don't forget the colon zero at the end of that).
That's all there should be to it. Once you've remotely executed that command, and possibly added the Linux box to your "xhost" or access control list then you should be able to use X clients to your heart's content.
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.

(?) Double Reverse DNS Strikes Again

From Nelson Carvalho on Tue, 18 Jan 2000

im contacting regarding linux. i have linux box with apach and fpt and sendmail (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 ftp 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?
the web browser for www works with no hesitation, only ftp and mail take 90 seconds or more to establish a connection.
also these computers are not connected to the internet, its a private network.

i appriciate any help u could give me

(!) It sounds like you don't have DNS nor /etc/hosts 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.
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 /etc/hosts.allow and /etc/hosts.deny files).
The easiest and smartest solution is to make sure that you have proper reverse entries in your DNS zones and/or your /etc/hosts files for all of your systems.

(?) Closing Ports, Disabling Unwanted Services

From Troy Miller on Tue, 18 Jan 2000

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.


(!) Bravo! You are doing the right thing.
Three of the services you mention are usually launched dynamically by inetd. So you can disable them by editing your /etc/inetd.conf file, find these services by name, and commenting them out of the file (inserting a "#" (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:
kill -HUP $(cat /var/run/
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:
/etc/rc.d/init.d/inetd stop
... or something like that. (The exact path to your /etc/.../init.d scripts might differ depending on your distribution).
You can also find an remove the rcX.d scripts that start inetd during boot if you like. Your system might have a 'chkconfig' command to manage those SysV init symlinks for you, or you can use the technique that I've described here before (create /etc/.../rc*.d/disabled directories, and move the S??... symlinks into those as appropriate).
Search the back issues for "sysv init" to hear the long-winded discussion of how all of that works.
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 /etc/.../rcX.d/S* script that's starting sendmail and disable that.
After you've done that you'll have a machine that doesn't provide any network services to anyone.
You can double check that using a command like:
netstat --inet -an
... 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).

(?) Daemons

From sangeeth george on Tue, 18 Jan 2000


i am sangeeth george, doing my final year 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,

(!) 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.
Other than those (relatively minor and technical) details it is just a program.
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."
However, since I'm on my Debian box, which has a 'dict' client, and a 'dictd' (dictionary daemon) and several freely available lexicons installed I'll just yank in a definition from that:
[using my xemacs macro equivalent of vi's :r!dict daemon]

(?) From Jargon File (4.0.0/24 July 1996) [jargon]:

daemon /day'mn/ or /dee'mn/ /n./ [from the mythological
meaning, later rationalized as the acronym `Disk And Execution
MONitor'] A program that is not invoked explicitly, but lies
dormant waiting for some condition(s) to occur. The idea is that
the perpetrator of the condition need not be aware that a daemon is
lurking (though often a program will commit an action only because
it knows that it will implicitly invoke a daemon). For example,
under {{ITS}} writing a file on the {LPT} spooler's directory
would invoke the spooling daemon, which would then print the file.
The advantage is that programs wanting (in this example) files
printed need neither compete for access to nor understand any
idiosyncrasies of the {LPT}. They simply enter their implicit
requests and let the daemon decide what to do with them. Daemons
are usually spawned automatically by the system, and may either
live forever or be regenerated at intervals.

Daemon and {demon} are often used interchangeably, but seem to
have distinct connotations. The term `daemon' was introduced to
computing by {CTSS} people (who pronounced it /dee'mon/) and
used it to refer to what ITS called a {dragon}. Although the
meaning and the pronunciation have drifted, we think this glossary
reflects current (1996) usage.

From The Free On-line Dictionary of Computing (15Feb98) [foldoc]:


<operating system> /day'mn/ or /dee'mn/ (From the mythological
meaning, later rationalised as the acronym "Disk And Execution
MONitor") A program that is not invoked explicitly, but lies
dormant waiting for some condition(s) to occur. The idea is
that the perpetrator of the condition need not be aware that a
daemon is lurking (though often a program will commit an
action only because it knows that it will implicitly invoke a

For example, under {ITS} writing a file on the {LPT} spooler's
directory would invoke the spooling daemon, which would then
print the file. The advantage is that programs wanting files
printed need neither compete for access to, nor understand any
idiosyncrasies of, the {LPT}. They simply enter their
implicit requests and let the daemon decide what to do with
them. Daemons are usually spawned automatically by the
system, and may either live forever or be regenerated at

{Unix} systems run many daemons, chiefly to handle requests
for services from other {host}s on a {network}. Most of these
are now started as required by a single real daemon, {inetd},
rather than running continuously. Examples are {cron} (local
timed command execution), {rshd} (remote command execution),
{rlogind} and {telnetd} (remote login), {ftpd}, {nfsd} (file
transfer), {lpd} (printing).

Daemon and {demon} are often used interchangeably, but seem to
have distinct connotations (see {demon}). The term "daemon"
was introduced to computing by {CTSS} people (who pronounced
it /dee'mon/) and used it to refer to what {ITS} called a

(11 May 1995)
(!) It's obvious that the Jargon file and FOLDOC entries are basically the same. I believe that the Jargon entry was adopted by FOLDOC.

(?) 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?

(!) 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.

(?) 2. in one of the magazine i've read that Daemons are much more powerful than TSR ,as Tsr need some user it true?can u give an eg. for that.

(!) 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 lpd line printer daemon under Linux and the BSD UNIX').

(?) 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.

(!) 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 setpgrp() system call to set itself into a separate process group.
Most daemons on most UNIX systems are started by the init process (either directly, via /etc/inittab, or through one of the rc*) scripts during the boot process.
The most common daemons are:
"Dispatcher" --- starts other daemons in response to network connections on well known service (WKS) ports as specified in the /etc/inetd.conf and the /etc/services files.
Handles SMTP,
competitors: qmail and Postfix
"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.
Web server daemon.
Scheduler: this keeps a list of commands to be run at given intervals. cron performs most of the routine system maintenance
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.
print spool server
... et cetera.

(?) 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)

(!) There is nothing special about daemons.
What is the importance of background jobs in e-commerce and the "new world?" They are just programs. Likewise for daemons.

(?) kindly provide me anwsers to these questions + any website from where i can learn more about it.

(!) You need a basic book on UNIX.

(?) expecting an early reply from you.

thanking you
sangeeth george t

(?) Using a Downloaded .iso Image for System Upgrade

From ljones on Tue, 18 Jan 2000


I have Red Hat 5.2 installed, and have successfully downloaded the .iso image for 6.1.

How do I use the image to upgrade?


(!) Basically you have to burn that image onto a CDR or CDRW using 'cdrecord'
Then you can boot from the CD media and do your upgrade.
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:
mount -o loop /path/to/....iso /mnt/loop
... to mount the .iso 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.

[ 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 might have to mount it at /cdrom in order to convince the diskette to use it. -- Heather ]

(?) Automated Login Around a Challenge Card

From Wayne Xin on Thu, 20 Jan 2000

Sorry for the bold disturbance. I've been frustrated with this problem. Hope you can point me to the right solution.

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?

Appreciate your help.
PS: I am talking linux 6.1 (X86) modem/ISP configuration :)

(!) In the 'expect' scripting language you can use an 'interact' function with one or more "escape patterns."
Here's an example:
#!/usr/bin/expect -f

spawn telnet  "somehost"
expect "login:"
send "myname\r"
expect "enter key from your card:"
interact "\r" {
expect "success"
## continue with script
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).
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).
It's possible in 'expect' to have multiple "escape sequences" or "macros" as options to the the 'interact' function. Each of these can have its own block of 'expect' code. These other bits of code can 'spawn' other programs that have their own nested 'interact' functions, etc.
Obviously (as I've shown) you can also have multiple 'interact' sessions in a script. (It should also be obvious that you'll only get to the second and subsequent sessions by using a 'return' from each of the preliminary 'interact' invocations.
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 'expect', 'send', and related functions. The rest of the language is TCL.
Anyway that's the easiest way that I know of to do this under Linux. There's also an PERL module. I haven't used it, but it should have most of the same features.

(?) Mystery Question

From Robert Polk on Thu, 20 Jan 2000


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.

We'll say the domain name is My question is in regard to MX records.

Example: domain

 MX preference 10
 MX preference 10

then it continues with 20, etc preferences.

Currently most users are still using this external mail for their internet email ( There are however, about 20 users internally that are only using the internal mail host for their internet email (

(!) I'm not sure what the question is.
There is a problem if you're using both of these hosts ( and 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 could land on either of these hosts. Since each of them has equal MX values, and there are no lower MX values for the domain, the mail that lands on one or the other will stay there.
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.
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 while allowing you to scale to a much larger number of users than you could support on a single POP server.
(This assumes also that you'll configure all the mail hubs to re-write outgoing mail to masquerade the From: and Return: addresses).
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 addressed to "" will ignore the MX record. Likewise for any that's addressed to ""
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.
(I'm shamelessly limiting the MTA terminology here to that of 'sendmail' --- the various other MTAs have similar features and concepts).
Anyway, I've said more than enough given that I have no idea of what your question really is.

(?) idled RPM for Red Hat

From dsrao on Thu, 20 Jan 2000

Hi ,

Where can i find idled daemon for Linux(RedHat 6.1) & what are the neccessary steps for installing the same. Thanks in advance.


(!) Look at:
... The RPM Find repository ( is about the best place to find contributed RPMs for just about any RPM distribution. There is also an rpmfind utility ( which can automate much of the process of finding RPM files, resolving their dependencies, etc.
I'm not sure if idled is still being maintained.
You might also look at autolog ( which can also automatically log out shell sessions after inactivity. The only RPMs I found on this were for S.u.S.E. --- 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).

(?) Monthly Win (Lose) Modem Question

From ilijam on Thu, 20 Jan 2000

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.

thanks bye
[From Macedonia]

(!) 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.
For more info on those look at:
Linux VooDoo (Ultimate Source for Linux Drivers?)
.... and at the Linux "Winmodem Support" Page ( NOTE: DOES NOT WORK. You must use "" if you want to see their web pages.
(I didn't know that and had to hunt down the URL through Google after trying several variations of, ...linmodem.or,, etc).

[ As of press time, you don't have to. worked just fine for me.

But while I have you here, I know that the Lucent (binary-only) driver was mentioned on the Debian mailing list for laptop users. After some messing with it, the user was actually successful in getting a usable modem. -- Heather ]

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!)

(?) Installing a POP Daemon on Red Hat Linux

From Hongwei Li on Sat, 22 Jan 2000


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.

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?

I would greatly appreciate your help!

Hongwei Li

(!) 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.
Red Hat inexplicably puts their POP and IMAP daemons in the same file. You can install them using something like the following procedure:
1) Mount your RH Linux CD (disc #1?) using a command like:
mount /mnt/cdrom
2) Go to RPM directory using something like:
cd /mnt/cdrom/Redhat/RPMS
3) Install the imap....rpm package using a command like:
rpm -Uvh imap*
... or:
rpm -i imap*
That's basically all there is to it. You can test for POP installlation/accessibility using a command like:
telnet $TARGET 110
... where $TARGET is replaced with the hostname or IP address of the system on which you hope to find a POP server.
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 /etc/hosts.deny rule between your client and the server).
Otherwise you should get something a little like this:
Connected to popserver.wherever.not.
Escape character is '^]'.
+OK <13260.948530011@popserver.wherever.not>
USER nobody
PASS somedumbpassword
+OK Mailbox open, 4294967295 messages
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.
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!
(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).
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.
I did dig up a page where Cameron Laird started collecting notes for a comparison of POP daemons (
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.
One of the most popular POP daemons is QPopper ( 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.
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 ( on the term "POP."
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.
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 -- -- or an ssh tunnel).
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).
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).
Secure POP via SSH mini-HOWTO
linuxsec: [linux-security] Re: POP secure access??
Hope all that helps.

(?) IMAP/POP daemon on RH 6.0 and 6.1

From Randall Gellens on Sun, 30 Jan 2000

One of the most popular POP daemons is QPopper ( This is a (relatively) free package from the publishers of the Eudora mail client software for Macs and MS Windows.

Why do you say "relatively"?

(!) 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 Debian package lister and now I see that it appears to be a BSDish license.
So, I was wrong to qualify it this way. Qpopper is a free package.

(?) 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 ( on the term "POP."

Many people use Qpopper and Qmail together. There is a ./configure option for Qpopper to use Qmail's home dir mail spool.

(!) Glad to hear it. I obviously haven't been using qpopper recently. I should probably switch.

(?) 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).

By default, Qpopper does not permit users to log in with plain text passwords if they are enabled for APOP (or SCRAM).

(!) 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.
Is SCRAM some variant of the CRAM-MD5? (challenge/response authentication mechanism: RFC 2095 and 2195?)
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).

(?) Randall Gellens
Opinions are personal; facts are suspect; I speak for myself only
--- randomly selected quote ---
A child of five would understand this. Send somebody to fetch a child of five. --Groucho Marx, _Duck Soup_

"Linux Gazette...making Linux just a little more fun!"

More 2¢ Tips!

Send Linux Tips and Tricks to

Removing "Strange" files (response)

Sun, 30 Jan 2000 05:02:06 -0800
From: Jim Dennis <

Last month there was a shell script offered by Mendel Cooper <> for removing files with degenerate names. That is to safely unlink those filenames containing "special" or strange characters.

It appears to be a dangerous script, and is probably not the best was to accomplish his stated goals.

There is no reason to blindly and indiscriminately remove all files containing whitespace, and the character set [+{;"\=?~()<>&*|$]. There is good reason to warn the sysadmin about the existence of such filename/links in the "common" areas of the file hierarchy.

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."

To safely find all files with such strange characters one can use a command like:

       find / -name '*[^][a-zA-Z0-9#%~:,._+-]*' 
... this defines a list of characters which I allow in my filenames: alphanumerics (a-zA-Z0-9), the square brackets ([]) --- 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).

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.

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:

  find / -name '*[^])}{([a-zA-Z0-9@#$&"'"'"'%~:,._+-]*' | cat -v    

... 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:


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.

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.

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).

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.

To safely remove a file with special characters in its name one can use a syntax like:

       find . -maxdepth 1 -name .... -print0 | xargs -0 rm
... 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.

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.

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.

Incidentally, the reason I came across this is because I'm starting work on a "Linux Tips fortune cookie" file.

Mendel Cooper responds:

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.

2C Tip

Wed, 12 Jan 2000 18:18:58 +0100 (CET)
From: Flavio Poletti <

I've read the 2C Tip from Pat Bateman <> 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!!!

Good bye,

Flavio Poletti.

Quick html browse / edit

Wed, 19 Jan 2000 00:22:45 +0100
From: Paco <

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 & 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:

 - 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 
 Use: Launched from X

 - One of the KDE tools :
  KDreamSite see 
  WebMaker see 
  KWebDeb see 
 Use: Launched from X

  Galway (good !, GNOME html editor)  see
 Use: Launched from X

  There are also others 

  CoffeCup (good but not Open Source) ,
 Bluefish (Nice!) see
 Bulldozer (designed by the NASA!)

You can allways go to or even and search there for more stuff, I'm sure that this list is not complete.

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?)

Un saludo Francisco Muñoz

Yet another tip

Sun, 23 Jan 2000 16:22:57 -0700 (MST)
From: Mendel Cooper <

Hello again, LG people.

Here is another one for your 'tips' column.

It seems that "whois" queries are no longer quite the same. A simple "whois" 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

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:

[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

The script can be invoked as 'wh', which does a lookup of on the server. If invoked as 'wh-cw', it looks up on the server. If invoked as 'wh-radb', it looks up on the radb server.

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.


Tips in the following section are answers to questions printed in the Mail Bag column of previous issues.

ANSWER: Linux clickability in windows NT Domain

Fri, 31 Dec 1999 15:09:38 -0600
From: <

As a new feller, I'm flabbergasted that a question was asked that I KNEW!

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

"Enable DNS for Windows Resolution"

That must be checked.

Or, you could have your Linux machine name added to the WINS server.

ANSWER: Making Linux talk to an NT network

Fri, 31 Dec 1999 16:08:52 -0600
From: <


Use the Diagnostics found on

You might be better to at least read the FAQ first

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.

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.

ANSWER: linux on a laptop

Fri, 31 Dec 1999 16:53:47 -0600
From: <

Do not forget to check which is the Linux Gazette search engine for anwers before asking. I searched on ATI rate and got a lot of responses.

ANSWER: Not a tip, but rather a question

Fri, 31 Dec 1999 19:08:30 -0500
From: Gerard Beekmans <


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?

An idea is to use Software-RAID. This eliminates the need of a hardware RAID controller.

What you need to do, is read the Sofware-RAID mini HOWTO. You can get this document from

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.

ANSWER: pulse vs tone dialing

Fri, 31 Dec 1999 19:14:33 -0500
From: Gerard Beekmans <


currently my modem dials using tone, but my phone line needs pulse, how do fix it?

You need to modify your modem's dial string.

Currently, it says something like ATDT<here phonenumber>

Change this to ATDP<here phonenumber> and it'll dial in pulse-mode rather than in tone-mode.

ANSWER: Access 97

Sat, 1 Jan 2000 12:41:58 -0600
From: McKown, John <

First, happy new year!

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 . 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 ( 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.

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.

ANSWER: Re: pulse vs tone dialing

Sun, 2 Jan 2000 23:44:41 -0500
From: Pierre Abbat <

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.


ANSWER: Running Microsoft Windows Apps on Linux.

2 Jan 00 12:38:23 ARST
From: Ivan Andres Hernandez Puga <

Dear Rick:

Try with WINE ( I have heard that you can run MS-Office and VisualBasic 6 using that program.


ANSWER: Re: SNA Server

Tue, 04 Jan 2000 20:05:17 +0000
From: Burkhard Perkens-Golomb <

Just use metacrawler:

and search for "sna linux" (without quotes).

There's even an GPLed SNA Server available.


ANSWER: Linux Red Hat installation kernel panic Unable to mount root

Thu, 6 Jan 2000 13:58:39 +0100
From: Ewan Gatherer (ECS) <


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.

If this does not solve your problem or things do not go as I mentioned above drop me a mail.

Best regards

Ewan Gatherer

ANSWER: Linksys Ether16 NIC installation issues, as asked in the Answer Guy, LG Jan 2k

Thu, 06 Jan 2000 14:33:19 -0700
From: Marcus Post <

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

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:

#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.

#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.

#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.

#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.

Best of luck, Toodles

ANSWER: Win98 ICS + Linux

Fri, 07 Jan 2000 23:11:51 +0100
From: Anders Hoglund <


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!

Sorry for my bad english!

ANSWER: Diamond SupraExpress 56i V PRO

Wed, 12 Jan 2000 15:40:19 +0100
From: Alberto Caso <

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.

ANSWER: Suggestion and ideas

Wed, 19 Jan 2000 01:37:34 +0100
From: Paco <

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)

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)

2 To copy a file use (much like the old MSDOS copy, well not really) use: cp file1 target where target can be a file or a directory (just type man cp, now that you know how to exit tit :-)

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.

4 ????

ANSWER: Re: HELP with LT Win Modem and SB 16 >Sound Blaster wanted!

Thu, 20 Jan 2000 15:49:55 +1300
From: Greig McGill <

Following up from your january issue, specifically:

From: Gerard Beekmans

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.

This is not strictly true...

Go to

I managed to get my LT Winmodem going on my Acer notebook - runs sweeter than it did under win98.

This page written and maintained by the Editor of the Linux Gazette. Copyright © 2000,
Published in Issue 50 of Linux Gazette, February 2000

"Linux Gazette...making Linux just a little more fun!"

Web Applications with Database Connectivity

- getting started -



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.

Although this is written for a Red Hat Linux system, most of it ( if not all ) applies to other distributions.



We all know about Linux... You could also check my Introduction to Linux


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.

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 : http://localhost/. You should see a page which tells you that the installation was successful.


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.

The easiest way to set up PostgreSQL is from RedHat's 6.1 RPMs. Install everything beginning with postgres.

I recommend not to store your database files in the default location, /var/lib/pgsql/, but in /home/postgresdb ( or somewhere in /usr/local ). That way, if you have to reinstall the system, you woun't lose the data ( you do have a separate partition for /home, don't you ? ).

So how do you do this ? After installing the RPMs, user postgres is the database administrator ( not root !). Logged in as root, set up a password for postgres :

# passwd postgres

Next, create the directory and change it's owner to be the PostgreSQL administrator :

# mkdir /home/postgresdb
# chown postgres.postgres /home/postgresdb

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 /etc/profile file :



In order to use the database, the postmaster must be running. You'll probably want it to run all the time, so let's add it to the start-up daemons :

# setup

Select Sytem services, then make sure postgresql is marked with a *.

Okay, one more thing. We must modify in /etc/rc.d/init.d/postgresql ( which is run at start-up ) the database directory. Replace every occurence of /var/lib/pgsql with /home/postgresdb

Now you are ready to go. Start the postgresql service :

# /etc/rc.d/init.d/postgresql start

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 ).

It's time to test the instalation. Create a user pguser :

# adduser pguser
# passwd pguser

Logged in as postgres, create the same user for PostgreSQL :

$ createuser pguser

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.

Log in as pguser and run psql. Create a table and insert a few records :

pguser=> create table friends ( name varchar(30), email varchar(90) );
pguser=> insert into friends values ( 'John', '' );
pguser=> insert into friends values ( 'Mary', '' );
pguser=> select * from friends;

You could do this from PgAccess ( 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 ).

Time to move forward.


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.

Again, the easiest way to set up PHP is from RedHat's 6.1 RPMs. Install php, php-manual, php-pgsql.

Now let's tell Apache about PHP. Uncomment the follwing lines in /etc/httpd/conf/httpd.conf

LoadModule php3_module modules/
AddModule mod_php3.c

and /etc/httpd/conf/srm.conf

AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps

You could also add to DirectoryIndex index.php3 ( in srm.conf )

Choose a place which will hold our work. For start you could use /home/httpd/html/ ( if that's your DocumentRoot defined in srm.conf ).

Let's test with a simple document named test.php3 ( the extension is very important ) with a single line : <?php phpinfo() ?>

Access this file from your web browser from http://localhost/test.php3
You should see lots of information about PHP, your server ...

Putting it all together

Everything is set, let's get some results !

Our friends John and Mary are still there, waiting for you. Create a file named friends.php3. Here it is, with lots of comments.


//define variables used with the database
//usually this goes in an include file
$PG_HOST= "localhost";
$PG_DATABASE= "pguser";
$PG_USER= "pguser";

$PG_PASS= "";

//let's open the database
$dbconn=pg_connect(  "dbname=$PG_DATABASE host=$PG_HOST port=$PG_PORT user=$PG_USER password=$PG_PASS" );
if ( ! $dbconn ) {
    echo  "Error connecting to the database !<br> " ;
    printf( "%s", pg_errormessage( $dbconn ) );

//the database handle is $dbconn
//run a sql command to insert another record
$sqlcom= "insert into friends values ('Marius', '')";

$dbres = pg_exec($dbconn, $sqlcom );
if ( ! $dbres ) {
    echo  "Error : " + pg_errormessage( $dbconn );

//let me know I've been added to the database by sending me an email
mail( """Lucky winner !"
"You've just won a row in our database. Congratulations !""From :");
//yes, it's that simple
//( sending an email I mean, it's not so easy to win :)

//what do we have now in the database ?

$sqlcom= "select * from friends";

$dbres = pg_exec($dbconn, $sqlcom );
if ( ! $dbres ) {
    echo  "Error : " + pg_errormessage( $dbconn );

//and interpret the results

while ($row<$rowmax)
    $do = pg_Fetch_Object($dbres, $row);
    $s= "<p>$do->name | $do->email\n";
    printf( "%s", $s);

//close the database
pg_close( $dbconn );

//That's all. This isn't a tutorial to PHP, I wanted to show you how
//it can be done. As you can see, it isn't hard at all

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 :)


Well, that's it. You are now able to start developing database-enabled web applications. Of course, you should learn more. Much more.

Copyright © 2000, Marius Andreiana
Published in Issue 50 of Linux Gazette, February 2000

"Linux Gazette...making Linux just a little more fun!"

Interview with Mike Cowpland, Corel Corporation


[Originally published on the FreeOS site as Reprinted here at the author's request. -Ed.]

Dr. Michael Cowpland, president and CEO of Corel 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

What is Corel doing with Linux?
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.

Will Corel become a Linux company in the near future?
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.

Where do you see Linux 5 years from now?
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.

Why did Corel decide to develop its own distribution rather than adopting or embracing an existing one?
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.

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?
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.

Corel has been a Windows developers and is now a Linux developer. Does it affect your relationship with Microsoft?
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.

What do you think is better. Being a Linux Developer or being a Windows developer?
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.

How is Corel helping the Linux community?
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.

Which are the big vendors who have agreed to pre-install Corel Linux on their systems?
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.

There are some installation-related issues regarding Corel Linux 1.0. What is Corel doing about those?
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.

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?
The project has divested to, 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.

Will Corel do something similar with Corel Linux?
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.

Are all Corel applications going to be available for Linux?
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.

(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.)

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?
It should be available in beta form in a week's time and that's very close to year-end.

What about the competition to your office suite from Star Office?
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.

What would happen if Microsoft office were available for Linux?
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.

Both Microsoft and Sun are offering their office suites over the servers with the concept of application service providers. What are Corel's plans?
We are doing that too. We have an offering for ASP's as that provides very low cost of ownership.

Does Corel plan to sell computers with Linux and Corel apps preinstalled?
No we would rather work with partners to do that.

There have been some controversies about the Corel Linux licensing which wasn't 100% GPL?
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.

Will Corel support other free operating systems in the future?
No. We think it is important to focus on Linux, as it is clearly the one.

There were some talks about Red Hat taking over Corel, is that going to happen?
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.

What if it happens?
It is not going to happen (laughs).

If you had a choice to be taken over by a company, which company would you prefer?
None (laughs).

How does Corel plan to make money out of the open source model?
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.

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

Is Corel's Web site powered by Corel Linux?
Some part of it is on Solaris and Window NT, but the trend would be towards moving to Corel Linux.

What are Corel's plans for India?
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.

Do you have any interesting questions to Mike Cowpland which haven't been answered in this interview? Send an email to and the top 5 questions will be forwarded to Mike Cowpland. 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 .

Copyright © 2000, Prakash Advani
Published in Issue 50 of Linux Gazette, February 2000

"Linux Gazette...making Linux just a little more fun!"

HelpDex logo HelpDex logo



[Linux Gazette is proud to present the Linux comic strip HelpDex by cartoonist Shane Collinge. Each Gazette issue will contain the Author's and Editor's favorite cartoons from the previous month. All cartoons may be seen at A new cartoon is posted there daily Monday-Friday. -Ed.]

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


Copyright © 2000, Shane Collinge
Published in Issue 50 of Linux Gazette, February 2000

"Linux Gazette...making Linux just a little more fun!"

Creating A Linux Certification Program, Part 8

"Dreams Become a Reality"


[ This is the continuation of a series begun by by Dan York. -ed.]

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; )which was incorporated (nonprofit) in Ontario, Canada in October, 1999; has released its T1A Exam

( ) to the world through the Virtual University Enterprises' (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.

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 "maddog" Hall of Linux International. After many months of hard work and thousands of volunteers, Evan Leibovitch proclaims, "This is what we've been working towards since the day we started." "We've tried to make our program challenging, vendor-neutral and accessible, and I believe we've succeeded on all fronts" according to Evan. Scott Murray(Director of Exam Development) adds "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." "We want to provide a certification that is supported and respected by it's community" he says. And further acknowledgment comes from Dan York; "We've learned an amazing amount...and truly demonstrated the power of a group of people working together to accomplish a common goal!" "All that we can say is THANK YOU for helping to make this dream a reality" he says.

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 have helped us greatly. We have an extensive listing of our volunteers at .

Those interested in taking the first exam(T1A) will need to register with VUE; and pay a fee of $100. The test will take approximately 1-2 hours. To find the location nearest you go to .

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 "TIPS system". 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 Some events include the Linux World Expos, Linux Business Expos, Atlanta Linux Showcase, and the following:

On February 2-4, we will be at Linux World in New York City and Linux World Paris(contact ), February 24-March 3 in Hannover, Germany for the CeBIT show( ), March 7-10 in Sydney, Australia for the Open Source Expo and Conference(contact ), and the Linux Business Expo(with Comdex) in Chicago on April 17-20, 2000. Please contact the above persons or Dan York ) if you can staff any of the booths for these shows.

Stay tuned to the Linux Gazette and Linux Professional Institute, as we move forward to making these dreams a reality within the Linux community.

*Linux is a trademark of Linus Torvalds; Linux Professional Institute is a trademark of the Linux Professional Institute Inc.

Copyright © 2000, Ray Ferrari
Published in Issue 50 of Linux Gazette, February 2000

"Linux Gazette...making Linux just a little more fun!"

From Pico to Nano


The Slightly Bigger Editor


The program "Pine" has become a popular program for both Email and News. It makes use of a small and simple editor named "pico".

Pico's command set only has a dozen commands and it shows the most useful commands in the last two lines of the display:


   UW PICO(tm) 3.5                New Buffer


^G Get Help  ^O WriteOut  ^R Read File ^Y Prev Pg   ^K Cut Text  ^C Cur Pos
^X Exit      ^J Justify   ^W Where is  ^V Next Pg   ^U UnCut Text^T To Spell

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:

Pine and Pico are not "OpenSource"

Pico is dead - long live Nano

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.

That's why there is now an OpenSource project for a "Pico clone" - "Nano". (Think of it as "'n another editor", if you like.)

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".

The Editor's New Clothes

Here is a screenshot of nano:


   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

The difference to pico is subtle - no more copyright by the University of Washington ["UW ... (tm)"]. :-)

Also, the WriteOut command now is above the Exit command, so you can see both "exit commands" in one column.

The new commands are in the second column - GotoLine and Replace.

The Help command is still available with Control-G - but when you invoke it then you will see this message:

        [ Help function not yet implemented, nyah! ]
But as with all program which develop fast - the documentation is usually missing.

But do not despair - there's help on the command line:

$ nano -h
Usage: nano [GNU long option] [option] +LINE 

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
All these switches are pretty nice, of course. Try them! Maybe we will see these lines in some Unix programs from now on:
        set editor="nano -citxz"

What's your version?

One of the things I like about program is that they identify themself by their version (and relase date):

$ nano -V
  nano version 0.8.0 by Chris Allegretta
Soon this will hopefully show both important addresses - that of the website and the email address:

$ nano -V
  nano 0.8.0 by Chris Allegretta

Smaller, Faster, Better

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)).

So, although "nano" is bigger than "pico" I hope that nano will both be smaller in source as well as in binary size.

A quick look at history

As of Jan 31th, 2000, the current version is nano-0.8.1 and the tape GNU-zipped archive has about 72 kilobytes.

        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
On average each version adds 2K - so when nano-1.0.0 gets released it should be around 110k. ;-)


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":

Unpack with GNU tar:
   gtar xvvzf nano-0.8.1.tar.gz
.. and run the configure script and make the binary:
   cd nano-0.8.1
The installation is pretty fast. :-)

Now strip the binary:

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
Only 38K!

guckes@linux> ls -l =pico
-rwxr-xr-x   1 root     root       159576 Aug 13 02:23 /usr/bin/pico
Yes, Pico is bigger!

And if someone asks you why people delight in nanotechnology - now you know. Enjoy Nano!

Discussing Nano

As far as I know there is no mailing list for the development of Nano yet. Therefore please use the newsgroup comp.editors to discuss Nano.

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:

        Followup-To: comp.editors


The Big Future

The author, Chris Allegretta, is currently working towards "Internationalization" (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.

Also, an interface to "spell checking" 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!

Personally, I hope that these commands will be added:

Links and addresses

Chris Allegretta
Nano editor maintainer or (currently)
Nano editor HomePage (run by Chris Allegretta)
Nano editor distribution location (only HTTP - no FTP or FTP mirrors yet)
Nano editor RPMs
Pico editor page (run by Sven Guckes)

Sven Guckes
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,

Copyright © 2000, Sven Guckes
Published in Issue 50 of Linux Gazette, February 2000

"Linux Gazette...making Linux just a little more fun!"

Linux Site O' The Month: Unix Guru Universe


What's This?

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...

Unix Guru Universe - "The Official Home Page for Unix System Administrators"

I can hear you yelling now - "Hey waittaminnitt! This is Linux Gazette, not UN*X 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.

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.

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.

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.

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:

... 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.

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.

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.

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.

Copyright © 2000, Sean Lamb
Published in Issue 50 of Linux Gazette, February 2000

"Linux Gazette...making Linux just a little more fun!"

Large Objects and Perl DBI


If this document changes, it will be available here: .


  1. Resources
  2. Introduction
  3. Using Perl DBI
  4. Using Large Objects and Perl
  5. Using the database server with a webserver.


I assume that you have DBI and DBD::Pg installed with Perl.
  1. man DBI
  2. man DBD::Pg
  4. A search for "large" and "dbi" on one of the postgresql newsgroups.
  5. -- A chapter on Large Objects in the Programmer's Guide for PostgreSQL.
  6. Two examples using psql which explain how to use large objects.


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.

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.

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.

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.

Using Perl DBI

PERL 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 PERL, PHP, and Python 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".

use DBI;
use vars qw($dbh);
    ### zing is the database I am connecting to. 
$dbh ||= DBI->connect("dbi:Pg:dbname=zing");

my $Command = "select first_name,last_name from people 
          sort by last_name,first_name";

my $sth = $dbh->prepare($Command);
my $Result = $sth->execute;

while (my @row_ary  = $sth->fetchrow_array)
  {print "<br> $row_ary[0] $row_ary[1]\n";}
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 this note on Large Objects.

Using Large Objects and Perl

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 performance guide for more info.

Okay, how do we import and export large object from PostgreSQL? This following example comes straight from the this PostgreSQL documentation. This example uses the program psql.

    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';

Now, we need to convert this into perl. Here is a perl script which would do the exact same thing.


use vars qw($dbh);
$dbh ||= DBI->connect("dbi:Pg:dbname=zing");

my $Command = "INSERT INTO image (name, raster)
            VALUES ('beautiful image', lo_import('/etc/motd'));";

my $sth = $dbh->prepare($Command);

$Command = "SELECT lo_export(image.raster, '/tmp/motd') from image
             WHERE name = 'beautiful image'";
$sth = $dbh->prepare($Command);

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.

  ## This command will return a numeric "oid" number
$Command = "SELECT raster from image WHERE name = 'beautiful image'";
$sth = $dbh->prepare($Command);
my @row_ary  = $sth->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->prepare($Command);

For live examples, ZING at 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.

Using the database server with a webserver.

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.
  1. 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.
  2. 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).

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.

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.


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 becoming a developer for PostgreSQL! 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.

Anyways, I will try to find better solutions, so if you hear of any!

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 ZING, or do something charitable for some other cause! If we all do a little, it makes a big impact.

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.

Mark Nielsen works for The Computer Underground as a receptionist and as a book binder at ZING. In his spare time, he does volunteer stuff, like writing these documents for The Linux Gazette (and other magazines).

Copyright © 2000, Mark Nielsen
Published in Issue 50 of Linux Gazette, February 2000

"Linux Gazette...making Linux just a little more fun!"

Creating Installation CDs from various Linux Distributions

By and

If this document changes, it will be available here:


  1. References
  2. Introduction to CD-ROM burning
  3. Installing an IDE CD-ROM writer
  4. Cdrecord and Xcdroast
  5. Download your favorite distributions.
  6. Write the CD-ROM
  7. Conclusions and future articles


  1. CD-Writing HOWTO by Winfried Trümper
  2. Lilo mini-Howto
  3. Xcdroast

Introduction to CD-ROM burning

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.

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.

Installing an IDE CD-ROM writer

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.

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.

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.

  1. If your CD-ROM writer is the master drive on the primary controller, it uses /dev/hda.
  2. If your CD-ROM writer is the slave drive on the primary controller, it uses /dev/hdb.
  3. If your CD-ROM writer is the master drive on the secondary controller, it uses /dev/hdc.
  4. If your CD-ROM writer is the slave drive on the secondary controller, it uses /dev/hdd.
Now here are the two ways of attaching the ide-scsi module to your CD-ROM writer.
  1. 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
    linux hdd=ide-scsi
    and the CD-ROM writer located at /dev/hdd will become a scsi CD-ROM writer located at /dev/scd0.
  2. If you want to use lilo to configure your CD-ROM writer, you need to put the following line in /etc/lilo.conf file:
    and a sample file is here
    and then after you are done editing this file, type the command "lilo" to install lilo. Then reboot.

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.

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:

rm -f /dev/CD-ROM
ln -s /dev/scd0 /dev/CD-ROM
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.

Cdrecord and Xcdroast

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 Xcdroast if you want further information. One note about Xcdroast, you will need a spare primary partition (about 1 gig) to normally use Xcdroast.

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.

If you have not installed the IDE CD-ROM writer properly, you will probably get this response:

# cdrecord -scanbus
cdrecord: No such file or directory. Cannot open SCSI driver.
If you properly installed your IDE CD-ROM writer, issuing the command "cdrecord -scanbus" should produce something like this:
# cdrecord -scanbus
Using libscg version 'schily-0.1'
         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) *
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.

Download your favorite Linux distribution

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.

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 and here is the image for RedHat 6.1 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.

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.

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.


We like 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.

We downloaded the file 6.1-i386.iso in the folder /tmp

Now, that we have the CD-R setup and the file downloaded, we can proceed with writing the CD.

Write the CD-ROM

You can use Xcdroast to install the image, but we will use cdrecord for this example.

We put a blank CD-ROM writer in the CD-ROM writer drive, navigated with cd to /tmp directory, and issued the cdrecord command:

cd /tmp
cdrecord -v speed=2 dev=0,0,0 6.1-i386.iso
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.

Conclusions and future articles

One note, professionals tend to use SCSI CD-ROM writers. SCSI systems are much better than standard IDE systems.

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).

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.

recently graduated from OSU. works for The Computer Underground as a clerk and as a book binder at ZING. In his spare time, he does volunteer stuff, like writing articles for The Linux Gazette and developing ZING's website.

Copyright © 2000, Mark Nielsen and Krassimir Petrov
Published in Issue 50 of Linux Gazette, February 2000

"Linux Gazette...making Linux just a little more fun!"

Sharing Your Home

By and

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.

Disclaimer: 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.  All the examples are taken directly from our home networks so we know they work.

How to use this guide:

Prerequisites: 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.

Protocols: 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.

Sharing home to a windows box

Sharing home to another linux box

Some final thoughts

Copyright © 2000, JC Pollman and Bill Mote
Published in Issue 50 of Linux Gazette, February 2000

"Linux Gazette...making Linux just a little more fun!"

Source file management in a complex networked environment


When you have more than one person working on a project you need to make sure that they don't overwrite each others changes.  When you only have a few directories then Revision Control System (RCS) is fine.  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.

What you need is Concurent Version System (CVS). 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.  CVS is already installed in Redhat 6.0+.

As great as CVS is it still allows your source code to go across the internet without encrypting it.  This month I am going to talk about setting up a secure networked repository using Secure Shell (ssh).  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.

  1. Setup ssh on all of your boxes.  This program is available here. The company that makes ssh can be found here.
  2. Setup sshd to run on the machine that will host the repository.
  3. Create a new user account for each group of programmers on the machine that is hosting the repository account.  For this example create a new user called repository.
  4. Create a .ssh directory on everyone ones accounts, including the new repository accounts.
  5. Run 'chmod 700 .ssh' as the owner of the home directory on everyones account, including the repository accounts.
  6. Have everyone create a public and private key using ssh-keygen.
  7. Collect everyones ~/.ssh/ files and place these into the ~/.ssh/authorized_keys in the repository account if they are allowed to work on that project.
  8. Run 'chmod 700 ~/.ssh/authorized_keys' as the repository account.
  9. Test to make sure that people can use 'ssh repository@repository_host'  where repository is the name of the group directory and repository host is the name of the host that has the repository.
  10. Create a directory called ~/cvsroot in the repository home directory.
  11. Setup the followint two environmental variables in whatever shell script rc file you need to.  For me it was my ~/.bashrc file:

    export CVS_RSH=ssh
    export CVSROOT=repository@repository_home:/home/repository/cvsroot

  12. Login to another window to ensure that you still can login and that these environmental variables got set correctly.
  13. Do a 'cvs init' command as any user authorized to use this repository and you should get no error messages.
  14. If you get any error messages, start over from scratch and repeat directions until you get it works.
  15. If you have any questions please contact me.
  16. Take this oportunity to play with both SSH and CVS.  Read the documentation, see if you can think up of new ways of using them.  If anyone has another way of setting up cvs repositories, please share with us!  I am especially interested in finding out how to setup a public cvs repository like I see on the internet all the time.
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.

Copyright © 2000, James M. Rogers
Published in Issue 50 of Linux Gazette, February 2000

"Linux Gazette...making Linux just a little more fun!"

Developing Web Applications - Part III


At this time, I will close the Developing Web Applications 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 creating your own online bookmark. Once you understand this example, you will be able to do basic mySQL operations with php3.

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:

Choose whatever fits you better. For this small project, I will give you the configuration that fits the needs for this application.

    Database Host: myserver
    Username: myusername
   Password: mypassword
   Database Name:  mydatabase
   Table Name: bookmark
    Fields in the bookmark table:  id, url, description

All the information above is relevant when coding the application. Note: The fields are the columns on the database. The id was defined to allow every entry in your database to be unique (primary key), it should be defined to be unique, and auto-increment.

Once you have your database defined and working, you may start coding your application, and here is how it goes:

The HTML form that will capture the data and send it in to the database: [text copy of this listing]

    <title>Anderson's bookmark</title>
    <body bgcolor=white>
    <form ACTION="sendbook.php3" METHOD="Post">
          <center><p>Enter The Bookmark Title:</font>

          <input TYPE="text" SIZE="40" NAME="description"> </p>

          <center><p>Enter The Bookmark URL:</font>

          <input TYPE="text" SIZE="40" NAME="URL"> </p></center>

          <p><input TYPE="Submit" VALUE="Check"><br>
    <a href="book.php3">View Bookmarks</a>
The above form will have to text fields: one for the URL, the other for the URL description. The form tag will be responsable for telling the browser what to do when the Submit button is pressed. In this case it will call the php3 script sendbook.php3, and send the data to that script.

The following script is the sendbook.php3. This script will open a connection to the mySQL database, and send the data from the HTML form to the database. [text copy]

           //if any of the two fields is left blank, don't send data, but send an error message.
           if(!($description=="") || !($URL==""))
              //connects to database  server
              mysql_connect(myserver, myusername, mypassword);
              //connects to the database
              //this is the query command to insert into the bookmark 
              // table the values from $description and $URL
              // inside the Columns description and URL
              mysql_query("insert into bookmark(description, URL) values ('$description', '$URL')");
              //closes connection to database.
              //After the data is inserted, the browser will form a web page with 
              // the following information.
              echo "Thanks for adding the bookmark<br>";
              echo "<a href=book.php3>View BookMraks</a><br>";
              echo "<a href=sendbook.html>Add Another One</a><br>";
              echo "You need to go to the form: <a href=sendbook.html>Sendbook</a>";
The third and last script is called book.php3. This script will query the data entered by sendbook.php3, and display on the screen all of your bookmarks. [text copy]
    <?     echo "<HTML>";
           echo "<HEAD><TITLE>Afsilva's Bookmark</title></head>";
           echo "<body bgcolor=white>";
           echo "<IMG SRC=bookmark.jpg><br><br>";
                //Connect to DB server
                mysql_connect(myserver, myusername, mypasword);
                //Connect to Database
                //Query the database for everything(*) that is on it.
                $result = mysql_query("SELECT * FROM bookmark");
                //mysql_num_rows() returns the number of bookmarks found.
                $rows = mysql_num_rows($result);
                echo "Number of bookmarks:";
                //outputs the number of records (rows)
                echo $rows;
                echo "<br><br>";
                echo "<a href=sendbook.html>Insert More BookMarks</a>\n<br><br>";
                echo "<table border=1>";
                //This allows you to access the query in a form of an array.
                //The array index is the name of the field of the database.
                while ($row = mysql_fetch_array($result))
                      echo "<tr><td>\n";
                      // The . operator adds string together.
                      echo "<a href=".$row["URL"].">".$row["description"]."</a>\n";
                      echo "</td></tr>";
                echo"<a href=../index.html target=_top>";
                echo "</HTML>";
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.

I hope that this article was useful, and taught you something new. Feel free to email me at: , and send me your comments and questions.

Copyright © 2000, Anderson Silva
Published in Issue 50 of Linux Gazette, February 2000

"Linux Gazette...making Linux just a little more fun!"

Artificial Intelligence and Linux (2nd Edition)


[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]

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.

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.

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.

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.

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 ( 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.

Allow me to show a very basic search algorithm known as the Depth First Search(click for image).

This program allows you to find a solution path from the START point to some GOAL. The DFS algorithm is pretty simple so implement, since it is a recursive algorithm. What DFS 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.

But why search a graph?

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).

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.

The Program below is the representation of the graph above in Prolog. [text version]

=========LIST #1=============

% Name:   Anderson Silva
% Date:   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).

The algorthim that searches the graph for a specific goal: [text version]

=========# LIST #2=============

% Name:   Anderson Silva
% Date:   March 10, 1999
% ================================
% This is the Depth First Algorithm
% implemented in Prolog that will
% use the knowledge base
% ================================

% reverse_write/1
% Inverts the order of the stack.

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(''),
                         dfs([], INode, 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)),
              write('Goal? [Followed by a period]'),

% 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.


% 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),
                       \+ member(Node1, Path),
                       dfs([Node|Path], Node1, Sol).

With this Prolog program, you will be able to run a Graph Search on your computer. Notice that LIST #1 defines the graph, therefore you can make changes in LIST #1 and make your own graphs, and see if the algorithm will find the node you are looking for.

There are several other search algorithms to solve AI problems, for example: Breadth-First Search, Heuristic Search, Pattern-Directed Search, and others.

As I said, this is one small topic in AI, that I 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: Expert Systems, Robots, Knowledge Representation, Fuzzy Logic, Natural Language, Automated Reasoning, and others.

Finally, I would like to leave you with three books that I used in college about AI.

  1. Artificial Intellegence: Structures and Strategies for Complex Problem Solving. Luger, George and Stubblefield, Willian.
  2. Prolog Programming in Depth. Covington, Michael et al.
  3. Are We Unique?. Trefil, James.

Copyright © 2000, Anderson Silva
Published in Issue 50 of Linux Gazette, February 2000

Linux Gazette... making Linux just a little more fun!

Published by Linux Journal

The Back Page

About This Month's Authors

Marius Andreiana

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, "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 :-)"

Shane Collinge

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.

Ray Ferrari

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.

Sven Guckes

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 and For more info see or write to .

Sean Lamb

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 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 .

Mark Nielsen

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.

Krassimir Petrov

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).

JC Pollman and Bill Mote

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.

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.

James Rogers

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.

Anderson Silva

Anderson is a Senior at Liberty University majoring in Computer Science. Originally from Brazil, he works at Whetstone Logic, Inc. as an Online Application Developer. He is also a member of the Association for Computing Machinery (ACM) and the Lynchburg Linux User Group in Lynchburg, Virginia.

Not Linux

In late January, I went to the 8th International Python conference in Arlington, VA, and attended the Zope 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 ( 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.

Eventually, the Gazette itself may migrate to a more interactive environment like Zope. However, because the Gazette's 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.

The folks who brought you the WTO protests are at it again with a plan to Shut Down Microsoft. 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 Gazette on how it turns out. (Does this remind anybody of the Silicon Valley Tea Party, 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.)

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.

Have fun!

Michael Orr
Editor, Linux Gazette,

This page written and maintained by the Editor of the Linux Gazette.
Copyright © 2000,
Published in Issue 50 of Linux Gazette, February 2000