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

Copyright © 1996-98 Specialized Systems Consultants, Inc.


Welcome to Linux Gazette!(tm)


Published by:

Linux Journal


Sponsored by:

InfoMagic

S.u.S.E.

Red Hat

LinuxMall

Linux Resources

cyclades

stalker

LinuxToday

Our sponsors make financial contributions toward the costs of publishing Linux Gazette. If you would like to become a sponsor of LG, e-mail us at sponsor@ssc.com.

Linux Gazette is a non-commercial, freely available publication and will remain that way. Show your support by using the products of our sponsors and publisher.



Table of Contents
March 1999 Issue #38



The Answer Guy


TWDT 1 (text)
TWDT 2 (HTML)
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.


Got any great ideas for improvements? Send your comments, criticisms, suggestions and ideas.


This page written and maintained by the Editor of Linux Gazette, gazette@ssc.com

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


 The Mailbag!

Write the Gazette at gazette@ssc.com

Contents:


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 gazette@ssc.com. Answers that are copied to LG will be printed in the next issue in the Tips column.


 Date: Wed, 3 Feb 1999 10:47:38 +0100 (MET)
From: Jan-Hendrik Terstegge, jh.terstegge@gmx.net
Subject: Korn Shell FAQ

I'm looking for a good Korn Shell FAQ, because I dislike reading the Manpages. Does anyone know a good Internet Address of a FAQ?

Thanks in advance

--
Jan-Hendrik


 Date: Tue, 2 Feb 1999 15:13:18 -0500
From: "Jim Coleman", jecoleman@upsala.org Subject: Windows program replacements

I'm making the move from Windows to Linux and am in the process of tracking down Linux programs to replace anything in Windows that I feel I cannot do without. It's a short but stubborn list. Presently, I'm trying to locate a Linux Family Tree program (I'm using Family Tree Maker in Windows) and also need a Linux program that can import the contents of several Cardfile databases.

I've heard of and have downloaded the Unix based LifeLines program but have not yet tried it. Though it comes highly recommended, even the author admits that it's somewhat dated. I was hoping a more recent program was available. Not necessarily freeware, by the way.

Suggestions would be appreciated. Thanks,

Best Regards,
--
Jim Coleman


 Date: Wed, 3 Feb 1999 14:45:12 -0800
From: "Michel A. Lim", support@whl-international.com
Subject: RH5.2 and Intel EtherExpress Pro/10+ ISA NIC

I am a Linux newbie, with some computer experience, trying to install my intel etherexpress pro/10+ isa card on my new Linux box (Macmillan RH 5.2, kernel 2.0.36-0.7). I have read several newsgroup postings regarding this network card, but I could really use a step-by-step guide.

The card did work when the OS was win98. Linux is now the only OS on this computer. The Linux install was successful except that it did not recognize my network card. I disabled the plug and play function of the card using the intel configuration software (softset2), and then tried re-installing Linux and passing the IRQ and I/O settings (7 and 320-32Fh respectively) but that also did not work. I then tried to add the following lines to /etc/conf.modules:

alias eth0 eepro
options eth0 io=320-32Fh irq=7
this was also unsucessful. Furthermore, pnpdump returns "board not found," and even AFTER reading the HOWTO for isapnptools, I have no idea what to add to add to my isapnp.conf file.

Any help would be very appreciated, just please be detailed as I am not a guru by any stretch of the imagination.

thank you. --
michel a. lim


 Date: Mon, 8 Feb 1999 18:30:50 -0200
From: "Eliane Aureliana de Sousa", lili@martins.com.br
Subject: We do not relay...

Could you help me? I have Red Hat Linux installed and I have sendmail and a pop server running but when I try to send and receive mail via Netscape what I receive is this mensage: We do not relay..... and there is neve any msg in my mail box.

I've read as many how-to as I could, but I couldn't find nothing about my problem. Send mail is already running, I need to know how to set the permissions to let my users send and receive mail.

Thanks, Eliane Aureliana de Sousa Uberlandia - Brazil


 Date: Mon, 08 Feb 1999 16:28:52 +0100
From: Kristoffer Andersson, e7koffe@etek.chalmers.se
Subject: Help wanted -- article ideas

I'm having a sort of luxorius problem. In the building where I live we have a 24-7 ethernet connection two the Internet - so long every thing is fine - the problem is that this connection goes through a masquerading-server and as a result it is almost impossible to connect to your computer from a computer outside my building.

To go around this limitation I have set up a small script that uses ssh to forward a few ports (21, 22 and 80) to a computer outside the building. This is fine as long as you and your friends now to wich computer the ports have been forwarded to.

A more fancy solution would be to use ssh to tunnel ppp! The problem is that I dont now of an ISP that would let me to use PPP over the Internet instead of over their modem-pools.

--
Kristoffer Andersson


 Date: Mon, 08 Feb 1999 10:35:02 -0200
From: Silvia, silvia@waytecnet.com.br
Subject: DOS Emulations

How does the DOS emulation through the serial ports works?
What is the default terminal emulation?
How can we change this?
We need to use 25 lines 80 columns and the key combinations ALT+F1, ALT+F2, ..., ETC.

Regards
--
Silvia


 Date: Mon, 08 Feb 1999 04:52:35 +0100
From: JVA, vargaj@intrak.tuke.sk
Subject: Sound card with radio on it

I am intending to install Red Hat 5.0 to myP 166: PC and my question is that I have a ISA sound card (SF16-FMI) with radio on it, it's 100% SB compatible,and has a IDE connection on it and it's not PnP will it be able to work and in particular the radio please help I enjoy listening to radio.

--
Jva


 Date: Wed, 10 Feb 1999 15:42:19 -0800
From: Jay Xia, xia@xlnt.com
Subject: MS words to Postscript conversion

From time to time, people e-mail me documents in Microsoft Words format. Do you know where I can find an utility to convert the MS Words documents into Postscript format so that I can view/print them in Linux?

Thanks.

--
jay


 Date: Sun, 14 Feb 1999 01:32:18 +0100
From: bonis, bonis@tin.it
Subject: problema

ciao, mi chiamo cris ho red hat 5.0 e devo collegarmi a internet... con netscape communicator.. ..non ci riesco :)..sono abbonato a tin...e ho un modem esterno da 33.6 ...ho provato di tutto..ma non riesco propio :) aiuto :) grazie. ps. ho installato Linux Red Hat da 3 giorni :)..e mai prima.. :)

--
bonis


 Date: Sat, 13 Feb 1999 20:58:10 +0530
From: "Mukul Jain", jainmukul@usa.net
Subject: Configuring Linux as mail server

I want to configure Linux as my off-line mail server. What all I want is that I want it to aceept my mail and when I dial to my ISP it just sends the collected mail and then recieves the mail from my domain. and distributes according to Linux user accounts.

I've done the following setting in sendmail.cw; I've added my domain entry.

In sendmail.cf I've changed the DS to my ISP server DSgg.vsnl.net.in

and at DM added my domain also changed OHoldExpensive=True

Well and then changed settings for the mailers expensiver

Now still I get an Error 'We do not relay mail'

HELP!

--
Mukul


 Date: Fri, 12 Feb 1999 11:06:49 +0100 (Ora solare Europa occidentale)
From: Bruno Falconi, bruno@ifctr.mi.cnr.it
Subject: primo approccio

finalmente ho trovato un link interessante per chi vuole inoltrarsi in Linux.

Ho cercato di installare Linux (Red Hat 5.2) sul mio pc che gia gira con windows 98. ho tre dischi (10gb, 2gb e 1.5gb). ho incontrato mille difficolta' e alla fine non sono riuscito ad installarlo, non solo, ma ho perso anche Windows 98. Ho ripristinato poi i dischi ed windows, ma prima di riprovarci gradirei qualche dritta per fare una cosa seria.

grazie
--
Bruno Falconi


 Date: Thu, 11 Feb 1999 12:35:03 -0500
From: "Jeff Moore", champnet@iisc.net
Subject: Converting to Linux

Was told that I can do lot more with this Linux, where it be with 286 or 386 so on, and to be able develop the full capabilities a Service provider to community, schools, business, residential. Would consider this task is a must see how it can be done. O f course now one would have to have a great deal old hardware, software all ready and surely this person would no just go out and buy old equipment with this intent in mind. Instead work with students with a great of old equipment that we are upgrading- Using what we have an looking for conversions that would act like they up-to-date? any suggestion ?

--
Jeff Moore


 Date: Wed, 17 Feb 1999 01:05:56 +0800 (SGT)
From: "Jayasuthan ......", suthan@eplx01.fairchildsemi.com
Subject: Clear Up Corrupted Files

I having problem with my filesystem lately. I believe it caused by Linux Kernel 2.2.0 with hdparm -m8 option on my hard disk. Lucky its not very serius. But now the problem is cleaning up those file which corrupted. I do have file in /lost+found folder and thats not an issue but files like this :-

br-Sr-S---   1 25449    28015     99, 105 Nov 26  2031 System.map
br-srwS-wT   1 29813    23328      9,  10 Jan 19  2026 System.old
drwxr-xr-x   2 root     root         1024 Feb 15 23:07 beta/
drwxr-xr-x   2 root     bin          2048 May  8  1994 bin/
Look at System.map and System.old file. This file can't just "rm -rf" away. I don't want to format my hard disk well it will be very hard for me. I do have good backup. I want to learn Linux file system and understand it.

Please help me out here.

Thank You,
--
Jayasuthan


 Date: Thu, 18 Feb 1999 13:20:29 +0200
From: "yossi", yossi@sivan-north.co.il
Subject: Linux & Win95/98/NT clients

Well, I am system administrator in colleage (about 200 machines). Mostly they're running Win95/98 and some of them running NT4.0 Workstation. We don't use yet Linux as a server ( but I use it a lot for java-development). We use NT4.0. So my question is : I'd like to install Linux as a file-server & keep on him images of hard-disks from classrooms(i.e every classroom has own "master" with all the programmes installed on it). So if something goes wrong with one (or more) of a computers in the classroom I'd like to keep this "masters" on Linux server & connect to them somehow from this computer and take the "image" off to my win95/98/nt client. Somehow - I mean I have to have a boot-diskette that does the work. The second point is that I'm not sure in possibility that in-the-same-time I can use the "image" on Linux with multiple connections... Sometimes the "image" has to be requested by 20-25 clients(in the same time).=20 If somebody can help me it's really great coz' this way I can install first-Linux-server in our network ( I really like this OS.... but it doesn't depend on me :) ) Any information will be appreciated. Thanx.

--
Daniel Mester


 Date: Wed, 17 Feb 1999 18:23:55 -0700 (MST)
From: "Dale M. Snider", dsnider@nmia.com
Subject: Re: Trap float divide-by-zero and NaN

Can someone tell me how to turn on a gcc compile option to trap a divide by zero and NaN with type float or double. I can get the divide-by-zero trap with type int. Is this a trap that can be done on the kernal level? The signal SIGFPED only works on integers?? I am using Red Hat 5.2 installation.

Trap on divide by zero: a=1., b=0., a/b=Inf

Trap on overflow: a=3.4e38, b=3.4e38, a*b=Inf

Trap on NaN: sqrt(-1)

I have included a small test code to illustrate the problem (question)..

To build sample code:

 
  cc -g tst.c -lm -o tst

Test code:

 
  #include <stdio.h>
  #include <math.h>

  main() {
   float a,b,c,d;
   int   ia,ib,ic;
   int   i;
  
   a=1.; b=0.;
   c=a/b;
   d=(float)sqrt((double)-a);
   printf("Float: a=%f b=%f a/b=%f d=sqrt(-a)=%f\n",a,b,c,d);
   ia=1; ib=0;
   ic=ia/ib;
   printf("Integer: ia=%d ib=%d ia/ib=%d\n",ia,ib,ic);
  }
Results:
 
  Float: a=1.000000 b=0.000000 a/b=Inf d=sqrt(-a)=NaN
  Floating point exception (core dumped)
Note that the integer divide by zero is trapped but reported as " Floating point exception"??

Cheers

--
Dale


 Date: Mon, 01 Feb 1999 03:39:39 +0200
From: Jussi Kallioniemi, jukal@teraflops.com
Subject: business plan

Just a quick question (worth printing to next issue?)

Is there any (good) GNU licensed programs to help the creation of businessplans?

--
Jussi Kallioniemi


 Date: Wed, 27 Jan 1999 23:50:54 -0800
From: "Snow Wolf", snowwolf@sprynet.com
Subject: Letter to the Editor ...

On the same day that I received my Linux Journal, I got a PC Connection periodical. It's a standard PC mail-order catalog, but it seems to assume that people are running Windows. Are there similar catalogs that cater to people running Linux/Unix. Like have non-PnP modems, cards that include drivers for other OSes besides Windows, etc., etc.

--
Charles Wheeler


 Date: Tue, 23 Feb 1999 11:36:25 PST
From: "Jaap Wolters", woltersj@hotmail.com
Subject: problem

Ik heb geprobeert jullie programma "LINUX" te downloaden, maar ik krijg geen toegang. hoe zou het toch kunnen? Op de t.v werd verteld dat het programma beter is dan Windows 98, Minder fouten en minder vastlopers. Is het programma windows compatible zodat ik mijn oude windows spellen kan doorspelen. Ik heb ZEER veel belang bij dit programma, maar aangezien me het niet lukt om het te downloaden zou ik graag uw advies willen.

Met vriendelijke groeten

--
J.Wolters


 Date: Tue, 23 Feb 1999 12:21:53 -0500
From: "Nick Wilkens", NWilkens@holnam.com
Subject: Making a Red Hat 5.2 CD

Hi, I downloaded the Red Hat/RPMS Red Hat/base directories from sunsite, along with the proper image files, etc... I also burn them to a CD in this same way under the Red Hat directory, is this proper? because when i try to do a CD install, it says invalid media no Red Hat tree found or something to that effect. Any suggestions?

--
Nick


 Date: Sun, 21 Feb 1999 17:28:54 PST
From: helicon123@hotmail.com
Subject: Installation Question

Since Linux was mostly used by x86, do you think it's OK if I install it on PII-300MHz computer?

--
helicon123


 Date: Mon, 01 Feb 1999 15:18:23 +0000
From: Austin, austinp@headland.co.uk
Subject: Help wanted: Fax gateway

I'm toying with the idea of setting up a FAX gateway on a Linux machine. The machine is currently on a LAN, and has no modem, so I'll be wanting to stick a 56Kbps in there. I'm just after pointers, personal experience, web pages, and general advice on this, because I have no idea where to start :)

So far, I've discovered Hylafax. Is this what I should be using? Are there alternatives?

How do you go about installing a modem? What models are recommended?

Thanks for any help.

--
Austin


General Mail


 Date: Mon, 01 Feb 1999 16:03:26 +0000
From: Keith, kwhudson@ticnet.com
Subject: Not Linux

three oaths:
1 of marriage
1 of truth
1 of leadership

1st one Rendered invalid by actions
2nd one destroyed by testimony
3rd one ?

lets not be lazy..lets not take a just get it over attitude...lets tell the Pop Press that we want news, not day to day hogwash...

People are made to tire of a subject, because the press forces every conceivable amount of data real or not about a subject down to us. This is known. This is planned.

No one has lost face. This is not a party issue. Let it continue. We need a answer. We need the Law. Whatever the outcome will be.

--
Keith


 Date: Mon, 01 Feb 1999 18:24:34 +0100
From: Roger Irwin, irwin@trucco.it
Subject: Closed software promotion

Launching into issue 37, I go straight to Software Announcements. And the first item is "New circuit design software", which goes on to describe itself as a spice front-end.

Well, I design electronic circuits, and immediately hit the link. What I found was that the spice front-end was a plug-in for the 'visio' package. No mention was made of Linux, but the announcement said it would work on any version of Visio. So, I would need the Linux version of visio.

So then I followed the link to Visio, and looked to see 'platform requirements'. It said this:

"We've thought long and hard about what you'll need from a business diagram program. That's why we've designed our software to work on most desktops. Chances are, the computer you already use will be fine for running Visio Standard."

Great, another program designed to run on as many platforms as possible? Not quite, it will run on W95, W98 & Windows NT4.0. Period. Another company who thinks the only OS that should be run on a desktop is Windows, and Linux Gazette is helping to promote this.

Well done, keep up the good work...............

Bill will be so proud of you.

--
Roger

(Sorry to let that one slip by me. I tend to assume if they send the announcement to me, it works for Linux. And of course, I knew SPICE works for Linux. Wish I had time to chase every announcement down, but I don't. Anyway I removed it after getting a couple of letters telling me. --Editor)


 Date: Tue, 02 Feb 1999 10:24:33 -0800
From: jeff godden, jgodden@panlabs.com
Subject: under software announcements, SpiceLink is not a Linux product

As usual, Linux Gazette remains one of my favorite sources of net-gleaned Linux information. Thank you!

Under software announcements of issue #37 there is a link to SpiceLink which i was very thrilled about to see such a graphical support for spice under Linux. But alas, even through it's linked from Linux Gazette this software cannot run under Linux. From the president of the SpiceLink following an inquiry:

You're right about SpiceLink; it's for Visio and therefore Windows.
(maybe when they get near 100% of the Windows market they'll think about Linux). Perhaps a note might be added that one better have WINE running and even then it's uncertain...?

Many thanks!

--
jeff

(Always appreciate hearing when I lapse so I can get it corrected. Thanks for doing it in such a nice way. That announcement has been removed. -- Editor)


 Date: Tue, 02 Feb 1999 12:54:29 -0500
From: Darren, PCTech1018@netscape.net
Subject: RE: What is a 'high crime'

A "High crime" is not necessarily what could be called a 'heinous' act. A 'High crime' is simply a 'crime' committed by a 'High' official (such as a senator, federal judge, or president.) Because of their unique positions, what would not be considered crimes for us, may be considered crimes for 'High' officials, hence the term 'common criminal' versus 'high criminal'. For instance, accepting bribes would, for private citizens outside of public office, not be considered a crime (immoral perhaps, but not criminal.) For high officials, bribery is most definitely a 'high' crime.

Some people feel that the questions that the president did not truthfully answer should not have been asked and were not relevant to governing. After all, even some of the framers of the constitution were known to have had 'improper relations'. But these same people seem to forget that we did not have laws relating to sexual harassment/discrimination back then. Also, the judgment by the courts pertaining directly to those 'irrelevant' questions was that the questions were relevant and proper at the time they were asked.

As to using the principle of 'acts related to governing', it would seem that these same people feel that R. Nixon should have been impeached - even though his alleged acts and deceptions had nothing to do with 'governing'. Using the Nixon precedent, W. Clinton should be held accountable for lies and deception even if they had little bearing on the act of 'governing'.

So then, we are left to ask, were the lies and deception in the courts by the president acceptable? I guess we all need to answer that for ourselves. If it is appropriate for the president to not tell the whole truth on those matters that the court has decided he should answer for and go unpunished for lying, then we should stop enforcing sexual discrimination cases altogether. Women should just accept their place as 2nd class citizens and let the rest of us get on with the job of making a living. Just think, if he had 'pleaded the fifth', we wouldn't be having this wonderful education on the constitutional process.

This may not be the populist view, but the moral high ground usually isn't. Witness the popularity of Howard Stern and Larry Flynt. I am not perfect. When I get caught breaking 'minor' laws, I should fully expect some sort of punishment. But just because I am not perfect, does that mean I should give up any expectation of holding myself and others to standards of common decency?

--
Darren


 Date: Wed, 03 Feb 1999 14:27:08 -0800
From: James Guilford, guilfoja@oplin.lib.oh.us
Subject: Thanks!

I've been experimenting with Linux (Red Hat flavor) but needed to remove it from a machine to install {gad} Windows. LILO wouldn't go away.

I found the answer on your Web site. Thanks for saving me a lot of trouble!

--
James Guilford


 Date: Wed, 3 Feb 1999 14:08:43 -0600
From: "John W. Burgoon", jwb@indiana.com
Subject: J. W. Pennington's article about Doubt

I read Pennington's article with considerable interest and look forward to more. As a web developer (trained in Physics and Chemistry) I have to point out the word that the hard sciences use in place of Mr. Pennington's "doubt": we call that "skepticism". Not cynicism, which many folks use as a way to protect their ego. (Failure is more common than success, so cynics just predict failure all the time to get their winning %age).

Skepticism is a firm belief in empirical or deductive fact coupled with a firm disbelief in personal perception. The good engineer is a skeptic; he wants to know some empirical fact before he allows himself to believe his perceptions. He tests the girder design before it goes into a bridge, and even then he over builds that bridge by a factor of 2 or 3 just in case the wind blows, or any army drives across with tanks, or an earthquake hits. And when it fails anyway, he shows up and figures out why.

Linux benefits from skepticism since we don't say "Ha, this is perfect" but rather we say, "weeellll, this works but so far we haven't looked at x/y/z".

Kudos to the good author for pointing out a fine generality in which Linux developers can take pride. Healthy old-fashioned skepticism kicks ass.

John W. Burgoon

(Mr. Pennington will return with part 2 next month. --Editor)


 Date: Thu, 04 Feb 1999 04:37:32 -0800
From: Igor Markov, imarkov@CS.UCLA.EDU
Subject: Re: The Beauty of Doubt

It seems, you are really talking about *critical thinking*. *Doubt* is often caused by critical thinking, but shouldn't be explicitly cultivated, in my opinion. Many colleges offer classes on critical thinking, and the topic is not that new. It is true, of course, that commercial software developers are not as free to think critically about their work as FSC folks, hence the advantage of FSC.

Regarding the other three terms: *cooperation* seems too weak, free software developers *collaborate*."Cooperation" is what Microsoft does when it gets sued for a breach of contract ;-)

*Non-control (read: Freedom)* is vague. You probably mean *independent thinking* and, separately, *freedom to allocate personal resources*. For example, I may be interested in kernel hacking, just because I like the subject (not because I am paid for this) and may have new ideas, but not time/skill to implement them. Someone else, who has a month of vacation may pick them up and produce something useful.

"Rebellion"... how about "enthusiasm" or, better, "improvement drive". I would actually agree that many developers may be driven by a rebellion, but not the ones who are responsible for most innovation. "Rebellion" does not go well with incremental development models somehow.

Finally, the lack and, OTOH, the ease of several aspects of management is critical to the FSC as much as the above issues. This may need to be discussed as well.

well... so much for a non-native speaker. I guess, you will correct me if I messed up connotaions/meanings etc.

--
Igor


 Date: Sun, 07 Feb 1999 21:17:27 +0000
From: Kevin Atkinson, kevinatk@home.com
Subject: Did you know about Aspell?

I saw you article titled "ispell: Spelling Checker" in the Linux Gazette and was wondering if you knew of the existence of Aspell.

From the manual:

1.1.1.1 Features that only Aspell has

1.1.1.2 Things that only Aspell will have real soon 1.1.1.3 Things that, currently, only Ispell have

Granted that when your article was first published Aspell didn't exist.

More information can be found at http://metalab.unc.edu/kevina/aspell/.

--
Kevin Atkinson


 Date: Mon, 22 Feb 1999 15:17:36 -0600
From: "Gray, Robert C", Robert.Gray@feist.com
Subject: Not Linux

No offense meant, but

Three states list perjury as a "High crime or misdemeanor" in their state constitution they are California, Texas, and Alabama. Three others call perjury an infamous crime (same as "High crime..." ?) they are West Virginia, Pennsylvania, and Illinois. Three others list perjury as an offense serious enough for removal from office they are Wyoming, Missouri, and Colorado.

All these states also list conviction of perjury as reason to preclude someone from ever holding public office.

In all 50 states perjury is a crime!

--
Robert Gray


 Date: Sat, 13 Feb 1999 17:43:22 -0300
From: Gustavo Larriera, gux@cs.com.uy
Subject: Corrected version of my article NTloader+Linux

I would be pleased if this letter goes to the Mail Bag section.

I wish to thank the feedback I received for my article "Booting Linux with the NT Loader" (LG January 1999). Some readers pointed out my misinformation about the MBR-changed-means-NT-wiped-out affair :-) I've corrected the article, the revised version can be found at my home page [http://w3.cs.com.uy/u/gux/ntloadli2.htm].

Have a lot of fun,

--
Gustavo Larriera


Published in Linux Gazette Issue 38, March 1999


[ TABLE OF 
CONTENTS ] [ FRONT 
PAGE ]  Next

This page written and maintained by the Editor of Linux Gazette, gazette@ssc.com
Copyright © 1999 Specialized Systems Consultants, Inc.

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


News Bytes

Contents:


News in General


 April 1999 Linux Journal

The April issue of Linux Journal will be hitting the newsstands March 12. This issue focuses on Network Computing with a review of Corel's Netwinder and articles on FlowNET a high-performance network solution, Network administration using AWK tools, and an interview with John Ousterhout, creator of Tcl/TK. Linux Journal now has articles that appear "Strictly On-Line". Check out the Table of Contents at http://www.linuxjournal.com/issue60/index.html for articles in this issue as well as links to the on-line articles. To subscribe to Linux Journal, go to http://www.linuxjournal.com/ljsubsorder.html.


 Debian Logo Contest

Date: Wed, 03 Feb 1999 20:38:26 -0500
Debian Project, http://www.debian.org/

The Debian project is in the process of looking for a new logo. Currently Debian has a semi-official logo, which can be seen at http://www.debian.org/logos/debianlogo-2.jpg. As a majority of Debian developers are not happy with the current logo, we are searching for a new logo to replace the current one using a GIMP logo contest. Submission information and other details are available at http://contest.gimp.org/.

Debian would like to have two logos: one logo with a very liberal license that everyone is free to use (for example on webpages, shirts, etc.), and a more official logo with a restricted license which can only be used on official Debian items (like CD's produced from the official ISO-images). Please note both license are not finished yet.

The winning logo will be decided on by the Debian developers. Since there are a lot of active developers it may take as long as 3-4 weeks after the end of the contest to decide who the winner is.

For more information:
press@debian.org


 Invitation to Join Freedom of Choice Project

Date: Fri, 5 Feb 1999 05:20:52 -0500
The Freedom of Choice Project is a co-operative effort between IACT and James Capone, an IACT member as well as devoted user of Linux, who created the entire project at his own Linux website. In the project's first week, over 5000 people had participated in the Freedom of Choice consumer poll. With help from IACT, James Capone now is expanding the poll to reach users of _all_ platforms.

As you know, all computer users certainly are affected by an ongoing problem in the computer market: Microsoft still maintains an exclusive distributorship with PC makers such as Compaq, Dell, Gateway etc.. Those companies pre-install or "bundle" MSFT software on the majority of new PCs we buy. Once the MSFT software is pre-installed, we may decide to delete it and then fight to get a refund, but that approach still won't get to the root of the problem.

The Freedom of Choice project is our grass-roots, long-term solution. By using the Internet as it was designed-- to bring together small groups like ours into a larger, stronger and unique network-- we're going to defend the fundamental right of consumers everywhere to choose any and all software that is installed on the new computers they buy.

We want to give users of all platforms the chance to _send a direct message_ to the PC makers, to demand that the companies fully respect every consumer's right to choose.

For more information:
James Capone, linuxos@iname.com
The Freedom of Choice Poll, http://www.angelfire.com/biz2/Linux/company.html
Diane Gartner dgwhiz@earthling.net
IACT's Freedom of Choice page: http://pages.cthome.net/iact/iact-tell.html


 LinuxArchives.com

Date: Fri, 05 Feb 1999 17:12:14 -0800
LinuxArchives.com has been launched at www.linuxarchives.com. It is a software archive dedicated strictly to Linux software. The site is organized into specific categories, and also features a search engine that makes finding programs fast and easy. Most of the software is submitted directly by the manufacturers and it updated frequently. The site should be a valuable resource for Linux users, and Aceweb Internet will be working to ensure that it grows at a pace that is in step with the ever changing needs of the Linux community.

For more information:
Tony Ferrara, tonyf@aceweb.net


 Debian based CUTE 2000 Server exhibited

Date: Fri, 12 Feb 1999 10:08:29 -0500
CUTE 2000, an all-in-one Linux based server was exhibited at the NET & COM '99 show. It is based on Debian GNU/Linux, and includes software for functions such as DNS, WWW, SMTP, FTP, SAMBA, NETATALK, DHCP and others.

For more information:
http://www.NikkeiBP.AsiaBizTech.com/Database/1999_Feb/08/Mor.02.gwif.html
Debian, http.//www.debian.org/ GLUE: Groups of Linux Users Everywhere

GLUE has added a number of new benefits in recent months to attract new groups, and is working hard to give our current member groups an excellent level of service. New benefits include: special subscription rate to the TPJ and LJ for registered GLUE LUG members, a set of the LJ archive CD-ROMs, Red Hat Linux, and TCL Blast. GLUE also continues to very graciously sponsored by Caldera Systems, with their Open Linux distribution, and Enhanced Software Technologies, with their BRU Backup and Restore Utilities. I'm working with Linux user groups to find out what other ways GLUE can contribute, from web resources, to inviting other vendors to particpate. The glue-list@ssc.com mailing list is available for discussion among LUGs.

Linux Users can find a user group with our Group Locator pages, or post to find or form one of their own. These listings pages are updated and confirmed frequently, and are very comprehensive. Listing are free to all groups, not just those registered for GLUE membership.

GLUE is a project of SSC Inc, publishers of Linux Journal. GLUE was implemented to provide a world-wide member group for Linux User Groups. GLUE member groups receive a subscription, materials for promoting and developing their group, a way of advertising their group in a global setting, list-serv and Linux Group location services, and discounts and samples from SSC and Linux Journal. Other vendors also offer special benefits or discounts to GLUE's member groups. Any LUG can have a free listing in the Linux Group location section, and Linux users can post to the site to find and form new groups in their area.

For more information:
http://www.ssc.com/glue/ Clarica Grove, glue@ssc.com


 Linux Hardware Solutions to support Debian Project

Date: Thu, 25 Feb 1999 12:51:21 -0500
Linux Hardware Solutions, Inc. a premier supplier of Linux systems and service announce support for the Debian Project of Software in the Public Interest, Inc.

The support comes in the form of a Linux Hardware Solution PS350RR-100 RAID rackmount server with 256 MB RAM attached to a dedicated colocation connection at Mindspring Enterprises' data center in Atlanta, Georgia to act as the new ftp.debian.org server.

For more information:
Linux Hardware Solutions, Inc., http://www.linux-hw.com/
Debian GNU/Linux, http://www.debian.org/


 Subject: Dan Quayle or Linus Torvalds for President

Date: Fri, 26 Feb 1999 14:52:40 -0700
Even If you sat out the 60s, missed the March On Washington, or the Windows Refund Protest, you can still voice your vote for freedom--specifically, the freedom to use the Open Source computer operating system, Linux. As noted in this morning's Wall Street Journal, a young company called Linuxcare is holding a just-for-fun election for the new Leader of the Free World! Who would you choose: Bill Bradley, George Bush, Jr., Bill Gates, Al Gore, Dan Quayle, or Linus Torvalds? You can cast your vote at http://www.linuxcare.com, until "Super Tuesday," March 2, which also happens to be the opening day of LinuxWorld--the world's largest gathering of Linux users (http://www.linuxworldexpo.com/).

The results will be published in the Wall Street Journal on March 2, the day Linuxcare goes live.

Let the people decide -- in the democratic spirit that permeates Open Source --Get Out The Vote (GOTV) for the leader of the FREE WORLD.

Linuxcare announced on March 2 that Linus had won with 73% of the vote. No other candidate received more than 9%.


 Linux Links

Open Source MS Windoze 9x Petition: http://www.linuxresources.com/linuxreview/petition.html

Brain Power, Jobs for Smart People: http://www.bpower.com/

LinuxODBC: http://www.codebydesign.com/LinuxODBC

UNIX newbie site: http://www.dicamp.univ.trieste.it/du96/unix/TOC.html

New Linux logos: http://www-mddsp.enel.ucalgary.ca/People/adilger/logo/

Compaq web page: http://www.unix.digital.com/linux/

The Linux Merchandsising FAQ for Germany: http://www.reichmann.de/alex/lmf/index.html

Microsoft & new lawsuits: http://www.zdnet.com/zdnn/filters/bursts/0,3422,2213093,00.html

Vedova Linux, a new Linux distribution based on Debian GNU/Linux: http://www.vedovanet.bbk.org/linux/vedova

CRN spot survey: http://www.techweb.com/se/directlink.cgi?CRN19990118S0023 http://www.linuxresources.com/linuxreview/petition.html

Ramblings on Apple and Linux: http://www.osopinion.com/Opinions/EdMcKenna/EdMcKenna2.html

IBM and Redhat: Red Hat Press Release


 Xpresso Ltd Needs Programmers

Date: Mon, 22 Feb 1999 10:28:00 -0500
I have a small company named Xpresso Ltd. This will hopefully produce a new simple software system aimed at users of Windows. The idea is to sell the Linux OS with the installation and set-up completely automatic. It will use one or more choices of graphical user shells (KDE as first default choice). The latest Linux Kernel 2.0.xx will be used (and built specifically for each installation - with maths module if processor is without etc). The System will analyse the hardware and construct or select the correct X Windows drivers and install correct files ( /fstab etc). by examining the existing DOS/Windows OS files or running MSD.EXE or similar. I have very little finance and am hoping to find programmers who will help me on a percentage basis. I shall be selling the product world-wide and hope millions of units will be sold. Can you possibly help me with details of any sources of programmers for this work please? The main aims are simple, safe (stable) and visually attractive graphics. The user will do nothing except click GO. Star Office and other quality free programs (only the best) will be included. But only the best. To enable all Windows users to switch to Xpresso LINUX. A safe dual boot on start up will enable the migration from Windows to Linux to proceed slowly, at each person's pace. Can you help please? I can e-mail a four page outline of my further plans for Linux if you are interested.

For more information:
Stephen Jackson, Xpresso Ltd, xpresso@compuserve.com


Software Announcements


 Vedova Linux

Date: Thu, 4 Feb 1999 20:19:29 +0100
New Linux Distribution based on Debian GNU/Linux

http://www.vedovanet.bbk.org/linux/vedova/

For more information:
Emanuele Vedova, vedova@mail.omnitel.it
Vedova Computing, Como, Italy


 Linux for Coldfire

Friday, 28th February 1999
Greg Ungerer from Moreton Bay today announced the porting of the popular Linux operating system to the Motorola Coldfire family of processors. Source code for this Linux/Coldfire project is now available freely on the net at:
http://www.moretonbay.com/coldfire/linux-coldfire.html

The Linux/Coldfire project is a port of a recent Linux kernel and, as with all ports of Linux, this is free software under the GNU Public License. The code is based on the recent stable linux kernel version 2.0.33 and it includes the uC-linux patches applied. The libc, libm and user applications also come from the uC-linux work.

What's a ColdFire?
ColdFire is the newest family of microprocessors from Motorola. First released in 1994, ColdFire embodies a revolutionary variable-length RISC architecture that is designed to meet the requirements of the embedded consumer market.
http://www.mot.com/SPS/HPESD/prod/coldfire/cf_roadmap.html

For more information:
Moreton Bay, http://www.moretonbay.com/


 SFS SOFTWARE RELEASES DOCFATHER PROFESSIONAL 2.2

Schmalkalden Germany. February 1, 1999
SFS SOFTWARE announces the release of DocFather Professional 2.2, their fast, easy to navigate online and offline search engine for any web site or web-based documentation. DocFather provides webmasters, publishers and developers alike with an excellent utility to make their Web Sites, HTML documentation or internet/intranet contents searchable.

DocFather is top-rated and able to run on any Java-supported operating system like Linux. The nextcoming DocFather Office Edition is capable to index Adobe PDF, Microsoft Word and Excel, HTML and all text-based files.

Availability and Pricing

There are several DocFather licenses available. The product can be ordered on-line at the SFS SOFTWARE web site, or through its US-based partner Proactive International:

Internet License: $ 349.00
Intranet License: $ 990.00
CD-ROM Publishing License for 10,000 CD-ROM: $ 1,990.00

A fully-functional demo version of DocFather is available for free download at http://www.sfs-software.com/

For more information:
SFS Software, info@sfs-software.com
Proactive International, LLC, http://www.proactive-intl.com, info@proactive-intl.com


 Product Release of the MIMER DBMS for Linux

Date: Wed, 03 Feb 1999 13:11:58 +0100
Sysdeco Mimer AB in Uppsala, Sweden, has now released its DBMS MIMER for Linux. A complete developer version of MIMER 8 for Linux is now available for free download from the company's Web site at http://www.mimer.com. Full support agreements are available for MIMER 8 on Linux.

The release of MIMER for Linux is identical to that implemented across a wide range of platforms, including many other UNIX platforms (e.g. IBM, HP and Sun), Windows NT, Windows 95/98 and OpenVMS. In addition to offering MIMER 8 run-time licences for Linux on very competitive terms, Sysdeo Mimer also offers Linux customers the opportunity to sign a support agreement, which provides telephone support and free software updates.

For more information:
Sysdeco Mimer AB, info@mimer.se


 PartitionMagic 4.0

Date: Tue, 2 Feb 1999 22:14:27 GMT+2
Recently released in the United States, PartitionMagic 4.0 - touted as the easiest way to create, resize and move harddisk partitions on the fly without destroying data - is now available in South Africa through accredited PowerQuest software distributor, OS/2 Express SA.

PartitionMagic 4.0 offers complete support for FAT16, FAT32, FAT32X, NTFS, HPFS and Linux ext2 partitions. PartitionMagic continues to convert from FAT16 to FAT32 and vice versa, and from FAT to NTFS and HPFS.

PartitionMagic 4.0 is available from OS/2 Express SA for R459. An upgrade from earlier versions is available for R289 including VAT.

Additionally graphics / boxshots may be found at : ftp://ftp.powerquest.com/pub/Intl/graphics/PartitionMagic/PM4.x/

For more information:
os2express@icon.co.za
http://www.os2.co.za/software/


 LyX-1.0.0 released

Date: Tue, 02 Feb 1999 21:58:22 +0200
LyX is an advanced open source document processor running on many Unix platforms. It is called a "document processor", because unlike standard word processors, LyX encourages an approach to writing based on the structure of your documents, not their appearance. LyX lets you concentrate on writing, leaving details of visual layout to the software. LyX automates formatting according to predefined rule sets, yielding consistency throughout even the most complex documents. LyX produces high quality, professional output -- using LaTeX, an open source, industrial strength typesetting engine, in the background.

LyX has undergone a quantum leap in functionality over the past 18 months. This release offers extensive control over fonts, margins, headers/footers, spacing/indents, justification, bullet types in multilevel lists, a sophisticated table editor, a version control interface for collaborative projects -- the list goes on and on. LyX 1.0 includes many standard formats and templates such as for letters, articles, books, overheads, even Hollywood scripts. Work continues on a growing library of "plug-in" formats and templates, in the best open-source tradition.

LyX runs on standard Unix platforms, including Linux, FreeBSD, NetBSD, Solaris, IRIX, HP-UX, AIX, ... even OS/2 and Cygnus/Win32 (somewhat experimentally), and provides native support for PostScript(tm) fonts and figures.

The main LyX site is ftp://ftp.lyx.org/pub/lyx/

For more information:
LyX Home Page: http://www.lyx.org/


 Raima's Velocis 2.1 Now Available on Linux

Date: Tue, 9 Feb 1999 14:33:59 -0800
Raima Corporation has just released Velocis Database Server version 2.1 for the Linux platform. Velocis is an embedded client/server database engine which now provides robust new interfaces for several popular development environments. These include an interface to Rogue Wave Software's DBTools.h++, a JDBC driver, Delphi Data Aware Components and support for the Perl DBI standard. Velocis 2.1 extends its SQL support with scrollable cursors and customized comparison functions and introduces a powerful new database utility, dbrepair.

Please see the following announcement to learn more about Velocis 2.1.

A free trial download is available from http://www.raima.com/download/product_list.cfm

Raima Corporation, http://www.raima.com


 SFS Software SITEFORUM Database Exchange

Schmalkalden Germany. February 8, 1999
SITEFORUM Database Exchange is a "100% pure Java" solution, which is capable to import and export your existing data, stored in any JDBC/ODBC-compatible database into another JDBC-/ODBC- compatible database. (i.e. Sybase to Oracle). The software allows you to create, delete and modify tables and columns . In addition to that you are able to modify the content, field types and attributes. The integrated SQL interface enables you to make queries to the database using SQL commands The results will be displayed in a fine-designed grid component. SITEFORUM Database Exchange lets you import and export databases from any location on the internet, the built-in proxy support enables you to work even behind a proxy or firewall. The new product of SFS SOFTWARE offers an attractive, intuitive and easy-to-use interface. SITEFORUM Database Exchange runs on about 30 java-supporting operating systems like Linux.

Availability and Pricing:
A fully-functional evaluation version SITEFORUM Database Exchange can be downloaded from the SFS SOFTWARE web site at http://www.sfs-software.com/. The product is can be ordered using our secure online shop at http://www.sfs-software.com/shop/.

SITEFORUM Database Exchange - Single User License - US$ 495.00
SITEFORUM Database Exchange - 5 User License - US$ 1,990.00

For more information:
SFS Software, http://www.sfs-software.com/, info@sfs-software.com
Proactive International, http://www.proactive-intl.com/, info@proactive-intl.com


 Linuxcare Supports Business 24x7

Date: 22 Feb 99 18:15:11 -0800

SAN FRANCISCO, February 22, 1999=97Linuxcare, Inc. (www. linuxcare.com), the first company to offer a complete solution for Linux technical support, consulting, education, and product certification to Fortune 1000 companies, announced today the launch of 24x7 enterprise- class support programs, including a state-of-the-art call center and business-oriented service level agreements.

Linuxcare's state-of-the-art call center will feature advanced computer- telephony integration (CTI), so that all requests are received centrally and tracked, thus delivering speedier and more accurate customer responses. In addition, all Linuxcare technical support engineers can instantly access and update the largest shared database of worldwide Linux resources and expertise. The database includes all open and solved customer issues, all Linux documentation, articles, mailing lists and news group archives, Howtos, FAQs and more.

Linuxcare supports all major distributions of Linux on all major platforms, allowing its customers the flexibility to choose options that best fit their needs.

For more information:
Linuxcare, Inc., http://www.linuxcare.com/


 NetReality reads, understands, organizes, and presents the Web in virtual reality

EDMONTON, ALBERTA--February 23, 1999-- Bittco Solutions today released the first downloadable exemplar of its powerful neural-net foundation technology. NetReality reads, understands, organizes, and presents Web content in VR. NetReality harnesses the vast amounts of information available on the World Wide Web. Unlike current technologies, which seem to increase the problem of information overload, NetReality automatically acquires, reads and organizes information, presenting web sites, documents, searches and bookmark files in an intuitive, personalized VR landscape. This unique and powerful form of presentation enables users to quickly locate, correlate, and apply information on the Web to tasks at hand.

UNIQUE BUSINESS PROPOSITION - Bittco licenses its neuralVR technology to third parties for inclusion in products like web servers, browsers, search engines, document management solutions, news readers, and email. We have blown away all the traditional barriers to acquiring our technology, emphasizes Managing Partner, Terry Harrison, Our business approach supports low-cost/low risk acquisition vs. development. Interested software producers can embed this technology on a sizzling time-to-market schedule by licensing the Bittco advanced engineering, core and customization.

PRE-RELEASE VERSIONS of NetReality (TM) for all common operating systems will be available for download from Bittco's Web site at http://www.bittco.com/ in the next few weeks beginning today with a version for all Linux users.

For more information:
Bittco Solutions Ltd., Dean Bittner, dean@bittco.com


 Linuxcare and DELL Systems

SAN FRANCISCO, February 26, 1999-Linuxcare, Inc - the first company to provide a complete solution for Linux technical support to Fortune 1000 companies - announced today that it will provide comprehensive global support for selected Dell Precision(tm) WorkStations, PowerEdge=AE servers and OptiPlex business desktop PCs running any variant of the Linux operating system.

Dell will include a free Linuxcare Silver Support Incident Coupon with every PowerEdge server that ships with Linux, starting March 1, 1999. Each coupon can be redeemed for Web or email-based technical support from Linuxcare. The Linuxcare Silver Service Level provides for resolution to, or a report on the customer's problem, within one business day. Linuxcare defines a technical support incident as a single identified customer issue or problem.

Linuxcare, Inc., http://www.linuxcare.com/
Dell Computer Corporation, http://www.dell.com/


 Spectra Logic

SAN JOSE, Calif., Mar. 1, 1999 - Spectra Logic Corp. today announced that the company's Alexandria Backup and Archival Librarian(tm) software is the first major backup software to support "hot" backup of Oracle8 and Oracle Applications on the Linux operating system (OS). Alexandria 4.50 provides Linux users with extensive backup and recovery tools that until now have only been available in large corporate data centers.

Alexandria 4.50 supports backup of Oracle databases without taking the database offline via its Comprehensive Online Backup and Restore Agent (COBRA), the industry's fastest and most reliable Oracle backup/restore engine. In Oracle production environments, COBRA automatically discovers Oracle databases, including new tablespaces and datafiles, and puts the tablespaces into backup mode. Once the tablespaces are in backup mode and the datafiles are backed up, the tablespaces are taken out of backup mode.

Availability
Alexandria 4.50 with support for Oracle on Linux is available today for Red Hat Linux, Version 5.2. Additional Oracle on Linux support is planned for Caldera, SuSE and Turbo Linux OSes. A single-user version of Alexandria is available free for 45 days and can be downloaded from http://www.spectralogic.com/. At the end of the 45-day trial period, the hot Oracle backup module can be purchased directly from Spectra Logic.

For more information:
Spectra Logic, alexandria@spectralogic.com


Published in Linux Gazette Issue 38, March 1999


[ TABLE OF 
CONTENTS ] [ FRONT 
PAGE ]  Back  Next


This page written and maintained by the Editor of Linux Gazette, gazette@ssc.com
Copyright © 1999 Specialized Systems Consultants, Inc.

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


(?) The Answer Guy (!)


By James T. Dennis, linux-questions-only@ssc.com
Starshine Technical Services, http://www.starshine.org/


Contents:

(!)Greetings From Jim Dennis

(?)hmm. --or--
FTP Only Access: Trickier than it Seems
(?)Why can I only login as root? --or--
Another "No Login" Problem
(!) A Reader Answers: What is the TCP/IP SACK feature?
(?) Unable to Open Console: After "Custom" Install
(?) "Integrating" Linux/sendmail with MS Exchange
(?)Win 95 computer/NT server environment --or--
Shell Scripting: Getting Host and User Names
(?)Bad Sectors in my HDD --or--
More on: Bad Sectors
(?)Please upgrade your Internet Explorer --or--
The Presumption!
(?)linux --or--
Mysterious Message: Subject: Linux
(?)Diamond Multimedia Modems --or--
Reader Comments: Diamond WinModems:
(?)About a OPL-3 ( Yamaha driver for sound) (sorry for bad english...) --or--
OPL-3 Sound Drivers
(?)Question from an old friend.
(?)[Q]: Winmodem under Linux
(?)how to fix a bad cluster on hd --or--
More Bad Clusters
(?)proxy & router combination --or--
Proxying over PPP
(?)help with partitions --or--
Installing on a Big Drive: More on the 1023 Cylinder Limit
(?)Linux 5.2 Loadlin.exe, where do I get it? --or--
Finding LOADLIN.EXE ... and Linux Loader for Win '9x
(?)help with partitions --or--
Partitioning Mini-HOWTO
(!)True modems
(?)Is it possible to run Debian on 4 MB? --or--
Low Memory Installation
(?)win95->wingate ; linux->? --or--
Drop-in Replacement for "WinGate"
(?)Jim Dennis: Re: Gimp on RH5.1
(?)xntpd --or--
How 'ntpdate' finds IP addresses?
(?)Sportys
(?)souncards
(?)Great Job !!! --or--
Linux as a Loghost (Syslog Server)
(?)Telnetd and pausing

(!) Greetings from Jim Dennis

I have some exciting news.

I'm now working for Linuxcare (http://www.linuxcare.com) --- the Linux support company.

What does this mean for Linux Gazette readers of "The Answer Guy?" I think it means some very good things.

Of course you might be concerned. Does this mean that I'll be more "corporate?" Will Linuxcare come to own "The Answer Guy" column? Will I answer all the good questions with: "Hey, pay for that answer from ..."

I don't think so! I've been running a quiet little sole proprietorship consulting service for the entire time that I've been writing for LG. My consulting service specialized in support and training of Linux sysadmins. I've generally avoided "selling" my services through this column --- and I won't start now.

Linuxcare has no intention of exerting any editorial control over, and has no connection to the Linux Gazette "Answer Guy." I might put in a disclaimer to that effect in future issues.

However, the "good things" in this are:

I can focus on technical issues rather than worrying about billing and sales of my consulting services. (Avoiding those is what kept Starshine Technical Services "small" and "quiet").
Fellow techs at Linuxcare and the systems lab that we'll be setting up will allow me to learn all the latest and coolest stuff. My home network is pretty big, for a *home* network (four servers five desktop systems, and four laptops --- all on two or three ethernet segments (depending one what I'm doing at any given time). However, Linuxcare will be able to do *much* more.
In the past I've "shooed off" some classes of questions --- particularly regarding X Windows configuration and similar items. I'm a self-admitted "curses curmudgeon" and prefer to stay out of X when I can. Surrounded by younger techs, many of whom are more enamored of the modern GUIs --- I'll soak up quite a bit of knowlege on these topics by osmosis.

For those times when I'm actually on the phones --- I'll probably get quite a lot of LG done. I spent years in technical support at places like Quarterdeck and Symantec's Peter Norton Group. I can do phone support while reading netnews, and writing e-mail.

So, for my loyal fans (I know there are a few of you -- I met one on the Caltrain the other day; "Hi, John"), Don't worry. Be happy. Another Linux hobbyist can do what he loves and support himself doing it.

(BTW: Linuxcare is hiring. If you are in the SF Bay Area and have a couple years of extensive and technical Linux expertise --- check out their web site).

What does this mean for my other projects?

I'll be giving my tutorial on "Linux Security for System Administrators" at LinuxWorld Expo by the time you read this (9:00am Monday, March 1st). If that is successful I may be giving similar (and updated) talks at future Linux events. (LinuxWorld has already inquired about my availability for their next show). For any of you that are going to LinuxWorld Expo in San Jose, CA --- drop by Linuxcare's booth and meet me.

I'm still working on my book ("Linux Systems Administration" --- though the work is going a bit slower than I, my publishers and my co-author would like. The goods news there is that my co-author, M, is really taking charge of the scheduling and development of the manuscript. Also the couple of hours a day that I spend on the train with my laptop (from Campbell up into SF city and back) will help keep me focused on this and stop me from drifting e-mail, netnews, and slashdot as I'm wont to do from home.

I'm still teaching one class (weekly on Saturdays) at Mission College (Unix Shell Programming). I hope to continue doing that for the foreseeable future as well. My students were worried for the first couple of classes (as I was adjusting the level of discussion to their background). However, they seem to be catching on at this point and we have several more weeks to show them all the really cool things you can do with a Unix/Linux shell. (Yes, we've told them all about getting copies of Linux and/or FreeBSD to play with at home and at their offices. The school lab current runs on Sun Solaris systems --- though Linux is being installed in some of the college's new labs.

I'm really surprised at how busy I've gotten this year. I was supposed to just work on the book and let Heather support me (mostly). (Incidentally, Heather has resigned from her full-time position and may be interested in quality, Bay Area offers in the near future).

So, enough of all this "chaos manor" stuff. Let's go on to this month's selection of technical questions...


(?) FTP Only Access: Trickier than it Seems

From chris on Fri, 29 Jan 1999

(?) i was recently reading your article in the december issue of linuxgazzette regarding setting up users for FTP access only. [titled "FTP Login as 'root' --- Don't! -- Heather] i ran into this problem about a month ago and putting a * in front of the password entry in the /etc/passwd file fixed the problem. no telnet/login access, but ftp access. is there something i dont know that prevents this from being a simple solution?

chris.

(!) "Starring out" the password field (the one between the second and third colons on that users line in /etc/passwd) should also prevent FTP access (unless your FTP daemon uses some other form of account management and authentication).
Locking out the "shell" field (the last one) by setting it to /bin/false (if /bin/false is actually a compiled binary --- NOT the traditional shell script) or to a simple compiled program that does a 'printf()' or 'write()' and an 'exit()') will prevent telnet access. However it might not prevent 'rsh' and it certainly won't limit the user "just" to FTP.
The clever user can post all sorts of .forward, .procmail and other files to his or her home directory (using FTP) and these "magic" files can be used to run arbitrary commands (generally under that user's ID) on behalf of the user. Thus I could post a .forward file that "forwarded" my mail through a program (using the piping feature that most installations of 'sendmail' are configured to support). My program can issue commands like 'chsh' (to change my shell to something that I can use).
There are many "magic" files. I can use FTP to create a .ssh directory and put in the .ssh/authorized_keys which will then let me 'ssh' into the system (if you're running an ssh daemon). Not only are there many of these --- but more of them are added as we create new protocols and services.
So, you really need to do more than just set their shell to '/usr/local/bin/noshell' or 'goaway' or '/bin/sync' That's why I suggest using a replacement to the standard old BSD FTP daemon. Go read the article again for that.

(?) Another "No Login" Problem

From Spiros Alexiou on Fri, 29 Jan 1999

Thanks for your help. I am attaching a small file with more info.

It looks to me like the root of the problem is that the RH graphical tool does NOT encrypt the user account passwords, though root for example is encrypted. So either I missed something in the RH documentation, it is missing, or there is a bug, if what I think is right(please let me know).

If that is the case, I need to either run some additional tool that will encrypt the passwords or else remove the users and create the accounts by adduser

Please let me know if this sheds some light
Spiros Alexiou

P.S. do you have IP for ssc.com? My other mailer does not know that address

(!) It would be very unwise to attempt to mail your message to an IP address. Internet mail processing using a different sort of DNS resource record than other TCP/IP protocols --- is uses MX records. If your mailer can properly pass the mail to a "smarthost" and can't properly handle the requisite MX resolution then you just shouldn't use it (or you should get it "fixed").

(?)
>I have RH 5.0 (2.0.32). Using their graphic tool, I created two
>/home accounts, me and guest, assigned UID and GID's and set
>passwords. The problem is, I can only log in as root. I looked for
>.nologin files, there seem to be none. I am attaching my
>/etc/fstab files. Thus, at the linux prompt If I try to login as
>any of these two users,


>I am denied entry(back to the prompt). This is not an issue of
>case sensitive.


>Any ideas of what I am doing wrong?
>Sincerely, S.Alexiou

(!) I have NO idea. I've gotten a rash of different reports of this sort. All involve Red Hat usually right after new installations --- no login from console, no login over telnet, no login as root, no login as anyone other than root.

(?) Nice to know I'm not alone...

(!) Unfortunately all of these cases, so far, are being reported to me incompletely. Only sparse details ahve been provided (as above). I've mailed off troubleshooting suggestions and recieved no followup to explain them.
So, I don't get it.
You said you used their graphical tool to create two new accounts. One was named "guest" and the other was some sort of user name for yourself.

(?) Yes, since I use the PC as a workstation and do not care about having other users, using it as a web server etc, the second account was the shortest possible account I could think of, "me"

(!) You also said you set the passwords for these two accounts.

(?) Yes, I did (see below)

(!) Let's try this: edit your passwd file. I personally prefer to use vipw for that --- but Red Hat 5.0 had a broken 'vipw' command (immediate segfault) and my fresh installation of 5.2 also has a broken 'vipw' command (needed to add a symlink from /bin/vi to /usr/bin/vi --- GRRR!). So, just use your favorite editor and keep a rescue floppy handy in case you reboot the system with a corrupt /etc/passwd file.

(?) Wait, do I need a rescue disk? My hard disk are IDE, not SCSI and I am supposed to only need to RH boot diskette. right? If I do need a resue disk, can I create it without reinstalling? At any rate, I try to be very careful when I edit root stuff, but it's better to be safe..

Here is my /etc/passwd file

> root:hASh-OMitTed:0:0:root:/root:/bin/bash
> bin:*:1:1:bin:/bin:
> daemon:*:2:2:daemon:/sbin:
> postgres:!!:100:101:PostreSQL Server:/var/lib/pgsql:/bin/bash
> me:notencrypted:500:500:Red Hat Linux User,,,,:/home/me:/bin/bash
> guest:sanitized:501:501:Red Hat Linux User,,,,:/home/guest:/bin/bash
(!) Incredible. It's amazing to think that this tool is that bad!

(?) You will notice that the root password is encrypted , while the me and guest passwords are not. Actually the root and me have the same password But I do not recall any warnings about that in the RH graphic user creation. BTW, for the record, I did at one point reinstall and created the same guest and me accounts I had created originally, but I was unable to login as anything but root even with the original installation Also, for the record, I do have some problems with my XF86Config, but unless you believe this to be important( should not, as the graphic tool showed no problems), I may bother you another time :) Finally the UID and GID were assigned by the graphic tool, I just acepted what was there. Let me also add, that when I looked at the corresponding /etc/passwd file in a large AIX machine (I was just a user, not administrator) all I could see of course were ! for password field, but other than that the password file looks ok to me.

(!) Try setting the account passwords to something simple like just "x" --- and use the /bin/passwd command, not any sort of curses or GUI front end. Consider removing 'linuxconf' (for troubleshooting).

(?) Haven't done ths yet. I am not sure what troubleshooting I would do to remove linuxconf.

(!) If you're using shadow passwords try running pwunconv and if you're not, try running pwconv (to convert your passwd file to or from shadow format).

(?) Will try that. Just please let me know, if you also think that the problem is that the guest and me passwords are not encrypted.

Please, let me know if you figure out what's doing it.

(!) Umm! I don't know what sort of GUI user admin tool this is --- but don't use it to set initial passwords! Just go to a root shell prompt and issue the command:
passwd me
... and set the initial password for that account using the traditional old terminal command for the purpose. Then do the same for your personal account. Then report the bug to whoever maintains the tool you were using.

(!) A Reader Answers: What is the TCP/IP SACK feature?

From Tom Kludy on Thu, 04 Feb 1999

(?) What is the TCP/IP SACK feature? What does it do?

(!) SACK = Selective ACKnowledgement. It is an extension to TCP/IP which allows you to acknowledge reception of specific packets. (read on)

(?) Why do we need/want it?

(!) When sending a group of packets across a network, you need the receiver to acknowledge those packets that are received. TCP without SACK simply acknowledges the last packet that was received. (Actually, the ACK has the number of the next packet requested, but that's neither here nor there). However, with TCP there are usually several packets in transit between the source and destination at any one time. That means that the source will not recognize that the destination has dropped a packet until it sees the same ACK several times (4, I think) or until a timeout has passed. It then resends the packet that has been dropped.
Let's say that there is are 10 packets in route between the source and destination. Along the line, packets 1,2,3, and 4 are received, and ACKed. Packet 5 is dropped, but all other packets are delivered successfully (6,7,8,etc). The receiver will ACK 5 upon receiving 4, 6, 7, 8, etc. But since there are 10 packets in transit between source and destination, the receiver won't see the repeating ACKs until it has sent all packets up to about packet 25 (since, at the same time the receiver should be receiving packet 5, the sender is sending packet 15 (5+10), plus the 10 packet delay until the sender gets the ACK).
At this point, the sender finally knows that packet 5 has been dropped, and resends it. But it doesn't know that the receiver has successfully received packets 6 through 25. So, it must wait until the receiver gets the new packet 5, and returns "ACK 26", before it knows where to restart. It will take 20 packet-transmission times to get this ACK (or, one whole round-trip-time). As you can guess, this slows things down considerably. SACK allows the receiver to say "I've missed packet 5, but I've received packets 6-25". This allows a much quicker transmission restart, since the source knows within a 1/2 round-trip-time where to resume transmission (instead of a whole round-trip-time).

(?) It the Linux implementation any better or worse than others? (Or is it some feature where you pretty much either have it or you don't and there is no "better" or "worse")?

(!) I think it falls under "there is no better or worse", except that if the underlying TCP implementation is more efficient, then SACK might help even more..
Hope I have answered the answer guy :) Please note that this is all from memory, as I haven't dealt with this in quite a while.
-Tom Kludy
(!) Yes. Your answer was perfect. I'm forwarding it to my editors as is.

(?) Unable to Open Console: After "Custom" Install

From Bob Miller on Thu, 04 Feb 1999

(?) This sounds more like the kernel is being told to use the wrong partition for root than a package problem.

(!) That would be in the category of "There's no /dev/ directory with the proper tty* nodes available."
Either of these would cause the problem. As I recall I recommended booting from floppy, checking the filesystem that he was trying to mount as root. If that is inconsistent with his kernel's 'rdev' or his /etc/lilo.conf parameters --- it would explain the problem
Another, more convoluted possibility is that he has a problem with his 'initrd' image (if he's using an initial RAMDisk to store and load some of his critical device drivers).
Hopefully he's worked it out. I realize my response might not have been all that clear. Sometimes I have to beat it back and forth with a correspondent a couple of times before I "get it" --- sometimes that has more to do with sleep deprivation than with technical background or communications failures.

(?) "Integrating" Linux/sendmail with MS Exchange

From Kevin Harrison on Fri, 05 Feb 1999

(?) jim;

Kia Ora from Auckland , New Zealand

I have inherited a box with Linux installed on it and we wish to integrate the linux email (using sendmail) with the dreaded ms-exchange which runs on NT....the main reason is so that LAN clients can receive email notifications from jobs that will run on the linux box.

Are there any quick guides out there on this procedure..
thanks mate
Kevin Harrison, Downunder

(!) There should be no special work in this regard.
Let's assume that your domain was "downunder.nz" and that you MS Exchange server is configured as the primary "MX" host for that domain (meaning that all outside mail to "foo@downunder.nz" gets directed to it). Let's say your Linux system is named penguin. So you can create an MX record for penguin.downunder.nz and mail to foo@penguin.downunder.nz will go to the Linux system rather than the MS Exchange server (which we'll call "msnail" --- <g>for "MS Nt mAIL"</g> ;).
Now mail coming from penguin, to foo@downunder.nz will go automatically to msnail.downunder.nz where MS Exchange will mangle it.
A better approach is to point your primary MX record to penguin. Penguin can then have a large aliases file for all of the users and accounts that exist in your domain --- directing the mail to the more specific hosts on which those users get their mail. Thus all the MS Outlook and MS Mail users could get their mail from msnail, while your Linux users can get theirs directly from penguin (either via POP/IMAP or by logging in to their shell account and reading mail with 'elm', 'pine', 'mutt', or any mailer they like. You heavy volume mail users who are using MS Outlook can still get their mail directly from penguin (via POP).
The main advantages to this approach:
Your Linux system probably has a much higher stability and capacity than NT on comparable hardware. So your high volume mail users won't be bringing down the system for everyone else. (It's very hard to flood a modern Linux system with just e-mail).
You have simple remote configuration and management of your mail routing (telnet in and edit your /etc/aliases file, then run 'newaliases').
You can easily create "magic accounts" like "info@downunder.nz" which feed into autoresponder scripts (presumably in the simple procmail scripting language).
You have no licensing constraints, costs or restrictions. If you want to add a hundred new e-mail users, or a thousand --- you just create the accounts on penguin and have your account holders point their favorite mail readers (Netscape Communicator, Pegasus, Eudora, even MS Outlook) at it.
You have relatively easy and free access to a number of evolving anti-spam systems (such as the RBL (real-time blackhole list). I haven't heard of any patches or modules for MS Exchange to enable RBL support --- and I suspect that MS would only provide such services on a fee-driven subscription basis (rather than as a community service, like Paul Vixie is doing with the RBL).
The difference between these two approaches:
In the first case we set up a different MX record for penguin. Anyone who needed to send mail to an account on that system needed to use the full name: foo@penguin.downunder.nz. Mail to foo@downunder.nz would go to the msnail host. You might have some options for autoforwarding from the MS box --- but you'd have to talk to your MS wizards on how to do it. It probably involves filling in some GUI dialog somewhere (requiring you to work at its console) and its probably subject to MS pricing and licensing --- i.e. you're paying extra for each account.
In the second case we reverse that: Mail defaults to landing on penguin. The further routing from there is trivial (since sendmail, aliases and .forward files have been used by the majority of the Internet for over 20 years).
In summary: MS Exchange can recieve SMTP (Internet mail) so there is no trick to "integrating" them with 'sendmail' 'qmail' or other Internet MTAs (mail transport agents). I've heard some people complain about MS Exchange's behavior (generating mail with "ugly" WINMAIL.DAT attachments that the rest of the net doesn't care for), compliance (subtle ways that it doesn't conform to the RFCs and implementation conventions of other systems --- but these might be argued as a "failure to be bug compatible" --- so those are moot), performance (more than 100 "normal" e-mail accounts, or 50 "heavy users" will probably require considerable hardware under NT --- while an old 386 or 486 can handle those loads under Linux), and robustness (my household POP server has been up for over a 125 days; I have no idea why I rebooted it 4 months ago but I know it wasn't for any real problem --- maybe it was when I was rewiring and cleaning out the server closet).
So, what have you tried so far? What sorts of problems are you encountering?

(?) Shell Scripting: Getting Host and User Names

From Darby Gilbert on Sat, 06 Feb 1999

(?) I am trying to write a batch file that will pick up the computer name for the naming convention. On NT 4.0 computers, it is no problem. Is there a way to write a batch file that will pick up the computer name and/or user name from the computer so that it will use it to name a file that is produced from the batch file? I have been trying all sorts of different things and also searching the web trying to find answers when I came accross your page. Any help would be greatly appreciated. Thank you.

Darby Gilbert

(!) Under Linux these (simple interpreted text programs) are called shell scripts (they are technically not "batch files" though the concept is the same).
To get the current "computer name" use the 'hostname' command. To assign that to a shell or environment variable use a command like:
THISHOST=$(hostname)
... for the short version (in foo.example.org this command returns just "foo"). You can use:
THISHOST=$(hostname -f)
or:
THISHOST=$(hostname --long)
... to get the "full" or "long" name (the host.domain string).
To get information about the current user (the one running the script) we use the 'id' command. Now, if we just use the command with no options it gives us output like:
	uid=500(jimd) gid=100(users)
	groups=100(users),10(wheel),11(test),17(staff),
	60(web),40(game)
(except that it's all on one line). This is informative for interactive use --- but far too ugly for elegant script parsing. So we use options to get just what we want:
USERNAME=$(id -un) UID=$(id -u) PRIMARYGROUP=$(id -gn) PRIMARYGID=$(id -g) GROUPLIST=$(id -Gn) GIDLIST=$(id -G)
In other words '/usr/bin/id' takes options -u (user) -g (primary group), -G (list of groups) and -n (names, not numeric IDs).
So you could construct a crude e-mail address for your user by using:
MYEMAIL="`id -un`@`hostname -f`"
... here I've used "backticks" (accent characters) which are the more common form of the "command substitution operator." Normally I use the $() form which is easier to read and nestable. I use it here only to demonstrate that they are the same (under bash and recent Korn shells at any rate).
Here's a simple shell script that takes your list of groups and walks through them one at a time:
#!/bin/bash
GLIST=$(/usr/bin/id -Gn)
set -- $GLIST
while [ "$1" ]; do
echo $1
shift
done
In this case I use a special form of the 'set' built-in command: which resets my list of command line arguments to the value specified. I could do that with just:
set $GLIST
... which sets $1 to the first string in $GLIST and $2 to the next one, etc. That would be pretty safe in this case (since I've never seen anyone create a group name starting with a dash). However it is better shell scripting practice to use the set's -- ("dash, dash") option which signifies the end of all options to the 'set' command forcing it to consider the rest of the command line items to be "arguments" (rather than options).
This is probably a bit confusing if you don't know about the 'set' command. Under bash and Korn shell (at least) you can use command like set -o noclobber (or set -C) to prevent the overwriting of existing files with shell redirection operators and set -o noglob (set -f) to disable filename expansion (the conversion by the shell of *.txt into a list of files that match that pattern). There are many other features supported by the typical Unix shell (Bourne family).
This discussion has focused entirely on Bourne shells. I don't use csh/tcsh much and don't recommend it for scripting (in which I'm in good company; see:
Csh Programming Considered Harmful
http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/index.html

(?) More on: Bad Sectors

From Fadel on Sat, 06 Feb 1999

(?) Dear sir,

I have bad sectors in my HDD about 35 sectors, so I can't use it, how can I use it agine? Note: My HDD is 3.2 GB and I use windows 98

yours,
Fadel

(!) Too Bad. If Windows '98 can't work around the bad sectors you'll just after to repace the drive or replace your OS. If the first sector on your track zero is one of the bad ones then the drive is useless.
Why are you sending this to me, anyway. Call your drive's manufacturer or your retailer!

(?) The Presumption!

(Claiming to be) From Microsoft Internet Explorer Support on Sat, 06 Feb 1999

(?) Microsoft Corporation 1 Microsoft Way Redmond, WA 98052 USA

Dear Sir/Madam

As an user of the Microsoft Internet

(!) ^^^^
--- some MS Word spell-checker or "Wizard"
suggested this? In the literate world we use "a user --- since the term "user" is pronounced with a leading consonant sound "y" as in "yoozer"
I'm not a "yoozer" of Microsoft Internet Explorer or any other MS product.

(?) Explorer, Microsoft Corporation provides you with this upgrade for your web browser.

(!) You're providing me with SPAM. My web browsers are Lynx and Netscape Navigator (for Linux).

(?) It will fix some bugs found in your Internet Explorer. To install the upgrade, please save the attached file (ie0199.exe) in some folder and run it.

(!) It might fix some bugs in YOUR Internet Explorer. My methods of exploring the Internet go way beyond web browsing and use a variety of tools and protcols. The Web is not the Internet and MS Internet Explorer isn't even a blip on my radar.

(?) For more information, please visit our web site at www.microsoft.com/ie/

(!) To comply with California State Law please don't send any more unsolicited e-mail to this address.
(There was a law recently enacted in my state of residence which requires advertising to display the "ADV:" tag on the subject line. I'm collecting violations of this law to forward to my state attorney general's office. I don't consider it to be an effective deterrent to SPAM --- but they should enforce it if they're going to pass it).

Interestingly enough, this message (and another reply to it from our site) bounced. It can be reasonably suspected that the true originator of the message was not Microsoft, but someone trying to convince users of their products, to "upgrade" to an infected or malicious copy.

As such, it's really much worse than "SPAM" although it ia similar, in that it preys on people who know less about their internet environment, and are willing to take unwise risks with their assets. These folks are also least likely to be able to take effective action to correct the problems that result.

Don't get snookered -- nobody should be mailing you a binary without some sort of authentication so you can determine where it came from, and hat it has survived its ride through the mail. FTP is really better for anything of reasonable size anyway.


(?) Mysterious Message: Subject: Linux

From THerbic on Sat, 06 Feb 1999

(?) integrated e-mail, messaging, voice mail, faxing capabilities

(!) Yep. Linux has integrated mail, messaging, voice mail and faxing capabilities. They all work and you integrate them with shell, Perl, TCL/Tk and/or CGI scripts.

(?) Reader Comments: Diamond WinModems:

From Joseph on Sat, 06 Feb 1999

(?) Greetings, O Guy of Many Answers!

After buying a modem and not having any luck with it under Linux

(a dual-boot Win98 and Debian 2.0 system), I checked around on the Diamond Multimedia Website. After searching for "linux," I was eventually referred to a nice FAQ on Traditional, Controllerless (WinModem), and Software Modems by Diamond.

This brought to my attention that I had bought a WinModem by mistake. I was able to push my now-useless modem off on relatives who were buying a computer, and I instead followed the guide and bought a Diamond SupraExpress ISA (non-voice) modem. I set it up manually with the jumpers on the card as com3 and put it in. Windows kind of gawked at it at first, but using the CD to install it instead of Windows default drivers (as I can recall; this was a while ago), it was OK in Windows.

I installed the new modem just before leaving the country (and my computer) behind for a semester, so I can't say exactly how well it worked, as I was unable to try it out. However, upon booting into Linux, I was greeted with a new detection: ttySx (where x is some number I've now long forgotten). By this, I believe that it is functioning and happy, however, as I said, I was unable to test it before leaving.

As I have been scanning around, I have found people with problems with Diamond modems who were wondering if they are WinModems. As I found the Diamond guide rather helpful, I thought I'd pass it along to you, for review and further distribution.

(!) For the curious, that's http://www.diamondmm.com/products/white-papers/communications/c-less_paper.html

(?) You can alternately find it under the "Support"->"FAQ" selection at the top of the main page. A word of warning, however. After reading the last issue of Linux Gazette, I have found that the PCI version of the Diamond SupraExpress modem does not work with Linux. I cannot verify this, but the quote was quoting Red Hat. (2-Cent Tips) Hope this clearifies things somewhat.

-Joseph

(!) I still say: GET EXTERNAL MODEMS!
(That was always safe until recently since nobody and really messed up RS232C so bad that you couldn't get your modem to work with Linux. With the recent advent of USB and the impending release of USB modems this will not be true for much longer. However, Linux may support USB before there are any significant number of USB modems on the market --- so we might squeak in).
Other than that, thanks for the pointer. I hope some of our readers find it and learn from it.
WinModems: "JUST SAY NO!" (or "RMA" --- return merchandise authorization)

(?) OPL-3 Sound Drivers

From Jeferson Oliveira Andeluz on Sat, 06 Feb 1999

(?) My name is Jeferson, I live in Sao Paulo, the biggest city of Brazil...

I seek for all web sites for this driver and I can't find one to make a download for this driver...

Please, if you know how can I give this driver, tell me, because my pc doesn't have any sound and it's very boring....

(!) Some OPL-3 sound drivers are included in the mainstream Linux kernel sources. You just select them at compile time (cd /usr/src/linux; make menuconfig)
You can test your sound drives by finding a .wav, .mod, .au or other sound files and issuing the 'play' command on them. (The 'play' command is part of the 'sox' (sound exchange) package). This ships with most general distributions --- though you might not have installed it.
Here's a command to find all of these sound files on a typical Linux system:
locate / | egrep "\.(au|mod|wav)$"
... you can do a sanity check on those with a similar command:
locate / | egrep "\.(au|mod|wav)$" | xargs file
... the 'file' command will identify them as some form of audio file if there contents match their filename extensions.
Here's a sneaky little script I call 'ftype' that filters a list of filenames based on the type reported by the 'file' command:
#!/bin/sh
## This uses the 'file' command to filter out filenames whose
## contents don't match our spec
##
while read i ; do
    file "$i" | grep -q "$*" && echo "$i"
done
You'd call this with a command like:
locate / | egrep "\.(au|mod|wav)$" | ftype audio
... so you could play every sound on your system with a command like:
locate / | egrep "\.(au|mod|wav)$" | ftype audio | xargs -l play
(scary!)
I've talked about sound card support before:
The Answer Guy 34: Finding Soundcard Support
http://www.ssc.com/lg/issue34/tag/sound.html
So, check those links and see if that helps.

(?) Thanks for your hear me...

I'll wait for your reply.... Jeferson


(?) Question from an old friend.

From Gregg Q Reynante on Fri, 05 Feb 1999

Hi Jim,

It's me, Regina's husband. Haven't had the opportunity to write 'til now. Here's my question?

I'm trying to install RH 5.2 on a Pentium 133. Here's the catch. I have a WD SCSI 2.1 Gig HD using an Adaptec 1542CF (ISA) card. Because of the other hardware and/or motherboard of the system, I need to set the SCSI card to non-default settings. During the Linux install, it's fine until it asks for SCSI devices. When I send it to autoprobe the 1542, it tells me it's not there. In the past I've used the SCSI card & drive in default mode and successfully installed RH 5.1 This is an upgrade from my 486 machine, so I don't want to go back.

Any suggestions?

(!) First disable any BIOS/Setup "PnP" (plug and pray) features that your system is trying to foist on you.
If autoprobing doesn't work try passing the kernel a hint. In the bootparam(7) man pages you'll find details on many supported parameters. Look for something like:
aha1542=iobase[,buson,busoff[,dmaspeed]]
and fill in the parameters. I might use:
aha1542=0x320
... for example.
You might have to start your Red Hat installation in "expert" mode so that it will prompt you for these parameters.
Another possibility is that you have to cut a custom kernel and put that on your RH installation/boot floppy. This isn't too tough and it is documented in their manual. The boot floppies used by Red Hat are just MS-DOS formatted floppies with an MS-DOS filesystem and a copy of the SYSLINUX boot loader. There is a SYSLINUX.CFG file which is a bit like a lilo.conf file on an installed system. You should have to touch that (if you just replace the VMLINUZ file with one of the same name).
A Red Hat boot.img file that I have here as 24K available on it. That's not much room --- but it might be enough for a kernel with an extra SCSI driver built straight into it.

(?) And yes, I've lowered the transfer rate to 5.0, enabled sync & parity checking on the card. I've even installed DOS, so I know it works (or at least runs). I'm ready to turn it into an MS machine if I can't get this up & running soon.

TIA, Gregg

(!) My first guess would be that there is some PCI/PnP sort of thing that's inteferring with your auto-detection. So we bypass that with "expert" mode and tell it precisely where our card is. We also disable PnP since that often doesn't play well with ISA cards (like the 1542CF).

(?) [Q]: Winmodem under Linux

From urryk on Sun, 07 Feb 1999

Hi, James!

Whether there is any possibility to use the US Robotics Winmodem in Linux?

I know that this incompatible device, but it is possible to somebody it was possible it to win. Thank you for advice.

Yury with best wishes.

(!) You know that this device in incompatible with Linux but you're asking me if there is any possibility of using it with Linux.
Yes, it is currently incompatible. This is largely because the manufacturer (of the chipset used by this modem) will not release the programming specifications to the public.
So, yes there is a possibility of getting use out of it under Linux. First, convince Rockwell Peripherals International (or whatever their real corporate name is) to release the specs. Then find someone who is willing to write a driver to those specs. (You might even convince Rockwell of the value in writing their own Linux driver and releasing the sources to that).
I'll admit that this is only a slim possibility. I'm sure that other Linux enthusiasts (and Mac users, and others) have requested similar support for other non-MS-Windows systems. My advice is threefold:
DON'T BUY WINMODEMS, WINPRINTERS OR ANY OTHER OS-Specific Devices! (I wouldn't buy a piece of hardware that was supported exclusively under Linux either).
DON'T BUY INTERNAL MODEMS!
Get rid of the piece of junk you've already got. Get an RMA. Get on a phone and scorch the ears of everyone in the organizations that sold, manufactured and distributed this defective useless slag to you. Make it so expensive to deal with your complaints that they'll clearly understand the false economy in selling these things. (And be polite through the whole process).

(?) More Bad Clusters

From Rik on Fri, 05 Feb 1999

(?) Hi,

Do you know how to fix a bad cluster on my hard disk cause I have one and now I can't convert it to FAT32. I've got a Fujitsu U-DMA 1,7 GB HD I hope you can help me.

Thanks in advance Greetingz

(!) Is this some kind of joke? I keep getting questions about fixing bad clusters, marking them as bad, unmarking them from being bad and the like. Worse, these questions seem to come from MS Windows users who seem to have no interest in LINUX whatsoever.
No! I don't know how to force your machine to let you install a FAT32 filesystem on it. I don't care how that's done --- I use ext2 filesystems and they can tolerate and manage bad sectors (or ignore them at your peril) with no problem (just remember to use the -c parameters to mke2fs and e2fsck).
Please, go find a Windows Answer Guy. If you just sent me blind e-mail and don't understand why I'm babbling about this non-MS stuff go read some back issues of the Linux Gazette: http://www.linuxgazette.com
(as you should see in my .sig)

(?) how to fix a bad cluster on hd

From Rik on Sun, 07 Feb 1999

Hi,

I'm sorry but I looked at altavista for bad clusters on how to fix them and there was this message board with your e-mail adress. so that's why I sended my message to you. sorry it would not happen again.

Greetingz

(!) I don't object to getting question (on the topics that are relevant to Linux Gazette). However, it is irritating when those people who find my messages in Alta Vista don't read what I said.
I've never said that I could "fix bad clusters" --- so anything you read that was by me didn't say that. Indeed it almost certainly said almost exactly the same thing I told you.
Noting that this Alta Vista record made reference to linuxgazette.com you have to follow up and look at the "Linux Gazette's" web pages (where you'll find it's own search feature --- which should should have made it obvious who I am and what I do).
I use Yahoo! and Alta Vista (and Deja News and Google and others) extensively. I occasionally even send messages to people who I find therein. However, I do that as a last resort.
Also when contacting someone for the first time, courtesy demands that you introduce yourself. Nothing elaborate but something like:
Answer Guy,
I was searching Alta Vista looking for ways to solve the problems I'm having with bad blocks and Windows '98 on my new/old/whatever hard drive.
I found the following message from you:
...[SHORT quote/excerpt]...
... and then you can go on to ask your question.
That's only common courtesy --- which is unfortunately all too uncommon these days.
So, if you ever have questions about Linux --- including questions about how to make it work with NT, '9x, MacOS, or other systems, feel free to send them to me. Please search through the appropriate newsgroups, mailing lists HOWTOs, FAQs, and try the search feature on http://www.linuxgazette.com to see if I've answered this question before (or especially if any of our other contributors have written feature articles or 2-cent tips or other material on the subject).
For problems with a piece of equipment --- talk to your retailer or its manufacturer first. For problems which don't relate to Linux --- look for forums that focus on the one at hand. When dealing with Microsoft products remember the level of support you've been getting before purchasing any more of them.

(?) Proxying over PPP

From prashant on Thu, 11 Feb 1999

(?) Hi Answerguy,

I am using Red Hat Linux.And I want to install a proxy server. I have a modem can configure ppp over that.

But i want that proxy to do the following functions:

  1. It should optimize my ppp connection. (webproxy-1.3 does provides this)
  2. As this webproxy doesn't handle cache.A cache manager 'Squid' must be installed.
  3. Also it doesn't supports many protocols. So I want a router linked it

I dont know how i am going to do this please help me.

yours
Prashant Deshpande.

(!) Your list mixes needs with conclusions. I don't recommend that when doing "requirements analysis" as you'll probably end up with some inappropriate constraints.
If I understand it correctly you want to "optimize" your PPP connection in the sense that you want to minimize the traffic flowing over it, and the latency between requests and responses.
I'm not familiar with a package named "webproxy-1.3" --- but any caching/proxy will tend to lessen the traffic depending on your usage patterns and the co-operation of the sites that you access over these protocols. Squid is probably the most advanced caching proxying available --- and it's designed to peer with other ICP (Internet Caching Protocol) servers, (potentially minimizing traffic over other links, further out on the Internet, beyond your PPP link while also minimizing latency).
I don't understand item three at all. What doesn't support many protcocols? Squid supports a number of protocols (all those that are amenable to caching, that I can think of). Also the conclusion: "So I want a router linked it" is completely bogus. A router does routing, a proxy does proxying and caching. These functions operate at different (though sometimes blurred) levels in the OSI reference model.
If you use your Linux system as a "gateway" to the Internet for any systems other than itself (if it has an ethernet and a PPP link or any other combination of two or more non-loopback interfaces) than it probably is acting as a router.
So, let's step back from the constraints implied by these extraneous comments and focus on what you want.
You could do some protocol analysis on your PPP link to determine what protocols are consuming which percentages of the bandwidth; and to determine the average latency among various protocols. This would help you focus on which protocols are likely to benefit the most from caching. It's also possible you might find other ways to help improve your utilization.
Without going into gory details of using 'tcpdump' and performing data analysis on that we can suggest that you start with the basics.
Run a caching nameserver on your PPP/router. This should immediately improve response time and reduce bandwidth utilization by obviating the need to forward/route DNS queries across the link. Make sure to configure the /etc/resolv.conf (or its equivalent on your non-Unix systems) to actually use your caching nameserver. That includes the resolv.conf on the router/gateway itself!
Install Squid and configure your web browsers and any gopher, WAIS, or other supported clients to use it. That should help with those web sites that don't egregiously prevent caching. Note that some sites use HTTP headers (Pragmas) to eliminate or minimize caching of their pages. This is often done by "advertising" supported sites as part of their "imprint" accounting and to support their high traffic claims (to their customers). That is BAD for the Internet as a whole (since it forces every link between those sites and all of their clients to carry redundant traffic). Oh well! There goes the neighborhood!
After you've taken these two steps (and provided your caching proxy/router with LOTS of disk space and memory) you should monitor the line performance (informally) to see if that meets your needs. You've probably gained 80-90% of the potential efficiency gains already --- so additional work will have diminishing returns.
You can install DeleGate for FTP proxying (I don't know how to make "normal" FTP clients talk to Squid's FTP proxying --- but they can be configured to use DeleGate as you'd use any SOCKS proxy, and you can "manually" traverse a DeleGate FTP or telnet proxy in a way that's conceptually similar to the old TIS FWTK (though completely different, and much cleaner, in syntax).
That's probably about as far as you can go with simple proxying. From there you'll have to change the mixture of protocols you run, and/or optimize the way you work. For example if you have e-mail flowing over that PPP link you might reconfigure that to "Hold" (as "expensive") and queue it for delivery during off peak hours.
You might even reconfigure your e-mail and any netnews traffic (both outgoing and incoming) to go through UUCP. UUCP allows you to "grade" your traffic, and to schedule the delivery and receipt. This can include file transfers as well as mail and news. Naturally you'd have to arrange for some ISP to provide your UUCP batching for you. There are still some ISPs that specialize in this, and there are still some co-operative arrangements available in some localities.
These techniques have a very steep learning curve. No one has been providing WYSI new front ends to make the configuration of UUCP links as easy as common PPP scenarios are today. Also there are very few ISPs with the expertise and interest to provide these services. In addition the entire discussion is moot if you aren't carrying netnews, email, or file-transfer traffic over your link (if you don't read netnews, you've arranged ISP POP accounts on the other side of your link and your file transfers can't be scheduled and automated with UUCP).
Another option is to look at your work and access patterns. If you know that you're going to want to read "Linux Weekly News" every Thursday morning when you come in, create a cron job to 'wget' or do a 'lynx -traversal' of http://www.lwn.net every Thursday morning at 3:00am (before you come in, but still in the "dead of the night). The LWN crew seems to consistently have that up by about midnight (U.S. Mountain time). You could have similar daily jobs for your "Dilbert" fix (http://www.unitedmedia.com/dilbert) etc.
There are some tricks you can do to minimize the amount of your bandwidth you devote to downloading advertising and graphics. One method is to use Lynx (which doesn't download any graphics by default, and therefore filters out most banner ads). Another is to create your own "localhost" aliases for some sites like "click.net" --- sites which are used exclusively to serve banner ads that are embedded in the HTML of the sites you visit. Of course, the advertisers, web site maintainers (like Yahoo!) and click.net itself might complain that you are "depriving" them of revenue by viewing these advertiser supported pages while filtering out the advertsing.
If a statistically significant number of users employ these strategies then we'll see a resulting "arms race" to force the advertisments down your throat. They'll increasingly "mix" the advertising and content as inextricably as possible --- meaning that text browsers and search engines will become useless.
It's a pity that more of us don't consider the implications of advertiser supported media on our lives. Your broadcast news, TV, radio, newspapers and other periodical publications are all completely funded by advertising and therefore fundamentally suspect in regards to content and focus. Its not a "conspiracy" theory --- merely and economic fact. You get what was paid for. Since you didn't "pay for" the content that you're receiving through traditional media (and increasingly for Internet "content") --- you have little or no say in what's provided over them.
You have obscure indirect effects by your selection of products and services and somewhat more by complaint (to government and regulatory bodies and to sponsors). It's all very "negative" (in a philosophical sense). It's a pity we haven't come up with a better way to do things --- though the Internet's netnews, mailing lists, and the personally and "activist" run and maintained web sites continue to be a "ray of hope."
In any event: That's about all there is to caching and proxying for small sites over PPP and other low-bandwidth links. Larger internetwork sites might benefit from more elaborate ICP arrangments (peering among departmental Squid servers and creating a whole caching hierarchy).
Remember that this is not a magic bullet.
It's possible that your usage patterns actually won't benefit from caching or proxying. If everyone on your network is always visiting different sites, and they only visit sites that change frequently --- then the cache will be a waste of your systems memory and disk space.
Best of luck!

(?) Installing on a Big Drive: More on the 1023 Cylinder Limit

From ariel lh on Fri, 12 Feb 1999

(?) Hi!, i have a 6.4Gb Western Digital HDD partitioned with EZ-Drive (version 9.03w) into 4 partitions (3 of 1.95Gb and one 117Mb). The first one has MS-Windows and the other 3 partitions are empty. I've read lots of info about installing linux on large HDD, because it has to be installed below the 1024 cylinders.... i must tell you that i don't understand anything about this nor partitions. How would i know is i can install linux in any of the other partitions?

Thanks

(!) Linux doesn't have to be installed below the 1023 cylinder boundary. It doesn't have to be installed on the first or second hard drive. Linux can be installed in many different ways across all sorts of devices. (Indeed its possible to install Linux on a remote hard drive and to a boot over the network mounting the root filesystem via NFS).
There are two rules regarding a Linux installation:
  1. The kernel must get loaded (by a supported system into a sufficient block of memory)
  2. The kernel must be able to access a root filesystem somewhere.
The first requirement is generally thought to mean that you must install Linux where a typical PC BIOS can "find" it. Thus the commonly repeated "1024 cylinder" problem. Old BIOS' couldn't access beyond the 1024th cylinder (numbered 0 through 1023, naturally). This was a BIOS limitation and it applies to all operating systems. However, some of them (like NT and OS/2) get around that by using a "protected mode" (32-bit) boot loader. This generally requires that these systems create a small 1 or two Mb mini-partition. Linux doesn't require this.
The most commonly used boot loader for Linux (LILO) is a small real mode program. It therefore must work with the BIOS to load a Linux kernel. Another common loader is Syslinux. This installs a suitable boot loader into an MS-DOS (FAT) formatted floppy. Yet another option is LOADLIN.EXE, a DOS program for loading Linux (from a common DOS batch file, or from the DOS CONFIG.SYS --- via a SHELL= or INSTALL= directive). LOADLIN.EXE is currently included with a newer package called Linux_Load95 --- which is a Win '9x loader.
The easiest way to address the situation you've described is to use LOADLIN.EXE --- let it load your kernel.
You can do your initial installation by booting off of a CD (assuming you get one of the distributions that's shipped on a bootable CD --- which would be approximately all of them within the last couple of years). After the installation is complete (most distributions don't offer direct LOADLIN.EXE support) --- you'd copy your Linux kernel to some directory under one of your DOS/Windows filesystems. Then you boot into MS-DOS (Win '9x "Safe Mode") and install LOADLIN.
Please search back issues of Linux Gazette for more details on that.

(?) Finding LOADLIN.EXE ... and Linux Loader for Win '9x

From Mstrmasn34 on Fri, 12 Feb 1999

(?) Hey Answer Guy! , alternatively, Dear Mr. Answer Guy:

I have recently installed RedHat Linux 5.2. I boot Win 98, to which I am new. I am not comfortable with relying on a Linux boot disk to get to Linux. I intend to emphase Linux in my computer experience. Currently I rely on DOS/WIN for familiarity. Loadlin.exe did not come with the McMillan version of 5.2 I purchased.

Where can I reliably download the latest version of Loadlin.exe (and related necessaries? Also, do I need LILO if I use Loadlin?

(!) The package should be on those CDs somewhere. However, you should also be able to find it in the the Linux Loader for Win '95:
Linux_Load95
http://metalab.unc.edu/pub/Linux/utils/dos/linux_load95.lsm
... The LSM (Linux software map) file for this package claims that it includes LOADLIN.EXE (version 1.6).
That should work just fine.

(?) Partitioning Mini-HOWTO

From ariel lh on Fri, 12 Feb 1999

(?) Sorry for bothering you again but it seems that the "boot failed" message was just a bad diskette. I accesed the setup main menu and it asked me to configure the keyboard and i did, then i goes to: "partition your HD", when i go to the partitioning menu i detects my HDD when i press enter i get the message: "fatal error: bad logical partition". What should i do?, in the installation howto it says the partitioning option is for when my disk is not partitioned and it also says that if i already created a linux native and one linux swap disk partition i can skip the partitioning process.

In case i don't have to run the partitioning menu, how do i configure my existing partitions into linux native an linux swap partitions?

(!) So, you're trying to install some distribution of Linux. You don't mention which distribution so I'll guess it might be Red Hat. You don't mention what source you're trying to install from so I'd guess CD-ROM. You don't specify which platform so I'll guess it's some sort of PC.
Note: there are many distributions of Linux and many of them can be installed from any of many sources (from CD, floppy, MS-DOS hard drive partition, over FTP, NFS, or SMB/Samba -- from a copy stored on some Windows, OS/2 or other type of server). When posting questions to mailing lists and newsgroups you'll want to include a bit more detail. Remember that your readers don't know anything about your situation.
Now, to your problem. The setup/installation program you're using is offering to launch a program to partition one of your hard drives --- to reserve one or more regions of the disk space for use by Linux and mark them as such.
The exact dialogs and menus offered by this installation program depend completely on which distribution you're using.
Normally they will launch a program called 'fdisk'. There are many programs called 'fdisk' --- including the FDISK.COM (or FDISK.EXE) from MS-DOS, and those from OS/2, NT, other versions of Unix, and just about any other operating system available for the platform). Under Linux there are several versions of 'fdisk' to choose from. Most distributions include the old "shell mode" 'fdisk' and some also give you options to run a "friendlier" full-screen (curses based) program called 'cfdisk'.
Recent versions of Red Hat will offer to make many of the partitioning decisions for you --- using a program they call "Disk Druid." You supply it with the sizes and types of filesystems and swap spaces you want and it makes a corresponding set of partitions. It's a nice idea --- but I never use it personally (I've been working with micro-computers of one sort or another for almost 20 years).
Given that I don't know anything about your system I really don't know what is giving this error message. I presume that there is some gibberish in your partition table (specifically it sounds like some bogus enty in one of the extents --- the "logical" partitions inside of one of the extended partition tables.
Let's give a tiny bit of background here:
The first first addressable sector on a PC hard drive is called the MBR. This is 512 bytes long and consists of two parts --- a boot loader (a small program) and the primary partition table.
The primary partition table is 66 bytes long. This provides room for four partition table entries of 16 bytes each, and a two byte "signature" (magic number) that indicates that this MBR/partition table has been initialized.
When any version of 'fdisk' first reads the MBR for a given drive it is supposed to look for the "signature" (0xAA55 hex, or is it 0x55AA, I never remember that). If the last couple of bytes in the MBR don't match the signature then fdisk is supposed to assume that the drive has completely unitialized --- so that it won't attempt to interpret whatever random noise it finds therein (left there by the manufacturer's testing and/or production processes) as any sort of existing partition table.
Notice that there are only FOUR entries available on this table. So, if we are to have more than four filesystems/partitions on a drive we need some way to represent them. Thus there is a convention/standard that allows us to use ONE of those entries to point to an "extended" partition table. This essentially daisy chains from the boot sector to another sector. In the extended partition tables (there can be more than one --- since you can have about a dozen total) we have a whole sector, but only the last 66 bytes are used (the rest is normally "zero'd" out).
Getting back to your error message. If you don't have anything else installed on that hard drive you can ignore the error message and use fdisk to create your new partitions. If it won't "let you in" there could be other problems. I'd just boot on a rescue floppy (there should be one included on whatever CD you have, some where --- or you can get Tom's RTBT from http://www.toms.net/rb), and "zero out" the MBR with a command like:
dd if=/dev/hda of=/dev/zero count=1 bs=512
... assuming that you're using your first IDE hard drive.
Note: DON'T DO THIS IF YOU HAVE ANYTHING ELSE ON THIS DRIVE!
(You'll render any MS-DOS, Windows or other data on the drive inaccessible!).
If that still doesn't work, or if you have existing data on the drive that you want to keep --- then we'll have to work harder.
First: if 'fdisk' won't let you access the drive, even after you've "zero'd out" the MBR then you probably have some sort of unsupported drive/controller. It may be that you have a very large HD and a version of the kernel and 'fdisk' that doesn't support the huge newer drives.
There are some amazing convolutions that we've gone through in the design of PC peripherals over the years. These 10Gb hard disks that you can pick up for a couple hundred dollars are unimaginably expansive compared to the first 10Mb hard drive that I ever owned (about 12 years ago).
In the early days MSDOS had a 32Mb limit on it's hard drive filesystems. The BIOS under which MSDOS ran had a rather odd set of limits relating to the largest hard drive that was possible --- it addressed drives in CHS (cylinder, head, sector) format. Early ST-506 (MFM and RLL) hard drives typically had 17 to 23 sectors per track, maybe 5 or so heads and a few hundred cylinders.
The BIOS packed the cylinder/track and sector addresses into two bytes --- leaving 10 bits for the "cylinder" and only 6 bits for the sector. So you you could have up to 64 sectors (zero through 63) and 1024 cylinders. They did provide a full byte for the head. (This seems silly since a hard drive with 256 heads --- 128 platters would be about as tall as your desk, but I presume that it was "convenient" for the programmer due to how these parameters would be used with the controller.
Back then the CPU was involved in relatively low level details of head positioning --- so we used to tune the "interleave" on hard drives based on the relative speed of our components, so that logically "adjacent" sectors were actually physically separated, allowing the processing of one sector to account for the constant rotation velocity of the disk platter under the head --- meaning that the "next" sector was usually under the head after the last one was processed.
I'm going into these gory details for a point. Modern equipment is far more sophisticated. A modern hard drive has its own processor and cache. The micro controller processes going on in a typical cheap IDE or any SCSI drive that you'd use today take about the same computing power as the first PC that I ever used. They also typically have more memory than early PCs where capable of addressing.
Despite all these differences the fundamental interfaces and BIOS code (particularly the limitation on CHS addressing) still apply today. To get around this we've going through IDE, EIDE, and the newer Ultra-DMA (or ATA, ATA-2, and ATA-3) interface specifications. At each stage these drives use "tricks" to allow us to access more data. Usually these "tricks" provide some level of "backward compatability" --- but they often require some software upgrades nonetheless.
Instead of CHS addressing we now normally use LBA (linear block addressing). This basically takes the C, H, and S values, multiples them together and calculates a new disk block address based on the total. That's a "linear block address." However a bit of arithmetic should reveal that 256 (max. heads) * 64 (max sectors per track) * 1024 (max cylinders) * 512 (bytes per track) and then devided by about a billion bytes per Gigabyte gives a limit of 8Gb. So we see that LBA doesn't get us past about 8.4Gb (you'll get inconsistent numbers based on whether a given manufacture counts megabytes as 1000 kilobytes or 1024K, and whether they count a gigabyte as 1000Mb or 1024Mb).
The point is that older versions of Linux (and DOS, Windows, NT, and everything else) won't be able to access the full extent of some drives. It's also possible for your CMOS/BIOS settings to interfere with the proper detection of your drive's capacity. So, sometimes you have to use various sorts of "expert mode" or sfdisk options to bypass these sorts of problems. More likely you need to have a kernel which is updated for your situation.
I must admit that I have yet to install any of these HUGE disk drives. I just picked up a 10.x Gb IDE drive for less than $200 (US) and plan to install it in my wife's computer (freeing up a couple of 4Gb SCSI drives for my web server and mail hosts). I haven't had to do anything special on any of the other systems I've worked with --- so I don't know what sort of problem you're having.
You can try 'cfdisk' or 'sfdisk' (prepare a rescue floppy and either copy one of these unto it or unto another diskette). If any of these work --- you can THEN bypass the portion of the setup/installation program where it asks is you have already partitioned your disk.
Note that you must have at least one ext2 filesystem and one "swap" partition for Red Hat --- and most other Linux distributions. This is not a constraint of Linux --- it's possible to install Linux on MSDOS/FAT, minix, xiafs or other filesystems it you work at it. You can even install Linux to boot across a network. However, these are exotic options and most distributions don't have setup programs that can cope with them.
Clearly you don't want to "fight" with your first installation by trying to be exotic.

(?) Thanks again

(!) If none of this works then I suggest reading more of the FAQs, Mini-HOWTOs etc. Also you can look for a local users group and ask around.
Some (like both the Silicon Valley LUG, and the Bay Area LUG (*) that I belong to) have regular "installfests" where you can bring your system into some cafeteria or auditorium and work with volunteers (like me) to get things installed and configured. There are "swap meets" (public vendor shows) which invite the CABAL (coalition of Bay Area Linux) user groups to set up tables and hang out. (Yes, we do this for free --- all we get is free admission to the show and the occasional free CDs, T-shirts or whatnot from some vendors).
Silicon Valley Linux Users Group
http://www.svlug.org
Bay Area Linux Users Group
http://www.balug.org
The FreeBSD users also have these events (and join us at some of the "swap meets" --- though they call them "installoramas" or something like that).
If you don't have any "installfests" or "installoramas" in your area, you might still find some LUG member or local Linux enthusiast to help. If all else fails you can hire a consultant to come in, help you install this and show you how things work. (That's the sort of consulting I specialize in --- one-on-one tutorial work; usually in person).
It used to be possible to call a 900 number (run by Yggdrasil, makers of the first CD Linux distribution). You can look at http://www.yggdrasil.com for details. (Yggdrasil is the "tree of life" in Norse mythology. I have no idea how that relates to Finnish folklore or if it is intended as a reference to Linus' ethnic background at all. But it is a cool name --- particularly for fans fo the old Marvel superhero "Thor"). I don't know if Adam Richter, founder of Yggdrasil is still in the Linux superhero business --- but someone, somewhere will probably be providing "per incident" phone support eventually.
(If I gathered a group of reliable and interested Linuxers I'd consider doing it myself. I don't because I'd hate to be "on call" all the time and I'd hate even more to have paying customers get a recording saying "Jim is off on a date with his wife, Heather ... call back later!").

Funny he should mention this, since as of publication time he has just joined a new startup, LinuxCare, specializing in corporate support for Linux. More details about this new company can be found at their home page, http://www.linuxcare.com.


(!) True modems

From Mark F. Johnson on Fri, 15 Jan 1999

Quick note: Staples (a local office supply store) sells the Zoom 56k external (without serial cable) for just under $90.

(?) Low Memory Installation

From Martin Skjöldebrand on Sun, 17 Jan 1999

HI again,

Many thanks for you fast reply. And apologies if you got two messages - I forgot to remove your e-mail adress in the second one.

Hi,

I'm trying to install Debian from floppies on my spare lap-top.

It's an old machine, an Compaq Contura 486/ 25 with 4 MB RAM and 80 MB HDD.

The installation goes well (mostly - it complains that the swap space cannot be initialized but it still is used, swapon during startup later on goes well). But after rebooting I get various memory errors.

The latest being 'bash fork: Cannot allocate memory' when trying to do anything on the machine.

(!) This sounds more like there is a disk error (bad block or some such) that's somewhere in the area where you're trying to create your swap partition.
That would explain both the initialization failure (which I presume is an error message from the installation script's 'mkswap' routine) and the bash errors.

(?) I've read and re-read the floppy install on low-memory systems. I've expanded the swap space to about 20 MB (should be enough) but it still complains about the memory problem.

(!) If the error is near the beginning of the swap file/partition --- then you'll keep getting it now matter how much disk space you add to the partition.

(?) Adding swap space sorted out a few error messages I got in the first attempts. But you suggestion solves the problem of it not going away. I partitioned the drive with the option of checking for bad blocks (I think I did this the last time. I've rerun the install one time too many. Is there a difference between this and mkswap -c?).

(!) Try invoking the mkswap command (which should be somewhere in your startup files) with the -c option (to check for bad blocks).

(?) I'll boot off of a start disk and run it as root, then. I suppose you meant that. (As I can't get in on the system to do anything meaningful at all as the only reaction I get is the error message).

Any ideas? Is it possible to run Debian on a 4 MB RAM machine?

(!) I don't know. That's cutting it pretty thin. I certainly wouldn't use 'bash' on a 4Mb system --- 'bash' is hardly a lightweight shell. Try 'ash' --- which is a simpler and smaller shell that's designed for use on rescue floppies, etc.
You'll certainly want to compile a custom trimmed kernel (on another system) for use in such a constrained setting. I wouldn't think that the Contura's were so old that you can't find additional memory for them. Bumping that up to 8 or 16 Mb will make a huge difference in what you can do with that laptop.

(?) Yeah, I've had the thought myself - but Compaq memory usually is extremely overpriced. Especially for older machines. At least IMHO.

Again, thanks for your suggestions and your fast reply. I'll look into it.

Cheers,

Martin Skjöldebrand
Sys admin, archaeologist, web designer


(?) Drop-in Replacement for "WinGate"

From Paul A Pick on Mon, 22 Feb 1999

(?) Hiya,

I have a win95/redhat5.2 dual boot system, which I use as a proxy server for one win95 client machine (as my system has the net connection).

Under win95, I use wingate for my proxy software... so my client's system is setup expecting things to be wingate-like on my system. The problem comes with the recent addition of redhat5.2. I want my linux box to be a transparent plug-in replacement for the win95/wingate config but I haven't really found the proxy software to do this.

So... my question is: are you aware of proxy software for linux which can behave like wingate? So far, I've seen squid (monstrous overkill) for ftp/http and then I have to add 'portfwd' (?) to map dns/pop and then there was another app for socks (req'd for telnet). All of this makes me want to run wingate via wine (which I will try soon, actually). [ Of course, I could just buy another system to do ipmasq/ipchains... :-) ] Anyway... have I missed an obvious solution? :-) Thanks, - Paul

(!) I don't know what sort of proxying WinGate does. So I can't address the issue of a transparent, drop-in replacement for it.
Squid may be "monstrous overkill" for your situation. However, it will probably provide the key features you need and it doesn't take appreciably more memory, CPU, or (non-cache) disk space than any other proxying system. Apache can also be configured to act as a caching proxy web server.
You could get the SOCKS RPMs from any Red Hat "contrib" site/mirror. WinGate probably implements the SOCKS protocols (which govern how client software traverses a proxy; how it relays it's service requests through the proxy). There are also a couple of other SOCKS compatible proxy server packages for Linux including DeleGate, and Dante (find them both on Freshmeat at http://www.freshmeat.net).
You don't have to add ipportfw or autofw (or tcprelay or udprelay, or any of its cousins). These are all small utilities that can listen on a given TCP/UDP port and relay traffic to another system. They are more useful to virtual host servers on a private net.
Consider the following scenario:
  /^^^^^^^^^^^\     ______
 |  Internet   | ---| fw |------   (Internet LAN)
  \___________/     ~~+~~~           192.168.1.*
                      |
                      +--- (servers)
                           192.168.2.*
In this simple diagram we show a gateway/router/firewall (running Linux). It has three interfaces. One leads to the Internet. Let's think of that as ppp0 though it doesn't matter what sort of IP interface we use. Another leads to our internal LAN (let's call it eth0) and the other leads to a small segment with one or more different types of servers.
We use 192.168.1.* addresses (one of the RFC1918 "reserved net" address blocks) on the internal LAN. We use another RFC1918 on the other (we can use any of the 192.168.x.* addresses and we can subnet them in whatever fashion we like).
But wait! We can't run an Internet server on an RFC1918 address! No router on the Internet will have valid routes to any of those addresses. True enough.
However, we do have one valid, real Internet address (direct routable IP address or DRIP). We might not want to run a web server, DNS server, mail relay or other service on our router (due to security, administrative, or capacity considerations). So we put ipportfw to relay connections to our router's web, DNS, or SMTP ports to one or more machines on the bastion segment. This makes 'fw' (our firewall/router) "appear" to be a multi-service host --- though it is only running a simple set of port forwarders. (Actually you really wouldn't need to have a third segment --- you could port forward or relay into hosts on your internal LAN. However, I wouldn't recommend that --- since any attacker that subverts one of those servers through the relayed connection can then attack all of your other systems --- rather than being isolated to one segment).
Note: I've never actually done this. However, that's what the IP, TCP, and UDP port forwarding utilities seem to be for.
However, this doesn't seem to meet your needs. You want to support the clients on your LAN in their access to public services out on the net. You don't seem to have any need to provide services ("virtual" or "relayed" or whatever) to the 'net.
So, you can use proxying. You can run a caching web server proxy (like Squid and/or Apache or even the old CERN web server). You can also run a caching name server on your gateway system. This is handy since your gateway (fw) has routes to your internal LAN and to the net. So it can reply to DNS request by your internal clients and make them of the outside world.
You can also use IP masquerading (using the ipfwadm command for your 2.0.x kernels and the newer, snazzier, ipchains command for 2.2). This is basically an alternative to proxying. You can think if IP masquerading (a particular form of "Network Address Translation" or NAT) as a "transparent, transport layer proxying" method. If you have a proxy server in place, and all of your client software supports the proxy (through the SOCKS protocol) then you don't need NAT/IP masquerading.
It's possible to use them together (so your SOCKSified clients talk to the proxying servers on your system, and anything else still goes through the NAT system. It's possible to do this with just one router --- and it's even useful for some cases. For example, using some services is difficult and someone unreliable through a masquerading router.
Protocols like FTP pass IP addresses in band (as part of the data/payload of the control connection --- to be used to establish a series of data connection from the server back to the client). This is trivial for programs to support at an applications layer and very difficult to do at the transport layer (from "under the hood"). It's like cartography --- making a map by walking around in the forest takes a lot of work --- doing it from a higher level is much handier.
So, try one of the SOCKS compatible server packages. If that gives you any trouble try a command like:
ipfwadm -F -a acc -m -S 192.168.0.0/16
... one your fw system. This will add (-a) a rule to the forwarding (-F) table in the kernel to accept (acc) for masquerading (-m) any packages with a source address (-S) from any of the 192.168.x.* ranges (to anywhere).
The reason we don't have to be explicit about destinations and interfaces is because the determination of which packets are presented to the which packet filtering tables is done by the kernel's routing table. Teh filtering tables decide which ones to drop, accept, reject and "re-write" (masquerade). So that's all given.
If we add the following two rules:
ipfwadm -F -a acc -m -S 172.16.0.0/12
ipfwadm -F -a acc -m -S 10.0.0.0/8
we've configured our system to gleefully masquerade IP packets from ANY RFC1918 address --- so you can use any of them for any of your intenal LANs, segments, etc.
I personally doubt that WinGate will work properly under WINE --- and it seems very unlikely that it would give decent performance or stability.

(?) Drop-in Replacement for "WinGate"

From Paul A Pick on Tue, 23 Feb 1999


>[M]y question is: are you aware of proxy software for linux
>which can behave like wingate?

There are also a couple of other SOCKS compatible proxy server packages for Linux including DeleGate, and Dante (find them both on Freshmeat at http://www.freshmeat.net).

There ya go. I had never heard of freshmeat... (sorry guys)

I just downloaded delegate and it looks to be exactly what I was looking for... it seems to be available only as source (for linux) but compiled no problem at all. I'll try configuring it in the next coupla days.

Interestingly, delegate (according to the documentation, at least) runs under windows as well. This means that I could chuck wingate (if I wanted to) and have a very consistent interface to my client.

[ illustration of ipportfw snipped ]

Note: I've never actually done this. However, that's what the IP, TCP, and UDP port forwarding utilities seem to be for.

Yes, but I was trying to twist them to my own ends anyway.

You can also use IP masquerading (using the ipfwadm command for your 2.0.x kernels and the newer, snazzier, ipchains command for 2.2).

Alas, my win95 interface and my linux interface must be consistent.

I don't want to think about the client system's net access should I decide to play half-life, for instance.

(!) In both cases the clients can point to your server/gateway as their default route. It just shouldn't be a problem.

(?) I personally doubt that WinGate will work properly under WINE --- and it seems very unlikely that it would give decent performance or stability.

I gave it a shot and it didn't fire up at all. It encountered a fatal error in 'kernel32' or some such. I wasn't too interested in performance (my load average is generally 0.00) but stability would be an issue. A 'moot' issue, as it turns out. :)

(!) Presumably WinGate is Win32s (or such). WINE only has very limited and preliminary support for Win32s.
I expect that the moment that WINE has reverse engineered reasonable support for the Win32s APIs we'll see a new Win32X out of Redmond and a suite of compilers that generate the new code by default --- to minimize the compatibility and interoperation.

(?) Thanks for the info. Would you like to know how the delegate configurations go?

(!) Sure. You could submit an article or review to the Linux Gazette.

(?) Jim Dennis: Re: Gimp on RH5.1

From Rene Travera on Mon, 22 Feb 1999

Hello,

I have a problem trying to run The Gimp on RH5.1, I get the next messages:

gimp: error in loading shared libraries
: undefined symbol: __register_frame_info

Can anybody tell me how to solve this?

Thanks a lot. Rene Tavera

(!) It sounds like you don't have the proper library installed (or that your ld.so.cache hasn't been updated to find it).
Try running the 'ldconfig' command (just 'ldconfig' and [Enter] --- no arguments). If that doesn't help then my guess would be that you need to install the Gtk libraries.
Did you install this with an RPM, from a tarball, or from sources? Did you just try to copy the GIMP binary from another system?

(?) How 'ntpdate' finds IP addresses?

From Pete O'Donnell on Tue, 23 Feb 1999

(?) In an article on setting system clocks to atomic clock time, you referred to the following line:


/usr/sbin/ntpdate -s ntp.ucsd.edu ns.scruz.net ntp1.cs.wisc.edu

Do these 3 servers have entries in the /etc/ntp.conf file or is there some sort of host file set up on your machine? How does the xntpd daemon find the corresponding IPs. Let me know. Thanks answer guy.

-Pete O'Donnell
LiveNetworking

(!) The /etc/ntp.conf file is used by xntpd --- not be by the ntpdate command. The 'ntpdate' command finds IP addresses that correspond to these host names in the same way that any other Unix utility or application does. Almost all Unix utilities that do any sort of network operation are linked against a set of "resolver" libraries. The "resolver" libraries differ a bit among systems --- but most of them look in the /etc/hosts file, for a hostname match (grabbing an IP address from there if they find one) and then read the /etc/resolv.conf file for a list of nameservers (DNS). In other cases your resolver libraries might make requests (RPCs?) of one or more NIS (YP) servers in your NIS domain, and newer configurations --- using glibc's modular NSS (name services switching) as controlled by /etc/nsswitch.conf might query LDAP, NDS (Novell) or other backend directory/name services systems for their mapping.
(Under libc5 there was a /etc/hosts.conf that gave more limited and less extensible control over which name services were/are queried and in which order).
Read the man pages for those files (/etc/hosts, /etc/nsswitch.conf, /etc/hosts.conf and /etc/resolv.conf) for some details. You can also look at http://www.openldap.org for some cool info about future use/deployment of LDAP.

(?) Sportys

From CC on Tue, 16 Feb 1999

Hi

My 4 year old 28.8 sporty has performed perfectly, it was a little cheaper but I don't know why you "diss" em. Still keeps up with the so called 56.6s, I dunno' I scored man.
CC

(!) The Sportster is simply not rated for the duty cycles that would be imposed by use on a BBS or ISP terminal server. I've managed a couple of large BBS systems over the years (the 100 line Symantec BBS a few years ago, and the 40 line McAfee BBS --- expanded to about 60 by the time I left).
Sportsters are a consumer/commodity product. They're suitable for a few hours use per day --- but they get unreliable when receiving calls and staying "live" for weeks on end (which is what happens at busy BBS' and ISPs).
Another problem I personally have with them is the physical shape. They are not "stackable" and the case design doesn't lend itself to good cooling.
I've found (for high density applications) that placing the couriers on their sides (not stacked "up" but arrayed like books) and placing some additional fans on the racks helps keep them cool and makes them MUCH more reliable.
I like "baker's" wire racks for these installations, about as sturdy as 19" racks and much cheaper --- they just don't look as "cool". One nice thing about baker's racks; you can pack them in pretty close to the walls and to one another (side to side) --- and (since they are on large locking wheels) still maintain fairly easy access to the back panels (to get at the wiring nest).
I realize these factors exhibit a "big installation" (glass house) bias. For my own home modems I have a couple of 28.8 Practical Peripherals (the "flat pack" model, not the hideous "brick") and a Zyxel. I just bought the Zyxel for some time when I get around to playing with vgetty's DTMF and voice modem support features (eventually).
I don't remember the context in which I "dis'd" the Sportsters --- but I'm not surprised I did. I've never been impressed with them. It's a personal bias. BBS Sysops often are extremely biased about their modems; I'm only moderately so.

(?) soundcards

From Oxy Amigo on Mon, 15 Feb 1999

I have a Mediavision PAS16, a ALS100+ and a SoundBlaster Live!, can i put, at the same time the tree on Linux Red Hat 5.2? I just want 6 analog audio inputs.

Thanks.

(!) I doubt that it's possible. Many sound cards take up two IRQs and one or two DMA channels. You probably don't have six available IRQs and 3 to six available DMA channels.
If you can configure all of the hardware to co-exist (setting all of the various I/O port, IRQ, DMA channel addresses uniquely for all of them) then you can probably get Linux to concurrently access them. (You might have to do some kernel patches or play some games with obscure kernel boot parameters, module command line options, and module load order and/or driver autoprobing order. I don't know --- I'm not a C programmer).
If you looked around a bit you might find a professional sound mixing subsystem that you can interface to your PC to give you six or more high fidelity audio inputs. I'm not an audiophile, nor a sound engineer either.
One of the guys at SVLUG has set up a portable MBone multimedia broadcast system which seems to be capable of three video/audio feeds (I'm not sure if that's switched or concurrent, though I'm now curious enough to ask).
Have you tried to do this? What sorts of problems did you bump into? What is it that you're actually trying to do? (What intended application leads to your your requirements)?

(?) Linux as a Loghost (Syslog Server)

From Ravi Shah on Thu, 25 Feb 1999

Thanks a lot. It works. Do you have any book you are writing specifally for Linux and does include most of the questions that you have been answering for quite a while ? I would be very much interested in your book if you have one out or writing one.

(!) As a matter of fact I am writing a book for Linux system administrators. My co-author is taking over quite a bit of the load (smoothing out the sectional organization and the transitions between core content elements).
I hope to have it done RSN ("real soon now"(TM)). (It should be "Linux Systems Administration" from Macmillan Computer Publishing).
I'm glad that helped. Incidentally, if you try to use the -m option on some of your Linux clients --- to force them to periodically generate "heartbeat" or "timestamp" messages, you should be aware that this feature was broken until fairly recently. (It used to work, years ago, then stopped working in later releases and the author/maintainer assured me that it should be working if you get the latest copy --- I don't have the details handy --- but it shouldn't be too hard to dig up).

(?) Thanks again for your great help. Ravi

(!) [In response to]:

(?)
>Dear Answerguy :


>This has been one of the best support for Linux is out there that
>I know of by searching for my question about syslog. This is one
>of the better site I have seen in a long time.

I hope to provide even better support through my new employer: LinuxCare (commercial Linux support).

However, I'll be continuing to volunteer time through LG as well.


>Here is my quesion and your help will be greatly appreciated !!


>I am running Redhat 5.0 distribution of Linux on Dell Pentium 166,
>and it works fine with dual boot of NT.


>I would like to use this machine to be a syslog server for Cisco
>routers since we are major ISP. I have setup local7 facility to
>logged the debug messages, but Linux is not logging any debug
>messages from Cisco router. I have issued service timestamp
>commands from cisco router, and it does not work !! Similar
>setting works fine in Solaris, but not in Linux !! Help.. Thanks.


NAME
sysklogd - Linux system logging utilities.

SYNOPSIS
syslogd [ -d ] [ -f config file ] [ -h ] [ -l hostlist ] 
        [ -m interval ] [ -n ] [ -p socket ] [ -r ] 
        [ -s  domainlist ] [ -v ]

-r     This  option  will  enable  the facility to receive
       message from the network using an  internet  domain
       socket  with  the syslog service (see services(5)).
       The default is to not receive any messages from the
       network.

       This  option  is  introduced  in version 1.3 of the

Basically the older version of the syslog daemon would accept syslog messages by default --- from any machine that could get the right packets routed to them.

However there was a buffer overflow (bug) a few years ago which brought attention to the fact that very few systems need to act as remote loghosts (and that there is no sense in leaving the rest vulnerable to remote attacks through this service.

So the default was changed and now (which any recent version of syslogd (klogd) you have to add this parameter to your start script (or inittab entry) to force it to allow reception and logging from other systems.

I still recommend that you put the log host behind a set of packet filters (Cisco IOS "access control lists") to ensure that spurious and hostile log messages can't reach your loghost.


(?) Telnetd and pausing

From Clive Flint on Thu, 25 Feb 1999

Hi,

I have made a Linux server using a Tulip dt5/100 machine with 40Mb Memory, a 16Mb swap file and a 1Gb hard disk.

I have a problem that when I try to telnet into the machine it doesn't respond for about 30-40 seconds. Once it has responded then it will talk quite normally.

If I then start another telnet session on my pc it again pauses for the 30-40 seconds. Is there any reason and is there anything that can be done.

(!) This is a classic problem. TCP Wrappers (/sbin/tcpd) is attempting to check the consistency of your name and IP address using its "double reverse DNS lookup."
I've described this before but the short form is: tcpd does a reverse lookup to associate a name with your IP address. It then does a forward lookup on that purported name and scans the responses for your IP address. A properly maintained domain will have consistent forward and reverse mappings.
The reason Wietse Venema (author of TCP Wrappers) does this is to allow you to use host and domain names in your /etc/hosts.allow and /etc/hosts.deny files while reducing the risks inherent in that.
Consider the case of someone who controls any reverse DNS domain (that is anyone who "owns" or has subverted any nameserver to which a range of IP address PTR records as been delegated). It is trivial for them to return any name they like in response to reverse DNS requests. However, it would be non-trivial for an outsider to modify your forward DNS zones (and, if they could they could use "man-in-the-middle" attacks against most common prototols to disrupt your system in many creative ways).
So, tcpd uses a "double reverse" method.
The easy solution for real IP addresses which have been properly delegated to you by your ISP or through the IANA (or your national address registry) is to simply update your reverse zone maps to match the forward ones.
The reason this only affect the initial connections, and that it only affects a limited set of services is because tcpd is only active for those services which are listed in the /etc/inetd.conf as being launched by tcpd with lines like:
ftp	stream	tcp	nowait	root	/usr/sbin/tcpd	in.ftpd
(You'd see similar affects from programs that are linked with "libwrap" --- a compiler library which implements the same set of host access checks as TCP Wrappers).
The reason your web services aren't affected is because they aren't launched through inetd and they aren't compiled with libwrap. (And they don't do these double reverse lookups).
(?)ip numbers
192.9.200.1 clive.clara.net (linux server)
192.9.200.100 cef1 (winnt machine)
192.9.200.101 clivemob (win98 machine)
(!) I believe you should be using RFC1918 addresses for these systems since the real address for clive.net seem to cluster in the 195.8.69.* range and a reverse lookup of 192.9.200.0 suggests that those are not assigned at this time.
I'm assuming that you've just "picked these out of a hat" --- that they haven't been delegated to you. This also suggests that you're using masquerading or a set of applications proxies (such as SOCKS, DeleGate, Danta, etc) to access the 'net.
You could configure your nameserver for "split" DNS or you could configure an internal nameserver (used by all your internal systems). Another technique is to simply put the appropriate entries in your /etc/hosts file. This will bypass DNS (and reverse DNS) queries for most services. The 'gethostbyaddr()' library function will find the IP address and name in the /etc/hosts file first (under most common configurations).
(That might fail if you've changed your /etc/hosts.conf (libc5) or /etc/nsswitch.conf (glibc). However, it's incredibly unlikely that you've touched either of those files).

(?) The server is running dhcp service and that works fine. If I web to it it responds immediately with no delay.

(!) Like I said --- this only affects TCP wrapped services (and others that would do similar consistency checks.

(?) Any help would be gratefully received.

(!) Try adding the appropriate IP addresses to the /etc/hosts files on the involved servers.

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


More 2¢ Tips!


Send Linux Tips and Tricks to gazette@ssc.com


New Tips:

Answers to Previous Questions:


Multiple booting.

Date: Mon, 01 Feb 1999 07:04:20 -0500
From: "Richard E. Veldwijk", veldwijk@UU.NET

As I've got kids and kids tend to play games, I have to have Micro$oft products on my machine. As I use OS/2 and Linux myself, here's a nice tip: Install OS/2's boot manager. If you have OS/2 installation floppies, you can run an OS/2 FDISK and install the boot manager, even without installing OS/2 itself.

On my machine, I have two primary C-partitions. The 1st is DOS 6.2, the 2nd is WIN98. I created these with Partition Magic and the OS/2 boot manager will take care of hiding and unhiding of these partitions. The 3rd option is Linux, where LILO is loaded from the Linux partition, instead of the MBR, so it doesn't interfere with M$ crap. Last option is, needless to say, OS/2 itself. This works really good! One drawback: Only the last booted C-partition is visible. If you need to access the other, you'll have to hide one and unhide the other.

--
Richard E. Veldwijk


Spell checking an single word

Date: Mon, 8 Feb 1999 01:01:43 -0500 (EST)
From: "Ben 'The Con Man' Kahn", xkahn@cybersites.com

Many times I want to spell check a single word while I'm using an application which doesn't support ispell. I created a small tcsh alias which can check a single word from the command line. Here is the alias:

alias spell 'set j=`mktemp /tmp/spell.XXXXXX`; rm -f ${j}*; echo \!:1 >
${j}; ispell ${j}; cat ${j}; rm -f ${j}*; unset j'
Please note that the inner quotes are back quotes. This makes the command run and assigns the output to a variable. I have no idea how to do this in bash. :^/

--
Benjamin Kahn


Keyboard Macros in Emacs

Date: Mon, 01 Feb 1999 19:09:16 +0500
From: Vishwas Narendra, vishen@md2.vsnl.net.in

This is my $0.02 tip on how to use Emacs for programming with a bit of lesser work for your fingers. Emacs has something known as keyboard macros. To create a keyboard macro type `C-x (' when you're editing any file(let's say a C source file). Now when the minibuffer says `Defining kbd macro' type in whatever you want to automate. Take for example you want to automate the line :

int main(int argc, char **argv)
{
 
Once you've finished typing this type `C-x )', emacs should say `Keyboard macro defined'. Now you must name your macro, so that you can call it later. Just type `M-x name-last-kbd-macro'. It then prompts for the name. In our example, let's call this as `main-type' or something like that. Now open your .emacs file. When the .emacs file is open, come to the end of the file and type `M-x insert-kbd-macro'. When it asks for the name of the macro to insert type in the macro name you had given last time. And emacs automatically inserts the Lisp code for your macro.

Now in order to call the macro you must use `M-x <macro-name>'. But this doesn't do much good because the whole idea of macros is to decrease your typing and this makes it worse. This problem is overcome by using keyboard mapping. The next step is to map the macro to one of the function keys.

Depending on whether you need the macro in all modes or not you can use the functions global-set-key or define-key.

1. Here is an example for the global-set-key which you can add to the end of the .emacs file:

(global-set-key "\C-cm" 'main-type)

Now the next time you reload emacs, when you type C-c m the whole code (not really, just this one line) gets typed for you. Please note here that it is a bad idea to use keys that have already been mapped. The most preferable combination is Control C + <yourkey>.

2. If you want the keys to be mapped only in the cc-mode, then place the following code in your c-mode-common-hook:

(define-key c-mode-base-map "\C-cm" 'main-type)

The only problem with the first method is that since you have only limited keys on the keyboard, they get used up very quickly. Moreover, when you're editing something like a html file, you wouldn't wan't emacs to spew out characters like `int main' etc.
 

PS to gurus: Please note that I myself am a beginner in emacs. I've used it for only six months now. If there is any mistake in what I've written, please don't hesitate to write to me.

--
Vishwas


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


ANSWER: Re: A question please: two modems

Date: Wed, 24 Feb 1999 17:56:21 +0100
From: Christophe Fonteyne, christophe.fonteyne@lu.gmeds.com

It is impossible to connect two modems over a telephone line at a speed of 56 Kbps. The reason for that is that the maximum traffic over a telephone line is 64 Kbps. In order to obtain that speed, both parties need to have a didgital connection. When you dial up to your provider at 56 Kbps, you're not dialling to an analogue modem, like you have yourself, but insteed, you're dialling an ISDN modem...ie digital. Therefore you cannot have the full 64 Kbps, but only 56 Kbps (loosing 8 KBPS). Now if you set up a connection between 2 anaolgue modems, you will loose twice the 8 Kbps, leaving you with a maximum transfer rate of 48 Kbps. This is only when the lines are in optimal condition, which is rarely the case. Also, make sure the transfer rate of your serial ports is set high enough (eg stty 57600 ).

--
Christophe


ANSWER: Re: Boot SCSI with IDE Disk Too

Date: Tue, 2 Feb 1999 21:54:40 +0100
From: "Böszörményi Zoltán", zboszor@mol.hu

A local ISP tried to install LILO in a machine that has both IDE (three disks) and SCSI, and for him the only variation that worked was when there was no primary master IDE disk, one of the IDE disks was the slave on the primary controller.

The BIOS of course allowed to boot from SCSI but LILO complained all the time that /dev/sda in not the first disk until the above setting.

After installing LILO the primary slave could be jumpered as master but not recommended.

--
Zoltan Boszormenyi


ANSWER: Question in lg-37

Date: Tue, 9 Feb 1999 10:52:04 +0100
From: Ian Carr-de Avelon, ian@emit.pl>

A reaction to:

I have two 3com modems v90's one is internal "3com v90 voice" and the other is External 3com v90 .... I am using each one with a Linux System and have them connected to each others by a telephone line .... my problem is that I don't get the 56 speed that v90 should have. I get 33 or some thing like that... is there a way to tune up the modems in Linux operating systems? Thanks a lot.
Unfortunately this is nothing to do with Linux, so normal folks can't meddle with it, as they could if it were something in Linux. The "56K" speed is possible only in one direction, and relies on there being a digital connection to the phone system at the faster sending end. To get 56K in one direction you will need to change one end to ISDN and purchase suitable equipment for that end Eg. USR Courier-I. Depending on the cost of ISDN where you are, you may be better looking at ISDN at both ends as equipment for straight digital ISDN is much cheaper.

--
Ian


ANSWER: Supra SupraSonic Int Modem with Linux

Date: Mon, 08 Feb 1999 09:58:51 PST
From: "tom poplawski", tom_poplawski@hotmail.com

I have seen the Red Hat page and this about Supra Modems and Linux. I am writing this from my Linux box connected to the Internet with my diamond SupraSonic II modem. I am using Red Hat 5.2 and made no changes at all to get this modem working. I haven't tried using both modems at once - yet! At first glance it appears Linux has recognized the other modem as well. I haven't been able to tell why Red Hat says it won't work but it may need some configuration as a Plug and Play board that Linux can't provide. I did use it first in another plug and play operating system before Linux.

--
Tom


ANSWER: From .02 Tips issue 36: SupraExpress Modem

Date: Tue, 1 Dec 1998 09:48:10 -0500
From: "Brower, William", wbrower@indiana.edu

Richard wrote:

I have a PII (350MHz) running with an AGP ATI 3DRage graphics card (which works fine) and a Sound Blaster 16 PnP (which also works fine). But, I can't get my internal SupraExpress 56k modem to work.
Your modem sounded familiar from a past search I had done, so I went to Red Hat's www site (http://www.redhat.com/) and followed the support | hardware link. You will find this reference in the modem category:

Modems that require software drivers for compression, error correction, high-speed operation, etc. PCI Memory Mapped Modems (these do not act like serial ports) Internal SupraExpress 56k & also the Internal SupraSonic 56k

It appears that your modem is inherently not compatible with Linux. I use an inexpensive clone modem called the E-Tech Bullet, pc336rvp model - paid $28 for it and it operates with no problems at all. Good luck in finding a compatible modem!

--
Bill


ANSWER: MIDI question

Date: Tue, 23 Feb 1999 18:47:56 -0500
From: Paul Winkler, zarmzarm@erols.com

Subject: Idea for an article

How about a primer on how to set up one's sound card to do true MIDI?

Good idea, big topic.

I have an Ensoniq AudioPCI card and have been successful in getting it to play WAV files via the audio out port and also simulated MIDI using TIMIDITY.
That is all the card is capable of. The AudioPCI _does_not_have_ a hardware midi synth of any kind!
But I can't figure out how to get TRUE MIDI rendering like I get with the same card in Windows 95.
You've been fooled, I'm afraid. Under Win95, the AudioPCI uses a software synth (which is what TiMidity is!). Check your system resources while playing MIDI... CPU usage should go up.

If you really want / need a card that really has built-in wavetable synthesis, make sure you get one that stores the samples in ROM, not RAM. If the samples go in RAM, you need software to load them at boot time. This software is provided by the manufacturer and guess what... it won't run on Linux.

I have a Turtle Beach Malibu which has a 2MB ROM sample set which sounds OK. The other snag is I've hardly found any Linux apps which work with it! (Jazz++ sequencer works.).

--
Paul


Published in Linux Gazette Issue 38, March 1999


[ TABLE OF 
CONTENTS ] [ FRONT PAGE ]  Back  Next


This page maintained by the Editor of Linux Gazette, gazette@ssc.com
Copyright © 1999 Specialized Systems Consultants, Inc.

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


Adding a Second IDE Hard Drive to Your System

By Mendel Leo Cooper


Consider the advantages of adding a second drive to your system. True, replacing your present drive with a new, low cost, high capacity one would seem a better alternative, but... If you can pick up a used 1.3 gig drive for a coupla bucks at a flea market or you local computer dealer (he might have accepted it as a trade-in), then this is indeed the cheapest way to upgrade your storage capacity. If you are planning to update the kernel on a production system, but are afraid of breaking some of your apps, then it is a simple matter to copy your entire ~/, /etc, and /usr directories to the second drive, where they would remain pristine and untouched by the upgrade. If a few hundred megs would tide you over for a few months, until you finish paying off your new patio or gambling debts, then save those bucks until next year, when 20 gig IDE drives will be a loss leader at your local "Five 'n Dime".



  1. The physical mount.
         Copy down the specs from the label on the drive.
         Make sure it's jumpered as "slave".
         Mount the drive in a spare drive bay, securing it with several screws.
         Attach an IDE cable from the IDE port on the motherboard.
    
  2. Update the BIOS with the info for the new drive.
         It may autodetect, but don't count on it. Check the BIOS settings to make
         certain. Setting the 'LBA' option not necessary.
    
  3. Partitioning.
         Boot up Linux and partition the new drive:
         As root, fdisk /dev/hdb.
         [primary partition, Linux native]
    
  4. Format the new drive.
         mke2fs -cv /dev/hdb1
         [verbose output and check for bad blocks]
    
  5. Create a mount point.
         Decide where you will be mounting it and create a mount point.
         For example, if you will mount it as /mnt/drive2, as root,
             cd /mnt
             mkdir drive2
             chmod 777 drive 2
             [makes the new drive accessible to ordinary users.]
    
  6. Testing.
         As root, mount -t ext2 /dev/hdb1 /mnt/drive2.
         If no error messages, cd /mnt/drive2, and try creating a directory and
         writing a couple of files.
         If it works, hurray!
         Continue to the final steps.
    
  7. Modify /etc/fstab.
         Add the following line to /etc/fstab:
         /dev/hdb1         /mnt/drive2          ext2    defaults     1 1
    
  8. Reboot and see if the new drive automounts.



The Hard-Disk-Upgrade miniHOWTO, by Yves Bellefeuille contains some of the above info, but in a somewhat different context. In any case, the author of this article figured out how to do it mostly by trial and error and read the miniHOWTO after the fact.


Copyright © 1999, Mendel Leo Cooper
Published in Issue 38 of Linux Gazette, March 1999


[ TABLE OF CONTENTS ] [ FRONT PAGE ]  Back  Next


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


Compiling Programs on Linux

By JC Pollman


So you are a linux newbie and want to get your hands dirty. Most of you, myself included, are not programmers, but that does not mean we can not enjoy the benefits of open source, and even contribute to the cause. It also means that we are at a distinct disadvantage when compiling goes wrong. Compiling is usually very simple: nothing to get worried about and certainly nothing as hard as programming, but it is not a 100% guaranteed event. What follows is a beginner's guide to compiling. It is meant to be a 90% solution for people starting out with linux.

Sooner, or later, everyone will download a program in source code and try to compile it. Even if you are avid follower of Red Hat or Debian, you will eventually find a program that is either too old, or too new, to find a precompiled binary. The bad news is that the code will not always compile no matter what you do - remember, most linux programs are beta at best. The good news is that the percentage of programs that compile without problems has increased significantly over the past five years, and that there are things you can do to "fix" code that will not compile without being a programmer.

After you download: you now have some sort of tarball on your disk. First you must uncompress it and untar it to a directory. By convention, most people untar programs to the directory: /usr/src. This keeps everything in one place so you can clean it after time, as well as keep track of which version of the program you have compiled. You will need to be root to use this directory. The linux tar program can uncompress and untar a file at the same time if the file was compressed using gzip. If you have a file named: filename.tar.gz, you can cd to the /usr/src directory and type:

    tar -xzvf /{path to file}/{filename.tar.gz} [Enter]

and it will uncompress and untar. Here is a quick explanation of the flags:

    x - untar the file
    z - uncompress the file
    v - verbose - so you can see what is happening
    f - what follows is the file you want to untar

If you used Netscape to download the file, you might get an error. Sometimes Netscape will uncompress the file for you. So if you try to untar it as listed above you might see:

    gzip: stdin: not in gzip format

    tar: Child returned status 1
    tar: Error exit delayed from previous errors

Try the same command, but leave out the z. So it looks like this:

    tar -xvf /{path to file}/{filename.tar.gz} [Enter]

Instead of gzip, many files are using bzip2 for the compression, so your file will look like: the-program.tar.bz2. The z flag for tar will not work. The easiest way to untar the file is to type: bunzip2 the-program.tar.bz2. This will give you the file: the-program.tar, which you can untar using:

    tar -xvf /{path to file}/{filename.tar.gz} [Enter]

After untaring: cd to the directory that was created when you untared the program. Look at the files in the directory: ls. You have to read the README and INSTALL files. Do not think you will get the slightest bit of help from anyone if you do not read these files. There is a reason why RTFM is one of the most common expressions on the net. The README and INSTALL files should tell you how to compile and install the program.

To compile, you issue the "make" command. In order for "make" to start compiling, it must have a file named: Makefile (you could issue "make" options on the command line, but that is beyond the scope of this article.) There are three common ways to start the compile: simple, Imake, and configure.

Simple compile: If you see is a file called Makefile - no Imake or configure files, you are going to use this method to compile. This method of compiling has the most problems because nothing is configured to your computer. Often times the README and INSTALL files will tell you to edit some files so it will compile. Usually you can then type:

    make [Enter]

    make install [Enter]

and if all goes well, you can now run the program.

Imake: If you ls the directory and there is an Imake file and no Makefile, you use this method. This is an older way to setup the compiling. Basically, you type:

    xmkmf [Enter]

    make [Enter]
    make install [Enter]

Configure: Use this method of compiling if there is a file named configure in the directory. This is the easiest way to compile and probably has the highest chance of compiling correctly. Essentially it checks your entire system for every possible library and support file to ensure you can compile the program, and then creates the Makefiles with the correct information. To compile, type:

    ./configure [Enter]

    make [Enter]
    make install [Enter]

Notice the ./ in front of the first command. When you type a command, you shell looks for the files in your path. It does not start looking in your current directory, so if ./ (which means: current directory) is not in your path, even though ls can see the file, your shell can not it. The shell can execute make because it is usually in /usr/bin which is in your path. To see your path, type:

    echo $PATH [Enter]

If things go wrong:

The most common cause of not compiling is missing files. Almost all programs rely on support programs/files/libraries. If they are missing, the program can not compile. The README/INSTALL files should have told you which files, and which version of the files, you need to compile the program. Note: the wrong version will kill you just as much as not having it at all. Usually you will know if this is the problem because the error statement at the end of the compile will tell you it can not find a certain file. Note: sometimes you have the file, but it is not where the Makefile says it is. Use your linux distribution install program, e.g. rpm, and check to see if you have the missing file. If not, go get it. If you do have it, and it is the correct version, check the Makefile to see where it thinks the file is. Example: say the file moc is in /usr/local/bin, but the Makefile says: moc=/opt/bin/moc. Then just edit the Makefile (with vi or whatever you use for text editing) and change where moc is located.

The next most common problem is missing include files. Most of the files in the program source directory have lines near the top that look something like this:

    #include <gtk/gtk.h>

    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <stdlib.h

These "h" files (or headder files) must exist on your computer. As a minimum, check that you have the kernel headder files by: ls /usr/include/linux. If you have installed libraries, like gtk, make sure you have also installed the devel files for them as well. Sometimes having multiple versions of the same library can cause problems as each version could put its header files in different places and you will not know which files the compile will use.

If you have made all the necessary changes to the Makefiles and have all the libraries and include files and it still will not compile do the following IN ORDER:

1. If you downloaded the program from a site other than the home site for this program, go to the home site and see if there is a newer version available.

2. Go to www.dejanews.com and search for your program. It is very likely that others have had the same problem and posted solutions.

3. If all else fails, email the author. Most program authors are very interested in improving their program and bug reports/suggested improvements are usually well received (remember: this is linux, not commercial software.) Note: your bug report had better say something more than "it did not compile"! I usually email the last 10, or so, lines from the xterm compile window so the author can see exactly where it died. If I really like the program, I will email the author after every new version and give him/her as much useable feedback as I can. Please note: programmers are humans too - they go on two week vacations, change jobs and locations, and some even have to go to class once in a while, so do not expect an immediate reply.

Lastly, there are some programs that have unique compile setups: qt and the kernel come immediately to mind. To compile them, I will beat the horse one last time: read the README and INSTALL files!
 


Copyright © 1999, JC Pollman
Published in Issue 38 of Linux Gazette, March 1999


[ TABLE OF CONTENTS ] [ FRONT PAGE ]  Back  Next


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



muse:
  1. v; to become absorbed in thought 
  2. n; [ fr. Any of the nine sister goddesses of learning and the arts in Greek Mythology ]: a source of inspiration
© 1999 by mjh


Button Bar
Welcome to the Graphics Muse! Why a "muse"? Well, except for the sisters aspect, the above definitions are pretty much the way I'd describe my own interest in computer graphics: it keeps me deep in thought and it is a daily source of inspiration. 

[Graphics Mews][WebWonderings][Musings][Resources]

This column is dedicated to the use, creation, distribution, and discussion of computer graphics tools for Linux systems.

You'll notice a few minor changes to this months column.  First, I've got a sponsor:  SoftPro Books is providing books for me to do book reviews.  In exchange, I'll be linking the book covers to their site so you can order them.  Their sponsorship allows me to do more book reviews than normal since otherwise I'd have to purchase the books.  And that gets expensive.  So if you think the book being reviewed is for you, please consider purchasing it from SoftPro Books.

Second, I've signed up for Associate/Affiliate programs with Amazon.com and fatbrain.com, respectively.  If you're considering buying some other books online, I'd appreciate it if you visited their site via these links.  If you buy books via these links I get a small stipend, which over the long term I can use to buy equipement.  Right now I'm trying to get some cash together to get a TV card so I can do an article on software for those beasts.

In this months column you'll find:

  • A review of Jennifer Niederst's book Web Design In A Nutshell
  • Information on accessing non-keyboard characters in X

Associate
The Artists' Guide to the Gimp
Available online from fatbrain.com, SoftPro Books and Borders Books.

In Denver, try the Tattered Cover bookstore.

Also, check out the associated web site, TheGimp.com, sponsored by SSC, Inc. and edited by The Graphics Muse - Michael J. Hammel.



Other Announcements:
Metro Link support for Rendition / Nvidia cards
Release 0.3 of a clickable imagemap plug-in for the Gimp
Giram 0.0.6
tgif 4.0.13
Sketch 0.5.3
KuickShow 0.6.3
wmtune for bttv 1.0
FREEdraft 0.3.6
GRASS 5.0 beta
W3C aims to streamline vector graphics
Netscape Flash Plugin 0.4.3
Video Server 0.5.4
Poor Man's Cam 1.1
GILT 0.1.0
Zope 1.10pr1
gView 0.1.0
< More Mews >
Disclaimer: Before I get too far into this I should note that any of the news items I post in this section are just that - news. Either I happened to run across them via some mailing list I was on, via some Usenet newsgroup, or via email from someone. I'm not necessarily endorsing these products (some of which may be commercial), I'm just letting you know I'd heard about them in the past month.

XawTV 2.34
Gerd Knorr 

XawTV is a simple Xaw-based TV program which uses the bttv driver or video4linux. It contains various command-line utilities for grabbing images and avi movies, for tuning in TV stations, etc. A grabber driver for vic and a radio application (needs KDE) for the boards with radio support are included as well.  Changes: 15 bpp problems fixed, NTSC-HRC support added, driver updates (sync up with bttv 0.6.1, msp3400 nicam changes).

http://www.in-berlin.de/User/kraxel/xawtv.html



Random Quotes:

Seen on the SANE web site (in the legend explaining the supported scanner list):

"stable" means someone is pulling your leg.


"When I read a book about computers, they're written by Martians, for Martians.  They don't know how to spell out a word.  Everything has to be three letters.  This drives me batty.  In fact, when I rule the world, there will be a glossary at the bottom of every page and every photograph in every computer publication that says exactly what these abbreviations are."
Harold Feinstein, as quoted from the February 1999 issue of PEI Magazine.


Tech Soft America Announces support for Linux Operating System in HOOPS 3D Graphics System v4.41

Tech Soft America (TSA), developer of the popular HOOPS 3D Graphics System today announced support for the Linux Operating System in their 4.41 release.  This announcement further expands HOOPS' already extensive platform coverage and will enable high-end 3D applications to be built for Linux using HOOPS - a robust graphics development component with a proven track record in the CAD/CAM/CAE GIS and Geophysical application markets.

Complete announcement.
Hoops3D Web site.



FreeWRL 0.1.8
John A. Stewart (CRC Canada)

FreeWRL is a free VRML browser for Linux. It aims to be fully VRML97 compliant, complete with scripting in Perl, Java and Javascript, and EAI. It is written mostly in Perl, with some C for library interfaces & rendering and uses OpenGL (Mesa) for graphics.  The current versions are still alpha-stage and there are several pieces missing (especially certain field types in EAI etc) but it is quite usable in various types of worlds.  Changes: Some bugs fixed. New maintainer - John Stewart - CRC Canada

http://debra.dgbt.crc.ca/~luigi/FreeWRL/



ttmkfdir current
jpo

ttmkfdir is a tool to create valid and complete fonts.dir files from TrueType fonts. It is very useful when you plan to use a TrueType enabled font server that is based on the X11R6 sample implementation (xfsft for instance). Great care has been taken to correctly identify the encodings that a given TrueType font supports.
Changes: First freshmeat announcement.

http://www.darmstadt.gmd.de/~pommnitz/ttmkfdir.tar.gz



xfsft 1.0.3
jpo

The Xfsft patches to X11R6 enable X11 servers (including XFree86) to use TrueType fonts and improves on the way X11 handles international scalable fonts.

Changes: New in version 1.0.3 is support for international Type 1 and Speedo
fonts.

Download: ftp://metalab.unc.edu/pub/Linux/X11/fonts/xfsft-1.0.3.tar.gz
Red Hat Packages: http://www.darmstadt.gmd.de/~pommnitz/XF86-xfsft/index.html
Homepage: http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/



Retardotracer 1.0.0
Michael Leibowitz

Retardotracer is a raytracer written in C++ that raytraces both reverse and forwards for each polygon. This allows it to accurately model some (and only some) things.  It works in parallel, which is kinda neat. Foo, Bar, and Baz are included.

Changes: This is the first release.
http://www.ece.utexas.edu/~leibowit/retardotracer/ (only provides access to tarball)



Dave Gnukem 0.4
David Joffe

Dave Gnukem is a GPL'ed 2D Scrolling platform game, similar to Duke Nukem 1. It includes a sprite and level editor. The game and editor use GGI, and thus runs on the console as well as in a window under X.

Changes: Added teleporters, bananas, title screen image; Some cosmetic additions, bugfixes, structural game-flow improvements, menu improvements, new sprite editor features, full-screen mode in X.
http://www.geocities.com/SoHo/Lofts/2018/djgame.html



TexturePaint 1.1
Uwe Maurer

TexturePaint is a Gimp plugin which displays a Quake I/II model in an openGL window and shows a texture image mapped on the model. You can modify the texture image with GIMP and view the result in the 3d window. You can also paint in the 3d view and TexturePaint calculates the texture for you.
Changes: Autoconf , Support for Quake I models
http://home.t-online.de/home/uwe_maurer/texpaint.htm



SGI announces the Open Source release of GLX
"GLX provides the glue connecting OpenGL® and the X Window SystemTM and is required by any OpenGL implementation using X."
For the complete announcement, go to http://www.sgi.com/software/opensource/glx/.


Linux and 3D Graphics BoF @ LinuxWorld

John Leech is  organizing a BOF (Birds-of-a-Feather) session on Linux and 3D graphics at Linux World Expo in March. The details:

Linux/3D BOF
Wednesday, March 3, 1999
San Jose Convention Center
Room A4  5:30-7 PM
If you have a topic to discuss, please contact me about it in advance (email to lwbof@oddhack.engr.sgi.com). Items already on the list: Jon Leech
OpenGL Group
Silicon Graphics

Did You Know?

...the Gimp was mentioned in an article discussing alternatives to Photoshop in the February 1999 issue of PEI (Photo Electronic Imaging) magazine?

...holding the Control [CTRL] key down while rotating [Gimp images and layers] locks it to 15 degree increments.
Seth Burgess <sjburges@gimp.org>

...the relatively new Wacom Intuos drawing tablets are reported to work with the Gimp now.  Take a look at http://www.gtk.org/~otaylor/xinput/ for help on setting up X Input (required for using tablets under the X Window System) and http://levien.com/free/linux_intuos.html for information on the Intuos driver status.  Seth Burgess says "Support for tablets is improved in Gimp 1.1.x with a new "Ink" tool that is just too much fun to play with.  Of course 1.1.x is development, and crashes semi-regularly, so use at your own risk."

...there is a TrueType for XFree86 Mini-Howto at http://www.sfu.ca/~yzhang/linux/truetype/.

...there is an interesting article by Cecil Adams on the history of the ratios for TV and movie screens at http://www.straightdope.com/columns/981120.html.
 

Q and A

Q:  Can I restore the default values on a [Gimp plug-in] easily?  If I experiment with various bump map settings, for example, and I want to get back to defaults, how do I do that without shutting GIMP down?

A:  Some plug-ins have Reset or Defaults buttons but many do not.  There is no standard for how plug-ins should behave for resetting to default values.

Q:  Can I have more than 1 layers dialog open simultaneously, rather than switching from image to image.  This is annoying when I'm working on several multi-layer images together.

A:  No, its not possible. But when you press Ctrl-L in an image the layers dialog shows the layers of this image. So you can switch faster to other images than to use the mouse.
Jens Finke <pearl@darkride.net>

Q:  Someone mentioned this recently, saying what map projection is required to get a map of Earth correctly image mapped on to a sphere in POV-Ray, and even mentioning a web site where such a map can be found.

A1:  There is a collection of bitmapped planet surfaces at the IMP website:

http://www.imp.org/members/scene/test_a/scripta.html
There are also links to sources and methods of projection.  The maps here are not necessarily 'correct', but I would be interested in knowing how to do the correction.
Nigel Stewart (nigels@eisa.net.au)

A2:  The maps at that site [listed in A1 above] are certainly much nicer than the others I have found, and they also appear to be the correct projection for POV's map_type 1.
Robert Sorenson
zephyr@nerc.com

A3:  For the most part (+95% of maps) you should map them cyllindricly onto a sphere, and they look great.
Simon de Vet
http://home.istar.ca/~sdevet

A4:  http://maps.jpl.nasa.gov/  (yes, Nasa, the space agency)
Scott McDonald
scott@urbandragons.com

Q: I am an "end user" of my own Linux-based system, having recently graduated from that "other" OS.  I miss having the font selection I have on the other side of my hard drive (my computer has a split personality).  I have the new WordPerfect 8 for Linux and the fonts are boring!  I would like at least one good blackletter, script, or classic type face (Goudy, Caslon,etc.) but I don't know where to look or even if they are available for Linux.  Any ideas?  Kinene Barzin <KBarzin@compuserve.com>

A:  Linux, actually the X Window System, uses Adobe Type 1 fonts by default.  You're probably used to True Type fonts.  You can use both on your system, but there are a few tricks to getting things to work.

The easiest method is to find Type 1 versions of the fonts you already have.  I have found that many of the font collections on CDs available from the local software stores come with both True Type and Type 1 fonts.  I just copy the Type 1 fonts to a local directory and then tell the X server to include this new directory.  Take a look at the xset command, in particular the "fp" option.  You'll also want to take a look at the Type1Inst script, which will configure the new directory so WordPerfect, the Gimp and other tools can use the common Font name instead of the longer XLFD, X Logical Font Description (that long name with all the dashes in it).

Alternatively, you can use the True Type fonts through the use of a Font Server.  A Font server is a separate program that talks to the X server and manages fonts for the server.  There are two fonts servers available that handle True Type fonts:  xfstt and xfsft (similar names, but different programs).  Look on freshmeat for where these can be downloaded. Font servers should be able to handle both True Type and Type 1 fonts, but I've not tried to do mix them.  Using xset it should also be possible to mix local Type 1 fonts with those managed using a font server.
 


Reader Mail

Cecile Hebert-Souche <souche@atp6000.tuwien.ac.at> wrote to the Gimp-User mailing list:
I see a lot of posts regarding problems with font installation, I had a tip for those who have bought applix : it comes with a wonderful fontmanager (applix/axdatas/fontmetrics/gallium/fontfm) just start it as root and you can manage your fonts in a very easy way, create subdirectories and activate them only on need, test fonts before installing etc...
'Muse:  I tried this with my installation of Applix and sure enough, its a fine font previewer.  Certainly better than most of the other tools I have for previewing fonts.  I didn't try it for managing font directories but it does appear to permit this.

whitenoise@fishnet.com wrote:

A Linux freak of mine sent me your URL. Cool graphics (esp. like Angel).  I do some designing/putzing as well - mostly Photoshop - and I was curious where you get the initial images of the women? The graphics I do are ok but I always seem to get stuck finding GOOD images of women that I can reproduce without spending money or getting sued for infringement. By GOOD pictures of women, I mean head shots, eyes, lips, necklines, that type of thing. Stock photography is one out (like Digital Stock) but I'd  be curious to hear your response.
'Muse:  Angel (and some of the others) were taken from one of Corel's Super Ten Packs.  I did a short review of these in my November 1998 issue of my Graphics Muse colum.  These are royalty free images in fairly high resolutions.  Maybe not quite good enough for print media, but pretty close.  And certainly less expensive (about $40) than other stock image collections.

However, I have the same problem as you - its hard to find good photos of faces.  The only thing I can think of other than the stock photo collections is to hook up with a decent photographer, perhaps a friend, acquaintance or maybe a student at a local university who is looking for some way to showcase their work.

Also, where did you get the design pattern for a subject like Angel - you know, all those brick like things? It almost looks like you selected a range and did a lighting effect to get one side "sunny" and the other hidden in shadow. Anyway, what you'd care to share I'd appreciate.
'Muse:  Its actually a combination of effects.  I can't remember how I started it but I think it was with a brick pattern that I fiddled with in the Gimp plug-in called Gimpressionist.  I think I used it as both a layer and a layer mask, and I used it multiple times.  This much I do remember:  it took quite some time to get that image just right.
If you find time, I'd appreciate your feedback. There aren't too  many people who's work I go ga-ga over but you stuff rocks pretty well.
'Muse:  Thanks.
You ever heard of Peter Lessing? He's a designer/photographer who's big on the female form - not like www.gogogirls.com but more subdued and flattering. I think you'd like his work.
'Muse:  Send me a URL if you have one.  I do like looking at art work online.  It helps motivate me to do more work.  I don't know if you like the style, but you might take a look at http://www.sirius.com/~fenster/.  I don't know what this style is called - maybe Modern Gothic? - but I like it.  She's also done a fairly nice job in displaying the gallery.

Another guy I like is Tim Umney.  He was featured in Issue #37 of Design Graphics (an Australian graphics design magazine focused on the use of computers to do the artwork).  He's a HR Giger fan and his work shows it.  Sort of has an X Files feel to it, too.  It took some searching, but I found his website at http://homepages.tig.com.au/~umney/.

I don't ask much, do I? If what I've requested above isn't enough, could  you toss in a million dollars? Just throw that in as an attachment.
'Muse:  I use text based mail readers on Linux.  So I don't do attachments.  :-)
Corel's a huge outfit but they're not really the market leader in anything, maybe that's why I never considered their photos/images before. Didn't even know they offered them.
'Muse:  Corel is actually quite well known for their stock photo collection.  I learned about them by reading Design Graphics.  You can get it at most Barnes and Nobles or Borders bookstores.
I'm surprised some vendor (such as corel) hasn't come out with a "women only" photo collection, or something similar. I would think there would be a market for such an animal.
'Muse:  There is at least one SuperTen collection from Corel called "Women".  You can also order individual shots from their web site of stock photos.  There are a lot of photos of womens faces there.  Check that issue of the Graphics Muse column that I did the Corel SuperTen write up on - I think it was somewhere between August and November of last year (but I'm too lazy to go look for it right now).
Anything worth doing always seems to take a long time. Have you looked into doing prints or otherwise reselling them?
'Muse:  In the future, perhaps.  I was thinking of making a series of images for a calendar, but there are business problems with calendars:  low margins, high production costs, etc.  None of the images (well, except for the Linux Journal covers I did) are large enough to transfer to print media very well.  You need to make very large images if you plan on printing them out in high quality gloss prints.

Jason Thomas Murray <lather@electrografix.com>

Erm, I have been wanting to make some basic CD jackets.
+----+----+
|    |    |
|    |    |
+----+----+

     ^-- the fold.

I was able to convert the size into points fer LaTeX, but I wanna use the GIMP. Does anyone know what dimensions I need to use for the image? It looks like the new GIMP is going to have inches as an option for new image sizes, but not sure I want to wait that long for the next stable.
'Muse:  Short answer:  Measure the jacket you want to print on.  Multiply by the DPI your printer will be printing at and that gives you the dimensions for the image you want to make.

Long answer:  Go to my Muse back issues and look for the discussion on DPI/LPI.  Its not hard to do the conversion from paper inches to pixels if you have the right information, you just have to know what information to gather to do the conversion.

http://www.graphics-muse.org/linux.html - click on the "muse" button.

Nancy Mazur wrote to the Gimp-User list:

I've got a drawing with a bit of text here and there, yet I'm not glad about the font I've chosen initially, and now I'd like to set all of my text into another font.  How can I do this without having to delete my previous text, create new text in new font, and reposition that new text as the old one used to be?
'Muse:  Well, it actually can be done, but its not easy.
Is there an easy solution to this?  Perhaps I keep on understanding Gimp's philosophy in a wrong way.
Christopher Curtis replied:
The GIMP is a bitmap tool.  Once something is "done", it cannot be "undone" or "modified" (Undo/Redo excepting).  The text will have to be recreated.
'Muse:  This is true if the text has already been merged with other layers in the image.  If the image is one you just scanned in, then the text is already part of the single layer you scanned in.  In any case, the text is a bitmap image, not a vector image.  That means you just can't edit the text.  In a bitmapped image, its not really text - its just a bunch of pixels that happened to be shaped like letters.
Some things you may want to consider in the future is to put text on its own layer so that it does not corrupt existing image data.  This makes things slower because it uses more memory, but is generally a good idea, especially for things like text where lines are important.  It is always possible to have layers smaller than the image as well, and this may help speed-wise.
'Muse:  This is correct, and part of the solution to saving the old text.  What you can do to save the old text is to make a selection of that text, float the selection and make that floating layer a new layer.  Then add two new layers:  one "patch" layer that fills in the background where the old text used to be and another that is the new text.  Position the layers so the original is at the bottom, the patch is right above it and the new text above that.  The old text layer can be anywhere - just make sure its visibility has been turned off (click on the eye icon in the layers dialog).

The most difficult part of this technique is creating the patch.  This is due to the fact that the original image probably was not a solid color so creating the patch requires multiple steps:

  1. create a solid patch that is very near the original image background colors.
  2. select a region of background off the original image
  3. paste into the patch
  4. use the clone tool to copy from the pasted region to the edges of the patch.
Its tricky, but you can do it if the background was not too complex of a design.  The more solid the original background the better.

All of this simply replaces the old text with new text, but both "texts" end up as new layers in the Gimp image.  You need to save the file as an .xcf format file in order to preserve the layers.  Once you "flatten" the layers or "merge visible layers" then the layer information is gone and you have a single bitmap image (and if the old text layers visibility is turned off then the old text goes away in the flattened image).

Another thing to look at is the gDynText plugin.  I don't know the URL offhand, but you can find references to it from news.gimp.org and from registry.gimp.org.  Simply download and untar the file, then type "gimptool --install gdyntext.c" (if that's the source file name).  You may want to read the README that comes with it.
'Muse:  You can also, as a short cut, create a text file using vi (or some other editor) and then copy/paste from that window into the stock Text Tool window.  Pasting this way will get you multi-line text, which you can't get if you simply try to type newlines in the Text Tool's text input window.  Thats just an additional trick for getting multiline text into your image.


Book Review:  Web Design In a Nutshell

Author:  Jennifer Niederst
Publisher:  O'Reilly
Price: $24.95 from SoftPro Books


Although I do a fair amount of web design, it has been quite some time since I've picked up any references on HTML , JavaScript or general web page layout.  When it came time for this months Muse column I find, as usual, I couldn't find something new to write up.  It then hit me that its been quite some time since I'd done any book reviews.

So off I went to visit SoftPro Books, my favorite local haunt here in Denver for technical-oriented texts.  I browsed the shelves for a solid hour (it had, after all, been over a year since I'd last visited them - I'd been Dallas all that time) for something new on graphics but applicable to Linux.  A few items looked promising but nothing stood out as particularly motivating.  I then moved over to the Web-based texts.  Web Design In A Nutshell by Jennifer Niederst caught my eye, partly because of its familiar O'Reilly cover.  Since I had never done a review for Web Wonderings I thought this would be a good choice.

The first problem I have when doing book reviews is to find one that is applicable to Linux users.  Keep in mind that although there are plenty of administrative texts for Linux, there are relatively few that are specific to Linux in other areas of computing.  I scanned the table of contents of Jennifer's text looking to see if there were any glaring OS issues.  There is mention of Shockwave and Flash under one chapter heading, but other than that the five part, 27 chapter text looked fairly platform inspecific.  Thats a good sign for a text on a subject that isn't supposed to care much about which platform its running on.  A quick chat with the SoftPro crew and I headed home with the text.

Once home I did a little deeper research.  First, the 27 chapters are broken into 5 parts (not including the appendices):  The Web Environment, HTML, Graphics, Mutlimedia and Interactivity, and Emerging Technologies.  Each chapter within these parts is fairly short and to the point - exactly what you'd expect and need from a Nutshell reference.  The opening chapter, Designing for a Variety of Web Browsers, is a good lead in.  It talks about the various browsers out there, some less well known than others, and includes a very helpful table showing feature support for many of the different versions of Netscape, IE, and other browers.  This is followed in the next chapter with information on designing for various display issues and includes graphical descriptions of the maximum and minimum screen space available to both Netscape and IE users.  A brief list on making sites accessible (such as to speech synthesis software) rounds out  this chapter.

The next chapter unveiled hidden platform specifics that I'd missed on first glance - throughout the text there sprinkled pointers to tools that can be used to deal with the current chapters topics.  Unfortunately, these pointers are decidedly MS and Mac oriented.  The third chapter goes beyond this by offering an introduction to accessing Unix systems (as if they were so foriegn!).  Despite these hidden annoyances, most of the text is still platform inspecific.  So you can just skip those short tools sections.

Through out the text there are tables and graphical descriptions mixed in with the text.  The tables are especially good.  For example, chapter 5 has a table showing relationships between common color names (as defined by the X Window System), their RGB and Hex equivalents AND the nearest Web safe color.  This last bit is a new twist on other tables like this that I've seen and is a nice bonus.  Later in the same chapter is a table showing the character codes used for displaying various uncommon characters in HTML.

Jennifer uses a nice guide when defining specific HTML tags - she shows which of 5 browsers (with their various releases included) support that tag.  For example, the horizontal rule tag definition opens like this:

In this case all the browsers support the <hr> tag.  If any of them didn't, they would be grayed out.  This makes it easy to find which tags are browser specific and, therefore, which tags to avoid.

Along with the tables, the graphical descriptions used in many parts of the text are very useful.  In one table in chapter 12, the appearance of form elements is shown for 4 different browsers (2 versions each from Netscape and IE).  This visual explanation of the differences in implementations is very helpful to anyone who has muddled through trying to create forms that are usable to users of any browser.

The section on graphics is disappointingly biased to MS and Mac platforms.  Although much of the information can be applied to the Gimp and other Linux graphics tools, its an excersize for the reader to make the translation from the tools Jennifer describes to their Linux counterparts.

Unlike the graphics section, the audio and video chapters are less biased in the fact that Jennifer talks more about file formats than specific applications that use them.  For the most part, Linux has tools that support most of the common audio and video formats.  At least for playing these files, if not for creating them.  And even then, the creation tools are slowly coming to public availability.

Two areas that are covered that I find quite useful are DHTML and XML.  I've looked at DHTML a little but have not yet begun to read up on XML.  The two short chapters on these subjects are good introductions for someone who is familiar with HTML in general.

This nice thing about O'Reilly's Nutshell series is that the are more than a straight reference guide but not so boring as a full blown collegiate text on the subject.  Jennifer Niederst's text Web Design In A Nutshell is a fine example of this series and, despite some of the biases toward MS and Mac applications, is well worth the price.


Accessing non-keyboard characters in X

A question came up recently on the Gimp-User mailing list that I found interesting, mostly since I didn't know the answer:  How do you access characters that are available in a certain font but do not have a key stroke assigned to them?  For example, how do you get to the Copyright character if there is no Copyright key?

It turns out you can configure your X server to understand new keystrokes for these unattached characters.  The key, if you'll parden the pun , is to learn about xmodmap, the program that maps of keys to characters for the X server.  This program, which should be available on every Linux distribution under /usr/X11R6/bin, allows you to specify the keystroke to use to access extended characters in a font.

Let's say you want to map the copyright character to the 2 key with the Shift key held down.  Currently, this is mapped to the familiar "at" (@) character.  If you make a short text file with the following line in it(1):

keysym 2 = 2 copyright
and save the file, say named temp.map, and then run
% xmodmap temp.map
this will map the copyright character to the shifted 2-key. Now fire up the GIMP and you will be able to generate the copyright character when using a font which supports it.  To get your keyboard back to normal, edit the temp.map file:
keysym 2 = 2 at
and again run xmodmap.

Alternatively, you can use a graphical interface to map lots of keys all at once.  The xkeycaps tool, written by Jamie Zawinski of Mozilla/Netscape fame, gives you a graphical display of your keyboard and allows you to map multiple characters to single keys when those keys are used with various modifiers (such as CTRL or ALT).


xkeycaps - click on image for full size version

If you make one of your keys be a Mode_switch key, you can add two more characters to pretty much every key that produces a character.  For people that use international characters, but want to use the US keyboard layout, you can make a key a Multi_key and do sequences like Multi_key-`-e to get an e with a grave accent on it(2).

Xkeycaps has to know about your keyboards physical configuration, but fortunately its been around for so long (since about 1991) and so many people have provided configurations for so many keyboards that there is a good chance your keyboard will be available.  Even if its not, you can edit a configuration file in order to add your keyboard to the list of keyboards.

I didn't have time to explore this very useful application any further than this but plan when time permits.  For the most part I don't have a need to access any keys outside of those available from my Dell keyboard.  Still, occassionaly it would be nice to have access to accent marks, copyright symbols and other symbols for use in both my word processor as well as in the Gimp.
 

  • This information comes from Alan on the Gimp-User mailing list.
  • This information comes from Lyle on the Gimp-User mailing list.




  • The following links are just starting points for finding more information about computer graphics and multimedia in general for Linux systems. If you have some application specific information for me, I'll add them to my other pages or you can contact the maintainer of some other web site. I'll consider adding other general references here, but application or site specific information needs to go into one of the following general references and not listed here.
     
    Online Magazines and News sources 
    C|Net Tech News
    Linux Weekly News
    Slashdot.org

    General Web Sites 
    Linux Graphics
    Linux Sound/Midi Page

    Some of the Mailing Lists and Newsgroups I keep an eye on and where I get much of the information in this column 
    The Gimp User and Gimp Developer Mailing Lists
    The IRTC-L discussion list
    comp.graphics.rendering.raytracing
    comp.graphics.rendering.renderman
    comp.graphics.api.opengl
    comp.os.linux.announce

    Future Directions

    Next month:  No Muse since I'll be out of contact for a while.  But the Muse will be back in May with, I hope, the first of a two parter on the X Windows System and Themes.  Maybe.

    Let me know what you'd like to hear about!


    © 1999 Michael J. Hammel


    Previous ``Graphics Muse'' Columns

    Graphics Muse #1, November 1996
    Graphics Muse #2, December 1996
    Graphics Muse #3, January 1997
    Graphics Muse #4, February 1997
    Graphics Muse #5, March 1997
    Graphics Muse #6, April 1997
    Graphics Muse #7, May 1997
    Graphics Muse #8, June 1997
    Graphics Muse #9, July 1997
    Graphics Muse #10, August 1997
    Graphics Muse #11, October 1997
    Graphics Muse #12, December 1997
    Graphics Muse #13, February 1998
    Graphics Muse #14, March 1998
    Graphics Muse #15, April 1998
    Graphics Muse #16, August 1998
    Graphics Muse #17, September 1998
    Graphics Muse #18, October 1998
    Graphics Muse #19, November 1998
    Graphics Muse #20, February 1999


    Copyright © 1999, Michael J. Hammel
    Published in Issue 38 of Linux Gazette, March 1999


    [ TABLE OF CONTENTS ] [ FRONT PAGE ]  Back  Next



    © 1999 Michael J. Hammel
    indent
    Metro Link support for Rendition / Nvidia cards
    Release 0.3 of a clickable imagemap plug-in for the Gimp
    Giram 0.0.6
    tgif 4.0.13
    Sketch 0.5.3
    KuickShow 0.6.3
    wmtune for bttv 1.0
    FREEdraft 0.3.6
    GRASS 5.0 beta
    W3C aims to streamline vector graphics
    Netscape Flash Plugin 0.4.3
    Video Server 0.5.4
    Poor Man's Cam 1.1
    GILT 0.1.0
    Zope 1.10pr1
    gView 0.1.0
    Disclaimer: Before I get too far into this I should note that any of the news items I post in this section are just that - news. Either I happened to run across them via some mailing list I was on, via some Usenet newsgroup, or via email from someone. I'm not necessarily endorsing these products (some of which may be commercial), I'm just letting you know I'd heard about them in the past month.

    Metro Link support for Rendition / Nvidia cards
    Colin Scott McDonald

    Metro-X for Linux/x86 has been updated to include new support for Nvidia Riva TNT & Riva 128 Chipsets, Rendition V2x00 chipsets, as well as improved support for Permedia 2 based cards and Matrox G100/G200 chipsets. Current owners of Metro-X version 4.3 can download the newest patch for free, new customers can purchase Metro-X for $39.99. 

    For more information on Metro-X and our other products for Linux, please visit our website at http://www.metrolink.com



    Release 0.3 of the Gimp plug-in for the creation of clickable imagemaps

    Available from: http://home-2.consunet.nl/~cb007736
    Some highlights from this release:

    You can now load a CSIM file that was saved by this plug-in. Files saved by other programs may cause problems. I haven't tested this yet.

    The program was tested with GTK 1.0.6 and Gimp 1.0.2.  Compatibility with other versions is unknown.

    Maurits Rijk
    lpeek.mrijk@consunet.nl



    Giram 0.0.6
    David Odin

    Giram Is Really A Modeller (or at least will be). It is written in GTK+ v1.1.x (x>=7) and in an early stage of development. So far it can load and save simple Persistance of Vision Scenes and some basic modelling tools are already there. For now you can only use plane, sphere, box and csg objects, with simple enough textures.

    Download: ftp://ftp.minet.net/pub/giram/



    tgif 4.0.13
    Bill Cheng

    tgif is a vector-based draw tool, with the additional benefit of being sort of a web-browser. That is, you can fetch drawings from a web server with it, and you can make objects in your picture into hotlinks to other parts of the drawing, or to other drawings accessible via http.

    Changes: Various bugfixes, better scrolling and zooming, new visible-grid function in slideshow.
    http://bourbon.cs.umd.edu:8001/tgif/



    Sketch 0.5.3
    Bernhard Herzog

    Sketch is a drawing program similar to CorelDraw or Adobe Illustrator. It is written almost completely in python with some modules written in C, thus combining the flexibility and power of Python with the speed of C. Advanced features include gradient fills, clip masks, text along a path, blend groups, convert text to curves, and more.

    Changes: Rectangles may have rounded corners now, an Illustrator export filter has been added and bezier curves can be used as guides now.
    Download: http://www.online.de/home/sketch/download.html
    Homepage: http://www.online.de/home/sketch/



    KuickShow 0.6.3

    KuickShow is a fast, comfortable and easy-to-use imagebrowser /-viewer for KDE. It is based on Imlib and loads many imageformats pretty fast. KuickShow has a nice interface, that allows you to browse large amounts of images in a short time. It can zoom, mirror, rotate images, adjust brightness, contrast and gamma, auto-resize-to-fit and can do a slideshow, of course.

    Changes: Bugfixes, KDE 1.1 updates, stability improvements, and a few more filebrowser features.
    Download:  http://www.millenniumx.de/packages/kuickshow-0.6.3.tar.gz
    Homepage: http://www.millenniumx.de



    wmtune for bttv 1.0

    wmtune-bttv is a radio tuner window maker applet for all TV/radio cards supported by the Linux bttv kernel driver. It includes presets, a timer for automatic switch on/off and mixer support. Supports wmtune and kradio config files

    Changes: This is the initial version.
    Download: http://home.pages.de/~fionn/archive/wmtune-1.0_bttv.tar.bz2



    FREEdraft 0.3.6

    FREEdraft is a 2D mechanical cad project. It is being developed using Linux FREEdraft is likely to work on most any other Unix/X system.

    Changes: Updated for compatibility with current library versions, bug fixes, and creeping featureism.
    Homepage: http://pw2.netcom.com/~iamcliff/FREEdraft.html



    GRASS 5.0 beta

    GRASS (Geographic Resources Analysis Support System) is a public-domain raster-based GIS, vector GIS, image processing system, graphics production system, and spatial modeling system.

    Changes: GRASS 5.0beta represents the first major change in GRASS functionality in several years, with the most notable change being support for floating point and null values. GRASS also now has a new and much easier to use windows interface based on Tcl/Tk.
    Homepage: http://www.baylor.edu/~grass/



    W3C aims to streamline vector graphics
    By Paul Festa
    Staff Writer, CNET News.com

    C|Net report on work being done at the World Wide Web Consortium (W3C) related to vector graphic format proposals currently under consideration by that group.

    http://news.com/News/Item/0,4,32346,00.html



    Netscape Flash Plugin 0.4.3
    Olivier Debon

    The Flash Plugin is a Netscape plugin that allows to view Flash files. Many commercial sites use this format to make their site up. The Flash object also allows to navigate through a site, therefore, without the right plugin it was impossible to go further the "Get Shockwave" logo while running Netscape under Linux.
    Homepage: http://www.geocities.com/TimesSquare/Labyrinth/5084/flash.html



    Video Server 0.5.4
    Andrew Shuvalov

    Stony Brook Video Server is the distributed video server application that provides indexing, searching and video streaming in a convenient way to clients over the network. The client may browse the complete list of movies, search closed captions and play selected video from the beginning or from the point matching search query.
    Homepage:  http://www.ecsl.cs.sunysb.edu/~andrew/VideoServer/videoserver/index/book1.html



    Poor Man's Cam 1.1

    PMCam is a program that allows you to set up a webcam on a remote site through FTP and perl. It uses qcam to grab the image, mogrify to do the conversion to JPEG, and Net::FTP in perl to FTP the files to the server. The program's RC file should be configurable, though to allow any camera or converison programs.
    Homepage:  http://ic.net/~craig/pmcam/



    GILT 0.1.0

    GILT is a vector drawing program. It merges GIMP and openGL to be both usable and dependable. It is currently in a pre alpha state, this means we are looking for programmers. Current features multiple views and documents in one session layers and guides-layers script and plugin-mechanisms planned and partially implemented transparent object possible (due to openGL) Planed features loading of postscript object database
    Homepage:  http://www.vicksburg.com/~phoenix/main.html



    Zope 1.10pr1

    Zope is a free, Open Source web application platform used for building high-performance, dynamic web sites. It contains a powerful and simple scripting object model and high-performance, integrated object database.
    Homepage:  http://www.zope.org



    gView 0.1.0
    Bruce Smith

    gView is a GTK/ImLib image viewer with an interface similar to ACDSee.
    Initial release.
    http://www.geocities.com/ResearchTriangle/Facilty/1468/sg/
    indent
    © 1999 by Michael J. Hammel

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


    Linux Dialin Server Setup Guide

    By Josh Gentry


    Abstract
    v 1.3, 13 February 1999
    This document is a step-by-step guide to setting up a Linux dialin server which allows SLIP and PPP connections over a phone line.

    Copyright 1999 Josh Gentry
    I encourage redistribution of this document, non-commercial and commercial.  I would like to be notified of redistribution.  You are NOT permitted to alter the contents of this document, though I do not care about changes in presentation.

    Acknowledgments
    Much of the information in this document was originally gleaned from the following LDP HOWTOs: Linux Serial HOWTO
    Linux Modem HOWTO
    Linux Kernel HOWTO
    Linux PPP HOWTO

    A great deal of information was found in Gert Doering's online documentation for mgetty+sendfax. Additionally, the following online documents were valuable in the configuration of AutoPPP in mgetty:
    http://members.bellatlantic.net/~mrdennis/mgetty.html, Mick Dennis http://oh3tr.ele.tut.fi/~oh3fg/ppp/ppps.html, Kalevi Hautaniemi

    Much information on PAP was learned from Olaf Kirch's Linux Network Administrators' Guide and the S.u.S.E. Support Data Base (http://wi-pc44.fh-konstanz.de/support-db/sdb_e/kfr_17.html).

    The majority of the information in this document was originally gathered for, or derived from the process of setting up a Linux RedHat 5.1 dialin server for Mr. James Hart. He teaches at the Technical/Vocational Institute in Albuquerque, NM. Tony Lucero was my partner on that project. Their help and guidance were invaluable.

    Finally, a big thank you to all those who have aided in the development of the Linux kernel and Linux applications. This document is my small contribution to their effort.

    Disclaimer
    This document carries no explicit or implied warranty. Nor is there any guarantee that the information contained in this document is accurate. It is offered in the hopes of helping others, but you use it at your own risk. The author will not be liable for any damages that occur as a result of using this document.

    1 Introduction

    A dialin server is a host equipped with a modem and phone line, that allows other hosts with modems and phone lines to call and connect to it. There are several reasons a person might want to do this; to use the resources on the dialin server, or, if the dialin server is on a network, to use the dialin server to access the network. Further, if this LAN is connected to the Internet, the client may be able to access the Internet via the dialin server.

    1.1 Raison d'être

    The majority of information needed to setup a Linux dialin server is available in LDP HOWTOs. When I used these documents to setup such a server, however, the fragmentary nature of the information was a major obstacle. This document consolidates much of the needed information and presents it as a step-by-step guide.

    1.2 This Document as Guide

    Setting up a dialin server is a common project, but not a simple one. This document attempts to rigorously set forth a step-by-step guide to the process. It is likely, however, that you will need to reference additional documents. The LDP HOWTOs listed above should be considered invaluable companions to this document, and should be consulted in the order listed above. Furthermore, do not neglect the documentation included with your getty and PPP packages.

    1.3 Clients and Servers

    The protocols used to connect two hosts via a phone line are technically peer-to-peer protocols; there is no real difference between the machine that dials and the machine that is dialed into. Conceptually, however, it is easier to think in client/server terms. "When you dial into a site to establish a PPP connection, you are a client. The machine to which you connect is the server." (Linux PPP HOWTO, Hart) I will use this convention throughout the document.
        Setting up a dialin server is the process of setting up a machine to answer the phone, participate in the setup of a connection with the client, and authenticate the client.

    1.4 Differences Between Linux Distributions

    My experience is with RedHat Linux 5.1. I believe most of the information in this document will apply to all distributions. Where I am aware of or suspect differences between distributions, I will note it in the text.

    1.5 Software Packages Covered

    Linux kernel v2.0.34--http://sunsite.unc.edu/LDP/HOWTO/INFO-SHEET.html
    mgetty+sendfax-http://www.leo.org/~doering/mgetty
    PPP-2.3.3-http://sunsite.unc.edu/pub/Linux/system/network/serial/ppp/!INDEX

    2 Modem Installation

    For a host to be a dialin server, it must be physically possible to dial into it. This requires that the host have at least one modem and phone line. Modems are serial devices, therefor it is highly recommended that you read the Linux Serial HOWTO, as well as the Linux Modem HOWTO.

    2.1 Modem Type

    Plug-and -Play modems are not well supported by Linux. This means that you want a jumperable modem, or an external modem. Start by asking your vendor what brand they recommend.

    2.2 Ports

    Serial ports, like all I/O ports, have an address.  By default, Linux initializes four serial devices.  Some may be familiar with these ports as Microsoft refers to them, COM 1-4.  In Linux these ports are referred to as ttyS0-ttyS3.  For example, the port known to Microsoft as COM 1, would be known to Linux as ttyS0.
        Note that if you use use a port address other than these four, you will have to initialize that port with "setserial."  See the "setserial" man page.
        External modems plug into external serial ports (RS-232 ports) on your PC.  These ports are automatically assigned an address by Linux.
        Internal modems plug into the internal PCI or ISA slots of your PC.  An internal modem is actually a modem and a serial port.  It carries its own, and it is the modem's serial port that you plug into the internal slot.  For these modems, you set the port address on the modem.  This is why you want a jumperable modem.  You use the jumpers to manually set address and IRQ.  The prepriatorial modem documentation should explain how to set the jumpers for port address and IRQ.
        Note, if your PC has two external serial (RS-232) ports, as most PC's do, the Linux Modem HOW-TO recommends setting your internal modem address to ttyS2 or higher.

    3 Kernel Support

    This is the part of the process most likely to scare those new to Linux. It scared me. Turns out not to be as difficult as you think, and if you do make a mistake, you can usually just recompile your kernel again. You should now read the Linux Kernel HOWTO.
           There is an alternative to compiling the PPP driver into the kernel.  You can install the driver as a loadable module.  The advantages of this are that your kernel is smaller, and it is not necessary to recompile.  The PPP driver is linked to the kernel and loaded into memory space only when it is needed.  I believe the argument for compiling the driver into the kernel is that PPP does execute faster if it is compiled into the kernel.
        You can link the loadable module to the kernel by recompiling the kernel as described below, but as Matt Kressel has pointed out to me, if you have the "insmod" command installed on your system, it is not neccessary to recompile.  Issue the command "insmod ppp" to install the PPP driver as a loadable module.  I found that I had to "insmod slhc" before I could successfully install PPP with "insmod ppp".  I am not sure why, but "insmod ppp" would not work without the slhc module.
        The command "lsmod" lists the loadable modules currently installed on the system.  There is also a command for removing modules.  If these commands are installed on your system, then you should also have the man pages.  Do a "man insmod" for more information.

    3.1 Kernel and Source Code

    The kernel is a binary, an executable program. Developers do not write the kernel as an executable, they write code that is fed into a compiler, and the compiler produces the executable from that source code.
        With Linux, you have the source code that is used to produce the kernel executable. This means that you can customize your kernel to include only the capabilities that you need, creating a leaner, meaner kernel. Because of this, you can not assume that a kernel includes support for specialized tasks, such as those required for networking. You will have to check and see, and if your kernel does not contain the necessary support, you will have to recompile your kernel.

    3.2 Recompiling the Kernel

    To compile the kernel, you create a configuration file. You can check your current configuration file to see if needed capabilities are already compiled into your kernel.
    Most dialin servers will be hosts on a LAN. This document assumes that the host is already configured as part of the LAN. If this is not the case, you should reference other documents at the LDP before continuing, such as the Linux Network Administrators' Guide.
        I prefer to use xconfig. It is a graphical tool for viewing and modifying the kernel configuration file. It requires that you have X-windows installed and running, and that you have Tk installed.
    In xconfig you will find the options for SLIP and PPP support in the category "Network devices." These have to be supported for a SLIP and PPP dialin server.  If the server will provide access to a network, the kernel must include support for IP forwarding. In xconfig this is found in the category "Network options."
        If you must recompile the kernel, it is highly recommended that you read the Linux Kernel HOWTO. These are the basic steps:

    1.  Make a copy of your present kernel in case of emergency
    2.  cd /usr/src/linux-(kernel version number)
    3.  Issue the command "make config". If you are running X-windows you can try "make xconfig" to use a point-and-click interface for this process.
    4.  Say "yes" to all the proper networking options: SLIP, PPP, IP forwarding, etc (your LAN network configuration should already be configured).
    5.  Save and exit
    6.  Issue the command "make dep"
    7.  Issue the command "make clean"
    8.  Issue the command "make zImage"
    9.  cd /usr/src/linux-(kernel version number)/arch/i386/boot
    10. cp zImage /vmlinuz (or wherever your kernel resides)
    11. Issue the command "lilo"

    That should do it.  The Linux Kernel HOWTO states that you should be able to issue the command "make zlilo" after you have made the zImage, and that making zlilo will copy and install the new kernel for you.  This did not work on my system, however.

    4 gettys

    You will need a getty that can handle modem communications. Once started, usually from inittab, the getty runs as a background process. Your modem getty will be idle until the modem receives a call, at which point it will "answer" the phone and negotiate the specifics of modem-to-modem communication with the client. There are several gettys that can be used for this task.
    This document covers the usage of mgetty. You can acquire the mgetty+sendfax package and official documentation at Gert Doering's website, http://www.leo.org/~doering/mgetty. It was included with RedHat 5.1 and lived in /sbin/mgetty and /etc/mgetty+sendfax.
        Note that anytime you see something like "/sbin/mgetty" that it is simply the path to the file. Files may be located in different locations in the directory structure on different machines, and possibly with different distributions. Therefor, the path to the file would be different. You will need to verify the location of the necessary files on your system.
        There are many options for mgetty that you can edit to your desired configuration, most importantly in /etc/mgetty+sendfax/mgetty.config. Refer to the mgetty documentation if you need to make changes to the default settings. The default settings worked for us. If you wish to enable AutoPPP, you will need to edit /etc/mgetty+sendfax/login.config. Detailed instructions on that task appear later in this section.
        To start mgetty, edit /etc/inittab. Here is another point where the serial and modem HOWTOs are helpful. You must tell mgetty which serial port to monitor. In Linux these ports are numbered 0-3, and named ttyS* for dialin. For a modem we installed on the third internal port, we added this line to /etc/inittab:

    S2:2345:respawn:/sbin/mgetty ttyS2 -D /dev/ttyS2

    The option "-D" tells mgetty to expect data only, no faxes. After this use the command "kill -1 1" to force initd to re-read inittab. This will cause mgetty to be started.
        Note that if you use a multi-port serial board, those ports might be named differently than the four ports Linux initializes by default. In his excellent document on mgetty and AutoPPP, Mick Dennis reports naming the ports on his Cyclade Cyclom 16YeP as /dev/ttyC*.
        Using the default settings, mgetty negotiates a SLIP (Serial Line Internet Protocol) connection and allows authentication via /etc/passwd. This is a functional system that allows a user to login to a shell account. If desired, a mechanism can be provided to allow users to start pppd after logging in over there SLIP connection. First, make sure that all users have permission to execute pppd by issuing the command:

    chmod u+s /usr/sbin/pppd

    Next, add this line to /etc/bashrc:

    alias ppp="exec /usr/sbin/pppd -detach"

    This way, after the user has logged in over the SLIP connection, they can start pppd by typing "ppp." This procedure is taken from Robert Hart's Linux PPP HOWTO.
    Another option is to create a PPP account. The entry in /etc/passwd might look like this:

    ppp:x:351:230:pppclient:/home/ppp:/usr/sbin/pppd

    When a user connects they simply login as "ppp." Once they provide the password, pppd starts automatically.
        For Microsoft clients to work with this setup, the client must be configured to provide a terminal screen after connection. This is not a default setting. These are the steps to do it in Windows 95:

    1. Click on My Computer
    2. Click on Dial-Up Networking
    3. Right-click on the icon for the connection
    4. Click on Properties
    5. Click on Configure
    6. Click on Options
    7. Click box next to "Bring up terminal window after dialing"

    4.1 AutoPPP and mgetty

    Most Windows users will not like the requirement to use a login screen after connecting to the server. It is possible for the system administrator to remove this annoying extra step by using mgetty's ability to start pppd upon initiating a connection. To do this, you enable AutoPPP.

    4.2 Compiling mgetty

    Note:  I have been told by several people, that when they chose to install mgetty from their Redhat 5.2 distribution mgetty was automatically compiled to include AutoPPP.
        For AutoPPP to function, you must edit the makefile before compiling. On or near line 110 you will need this:

    CFLAGS=-02 -Wall -pipe -DAUTO_PPP

    After that edit, compile mgetty according to the mgetty documentation instructions.
    Next, you edit /etc/mgetty+sendfax/login.config to look like this around line 50:

    /AutoPPP/ - - /usr/sbin/pppd file /etc/ppp/options.server

    Once you have completed this configuration, mgetty will automatically start pppd when it receives the LCP configure request. (For more on LCP read the pppd man page.) The "file" option tells pppd to read the file /etc/ppp/options.server instead of the default /etc/ppp/options. Since pppd uses /etc/ppp/options for acting as a client or server by default (remember, it is technically peer-to-peer), using this option helps keep the desired options for acting as client or server separate.
        Assuming that you have edited /etc/mgetty+sendfax/mgetty.config to your preferences, you are done.  Note that in every instance that you change the options for a process, the process will have to be restarted before the new options can take affect.
        Note:  If you wish to be able to dial out with a modem that is being monitored by mgetty, you will need to pay attention to what device your communications program uses.  See http://www.leo.org/~doering/mgetty/mgetty_10.html#SEC10

    5 PPP (Point-to-Point Protocol)

    The Point-to-Point Protocol is the most popular protocol used for connecting hosts by phone line.

    5.1 Compiling pppd

    Adhere to the PPP package documentation. If you will be using shadow passwords, you will need to use the following command:

    make HAS_SHADOW=1

    To use the MS-DNS option for Windows compatibility, and shadow, use:

    make USE_MS_DNS=1 HAS_SHADOW=1

    For more on this, see http://oh3tr.ele.tut.fi/~oh3fg/ppp/ppps.html.

    5.2 Configuring pppd

    PPP is configured by editing the options files read by pppd in /etc/ppp. Remember that in this configuration pppd will read /etc/ppp/options.server when it is started by mgetty. The most complete list of pppd options I have found is in the pppd man page. If you do not use PAP or CHAP, your file /etc/ppp/options.server might look like this:

    -detach
    asyncmap 0
    modem
    crtscts
    lock
    proxyarp
    ms-dns aa.bb.cc.dd
    ms-dns ee.ff.gg.hh

    -detach-do not fork to become a background process
    asyncmap 0-to allow pppd to work over a rlogin/telnet connection
    modem-use the modem control lines
    crtscts-use hardware flow control
    lock-specifies that pppd use the UUCP-style lock on the serial device
    proxyarp-adds an entry into the ARP table with the IP address of the client and the IP address of the NIC
    ms-dns-specifies the address of the DNS server to be used by Microsoft clients (As far as I know, there is now equivelent option for non-Microsoft clients.  A Linux client must have the address of the DNS in /etc/hosts.)

    5.3 Configuring + PAP

    PAP (Password Authentication Protocol) is one of the two protocols that PPP uses to authenticate peers. The other is CHAP (Challenge Handshake Authentication Protocol). CHAP is a more secure protocol, but is not as widely supported as PAP. Thus, this document addresses the use of PAP, only. For more information on both PAP and CHAP, see Olaf Kirch's Linux Network Administrators' Guide.
        Since PPP is technically a peer-to-peer protocol, PAP allows two-way authentication. This means that not only the "server" can request the "client" to authenticate itself, but the reverse is also true. The "client" can require the "server" to authenticate itself. In practice, this in not often done. Most PPP servers are not configured to authenticate themselves to clients.
        It is not difficult to configure your PPP server to use PAP. To the /etc/ppp/options.server file above, simply add the following entry:

    require-pap
    refuse-chap

    With this configuration, pppd will check client login names and passwords against the file /etc/ppp/pap-secrets. The client will be granted access only if it matches an entry I /etc/ppp/pap-secrets. Example:

    #user     server      secret        addrs
    jdoe           *        password       *

    If the "server" and "addrs" fields are filled in, then the client will only be granted access if the login name and password are sent from the designated server and IP address/fully qualified domain name.

    5.4 PAP using /etc/password

    If you do not wish to create an entry in /etc/ppp/pap-secrets for each client allowed PPP access, you can instruct pppd to check login names and passwords against /etc/passwd instead of /etc/ppp/pap-secrets. Add the option "login" to /etc/ppp/options.server. For this configuration, your /etc/ppp/options.server file will look like this:

    -detach
    asyncmap 0
    modem
    crtscts
    lock
    require-pap
    refuse-chap
    login
    proxyarp
    ms-dns aa.bb.cc.dd
    ms-dns ee.ff.gg.hh

    If the "login" option is used, the file /etc/ppp/pap-secrets need not exist. In fact, it might interfere with the proper functioning of PAP. You can remove the file, or it can contain the following line:

    * * ""

    The advantage of maintaining /etc/ppp/pap-secrets with this line is that it leaves you the option of denying PPP access to individual accounts that have entries in /etc/passwd. To do so, below the above line, enter the following line:

    username * -

    where "username" is the username of the account you wish to deny PPP access. Example:

    #user      server       secret        addrs
       *            *              ""               *
    jdoe          *              -                *

    5.5 IP Address Allocation with PPP

    For PPP to work, the client must have an IP address. Most dialin clients will not have their own IP address, so it is necessary to assign an IP address to the serial port that the client connects through.
    Earlier, we created a PPP options file that specifies the configuration of PPP connections the server will provide, /etc/ppp/options.server. It is also possible to create an options file that is specific to connections made through a specified serial port. For example, to create a file for ttyS2, your create the file /etc/ppp/options.ttyS2.
        One of the options that can be defined in such a file is IP address assigned to the port for PPP connections. This is the format for this option:

    ii.jj.kk.ll:mm.nn.oo.pp

    The first IP address, from left to right, is the IP address of the server. The second IP address is the IP address assigned to the serial port for PPP connections.
        Note, it is extremely important that you verify that the IP address you assign to the serial port is a valid IP address on your subnet, and that it is not assigned to any other device on the network.

    6 Congratulations

    You are done.
     

    Feed back on this document is appreciated:  email  jgentry@swcp.com


    Copyright © 1999, Josh Gentry
    Published in Issue 38 of Linux Gazette, March 1999


    [ TABLE OF CONTENTS ] [ FRONT PAGE ]  Back  Next


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


    Linux Installation Primer, Part Seven Version 1999.02.14

    By Ron Jenkins


    Copyright Ó 1998, 1999 by Ron Jenkins. This work is provided on an "as is" basis. The author provides no warranty whatsoever, either express or implied, regarding the work, including warranties with respect to its merchantability or fitness for any particular purpose.

    The author welcomes corrections and suggestions. He can be reached by electronic mail at rjenkins@qni.com, or at his personal homepage: http://www.qni.com/~rjenkins/.

    Corrections, as well as updated versions of all of the author's works may be found at the URL listed above.

    NOTE: As you can see, I am moving to a new ISP. Please bear with me as I get everything in working order. The e-mail address is functional; the web site is semi operational, I will add to it as I get the time.

    SPECIAL NOTE: Due to the quantity of correspondence I receive, if you are submitting a question or request for problem resolution, please see my homepage listed above for suggestions on information to provide.

    Operating Systems Covered/Supported:
    Slackware version 3.6
    RedHat version 5.1
    Windows NT Server version 4.0
    Windows NT Workstation version 4.0

    I only test my columns on the operating systems specified. I don?t have access to a MAC, I don?t use Windows 95, and have no plans to use Windows 98. If someone would care to provide equivalent instructions for any of the above operating systems, I will be happy to include them in my documents.

    Part Seven: Internet Gateway performance tuning and tips
    In a continuation of last month's column, we will look at some ideas, tips and tricks to improve the performance of our Internet Gateway, as well as some advanced configuration options.

    As with each installment of this series, there will be some operations required by each distribution that may or may not be different in another. I will diverge from the generalized information when necessary, as always.

    In this installment, I will cover the following topics:

    Assumptions applicable to this column:
    It is assumed you have read my previous installments in this series, if not, I suggest you review them first if you find any of the terms or concepts here confusing.

    Also, throughout the article, I shall use the term WAN connection and PPP connection interchangeably.

    Overview of Performance tuning and enhancement:
    Performance enhancement, like any other project, requires an analysis of the cost of the enhancement versus the amount of improvement.

    What we will endeavor to accomplish here is to improve the performance of our gateway, using a variety of techniques, while keeping the additional cost as low as possible.

    For any method suggested here, there will be a trade off. Some of the following suggestions may or may not be applicable to your own unique situation.

    Some of these techniques will provide a real, measurable, and noticeable improvement, while others will only become apparent through long term analysis, or examination of various statistical reporting methods available to you. The ability to accurately measure the performance of your gateway machine is essential to effective tuning.

    As we go along and become familiar with each technique, I will also introduce appropriate methods of measuring these techniques, and therefore accurately measure the amount or percentage of improvement.

    Techniques for performance enhancement:
    Although some of the ideas and techniques discussed here will be applicable to other types of machines, such as file servers and workstations, the primary focus of this column will be geared toward the specific enhancement of gateway machines.

    In the context of this assumption, the following techniques, in descending order of importance will provide the most improvement in the operation and speed of the gateway machine:

    1. WAN connection upgrades.
    2. Hardware upgrades.
    3. Software upgrades.
    4. Caching options.
    Finally, I will discuss some general tips and tricks for measuring the performance of your gateway, as well as some ideas for areas of improvement.

    WAN connection upgrades:
    The single most effective method for increasing the performance of your Internet Gateway is to upgrade the speed of your connection to the Internet.

    This can take the form of a dedicated or dialup connection in most cases. Some of the options you may want to consider include:

    Measuring the performance of your WAN connection -
    There are several programs and utilities that can help you here, one that I use quite a bit is a program called netwatch, which is handy for general monitoring of your network and the speed of your router (your Internet gateway.) This utility is not provided as part of the normal distribution of RedHat, but is included with Slackware 3.6. There is an RPM of an older version available at any of the RedHat mirror sites, in the /powertools/ directory.

    For checking the real time condition of your WAN connection, as well as the effectiveness of any compression options you may be using, pppstats is very helpful. This utility should be available on both Slackware and RedHat machines.

    Hardware upgrades:
    To improve the performance of your local network access, RAM and disk subsystems are king. Provided your motherboard has sufficient cache to handle it, put as much RAM as you can afford in your server and gateway machines.

    Another crucial area is the disk subsystem. Although there have been significant advances in ATA technology, such as EIDE, UDMA, and so on, the standard for heavy, continuous use and high performance is still the Small Computer Systems Interface, or SCSI device.

    It is important to note that IDE drives are SEQUENTIAL access devices, meaning each request for information must "stand in line" and wait for it's turn. SCSI drives are CONCURRENT access devices, meaning multiple requests can be serviced simultaneously.

    While the price differential between IDE devices and comparable SCSI devices was prohibitive in the past, at the preset time, the difference is negligible. Consider Ultra (20MBS) drives a minimum, Ultra Wide (40MBS) drives better.

    A SCSI subsystem is comprised of four basic parts

    You may notice I do not mention U2W devices here. The support for these devices, as far as I know, is still in the development stage, so I would wait awhile on these devices. Besides, they are waaaaay expensive!

    NOTE: Unless you are planning on implementing some of the caching techniques described below, a disk subsystem upgrade will not provide a noticeable performance enhancement.

    Simple routing and masquerading are done in the kernel, on the fly, causing minimal interaction with the disk.

    However, if the machine also doubles as a file server, web server, or something other than just an Internet Gateway, then it is worth considering.

    Software upgrades:
    In the area of software enhancements, here are some options to consider:

    PPP Software - You may want to consider upgrading your PPP software if your distribution does not contain PPP version 2.3.0 or greater.  This version contains support for the demand dialing option, thus eliminating the need for diald or any such extra stuff.

    It also supports a more robust scripting method based on ppp-xx scripts, usually prepared at installation time and requiring only some editing to make them functional. These files are usually located in /etc/ppp and/or /usr/sbin.

    Data Compression - A comprehensive explanation of Data compression theory is beyond the scope of this article, so briefly, here is an overview of compression methods and how they can improve the apparent speed with which traffic flows through your WAN interface.

    Van Jacobson (VJ) Compression - This is enabled by default in most Linux distributions of the PPP daemon.

    BSD Compression (bsdcomp) - Another compression scheme, usually disabled by default. You will be required to load a module, or re-compile the kernel to include support for this.

    Deflate Compression - Yet another compression scheme, also disabled by default.

    Any one of, and/or combination of these compression schemes may or may not improve the apparent performance of your PPP connection. To enable, disable, or adjust the parameters for any or all of these compression schemes, see the pppd man pages. Experiment with them, using netwatch to measure any speed changes, and pppstats to measure the amount of compression.

    BIND - The Berkley Internet Name Daemon (BIND), commonly called named, is the service responsible for hostname to IP address translation on the Internet, most often referred to as Domain Name Service, or DNS**.

    While it is impractical to run your own full blown DNS server (unless of course you have your own domain, and a block of assigned IP's,) It can be helpful to run what is known as a "caching only" nameserver.

    Whenever you request an object on the Internet, whether it be a web page, ftp site, news server, or whatever, you usually issue the request in the form of a hostname/path_to_object/ format. When your request goes out, it is handed off to the DNS server specified in your resolv.conf file first.

    Since the DNS system is hierarchical, like an upside down pyramid, with the point on the bottom being the DNS machine in your resolv.conf file, your DNS machine only knows about machines local to it's own network*, in this case, your ISP's. This information is contained in what are known as "zone" files, which are simply ASCII text files that list information about a "zone" or domain in a standardized format.

    If the request cannot be resolved by this machine, it then consults the next higher machine in the pyramid, as so on until ultimately, if necessary, the query reaches the "root.servers" responsible for all the *.com, *.edu, *.net domains and so on.

    Finally, at some point, after much communication back and forth across the WAN connection, the hostname you requested will be converted into an IP address, and sent back to your computer.

    Clearly, there's a significant amount of communication going on in the background to let us meat based computing devices do the "dub dub dub" deal.

    What a caching nameserver does simply put, is to "remember" these name to IP resolutions for a period of time, so the next time a particular object is requested, the nameserver can service the request locally, without having to go outside the local network. This is way cool for two reasons. It makes name resolution appear much faster, and reduces traffic on the WAN.

    The downside to this is that each initial, or "new" request will take slightly longer to return to your computer. As I said before, everything is a trade off. Usually, the latency is nominal. This technique is almost always a good idea.

    * Well sort of. It is possible for your ISP to be aware of other networks beyond the ones contained in the root.servers file, but this is irrelevant in the scenario we are discussing here.

    ** Actually, BIND is comprised of a number of programs, each performing a specific function. The most important piece of the puzzle is the resolver.

    Apache - The Apache http server contains provisions for enabling some caching options, thus reducing WAN traffic. Check the Apache documentation for more information.

    Squid - This is a web proxy/caching software suite that is infinitely configurable, and supports many services. To find out more about Squid, and whether it is right for your particular installation, see the resources section at the end of this document.

    Leafnode - This is a replacement for the Network News Transport Protocol (NNTP) server usually used in most UNIX installations. It is small, easy to configure, and takes up a fraction of the disk space of the normal Internet News (INN) software. The trade off is that it does not scale well, and can really tie up your WAN connection when it initially downloads the articles available from the newsgroups you have selected (See the cron section of the General Tips and Tricks for some ways to minimize this congestion.) To find out more about Leafnode, and whether it is right for your particular installation, see the resources section at the end of this document.

    Caching options:

    Slackware 3.6 - The Slackware distribution will require you to do a little work to enable the nameserver. This is really a good thing, because when you set it up yourself, you will be better equipped with more of an understanding of how the process works, and therefore, how to diagnose and correct problems when they develop.

    First, you will need a directory called /var/named. If it is not already there, create it.

    Next, you will need a file containing listings of all the root servers, and a file that serves as your local information, or "zone" file. These files should be named root.cache, and 127.0.0, respectively. Examples of these two files may be found in the DNS-HOWTO, or the Cricket book listed in the resources section.

    Finally, you will need a named.conf file, which passes the start up options to BIND. For a caching nameserver, it should look something like the following:

    // Config file for caching only name server
    options {
    directory "var/named";
    //Uncomment the line below if you are behind a
    //firewall, and you can?t get things to work:
    // query-source port 53;
    };
    zone "." {
    type hint;
    file "root.cache";
    };
    zone "0.0.127.in-addr.arpa" {
    type master;
    file "127.0.0";
    };
    // End Config file example

    Those of you who are familiar with the C/C++ programming language will notice the similarity of the syntax of the named.conf file.

    Briefly, the first section delineates the working directory, the second section tells the resolver where to look for the root servers file, and the last section is your "zone" file. This file should live in the /etc directory.

    Finally, edit your resolv.conf file on the gateway machine to point first to itself, then to your ISP for name resolution:

    search home.net
    nameserver 127.0.0.1
    nameserver <your ISP primary DNS>
    nameserver <your ISP secondary DNS>

    Then finish up by pointing all your home.net clients to the gateway for resolution:

    search home.net
    nameserver 192.168.1.1

    RedHat 5.x - when you install the RPM, it automagically should install as a caching server. If not, then see above for the required files and proper named.conf examples.

    General tips and tricks:

                                        0 4 * * * /usr/sbin/fetch #!/bin/sh #all scripts should start with your preferred shell
    rm -f /var/log/wtmp #this removes the old file
    touch /var/log/wtmp #this creates the new file
    echo "wtmp cleaned" > /var/log/wtmp.log #this just lets me know the script ran

    Shell scripts can be created using any of the many text editors available on your Linux system. Let?s say we named this file wtmpclean. To make it executable by the system, simply issue the chmod command:

    chmod +x wtmpclean

    To call this script from cron, and have it run every hour, your crontab entry would be something like:

    0 * * * * /usr/sbin/wtmpclean

    References:
    Previous Columns:
    Parts 4,5, and 6.

    Other:
    Pppd man pages
    Cron man pages
    Leafnode man pages
    PPP HOW-TO
    SERIAL HOW-TO
    DNS-HOWTO

    Resources for further information:
    Web Resources:
    http://www.redhat.com/
    http://www.slackware.com/
    http://metalab.unc.edu/LDP/
    http://www.linuxresources.com/
    http://metalab.unc.edu/
    http://www.isc.org/
    http://www.apache.org/
    Squid Software:
    http://squid.nlanr.net
    Leafnode Software:
    http://wpxx02.toxi.uni-wuerzburg.de/~krasel/leafnode.html
    Netwatch software:
    ftp://ftp.slctech.org/pub/

    Newsgroups:
    alt.unix.wizards
    comp.security.unix
    comp.unix.admin
    alt.os.linux.slackware
    comp.os.linux.networking
    comp.os.linux.hardware
    linux.redhat.misc

    Print Materials:
    DNS and BIND (The Cricket Book) - 2nd edition (O?Reilly & Associates)

    As always, I?ve ran way long this month. Look for the Advanced Services information next month.


    Previous ``Linux Installation Primer'' Columns

    Linux Installation Primer #1, September 1998
    Linux Installation Primer #2, October 1998
    Linux Installation Primer #3, November 1998
    Linux Installation Primer #4, December 1998
    Linux Installation Primer #5, January 1999
    Linux Installation Primer #6, February 1999


    Copyright © 1999, Ron Jenkins
    Published in Issue 38 of Linux Gazette, March 1999


    [ TABLE OF CONTENTS ] [ FRONT PAGE ]  Back  Next


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


    PAP HOWTO

    By Terry Martin


    This Document is covered by the GPL and can be used in anyway seen fit from the license.

    This document is not intended to replace the ppp-howto it is intended to be a primer as howto setup PAP for calling an ISP that refuses tech support to a Linux user.

    PAP=Password Authentication Protocol.

    If your not sure if your ISP uses pap just bring minicom up and atdt<isp-number> and wait for the modem to connect.

    If you get login: or some variant of that your isp is not using pap and this paper is not for you.

    If you get a line or two of trash like:

     
    {}{}{}{}{}}}}{{}{}}}{}{}{}{}[][][][][ 
     
    You know it's looking for PAP or mschap.

    I won't deal with MSChap since I don't have access to an ISP that uses it and I wouldn't want to knowing the reliability of NT. Now assuming your dealing with chap we need to figure out what version of pppd your using. Type /usr/sbin/pppd --version and you will get the version number, I'll cover versions 2.2.0-f and 2.3.5 in this doc as thats what I'm familiar with.

    pppd 2.2.0 version.

    This section I will cover the setup and impletation of pap with older distributions like RH 4.2 and Slackware 3.6 use this older version of the pppd daemon.

    I prefer pico for the new users as editors of choice for console. If you don't have it look into getting the latest Pine release it's part of it.

    You have to edit your ppp-on script if you have one if not I'll include one here. You need to look into /usr/doc/pppd*/scripts for the ppp scripts, at least thats where the defaults reside with RedHat.

    Here's what my ppp-on looks like:

    This is setup for your modem being on com2 in dos or /dev/ttyS1 in Linux. You need to use ttySxx since the /dev/cua1 is now a defunct format with the 2.2.x kernels. If you plan to upgrade to kernel 2.2.x you need upgrade your pppd to at least pppd-2.3.x to keep ppp working.

     
    #!/bin/sh
    TELEPHONE=<your-isp-phonenumber>
    
    LOCAL_IP=0.0.0.0        # Local IP address if known. Dynamic = 0.0.0.0
    REMOTE_IP=0.0.0.0       # Remote IP address if desired. Normally 0.0.0.0
    NETMASK=255.255.255.0   # The proper netmask if needed
    
    export TELEPHONE   
    
    DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
    
    exec  /usr/sbin/pppd debug lock modem crtscts /dev/ttyS1 115200 \
            asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP \
            noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT \
            +ua /etc/ppp/pap-secret
    
    Thats what your ppp-on file will need to make pap work. As you can see your login name and password are no longer included in this file so that closes a security risk there.

    Anyplace you see <name> always omit the < > and just use the information needed.

    Next you need to edit /etc/ppp/ppp-on-dialer to disable the looking for a login and password lines.

    Example:

     
    #!/bin/sh
    #
    # This is part 2 of the ppp-on script. It will perform the connection
    # protocol for the desired connection.
    #
    # This is the ppp-on-dialer for PAP with pppd-2.2.0
    exec /usr/sbin/chat -v                                  \
            TIMEOUT         3                               \
            ABORT           '\nBUSY\r'                      \
            ABORT           '\nNO ANSWER\r'                 \
            ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
            ''              \rAT                            \
            'OK-+++\c-OK'   ATH0                            \
            TIMEOUT         30                              \
            OK              ATDT$TELEPHONE                  \
            CONNECT         ''                              \
    
    
    Now we'll cover the password file setup and format. This next part is easy all you need is a file named pap-secret with the login name and password on separate lines.

    i.e., pap-secret with pppd-2.2.0

    greg
    stinky1
    
    After you make this file if it's not there. As root type
     
     chmod -r pap-secret
    
    Please don't forget the /etc/resolv.conf file for your DNS numbers.

    I know I said this wasn't goin to be a ppp-howto but I'll include /etc/resolv.conf just to save headaches and email as to why it don't it work.

     
    domain <your.isp.com>
    search <your.isp.com>
    nameserver xxx.xxx.xxx.xxx
    nameserver xxx.xxx.xxx.xxx
    
    Your /etc/resolv.conf should look something like this with the proper information edited.

    Put the ppp-on in /usr/sbin/ and put ppp-on-dialer in /etc/ppp with pap-secret as root

     
    cp ppp-on /usr/sbin/
    cp ppp-on-dialer /etc/ppp
    cp pap-secret /etc/ppp
    
    Now all you should have to do is type ppp-on and you should get connected to the net with Linux. Enjoy.

    pppd-2.3.5

    Seting up PAP with pppd-2.3.5 is as easy as pppd-2.2.0 just the syntax has changed in the ppp-on script. Please refer to the ppp-on-dialerand the resolv.conf in the above for it so I don't have to repeat myself here.

    Heres an example ppp-on script.

     
    #!/bin/sh
    
    TELEPHONE=<you-isp-phone-number>
    
    LOCAL_IP=0.0.0.0        # Local IP address if known. Dynamic = 0.0.0.0
    REMOTE_IP=0.0.0.0       # Remote IP address if desired. Normally 0.0.0.0
    NETMASK=255.255.255.0   # The proper netmask if needed
    
    export TELEPHONE
    
    DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
    
    exec  /usr/sbin/pppd debug lock modem crtscts /dev/cua1 115200 \
            asyncmap 20A0000 escape FF kdebug 0 name catfish $LOCAL_IP:$REMOTE_IP \
            noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT \
     
    Thats about all there is to it for ppp-on with pppd-2.3.5 and PAP.

    Now for the /etc/pap-secret file the syntax here has changed from the earlier pppd-2.2.0 also.

    All you need here now is a single line with your login name the interface and your password.

    So your pap-scret file would look like so.

    I.E. pap-secret

     
    <loginname> ppp0 <password>
    
    Well thats all there is to it for the PAP howto, pretty basic stuff when theres documents for it.

    Enjoy and happy surfing. Terry Martin aka catfish on newnet #alt.linux catfish@alltel.net

    If for some reason you can't get it to work or you find an error please email me.


    Copyright © 1999, Terry Martin
    Published in Issue 38 of Linux Gazette, March 1999


    [ TABLE OF CONTENTS ] [ FRONT PAGE ]  Back  Next


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


    The Slashdot Effect, An Analysis of Three Internet Publications

    By Stephen Adler


    Abstract

    Apache httpd log files have been analyzed to show the Slashdot Effect. This effect is known as the spontaneous high hit rate upon a web server due to an announcement on a high volume news web site. Three papers were published on the Internet and announced on the high volume news web sites of slashdot.org, linuxtoday.org, and freshmeat.org. The hit rate plots as a function of time are correlated with the announcement times on these web sites. These correlations clearly demonstrate the magnitude and significance of the Slashdot Effect.

    Author's note: Here is an Addendum to this paper which details the Slashdot effect on this paper.


    Three papers were published on the Internet. One on October 20th, 1998 titled Fall Internet World 98, A View From The Show Floor, one on November 14th, 1998 titled Preserving the Information Ecosystem, and one on January 28th, 1999 titled An Ode to Richard Stallman. Soon after these papers were published, Slashdot, Linux Today and Freshmeat ran announcements in one form or other regarding the availability of these papers. Within less than an hour, the hit rate to the system hosting these papers surged. This surge in hit rate on the hosting web server is known as the Slashdot Effect. The magnitude of the hit surge varied with each posting since not all three web sites posted the articles at the same time, if at all. What follows is a brief case study of the SlashDot Effect for each of these papers.


    To start, a plot of the hit rate in hits/minute is shown above for the past 4 months during which the three papers were published on the Internet. The time on the X axis is that of the Unix system time in seconds since Jan 1st, 1970 scaled down by a factor of 1000. The width of one bin of the histogram is show in a text field on the bottom right of the plot. The first recorded hit was 27/Sep/1998:21:02:08, and the last recorded hit was 31/Jan/1999:03:59:43. These two dates set the two limits of the X axis time scale. The Y axis shows the number of raw hits per minute averaged over the time of one bin width. (In the case of the plot above, averaged over 902.39 minutes.) The data is shown in raw hits/minute, since for each paper referenced by a viewer on the Internet generated several hits. One needs to apply a scale factor, which is the number of hits generated per paper, in order to measure the number of readers of these publications. Since the purpose of this paper is to show the Slashdot Effect and not to try and measure the number of readers of the papers, this scaling is not performed.

    Vertical lines are drawn on the above plot to indicate the time of the posting by the three web sites. The red lines indicate the announcements by Slashdot, the green lines by Linux Today, and the blue lines by Freshmeat. From this plot, one can see clear evidence of the Slashdot Effect. What follows is a closer examination of each one of these postings, since this full time view of the hit rate to the server hides some detail of the this effect.


    This plot above is a zoom in around the time of the announcement of the Fall Internet World 98 paper. The paper was first announced around 8am on the 20th of October and about 30 minutes later, the hit rate to the server surged to well over a 100 hits/minute. This was when the author first experienced the Slashdot Effect. Soon after, around 1pm of the same day, Linux Today announced the article. One can see a slight resurgence in the hit rate about 30 minutes after the Linux Today announcement.


    The plot above shows the hit rate to the same server during the time that "Preserving the Information Ecosystem" was published and announced on Linux Today and posted as a Freshmeat editorial. Linux Today announced it on November 14th, and the Freshmeat editorial was posted on Nov 21th. The announcement of this article on Linux Today was only visible for about 12 hours on its front web page, where as the article was visible on the front page of the Freshmeat web site for several days. This is an indication as to why the Freshmeat announcement generated more hits than that of the Linux Today announcement.


    The final plot above shows the Slashdot Effect with respect to the last paper titled "An Ode to Richard Stallman". While the paper was being written, notification of its existence was sent to members of the LXNY group and to the general redhat mailing list. Therefore the activity to the server started to increase before the Linux news web sites announced this article. On Jan 28th, around 1pm, Linux Today announced the article and published a text only version on their web site. Slashdot followed with an announcement of the article and a hyper link to the article at around 4pm. One can see the very impressive surge in hits after the Slashdot announcement in which the hit rate went from about 30 hits/minute up to over 250 hits/minute in about a 15 minute period.


    In conclusion, the term Slashdot Effect has been referenced many times on sites around the Internet. With the publication of articles related to Linux and the Open Source movement, and the announcement of these articles to Linux related news web sites, one has a chance of documenting, in a controlled environment, this effect. The plots of the hit rate received by the hosting server clearly shows the existence of the Slashdot Effect. This effect varies in magnitude for different reasons. One reason being the interest of the readership in the content of the article being announced. Another reason being the form in which the article is announced. For example, the article titled "an Ode to Richard Stallman" was announced by Slashdot and Linux Today. Linux Today published the text of the article on their own web site, thus keeping many of the hits, by readers interested in this article, on their server. This strongly dampens the surge in hit rate to the system hosting the full article. On the other hand, Slashdot announced the article via a hyper link to the server hosting the full article and thus the local host received all the hits from Slashdot readers. The purpose of this article is just to document the existence of the Slashdot Effect and not to try and gauge which news web site has the predominant reader-ship.


    Copyright © 1999, Stephen Adler
    Published in Issue 38 of Linux Gazette, March 1999


    [ TABLE OF CONTENTS ] [ FRONT PAGE ]  Back  Next


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


    The Standard C Library for Linux

    Part Four: <ctype.h> Character Handling

    By James M. Rogers


    The last article was on <stdio.h> Input and Output.  This article is on <ctype.h> character handling.

    Character handling allows us to clasify characters as alpha, digit, hexdigit, whitespace, printable, lowercase, uppercase, punctuation and to map to and from the upper and lowercase alphabets.  Most importantly <ctype.h> implements these functions in a non-system dependent way.

    If you write your program assuming that every computer is an ASCII computer you will have trouble porting your program to non ASCII machines. If you write your character handling functions in terms of these functions your program will be much more portable to other platforms.

    I am assuming a knowledge of c programming on the part of the reader.  There is no guarantee of accuracy in any of this information nor suitability for any purpose.

    The program example that I will do this month will go thru the entire 8bit ASCII range and tell us to which classes any one chacter belongs.  The example is rogers_example04.c. The output the program generates will be an html document and the run from my system is rogers_example04.html .
    This program can be used as a cgi-bin  script and is a demonstration of the flexibility of the c language.
     

    As always, if you see an error in my documentation please tell me and I will correct myself in a later document.  See corrections at end of the document to review corrections to the previous articles.

    Character Handling

     
    #include <ctype.h>
    
    int isalpha(int c);
    int isalnum(int c);
    int isdigit(int c);
    int isxdigit(int c);
    
    int iscntrl(int c);
    int isspace(int c);
    
    int ispunct(int c);
    int isgraph(int c);
    int isprint(int c);
    
    int islower(int c);
    int isupper(int c);
    
    int tolower(int c);
    int toupper(int c);
    
    isalpha returns true if the character is in the range of A-Z or a-z.

    isalnum returns true if the character is in the range of A-Z or a-z or 0-9.

    isdigit returns true if the character is in the range of 0-9.

    isxdigit returns true if the character is in the range of 0-9 or a-f or A-F.

    iscntrl returns true if the character is in the set (FF, NL, CR, HT, VT, BEL or BS).

    isspace returns true if the character is in the set (space, FF, NL, CR, HT or VT).

    ispunct returns true if the character is a nonalnum, nonspace and noncntrl.

    isgraph returns true if the character isalnum or ispunct.

    isprint returns true if the character isspace or isgraph.

    islower returns true if the character is in the range of a-z.

    isupper returns true if the character is in the range of A-Z.

    tolower if isupper return the lowercase character otherwise return the character.

    toupper if islower return the uppercase character otherwise return the character.
     


    Bibilography:

    The ANSI C Programming Language, Second Edition, Brian W. Kernighan, Dennis M. Ritchie, Printice Hall Software Series, 1988

    The Standard C Library, P. J. Plauger, Printice Hall P T R, 1992

    The Standard C Library, Parts 1, 2, and 3, Chuck Allison, C/C++ Users Journal, January, February, March 1995

    CTYPE(3), BSD MANPAGE, Linux Programmer's Manual, 29 November 1993



     

    Previous "The Standard C Library for Linux" Articles

    The Standard C Library for Linux, Part One, James M. Rogers, January 1998
    The Standard C Library for Linux, Part Two, James M. Rogers, July 1998
    The Standard C Library for Linux, Part Three, James M. Rogers, August 1998


    Copyright © 1999, James M. Rogers
    Published in Issue 38 of Linux Gazette, March 1999


    [ TABLE OF CONTENTS ] [ FRONT PAGE ]  Back  Next


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


    A Linux Journal Preview: This article will appear in the April 1998 issue of Linux Journal due out this month.


    Windows/Linux Dual Boot

    By Vince Veselosky


    So you've heard great things about Linux: faster, cheaper, more efficient, more stable. Sounds good. You'd like to try it out, but probably have a lot of time and data invested in Windows and can't afford to be down while figuring out how to use Linux for your daily tasks. Windows and Linux can live comfortably on the same computer, even on the same hard drive. The choice of operating system can be made when you power on. This is commonly called a ``dual boot'' configuration, and one of the most common questions among new Linux users is how to set it up.

    My system is a Pentium II 400MHz with 128MB of RAM and an 11GB EIDE (actually Ultra-DMA 33 ATAPI, for you hardware gurus) hard drive. The hard drive had Windows 95 ``C'' on one big FAT32-formatted C: drive, which is a typical factory configuration. I tested installs of Red Hat Linux 5.1 and SuSE Linux 5.2.

    Before starting, there are two terms you need to be familiar with: partition and file system. The disk can be divided into smaller, separate pieces which can belong to different owners. For dual booting, Windows will own some and Linux will own others. The word ``partition'' does not refer to the wall; it refers to the separated space. Thus, we say Windows is installed ``on'' the first partition. The file system is a method of organization. Your hard drive can have different file systems. The operating system provides the directory tree (also referred to as ``the file system'') as a catalog of available files. Every operating system has its own type of file system, and other operating systems often don't know how to read it. Lucky for us, Linux is a versatile operating system and it does understand the file system used by Windows 95 and Windows 98.

    Making Room for Linux

    Most factory-installed Windows installations take up all the space on your hard drive, leaving no room for installing Linux. The first and most difficult thing we must do is clear some space where Linux can be installed. Linux needs to have partitions of its own, but Windows does not have the ability to resize partitions. Ordinarily, this would mean you would have to delete your existing partition (and everything on it) to make room on the drive and then create partitions of smaller sizes and reinstall. You can still do this, but there is a better way.

    What You Need

    Most Linux distributions come with a special tool to allow you to resize or divide hard drive partitions. Called FIPS, the First (non-destructive) Interactive Partition Splitter, it is normally found on your Linux CD in a directory called /dosutils. You will also need a blank, formatted floppy disk to use as a boot disk. For most older Windows installations, that should be all. However, if you have Windows 98 or a recent version of Windows 95 with a large hard drive (bigger than 2GB), you may need some additional tools if you are using the FAT32 file system.

    To check what type of file system Windows is using, open Windows Explorer, right click on the C: drive and choose Properties. If you see ``File System: FAT32'' on the General tab, you will need some additional tools to support this newer file system.

    FAT32 Support Requirements

    To adjust your partitions, you will need version 2.0 or higher of FIPS. If the version included with your Linux distribution is older than this, the latest version is available for download from the FIPS home page at http://www.igd.fhg.de/~aschaefe/fips/. If you want to share files between Windows and Linux (a good idea), you will also need to have version 2.0.34 or higher of the Linux kernel. Table 1 is a list of Linux distributions known to support FAT32. If your distribution does not include support, you will need to upgrade the kernel. Upgrading a kernel is beyond the scope of this article, so check the documentation included with your distribution or your distributor's web site for information about how to do that.

    Table 1. Distributions with FAT32 Support

    Distribution: Earliest Version with FAT32 support
    Red Hat Linux: Version 5.1 (kernel 2.0.34)
    SuSE Linux: Version 5.3 (kernel 2.0.35)
    Debian GNU/Linux: Version 2.0 (kernel 2.0.34)

    Preparing Your Drive

    Before you can resize your Windows partition, a few steps must be taken to ensure that the process goes smoothly. First, delete any files from your hard drive that are not being used; for example, any old files in the C:\windows\temp folder, and then empty your recycle bin. Next, check your file system for errors using Scandisk, and compact your hard drive using Defrag. I'll assume you Windows users know how to do this. When running Scandisk, be sure to check the box next to ``Automatically Fix Errors''. Defragmentation consolidates all your data at the ``front'' of the drive to make room at the ``back'' of the drive for your new partition.

    When both are finished, it would be wise to note how much space is available on the disk. If this number is less than the amount required to load Linux (check your distribution's documentation for space requirements), you'll need to delete more files or uninstall some software to make room.

    Using FIPS

    Before using FIPS, you must read the FIPS.DOC text file which accompanies the program. The use of the program is not entirely obvious, and you may need the background information the documentation provides. Also, while running FIPS you should carefully read all the messages it displays. They will provide valuable information on the steps you will need to take next. Most importantly, FIPS comes with no warranty. Although it has been used safely many times, there is always the chance it could damage the data on your hard drive. If you value your data, back it up before you begin.

    For safety, create a DOS or Windows boot disk to work from. To do this, click Start -> Settings -> Control Panel. Double click ``Add/Remove Programs'' and select the tab called Startup Disk. Press the button and follow the instructions.

    Next, copy the working files for FIPS to the floppy. The files FIPS.EXE, RESTORRB.EXE and ERRORS.TXT are mandatory. You may also want to copy the documentation files included with FIPS. When your data is backed up, restart your computer and boot from the new floppy.

    When you arrive at the A:> prompt, type FIPS and press enter. A warning will appear about using FIPS in multitasking environments like Windows. Since we booted from a floppy, we are safe, so press enter. FIPS will analyze your existing partitions. It may pause for a long time at ``Checking FAT'' and ``Searching for Free Space''; this is perfectly normal, so just wait. The bigger your hard drive, the longer it will take. When FIPS is done with its analysis, it will display the results. You may get a warning of something being wrong with your FAT. If you read the message carefully, you will find that this is normal with large hard drives and will not prevent FIPS from working properly.

    FIPS will then demonstrate how it plans to split the existing partition and you will have the opportunity to make changes. Do not just press enter. By default, FIPS will take all of the available free space for the new partition it creates, leaving your Windows partition with no free space at all. Windows will not run if it has no free drive space, so you must adjust the partitions. Use the up and down arrow keys to make large changes (ten cylinders at a time) and the left and right arrow keys for small adjustments (one cylinder at a time). The size of the existing partition is shown on the left and the size of your new empty partition is on the right. In the middle is the cylinder number where the split will take place. I left about 1500MB for my own Windows partition. Adjust yours according to your needs, but I would recommend using at least 1024MB for Windows.

    When you are satisfied, press enter. FIPS displays information on the new partitions and asks permission to write it to disk. Your hard drive has not been altered at this point. You may choose to write this configuration to disk or re-edit the partition table. On my machine, when I chose to re-edit I received an error message that said FIPS couldn't find some files it needed. If this happens to you, just press ctrl-alt-delete to reboot from the floppy and start over. This did not cause me any trouble.

    When you choose to write the new partitions, FIPS will offer to make a backup of your existing boot sector--you should definitely do this. The backup file it creates is only 1KB in size and will be invaluable if anything goes wrong.

    After FIPS completes its work, it will display another message stating that you should run scandisk on your old partition. I found that Windows will sometimes miscalculate the used and free space on your drive after using FIPS, and Scandisk will correct this problem. If you choose to restore your original partition scheme using the RESTORRB utility, you should run Scandisk after this as well.

    After FIPS was done, I received another error. This one said ``Memory Allocation Error, Unable to Load COMMAND.COM''. If you see this, just press ctrl-alt-delete to reboot and all is well. This should not affect your hard drive.

    Finally, you may want to run the Windows FDISK program from your floppy. This is not necessary, since Linux has its own fdisk program for manipulating partitions. You will find that your hard drive now contains two ``Primary Partitions'' (or ``Primary DOS Partitions''). The second one was created by FIPS out of the free space on your drive. For Linux installation, delete this second partition, freeing up the space for allocating Linux partitions. (Be careful not to delete the first one, where Windows lives.)

    Linux Install Tips for Large Drives

    Once you've made room for Linux on your drive with FIPS, you should be able to install Linux by following the steps in the installation guide that accompanied your Linux distribution. Here are a few tips that should help you with the areas where dual booting might make a difference.

    Planning your Partitions

    Both the Red Hat and SuSE installation guides have excellent chapters on how to divide up your hard drive for use by Linux. Personally, I favor the ``Keep It Simple'' principle, especially for beginners. I let Windows keep the first partition, create a second for the entire Linux install, a third for Linux swap space and the fourth for my /home directory (where data is kept). Having /home on a separate partition will make things much easier, if you ever have to reinstall Linux. The size of each partition will depend on your individual situation, but this should suffice for most folks. However, if your hard drive is larger than 8GB, there is something else to think about--LILO.

    Booting with LILO

    The usual and recommended method to boot into Linux is using LILO (the LInux LOader). LILO can install itself in your boot sector and allows you to choose which operating system you would like at boot time. Due to a technical limitation, LILO is unable to read data from the hard drive past the 1024th cylinder--the 8GB mark for modern LBA (Logical Block Addressing) hard drives.

    Does this mean you can't use the rest of your drive? Not at all. What it does mean is that your boot partitions must all live below the 8GB mark, that is, below cylinder 1024. Thus, if you want Windows to use the first 9GB of your fancy new 18GB drive, you won't be able to use LILO to boot Linux. Because of this limitation, Red Hat's Disk Druid tool for partitioning the hard drive will not allow you to create your Linux boot partition past cylinder 1024. You can still create the partitions using fdisk, but Red Hat setup will not install LILO if you do.

    Booting from Floppy

    It is possible to avoid the entire problem of the 8GB barrier by booting from a floppy disk. Although this may sound inefficient, it actually works quite well. The kernel loads into memory from the floppy disk and never accesses the floppy again, so loading the kernel is slower; but after that, the system runs the same as if it had booted from the hard drive. The Linux kernel has no difficulty accessing the end of large hard drives, so it can still reach all the files of your Linux installation.

    The setup program for your distribution will almost certainly ask you to create a boot floppy during installation. Even if you don't plan to boot from floppy regularly, you should definitely make a boot disk. If for some reason LILO fails to install or becomes corrupted, you will have no other way to access the files on your Linux installation.

    Booting with Loadlin

    Loadlin is a program that runs under DOS (or Windows 95 in MSDOS mode). It can load the Linux kernel into memory from the DOS partition. Because it loads the Linux kernel from the hard drive, there is still a possibility the 8GB barrier could cause problems, but only if your Windows partition is larger than 8GB and is almost full. That's not likely at the time of this writing, but who knows--the next release of Windows might take up that much space by itself.

    Frankly, I wouldn't recommend Loadlin to Linux novices because it can be difficult to configure correctly. If you simply must use it, an excellent Loadlin + Win95 Mini-HOWTO document available from the Linux Documentation Project should get you up and running.

    Conclusion

    Giving Linux a try does not mean you have to buy a whole new computer or even a new hard drive. With just a little extra effort, you can run both Linux and Windows without losing any data or any productivity while you learn Linux. I think you will find it is well worth the effort.


    Resources

    The FIPS home page: http://www.igd.fhg.de/~aschaefe/fips/

    The Linux Documentation Project: http://sunsite.unc.edu/LDP/

    The Loadlin + Win95 Mini-HOWTO: http://sunsite.unc.edu/LDP/HOWTO/mini/Loadlin+Win95.html

    The Linux + Win 95 Mini-HOWTO: http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+Win95.html

    Moving from MS Windows to Linux: http://www.geocities.com/SiliconValley/Grid/2272/

    Contact the author through his web site, http://www.control-escape.com.


    Copyright © 1999, Vince Veselosky
    Published in Issue 38 of Linux Gazette, March 1999


    [ TABLE OF CONTENTS ] [ FRONT PAGE ]  Back  Next


    Linux Gazette Back Page

    Copyright © 1999 Specialized Systems Consultants, Inc.
    For information regarding copying and distribution of this material see the Copying License.


    Contents:


    About This Month's Authors


    Eugene Blanchard

    Eugene is an Instructor at the Southern Alberta Institute of Technology in Calgary, Alberta, Canada where he teaches electronics, digital, microprocessors, data communications, and operating systems/networking in the Novell, Windows and Unix worlds. When he is not spending quality time with his wonderful wife and 18 month old daughter watching Barney videos, he can be found in front of his Linux box. His hobbies are hiking, backpacking, bicycling and chess.

    Jim Dennis

    Jim is the proprietor of Starshine Technical Services. His professional experience includes work in the technical support, quality assurance, and information services (MIS) departments of software companies like Quarterdeck, Symantec/ Peter Norton Group, and McAfee Associates -- as well as positions (field service rep) with smaller VAR's. He's been using Linux since version 0.99p10 and is an active participant on an ever-changing list of mailing lists and newsgroups. He's just started collaborating on the 2nd Edition for a book on Unix systems administration. Jim is an avid science fiction fan -- and was married at the World Science Fiction Convention in Anaheim.

    Josh Gentry

    Josh has this to say about himself, "My name is Josh Gentry. My successes in life stem from having great family and friends. My failures, as far as I can tell, are unexplainable abberations. Most importantly, I am wickedly handsome.

    Michael J. Hammel

    A Computer Science graduate of Texas Tech University, Michael J. Hammel, mjhammel@graphics-muse.org, is an software developer specializing in X/Motif living in Dallas, Texas (but calls Boulder, CO home for some reason). His background includes everything from data communications to GUI development to Interactive Cable systems, all based in Unix. He has worked for companies such as Nortel, Dell Computer, and Xi Graphics. Michael writes the monthly Graphics Muse column in the Linux Gazette, maintains the Graphics Muse Web site and theLinux Graphics mini-Howto, helps administer the Internet Ray Tracing Competition (http://irtc.org) and recently completed work on his new book "The Artist's Guide to the Gimp", published by SSC, Inc. His outside interests include running, basketball, Thai food, gardening, and dogs.

    Ron Jenkins

    Ron has over 20 years experience in RF design, satellite systems, and UNIX/NT administration. He currently resides in Central Missouri where he is pursuing his writing, helping folks solve problems and find solutions, teaching, and generally having a dandy time while looking for some telecommuting work. Ron is married and has two stepchildren. Ron has begun to worry about referring to himself in the third person.

    Eric Kidd

    Eric is a closet LISP bigot but still loves Unix anyway. He spends most of his time writing free software (for a living and as a hobby) and wishes he had more time to spend learning Go.

    James Rogers

    James and Shala Rogers live on the Olympic Peninsula in the middle of nowhere. James is a systems programmer for the University of Washington Medical Centers, Harborview Medical Centers and the University of Washington Physicians Network. He is a Health Level 7 Interface programmer who is currently writing a GNU licensed HL7 interface. These interfaces allow approximately 40 medical computer systems to communicate with each other across the entire Seattle Metropolitan area.

    Vince Veselosky

    Vince is a computer consultant in the Atlanta, Georgia area, working mostly in technical support for Microsoft operating systems. He has made it his mission in life to master Linux before the year 2000. When he's not working with computers, he's looking for a new girlfriend.


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

    I've spent so much time at work lately, my dear husband says he doesn't recognize me anymore! I'm hoping once this issue is up, the May issue of Linux Journal is gone to layout, and Linux World is in the past, I might have some time again to spend with Riley and other family members. My daughter Shannon is coming to visit on March 11 and I am looking forward to that.

    I will be at Linux World on March 2 and 3. Hope to meet you there!

    Have fun!


    Marjorie L. Richardson
    Editor, Linux Gazette, gazette@ssc.com


    [ TABLE OF 
CONTENTS ] [ FRONT 
PAGE ]  Back


    Linux Gazette Issue 38, March 1999, http://www.linuxgazette.com
    This page written and maintained by the Editor of Linux Gazette, gazette@ssc.com