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

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. To subscribe to Linux Journal, click here.


Table of Contents
January 1998 Issue #24


The Answer Guy

The Graphics Muse will return next month.

The Weekend Mechanic will return next month.


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


 Date: Sun, 30 Nov 1997 14:08:24 +0000
From: David Stern kotsya@mailhost2.cac.washington.edu
Subject: Help Wanted -- Article Ideas

I'm at that point in my Linux development where I'm comfortable with the basics, and am venturing out to learn and discover the myriad of alternatives which exist. While I appreciate the many alternatives, it can be difficult for someone with little experience to decide which MUA, MTA, proxy..is most suitable. When each individual must personally begin anew to evaluate the field, unnecessary repetion of efforts results and often a selection is made based on incomplete information. When the user later discovers a more suitable alternative, and possibly later another, a glutton of inefficiency results.

On that note, I'd like to suggest "head-to-head" comparision articles of similar programs. A chart with columns and rows which represent the programs and the features would be invaluable for Linux users ranging from completely new to advanced, thus I would consider that a necessity. Optionally, different recognitions may be given for exceptional achievement. Notes on individual programs or categories, and a brief summary would probably be required.

If thorough analytical evaluations were performed, this may exceed the resources and other imposed limitations of Linux Gazzette, but I'm not asking for that much depth. I'm just looking for a cursory examination of programs with a comparison of features in a "side-by-side" format.

While I appreciate the reviews of individual programs, and enjoy the deeper attention which can be given, there is an ever-increasing number of alternatives available to the Linux user, and summary comparisons of programs is now a very real need, and the importance will only increase with time.

Please consider adding a side by side summary comparison of programs feature article. I think this would not only make Linux Gazzette better than it already is, but also expand the readership. Thanks and sincerely,

David Stern


 Date: Fri, 28 Nov 1997 08:35:04
From: Erwin Penders ependers@cobweb.nl
Subject: passwd shadow convert problem

I am running RedHat 4.2 with normal passwords since a couple of month's. Now i read the shadow-password howto and i wanted this also to work on my system. After reading the manual i went to a 'blank' redhat system with a couple of users and i ran /usr/sbin/pwconv5 and the shadow was up and running fine. BUT on another system (same as the first) but with a lot more users the pwconv5 runs but won't stop. It makes an empty shadow file and i have to kill pwconv5 because it isn't doing anything.

I then copied the passwd file from the second to the first system and tried on the first system... and the same problem.. no shadow.

Can anybody tell me what i do wrong !?

Thanks everybody.

Erwin Penders


 Date: Fri, 21 Nov 1997 01:39:51
From: Manish Oberoi oberoi@coeibm.rutgers.edu
Subject: printing problems

Anyone that can help me. I'd love to hear it. I try running the lpr, but everytime I get no name for local machine. How do I set this and/or what is the problem.

Manish Oberoi


 Date: Wed, 10 Dec 1997 20:33:38 -0800
From: Nolan Zak nzak@uniserve.com
Subject: Help Wanted!

I'm running RH 4.2 with kernel 2.0.30 on an Intel P90, I've only been at this for a couple weeks so go easy on me if this is a stupid question. :)

I'm trying to get ppp to working for dialing into my ISP, but no matter what I do it disconnects.

Here's a small description of what is going on: I set up /dev/modem --> /dev/cua1 and enabled full permissions on both. Set the jumpers on my modem for com2, irq3. Ran setserial to setup the proper device settings. Re-compiled the kernel for ppp. checked my modem init strings.

Now, no matter what I use (minicom, shell scripts, netcfg), the chat script goes through the proper procedure and starts up ppp on the server side, passes control to pppd, which connects ppp0 <--> /dev/modem, and after that, the modem hangs up (within about 2 seconds).

I've tried all kinds of command line args to pppd, with no luck. Can anyone help me out here?

Later, Nolan

My webpage--> http://users.uniserve.com/~nzak/welcome.htm


 Date: Thu, 11 Dec 1997 22:20:54 -0500
From: "atm" atm@dapa.com
Subject: Linux and routing

I have heard that you can connect a LAN to the internet via just 1 assigned IP address. This is what I am planning on doing, however, I do not know how one would go about doing it, and I would like to ask you if you could do an article about it. (Any takers among our readers? --Editor)

I plan on getting a cable modem soon, so the bandwidth would be pretty high, so that is why I have decided to try to make this connection provide for my whole house via a LAN connection in my home. What I have read is that you could use the private IPs, meaning the 10.x.x.x or so, 192.168.x.x and some others for the IP of the LAN and have these connect to some box (the LINUX box?) that would provide its connection to the internet to the inside LAN connected to the box. Is the problem that you would have to route the assigned address to the private IPs for the LAN use. I have also read that this would slow down the connection a bit or something, but that is a price I am willing to pay. So, the summary of the question is how would I be able to connect many computers to the internet via just 1 assigned IP address? I would like to be able to do it using my LINUX box connected to the internet via cable modem, and to my LAN via an Ethernet link. Any help is much appreciated, thanks.


 Date: Fri, 12 Dec 1997 10:41:54 +0000
From: John Fisher john@Atropos.apana.org.au
Subject: Of Mouse and Men (no Cheese)

A very new boy to all this I am :-)

Problem--

Using a 486 pc & Slackware I'm unable to use my mouse due to this error:

Too many symbolic links encountered /dev/console

Would very much apprecaite some help.

Regards

John Fisher


 Date: Fri, 12 Dec 1997 09:23:14 -0500
From: Wenhao_Meng@dadebehring.com
Subject: try to use a 386 computer

I am new in the Linux world. How new? I am so new that I have just ordered a Redhat release 5.0. Though this is a new world I am very glad I am one of you, the Linux lovers.

I used to have a 386 25 MHz computer. Not long time ago I bought a Pentium 200 MHz computer. Since then I have not played with 386. Is there any easy and economical way to connect the 386 to the Pentinum computer where I will install the Release 5.0. If so, what I can do with it or at lease what I can learn from it.

Thank you very much. Waiting for talking to you.


 Date: Tue, 16 Dec 1997 08:44:15 -0700
From: Doug Milligan doug@nwrks.com
Subject: Help Wanted: RedHat 5.0 sound

Have installed RedHat 5.0 and configured the sound card using sndconfig. All went well and I heard the demo sound bite of Linus. However, I have never heard another sound since. When browsing web sites with sound, no audio is played. Anyone have any ideas?

Doug Milligan


 Date: Thu, 25 Dec 1997 12:45:29 -0800 (PST)
From: karl rossing unixb0y@yahoo.com
Subject: LINUX AS A PDT

I was wondering if it is possble to get windows 95/NT to authenticate to LINUX (using nis or nis+). I'm really getting tired of adding accounts on the nt boxes for the linux boxes (for smb)...Is there any commercial software availible?

I know of d-sync [http://www.m-tech.ab.ca/psynch/index.html] and NSGINA [http://www.dcs.qmw.ac.uk/~williams/] which seems a bit of work to setup...

I'm not really looking for passwd syncronisation, i'd like to consolidate it to the linux box, because the users use both linux/95/nt.

nuff said

Thanks,
Karl Rossing


 Date: Sun, 04 Jan 1998 23:54:37 +0100
From: Gabriele Giansante gvgsoft@madnet.it
Subject: Perl and HTML

please pardon me for my bad english. I need help for one exam in my university. I have to do a script CGI in Perl and I have to recall with HTML. I have done all. Perl compile without errors the script but when I run the HTML page and choose the link to the script, I obtain only a list of script. Why is it? I put in the Perl script the line #!/usr/local/bin/perl. I know this is used to indicate the Perl compiler. I work on Linux RedHat 4.1 trying to execute the script with browser ARENA and NETSCAPE. I enjoy if you can help me. I see Linux Gazette now the first time and like it because I find many help on my questions. Pardon my english and Thank you.


General Mail


 Date: Sun, 7 Dec 1997 11:15:36 PST
From: Marty Leisner leisner@sdsp.mc.xerox.com
Subject: some requests

When including more than a few lines of code, include a link to the code (i.e. the original source files).

In issue 22, I had problems with the line breaks cutting and pasting a program from netscape into a window, saving and recompiling.

Marty


 Date: Wed, 10 Dec 1997 13:36:05 -0600 (CST)
From: Justin Dossey dossey@ou.edu
Subject: Help for trival problems

I notice that a lot of people write the Gazette with fairly trivial problems that are difficult to solve via non-interactive media (email). I'd like to remind some and inform others of the Linux Internet Support Cooperative. An excerpt from the LISC home page (http://www.linpeople.org) says:

"Since 1994, a small and somewhat foolish group of Linux system users and administrators have been giving free technical support for Linux under the name LinPeople, on Internet Relay Chat (IRC). With Linux being a free operating system, it only seemed appropriate to provide a free means of supporting it.Since 1994, a small and somewhat foolish group of Linux system users and administrators have been giving free technical support for Linux under the name LinPeople, on Internet Relay Chat (IRC). With Linux being a free operating system, it only seemed appropriate to provide a free means of supporting it."

It sometimes seems to linux users with problems that no one is interested in helping them. They post to news and don't get a reply, they send email to the Gazette and feel ignored. When you have a problem, especially if you suspect that others might have the same, try LISC. With most internet-connected Linux boxen, it's just a matter of typing:

ircii irc.linpeople.org /join #linpeople

and then asking the question.

The people at LISC will do what they can to solve your problem, teaching you about Linux at the same time.

Justin Dossey


 Date: Thu, 11 Dec 1997 06:35:00 -0500 (EST)
From: Benjmin Lee Adamson ladamson@itd.nrl.navy.mil
Subject: Ah... Goodstuff...

I just found the Linux Gazette... I haven't read all of them yet, but I really dig what I've found so far... :)

Really really really really goodstuff. :)


 Date: Fri, 12 Dec 1997 01:03:04 +0100
From: Diego Cortassa cortassa.diego@usa.net
Subject: Netscape Hidden tips:w

I saw Ivan Griffin's 'Netscape Hidden "Easter Eggs"' tip on Linux Gazette Issue 23 and I've got one more cool special URL:

about:mozilla

Read the message and take a look to the N animation while downloading a web page ! :-)

P.S. Linux Gazette is GREAT !!!!!!!!!

Diego Cortassa


 Date: Sat, 20 Dec 1997 06:13:59 -0700
From: Sengan Baring-Gould senganb@cyrix.com
Subject: Loading times

Hi,

Thanks for the great work at linuxgazette.com. I'd like to suggest an improvement: that the loading does not get paused while the massive Linux Gazette banner at the top of the page gets loaded... it's a pain on a slow link.

Thanks

Sengan

(You might try turning off the display of graphical images using your browser. Alternatively, you can wait a short while and then stop the loading. Although the graphics may be incomplete, the text should be there. --Editor)


 Date: Sun, 21 Dec 1997 20:03:32 +0100
From: Ingo Oeser ioe@informatik.tu-chemnitz.de
Subject: Kewl new cover image

The subject just says what I would like to tell you: The cover image (the one with "Linux Gazette" inside) really looks great!

cu
Ingo


 Date: Tue, 30 Dec 1997 09:52:10 -0500 (EST)
From: Kragen Sittler sittler@erim-int.com
Subject: http://www.operasoftware.com/alt_os.html

Using WinNT at work, I discovered this fabulous browser called Opera. It's the fastest web browser I've ever used, including Lynx, but has most of the features I want from Netscape. Also, it's fairly small -- right now, my Opera process is under 5000K, even though it has six fairly heavy web-pages open, and the download size just grew over one megabyte.

They're doing this funky pledge-drive thing where they ask people to promise to buy copies of Opera for $35 for other platforms -- Mac, Be, OS/2, and Linux -- before they've started developing Opera for those platforms. They say they haven't gotten much support from the Linux community -- perhaps it's because not many people have heard of them?

(I learned about Opera from Borland's web pages, btw.)

Kragen


 Date: Tue, 30 Dec 1997 20:37:26 +0530
From: Sudhir Krishnan sudhir@kaveri.tifr.res.in
Subject: Can I help you?

I have been using Linux for more than a year now. There's no other OS that fascinates me more than Linux! I have been programming in Linux using gcc. I have made my own text editor for Linux, with various modes for emulating emacs, vi and turbo c editor keystrokes. Also there are modes for C, C++ and Pascal programs so that the keywords are highlighted. My home page's location is:

http://www.geocities.com/SiliconValley/Pines/9147/

Here I have an entire page dedicated to Linux tips and help, meant for the Linux newbie. There are sections regarding PPP configuration, kernel compilation, installation and partitioning etc. Please let me know if any of these could be of help in any way.

regards,
- sud -


 Date: Wed, 31 Dec 1997 14:23:26 PST
From: Marty Leisner leisner@sdsp.mc.xerox.com
Subject: Troff/Tex debate

I read Andrew Young's (aty@mintaka.sdsu.edu) letter in December, then read Larry Ayers Issue 22 column...

I take issue with two of Larry's statements: "Groff is the epitome of the non-user-friendly and cryptic unix command-line tool." Larry also says: "Learning to use Groff on a Linux system might be an uphill battle, though Linux software developers must have learned enough of it at one time or other, as most programs come with Groff-tagged man-page files. Groff's apparent opacity and difficulty make LaTeX look easy in contrast!"

I'm not sure LaTeX is an improvement in these areas. I've used troff for over 10 years and recently started to use LaTeX (in fact, many times LaTeX is far more obscure then troff). And there are a few features in LaTeX I miss (like:

.sy stat \n(.F | fgrep Change >change.time .so change.time .sy rm change.time

to get the document time into the document (as opposed to the "TeX" time, or having to manually change the date, which is invariably wrong. I have a makefile which puts this in a file, then includes the file)

The biggest problem is the lack of reference materials for troff. I've used Unix Text Processing (Dougherty/O'Reilly) which Andrew mentions...I've never seen or heard of the other book...

There are some references for troff/pic/indexing tools on: http://cm.bell-labs.com/cm/cs/cstr.html (including the one mentioned later) There are also good papers on troff in: 4.4BSD User's Supplementary Documents (I'm not sure which ones can be redistributed and which ones are only in the book).

FYI, from Eric Raymond's online jargon file: :troff:: /T'rof/ or /trof/ /n./ [Unix] The gray eminence of Unix text processing; a formatting and phototypesetting program, written originally in PDP-11 assembler and then in barely-structured early C by the late Joseph Ossanna, modeled after the earlier ROFF which was in turn modeled after Multics' RUNOFF by Jerome Saltzer (*that* name came from the expression "to run off a copy"). A companion program, {nroff}, formats output for terminals and line printers.

In 1979, Brian Kernighan modified troff so that it could drive phototypesetters other than the Graphic Systems CAT. His paper describing that work ("A Typesetter-independent troff," AT&T CSTR #97) explains troff's durability. After discussing the program's "obvious deficiencies -- a rebarbative input syntax, mysterious and undocumented properties in some areas, and a voracious appetite for computer resources" and noting the ugliness and extreme hairiness of the code and internals, Kernighan concludes:

None of these remarks should be taken as denigrating Ossanna's accomplishment with TROFF. It has proven a remarkably robust tool, taking unbelievable abuse from a variety of preprocessors and being forced into uses that were never conceived of in the original design, all with considerable grace under fire.
The success of {{TeX}} and desktop publishing systems have reduced `troff''s relative importance, but this tribute perfectly captures the strengths that secured `troff' a place in hacker folklore; indeed, it could be taken more generally as an indication of those qualities of good programs that, in the long run, hackers most admire.

marty


 Date: Fri, 02 Jan 1998 15:33:15 +0100
From: Wolfgang Laun Wolfgang Laun@aut.alcatel.at
Subject: Linux Gazette/GNU/Linux Benchmarking

A recent LG article by André Balsa on benchmarking provided interesting material to me.

Having a little experience with benchmarks myself (some of it while checking optimizing efforts myself on a compiler) I have found that caching on Intel CPUs can significantly distort results. In the first part you mention that caching can be disabled via the BIOS setup. If you write your own benchmarks (or have the source), you could also consider using the pertaining CPU instructions, easily inserted using gcc's _asm_. This could be used to keep caching up while running the code you want to measure and to flush between cycles, in order not to "carry over" a cache bonus from the previous iteration.

Wolfgang


Published in Linux Gazette Issue 24, January 1998


[ TABLE OF 
CONTENTS ] [ FRONT 
PAGE ]  Next

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


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


More 2¢ Tips!


Send Linux Tips and Tricks to gazette@ssc.com


Contents:


Followup to PostScript and VC Key Sequences (LG#23)

Date: Thu, 4 Dec 1997 16:43:47 +0000 (GMT)
From: Ivan Griffin ivan.griffin@ul.ie

I just wanted to point out that some of my 2cent tips in Issue 23 of the Linux Gazettte (December, 1997) were a little funky in their appearance.

While it doesn't really matter at all with the VC key sequences, it may affect someone's understanding of the bad (imho) PostScript generated by the Microsoft PS driver.

In this, the PostScript should have been pre-formatted using the appropriate HTML tags. Basically, the line

    30000 VM?
Is on its own, and not part of any other line. All that you have to do to remove this artificial restriction on viewing/converting the PostScript with ghostscript is to delete this line.

On another note, someone asked me where those key sequences come from. If you check either keyboard.c or keyb_m68k.c, you will find an array of function pointers called spec_fn_table[].

This array contains a list of functions to execute when certain key combinations are received... The key combinations listed in the 2cent tips execute the functions show_state(), show_mem() and show_regs()

You will find the source for function show_state() in /usr/src/linux/kernel/sched.c

show_mem() is in /usr/src/linux/arch/i386/mm/init.c

and show_regs() is in /usr/src/linux/arch/i386/kernel/process.c

Best Regards,
Ivan.


PostScript $0.02 follow-up

Date: Wed, 3 Dec 1997 13:51:48 -0500 (EST)
From: Kyle Ferrio kbf@phy.duke.edu

In the December issue of LG, Ivan Griffin suggests using pstops from the psutils package to accomplish two-up printing, gives a helpful example for A4 paper, and points out that the command line needs to be tweaked for US letter. If you're using US letter paper, then psnup (also part of psutils) already does the job nicely with no uncomfortable thinking. It might even work for A4, but I haven't checked. The psutils are generally very handy, so folks might want to have a look. An RPM is available in /contrib at ftp.redhat.com, for instance. Be advised that there seem to be at least two very distinct packages called psutils floating around Net-space.


Yet another cheap tip.

Date: Sun, 30 Nov 1997 03:48:40 -0800 (PST)
From: Gary Johnson gjohnson@season.com

Sorry if it has been mentioned before, I thought I would throw it in the Gazette pile just in case it hasn't . . .

Cat proof keyboard.

Switching to an unused virtual console is a quick way to blank the screen and disable the keyboard. To make one available try

        setterm -clear > /dev/tty12
on startup. ALT F12 flips to it, or ALT CTRL F12 from X. Because there (probably) isn't a login running on that VC it doesn't do much, which can be a feature. A smart cat may still luck into a troublesome key sequence.


2 cent tip - dosemu

Date: Fri, 5 Dec 1997 00:55:55 -0500
From: Joey Hess joey@kitenet.net

I occasionally use dosemu, mainly to run some games I can't live without, but I hate seeing the C:\> prompt. So I thought it'd be nice if there were a way to tell dosemu what dos command to run, and it would run that command on bootup. Here's a perl script that does just that. Read the comments at the top, they explain some changes you need to make on the dos side of this. The basic idea is, make a ~/dos_do.bat file, that contains the command you want to run, and use lredir to let dosemu see your home directory. Then run the batch file.

#!/usr/bin/perl
# 
# This runs dosemu.
# 
# Any parameters psecified after "--" will be passed in to dosemu to be 
# run as dos commands.
#
# Setup: add to autoexec.emu:
#       lredir.com h: linux\fs\${home}
#       if exist h:\dos_do.bat call h:\dos_do.bat
#
# GPL Copyright 1996, 1997 Joey Hess

# Split params into dosemu parameters and dos commands.
while ($a=shift @ARGV) {
	if ($a=~m/--/ ne undef) { last }
	$dosemu_command_line.="$a ";
}
$dos_command_line=join(' ',@ARGV);
$dos_command_line=~s/;/\r\n/g;

open (OUT,">$ENV{HOME}/dos_do.bat") || exit print "$ENV{HOME}/dos_do.bat:
$!";
if ($dos_command_line) {
	print OUT "$dos_command_line\r\n"; # note dos CR LF
	print OUT "exitemu\r\n";
}
close OUT;
system "/usr/bin/dos $dosemu_command_line";
unlink "$ENV{HOME}/dos_do.bat";


Re: 2c Tip "Finding What You Want with find"

Date: Wed, 03 Dec 1997 16:03:30 +0100
From: Mike Neuhauser mike@gams.co.at

Jon Rabone, jkr@camcon.co.uk, wrote in the December 97 issue of LG:

> In the October 97 issue, Dave Nelson suggests using
> find . -type f -exec grep "string" /dev/null {} \;
> to persuade grep to print the filenames that it finds the search
> expression in. This starts up a grep for each file, however. A
> shorter and more efficient way of doing it uses backticks:
>
> grep "string" `find . -type f`
>
> Note however, that if the find matches a large number of files you
> may exceed a command line buffer in the shell and cause it to complain.

To avoid an overflow of the command line buffer use:

        find . -type f | xargs grep "string"
This may give problems if filenames contain white space (e.g. touch "test file") -- to avoid use:
        find . -type f -print0 | xargs -0 grep "string"
Note also that find doesn't follow symbolic links to directories per default. Using find with the option -follow does the trick (find . -follow ...).


Re: Finding What You Want with find

Date: 5 Dec 1997 17:47:50 -0000
From: Dale K. Hawkins dhawkins@mines.edu

find . -type f -exec grep "string" /dev/null {} \;

That is how I used to run things too, but a friend showed me the xargs program. Very nice. So one could turn the above statement to something like:

find . -type f | xargs fgrep "string" /dev/null
Again, the /dev/null will force the name of the file to be printed (in the unlikely case that find only found one file name). This has the benefit of not invoking a new grep process each time.

But for a really slick (and much faster search) try this:

locate $PWD | grep "^$PWD" |xargs fgrep "string" /dev/null
This assumes that your locate database is current for the directory to be searched. It does have a problem though: it tries to grep everything, including directories!
locate $PWD | grep "^$PWD" |xargs -ifilename sh -c \
  "if [ -f filename ]; then echo filename; fi " | \
  xargs fgrep "string" /dev/null
And as an exercise for the reader: Take a look at lesspipe.sh (if it is installed; download it otherwise!) See if you can create a shell script called supercat (or something) which preprocesses the input to prevent grep'ing binary files, etc.

You gotta love UNIX and especially Linux!

-Dale K. Hawkins


Finding What You Want with find Part III

Date: Thu, 11 Dec 1997 17:12:46 +0100 (MET)
From: Axel Dietrich Axel.Dietrich@neuroinformatik.ruhr-uni-bochum.de

>In the October 97 issue, Dave Nelson suggests using
>
> find . -type f -exec grep "string" /dev/null {} \;
>
>to persuade grep to print the filenames that it finds the search
>expression in.

Besides Jon Rabone's "shorter and more efficient" version in the December 97 issue using backticks:

  grep "string" `find . -type f`
the following variant can be used without the danger of exceeding a command line buffer limit:
  find . -type f -exec grep -l "string" {} \;
The "-l" switch tells grep to show the name of the file in which "string" was found.

To limit such a search on selected files I use a combination of the -type and -name switches.

  find . \( -type f -name "*\.html" \) -exec grep -l "string" {} \;
This searches in all files with the suffix "html" for the string "string" and outputs the name(s) of the file(s) in which "string" was found.

Axel


More on finding

Date: Tue, 16 Dec 1997 14:12:57 +0100 (MET)
From: Alexander Larsson alla@lysator.liu.se

In the December 97 issue Jon Rabone wrote:

------------------------------------
This starts up a grep for each file, however. A shorter and more efficient way of doing it uses backticks:

grep "string" `find . -type f`
Note however, that if the find matches a large number of files you may exceed a command line buffer in the shell and cause it to complain.
------------------------------------

A better way would be to use:

find . -type f | xargs grep "string"
which starts up a new grep everytime the command line buffer is full.

/ Alex


Another way to find

Date: Sat, 27 Dec 1997 12:06:47 -0500
From: rchandra@letter.com

In an article in the LG, it was suggested that, in order to cut down on having to fork(2)/exec(2) for each grep when you're searching through a tree of files, you use the shell's capability of command substitution (for the file names paramaters to the grep command) with "backquotes," "grave accents," "backticks," etc. as they are commonly called ("`"). In that little tidbit, it is noted that it has the limitation of the system-wide imposed limit on number of arguments, and I possibly think there might be a length issue as well (too many total bytes). Enter xargs(1).

The job of the xargs command is to read its stdin and use the resultant strings as arguments to some command prefix (such as "grep -n somestring"), much like backquotes work. However, the xargs program is "aware of" the limitations imposed by the system, and will run the command prefix as many times as necessary to exhaust the list provided on stdin, while on each run giving the command only the maximum number of arguments and the maximum byte count (?) that an exec(2) call can handle. Thus, provided that the program named in the command prefix follows the UNIX program protocol of iterating over its non-option arguments, one can search one, hundreds, thousands, even millions of files with a line like:

find / -type f -print | xargs grep -n 'where is that string?'
As usual, consult your favorite source of documentation, such as your local man pages, for ways to get even craftier with xargs.


Yet another way to find

Date: Mon, 29 Dec 1997 10:49:52 +0100
From: Guido Socher eedgus@aken104.eed.ericsson.se

In recent Linux Gazette issues there were a couple of ideas on how to recursively grep around files and directories. Very useful, but it can cause problems when you have binaries (e.g some executable) in the directories that contain somewhere the string that you are looking for. The result is most of the time an unusable terminal because some control character from the binary file has set it to graphics mode. There are, of course, ways to make the terminal readable again but the best is to avoid it in the first place.

Let's just remove the unprintable characters. They are unreadable anyway! The command

      sed -e 's/[^ -~][^ -~]*/ /g'
removes multiple occurrences of non printable/control characters and replaces them by a single space. The [^ -~] matches all characters not in the ASCII range from SPACE to Tilde. This command can be easily combined (using a pipe) with the find and grep. Here is a little script, I called it grepfind, that does it all:
#!/bin/sh
#save this in a file called grepfind and do a "chmod 755 grepfind"
#
if test $# = 0 -o "$1" = "-h" -o "$1" = "--help" ; then
echo ' grepfind -- recursively descends directories and egrep all files '
echo ''
echo ' Usage: grepfind [--help][-h][start_directory] egrep_search_pattern'
echo ''
echo ' The current directory is used as start_directory if parameter'
echo ' start_directory is omitted. The search is case insensitive.'
echo ' Multiple occurrences of control characters are replaced by a single'
echo ' space. This makes it possible to grep around in files that contain'
echo ' binary data and strings without setting the terminal accidently '
echo ' to graphics mode.'
echo ''
echo ' Example: grepfind /home "hello world" '
else
if [ "$2" = "" ]; then
find . -type f -exec egrep -i "$1" /dev/null {} \; | sed -e 's/[^ -~][^
-~]*/ /g'
else
if [ -d "$1" ];then
    find $1 -type f -exec egrep -i "$2" /dev/null {} \; | sed -e 's/[^
-~][^ -~]*/ /g'
else
    echo "ERROR: $1 is not a directory"
fi
fi
fi
#__END__OF_grepfind


A final(?) way to find

Date: Wed, 31 Dec 1997 14:31:57 PST
From: Marty Leisner leisner@sdsp.mc.xerox.com

In the last few months, there's been a few letters (by Dave Nelson, Jon Rabone, some more) on how to grep with file names.

Instead of using the trick:

                find . type f -exec grep "string" /dev/null {} \;
and other variatiants, or doing
                grep "string" $(find . -type f)
1) use the -H option of grep 2.1 (to print file names, not in 2.0)
2) use xargs to overcome problems with buffer size
        find . -type f | xargs grep <pattern> -H
Marty


Re: I need some help

Date: Sun, 7 Dec 1997 14:25:25 +0100 (MET)
From: Roland Smith rsmit06@ibm.net

Javier,

In response to your article in the mailbag of the dec. 97 Linux Gazette:

You need to set the environment variable MOZILLA to the directory containing Netscape's files.

There are two ways of doing this: You can type `export MOZILLA_HOME=/usr/local/netscape' every time you start your computer, or you can edit /etc/profile. This is a file read by the bash shell. Add the following to this file (assuming the Netscape stuff is in /usr/local/netscape):

MOZILLA_HOME="/usr/local/netscape"
export MOZILLA_HOME
You also need to add an entry for Netscape to your window-manager's initialization file, so it shows on the toolbar and/or menu. How to do this depends on the window manager you use.

If you're using fvwm2-95, add the following to the .fvwm2rc95 file in your home directory:

# add to this menu:
AddToMenu "Utilities" "Utilities" Title
+ "Netscape%mini-nscape.xpm%"   Exec netscape -geometry 931x683+54+9 &
Regards, Roland


Spinning Down Unused HDs

Date: Mon, 08 Dec 1997 14:21:31 -0500
From: Peter S Galbraith galbraith@mixing.qc.dfo.ca

In the December issue of LG tips, you discuss the hdparm command to spin down disks. I tried this on my old SCSI disk:

bash-2.01# hdparm -S6 /dev/sdb

/dev/sdb:
 operation not supported on SCSI disks
Too bad! I use the `scsi-idle' kernel patch to do this very same thing on SCSI, and I was eager to try your trick to finally stop having to patch the kernel at evey upgrade.

Too bad it don't seem to work on SCSI disks (it's also strange that the man page doesn't say this...)


LG Tips and Tricks (Netscape)

Date: Fri, 12 Dec 1997 02:56:16 -0600
From: Christian J Carlson carlson@means.net

* Date: Sun, 9 Nov 1997 22:00:31 +0000 (GMT)
* From: Ivan Griffin ivan.griffin@ul.ie
*
* These special URLs do interesting things in Netscape Navigator and Communicator.
*
* about:cache gives details on your cache
* about:global gives details about global history
* about:memory-cache
* about:image-cache
* about:document
* about:hype
* about:plugins
* about:editfilenew
*
* view-source:URL opens source window of the URL
*
* Ctrl-Alt-F take you to an interesting site :-)

This appeared in Linux Gazette, December 1997. There is one more way cool easter egg that's in Netscape.

First, type "about:mozilla" to get the Mozilla easter egg. Then, watch your "N" in the upper right hand corner of Netscape. Whenever you access a website, Mozilla himself will appear instead of the boring flying stars, etc. As far as I know, this has been in every version of Netscape since at least version 2.0. Of course, this only works in the Linux version (I don't know about other *nix versions) of Netscape, NOT Windows95 :).

Christian J. Carlson


Easter Eggs in Netscape

Date: Tue, 30 Dec 1997 0:47:12 +1100 (EADT)
From: Michael Lake mikel@BlueSky.com.au

I have just been reading the Linux gazette Issue 23 about the easter eggs in Netscape and thought that I would try some URL's of my own. I am using Netscape 3.01 for Linux. A little experimentation found the following--

about:foo

The message that is returned is: Whatchew talkin' 'bout, Willis? Instead of foo you can use anything that is not understandable to Netscape.

A more interesting one that I tried is--

about:mozilla

This gives a very interesting quotation which I will leave to the reader to discover.

Enjoying the Linux Gazette immensely,

Best Regards,
Michael Lake
Sydney, Australia


Calculator Tip

Date: Sun, 14 Dec 1997 19:23:55 -0500
From: Michael McLay mclay@nist.gov

The Issue #21 and #23 tips column gave tips for doing calculations without having to fire up a heavyweight GUI calculator. It is very handy to be able to do all the number entry through the command line, but I was surprised to see perl and awk used in the two examples. The bc has been around forever in Unix and would be the logical first choice to many oldtimers. And bc can do the calculations to any precision desired if that is important.

Another good option is Python. Python can be run in an interactive mode like bc, so previous calculations can saved as variables and reused. Python also can be built so that past lines can be edited using the standard GNU readline library editing operations. For instance, in the following interactive sequence the previous-line key will restore the last executed line to the prompt and the line edit keys, such as backward-char and delete can then be used to edit the line.

~: python
Python 1.5b2 (#2, Dec 12 1997, 16:13:12)  [GCC 2.7.2] on linux2
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> a = (10+3)/7
>>> a
1
>>> a = (10.+3)/7
>>> a
1.85714285714
>>> a/32
0.0580357142857
>>> "it takes %7.2f percent" % a 
'it takes    1.86 percent'
>>> "it takes %-7.2f percent" % a 
'it takes 1.86    percent'
>>> from Numeric import *
>>> b = array(arange(12))
>>> b.shape = 3,4
>>> b
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> b/a
array([[ 0.        ,  0.53846154,  1.07692308,  1.61538462],
       [ 2.15384615,  2.69230769,  3.23076923,  3.76923077],
       [ 4.30769231,  4.84615385,  5.38461538,  5.92307692]])
>>> 
This example also shows the Python Numeric[1] module being used at the command line. Any Python module that is installed with the interpreter can be imported and used in the interactive mode.

Of course if you want to make Python do a one-liner from the command line that is possible also:

~: python -c "print 34./33"
1.0303030303
or to format the output:
~: python -c "print 'eat %3.4f %s' % (1.444e5/32,'more fish')"
eat 4512.5000 more fish
[1] The Numeric module in this example is not built into the standard distribution. See the matrix-sig page for details on how to add it to the module library if you can't find it on your system.


Security script

Date: Mon, 15 Dec 1997 20:49:53 -0600 (CST)
From: Corey G cgaff@interaccess.com

Often when I leave my machine connected to the Internet for prolonged periods I worry about hackers. I wanted a program that would know if a process was started by anyone, including root, that was not originally on the machine.

This caused me to program this script. I dont know if something similar exists but I have tested this very throughly and it works rather well. It can be frustrating at times when you are active on the machine but works very well for idle times.

HOW IT WORKS:

This scripts grabs all the processes when first invoked and saves them to a temporary file. After a default of 10 seconds the process table is checked against any new processes that were started. If these processes were not listed in the "TRUSTED_ITEMS" variable they will be killed immediately.

USAGE:

Once you have all the necessary processes running on your machine start the script as root. It will make the necessary directories on the machine in a safer place than just /tmp. I have created two variables named "TRUSTED_ITEMS" and "TRUSTED_USERS". These can be used to ignore some users or programs that you never want killed. Be careful since sometimes you will need to include more than one item for some programs. For example, if you dont want xterms killed you must add "xterm" and "bash" if you are running bash as your default shell.

Note: When testing this script make certain that nothing important is running. I take no blame for any wrong doing from this script.

To start the script: nohup ./secmach &

I am always looking for ways to improve this script so feel free to e-mail your comments or suggestions to me.

Good Luck !!!

#!/bin/sh
# Secmach - security program
# v1.0  12-14-97
# By: Corey Gaffney

export PATH=/usr/bin:/bin:/sbin

COUNTER=0
LOCATION=/usr/secmach
CHECK_TIME=10
TRUSTED=/usr/secmach/trusted
UNTRUSTED=/usr/secmach/untrusted
DIFFKILL=/usr/secmach/diffkill
TRUSTED_USERS="johndoe"
TRUSTED_ITEMS="$TRUSTED_USERS|pppd|chat|netscape|xterm|egrep|ps|sed|secmach|awk"

if [ ! -s $LOCATION ]
        then
        mkdir $LOCATION
        chmod 700 $LOCATION
        fi

while :
do
COUNTER=`expr $COUNTER + 1`
if [ $COUNTER -eq 1 ]
        then
        ps -aux | sed -e '1d' | awk '{print $2}' > $TRUSTED
fi
        sleep $CHECK_TIME

ps -aux | sed -e '1d' | egrep -v $TRUSTED_ITEMS | awk '{print $2}' >
$UNTRUSTED
        diff $TRUSTED $UNTRUSTED > $DIFFKILL
        KILL=`grep ">" $DIFFKILL | awk '{print $2}'`
        kill -9 $KILL
done


Controlling cron.hourly

Date: Sun, 21 Dec 1997 10:36:16 -0500 (EST)
From: Jeff Johnson jbj@JBJ.ORG

According to Gary Turkington:
> I know this one of those *really* simple ones, but it's beating me. How
> do I stop the cron.hourly setup mailing a 'fortune' to root? This used
> to happen daily, no biggie, but when I upgraded to 5.0, its hourly.. spam
> :)

This is a variant of the "not a typewriter" error that causes loss of hair when using rlogin :-)

The analysis goes like this:

1) Cron runs a job an hourly job as root.
2) To run the job, a non-interactive (i.e. stdin/stdout are *not* connected
to a tty but to cron) shell is started.
3) The shell reads its init files: /etc/profile, ~/.bashrc, whatever.
4) The init files execute fortune.
5) The job is performed.
6) Cron detects output, so it mails it to root.

Fix by identifying which shell init file is executing fortune and avoiding fortune when not interactive. There are a couple of techniques for doing this, often by checking whether PS1 is set.

73 de Jeff


Syslog and ping

Date: Tue, 30 Dec 1997 17:58:59 -0500 (EST)
From: Andrew Tucker andrew.tucker@kplus2.aces.k12.ct.us

Hi, this is a small hack I did to allow logging of users's use of ping through syslog. With more and more larger systems running Linux, and more and more situations of ICMP abuse, any shortcut a system administrator can use to prevent such abuse is helpful. Click here to dowload the scripts.

-- Andrew


Published in Linux Gazette Issue 24, January 1998


[ TABLE OF 
CONTENTS ] [ FRONT PAGE ]  Back  Next


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

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


News Bytes

Contents:


News in General


 February Linux Journal

The February issue of Linux Journal will be hitting the newstands this week. The focus of this issue is Databases. Also, included is an article on the making of the movie Titanic -- Digital Domain used Linux extensively in generating the graphics for this movie. Check out the Table of Contents.


 Apache Webserver Serves Over Half the Internet

Date: January 5, 1998

The Apache Web Server, from the Apache Group (http://www.apache.org/), now serves over half the domains on the Internet, according to the latest Netcraft Web Server Survey (http://www.netcraft.com/). According to the January 1998 survey, the Apache server and its derivatives serve 50.24% of the 1,834,710 sites found by Netcraft.

For complete press release, click here.


 Linux on Celsius Workstations

Date: November 28, 1997

Siemens Nixdorf (SNI) is selling there new "Celsius" Workstations with WinNT AND Linux. SNI is the first major Producer that offers Workstations with Linux on board. The Linux-Support is done by the well known Linux Distributor SuSE GmbH. The machine is targeted for the universitys and already in use there with linux. The "Celsius" is based on a Pentium-II with 266/300 Mhz, 512KB Cache, 32MMB ECC-SDRAM, 2GB drive, a PCI/AGP based matrox millennium II with 4MB, FastEthernet, Diskdrive and Keyboard. The price shall be between 7300-8200DM but its exspected to fall. According to SNI the "Celsius 1000" (300Mhz Version) gets 11,9 SPECint95 and 8,6 SPECfp with WinNT. (no Linux values yet.)


 Freeware OCR Project

A mailing list has been started for discussion of the design and implementation of a freeware Optical Character Recognition program for Unix.

Scanner support for Unix is under rapid development thanks to projects such as SANE, and applications such as GIMP are beginning to benefit from this support. OCR is one major application missing from the freeware Unix world, and has long been on the FSF's project list, as well. The project is going to have to create both a user interface and a character recognition engine.

The project Web page is at http://starship.skyport.net/crew/amk/ocr/; look there for announcements about the project's status.

For more information:
Andrew Kuchling, amk@magnet.com


 5th International Linux Kongress 1998

The 5th International Linux Kongress 1998 will be held from June 3 to June 5 at the University of Cologne (Köln). It follows the tradition of the Linux conference series (Heidelberg 94, Berlin 95/96 and Würzburg 97) which has evolved into the most important meeting for Linux experts and developers.

The conference will offer up to 25 talks during two days (June 4 and 5) in two parallel tracks. The first track will be dedicated to Linux development, the second track will be intended to accomodate talks about Linux applications and usage. Each talk will be 40 minutes (possibly including discussion). The language of the talks will be English or exceptionally German.

For more information:
GUUG office, Ms. Bester, info@linux-kongress.de
http://www.linux-kongress.de/


 Linux in the News

Articles by Charles J. Fisher worth checking out in Unixworld On-line:
Creation and Maintenance of Virtual Hosts
Linux, PPP and Windows 95

-------------------------------

More Linux articles:
"Linux Grows Up" -- Red Hat's commercial Linux beats NT at its own game.
Computer Currents

"Intel-Based Unix: A Great Solution for Intranets"
Federal Computer Week

-------------------------------

Better late than never:
On November 15 Linus announced that the F00F bug had been fixed in the 2.0.x kernel. Click here to read what he had to say.


 Linux Bibliography

After a three month hiatus, the Linux Bibliography is back on line. The bibliography has grown a lot in size since it was last "live": there are now almost 50 Linux specific titles listed.

While the site is back up, it is still in beta mode. You'll need a Javascript compatible browser to see it, and some of the JavaScript appears to be a bit buggy with older browsers. Most of the forms are working, but not all of them just yet.

For more information: Mark Stone, markst@shell.nanospace.com


 Linux Business Solutions

Announcing: A project to generate and improve documentation of Linux Businesss Solutions. This project is a few days old, so far. http://linas.org/linux/web-project.html.

There is a separate mailing list for this project. Web page owners, writers, marketing types & document mangement hackers are encouraged to join.

For more information:
linas@linas.org


 The Linux Project Server

The Linux Project Server has a new home page providing counters, guestbooks and many many other such scripts.

For more information:
Gerhard Poul, gerhard@shadow.ccc.at


 Freely Redistributed Software Track - USENIX'98

Come hear the latest about the full range of freely redistributable software--with pointers to the code--including Linux, FreeBSD, GNU, netBSD, OpenBSD Samba, and more.

FREENIX, The Freely Redistributed Software Track, at the USENIX 1997 Conference held June 15-19, 1998 in New Orleans, Louisiana.

For more information: http://www.usenix.org/events/no98/


 Linux Software Database

The Linux Software Database is now up and running at http://www.txcc.net/~cl/.

Unlike software sites that list only what software the author has found the LSDB allows Linux users connecting to the database to add software thay have found or use. This way both authors of software and users of the site can add there titles on-line.

For more information:
cl@txcc.net


 S.u.S.E. Discussion Groups

S.u.S.E. has set up two lists for discussions and announcenments concerning the S.u.S.E. Linux Distribution:

suse-announce-e -- Announcements of S.u.S.E. LLC (english) suse-linux-e -- Discussions about S.u.S.E. Linux (english)

To subscribe, send an email to majordomo@suse.com with 'subscribe listname' in the body.

For more information:
Bodo Bauer, bb@suse.de
http://www.suse.de


 The Linux Resource Kit

The Linux Resource Kit has been expanded to included current news and information on:

For more information:
Joe Royall, joe@secretagent.com


 IACT & Linux users

A message from the Land of Beyond web site!

We have devoted a new section for IACT, the "International Alliance for Compatible Technology." Users of major platforms such as OS/2, Linux, FreeBSD, BeOS, MacOS, Unix, DOS etc., are invited to sign-on to IACT's Declaration! IACT is working for greater freedom of choice in software, for better access to computer-based services & technology, and for open standards, including higher standards of compatibility. To achieve such important goals for all people, IACT will join in anti-monopoly efforts against Micro$oft, while we find positive ways to help consumers & users regardless of their chosen platforms. Join us at... http://pages.cthome.net/iact/

For more information:
Diane Gartner, dgwhiz@earthling.net
IACT Co-ordinator


Software Announcements


 Dotfile Generator 2.2

Date: December 24, 1997

Jesper Pedersen has announced the release of The Dotfile Generator version 2.2. New in this release is:

The source is available from the home site of TDG: ftp://ftp.imada.ou.dk/pub/dotfile/dotfile.tar.gz

For more information:
Jesper Pedersen, blackie@imada.ou.dk


 TeamWave Workplace 2.1

Date: November 27, 1997

TeamWave Software Ltd. today announced the release of version 2.1 of TeamWave Workplace, its popular software that lets teams work together in shared electronic rooms across the Internet. For teams within an organization who are sometimes physically separated yet still need to work closely together, TeamWave Workplace provides an Internet forum where teams collaborate, communicate and share information.

For more information:
info@teamwave.com
http://www.teamwave.com/


 Red Hat Linux 5.0, HURRICANE

Date: December 1, 1997

Red Hat Software, Inc. has announced the availability of Red Hat Linux release 5.0 for Intel and Alpha computers. This release is a major update to the Red Hat Linux 4.X series. Red Hat Linux is available on their FTP site:
ftp://ftp.redhat.com/pub/redhat/redhat-5.0/

For more information:
http://www.redhat.com/
info@redhat.com


 Nighthawk

Date: December 19, 1997

Nighthawk is An X-Windows game for Linux (Freeware GPL), based on Andrew Braybrooks C-64 classic- "Paradroid", written by Jason Nunn (JsNO)

Nighthawk 1.0 uploaded onto the following sites:

For more information:
Jason Nunn, jsno@dayworld.net.au


 C++ GUI IDE

Date: November 28, 1997

Simple IDE for: Qt C++. GUI dialog editor, all developed on Linux X11R6 available at: http://qtez.commkey.net/ All distributes of QtEZ include: documentation, a set of tutorials, and many demonstration programs to illustrate features in the environment. I hope QtEZ is well received.

For more information:
Sam Magnuson, zachsman@commkey.net


 r2d2 - easy but powerful boot-concept

Date: December 3, 1997

r2d2 is a newly developed boot-concept for Unix. In some way r2d2 combines the easeness of the BSD-style scripts (e.g. in Slackware Linux) with the power and flexibility of the traditional SysV scripts (e.g. in RedHat, Debian or S.u.S.E. Linux). r2d2 is available at ftp://sunsite.unc.edu/pub/Linux/system/daemons/init/

For more information:
Winfried Truemper, winni@xpilot.org


 TkSTEP 8.0p2

Date: December 5, 1997

This is Tk 8.0p2 with some modifications to make it look like N*XTSTEP's interface, plus some new widgets inspirated on N*XTSTEP and the ability to utilize the full power (and more) of the OffiX Drag'n'Drop protocol.

The programming aspects of Tk have not been changed much, so you can run your old Tk apps normally with it, although some options will not do anything (like -relief for scrollbars).

To get TkStep go to http://www.fga.de/~ograf/TkStep.shtml

For more information:
Oliver Graf, ograf@fa.de
Steve Murray, stevem@eng.uts.edu.au


 t1lib-0.4-beta: A rasterizer for Adobe Type 1 Fonts

Date: December 5, 1997

t1lib is a library for generating character- and string-glyphs from Adobe Type 1 fonts under UNIX. t1lib uses most of the code of the X11 rasterizer donated by IBM to the X11-project. But some disadvantages of the rasterizer being included in X11 have been eliminated.

You can get t1lib by anonymous ftp at: ftp://ftp.neuroinformatik.ruhr-uni-bochum.de/pub/software/t1lib/t1lib-0.4-beta.tar.gz

For more information:
Rainer Menzner, Rainer.Menzner@neuroinformatik.ruhr-uni-bochum.de


 SGML-Tools 1.0.1

Date: December 5, 1997

After a year of mostly code restructuring and bugfixing, the time finally arrived to let SGML-Tools 1.0 see the light. This means the final demise of Linuxdoc-SGML. Loads and loads of features were added. Most of the code was redone in Perl 5, which adds a lot of flexibility for people who want to override certain parts of the functionality (but at the same time be able to install newer versions); uncountable bugs were fixed (more were introduced, of course :-)), lots of small enhancements, etc.

Visit the SGML-Tools homepage, at http://pobox.com/~cg/sgmltools/, for latest news, pointers to locations, etcetera. Note that I haven't been able to get this stuff on SunSite yet, so you'd better go via the homepage.

For more information:
Cees de Groot, cg@pobox.com
http://pobox.com/~cg/sgmltools/


 LinuxThreads 0.7 -- POSIX thread library

Date: December 5, 1997

LinuxThreads is a thread library for Linux implementing the POSIX 1003.1c API and based on the "one thread = one process" model. The sources are available through the LinuxThreads home page: http://pauillac.inria.fr/~xleroy/linuxthreads/ or directly on our FTP server: ftp://ftp.inria.fr/INRIA/Projects/cristal/Xavier.Leroy/linuxthreads.tar.gz

For more information:
Xavier Leroy, xavier.leroy@inria.fr


 TkDesk 1.0b5 released

Date: December 9, 1997

TkDesk 1.0b5, a Desktop and File Manager for UNIX's running X11, has been released. TkDesk is a graphical desktop and file manager for several brands of UNIX (such as Linux) and the X Window System. It offers a very rich set of file operations and services, and gives the user the ability to configure most aspects of TkDesk in a powerful way. The reason for this is the use of Tcl/Tk as the configuration and (for the biggest part of TkDesk) implementation language.

You can get TkDesk from its homepage at: http://people.mainz.netsurf.de/~bolik/tkdesk/

For more information:
Christian Bolik, Christian.Bolik@mainz.netsurf.de


 MP3Blaster V2.01 -- Mpeg audio player for Linux

Date: December 9, 1997

A new release of MP3Blaster, an Mpeg-layer 1/2 audio player for Linux is available. This player has a smart and intuitive user-interface that allows a user to split up a playlist into sections. An interesting use of this feature is that you can put about 10 of your audio CD's in MP3-format on one CD-ROM and have each section in the playlist represent an album. Then, you can have the player play the songs in every imaginable order you want.

Available at:
ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/mp3blaster-2.0b1.tar.gz
http://www.stack.nl/~brama/src/mp3blaster-2.0b1.tar.gz

For more information:
Bram Avontuur, brama@mud.stack.nl


 X-CD-Roast 0.96c

Date: December 9, 1997

X-CD-Roast 0.96c, a CD writer package for X, has been released. Really new stuff:

Check out the web page: http://www.fh-muenchen.de/rz/xcdroast/

For more information:
Thomas Niederreiter, p7003ad@sunmail.lrz-muenchen.de


 ADABAS D Workgroup Edition

Date: December 11, 1997

ADABAS D Workgroup Edition 10.0 for Linux is now available. Visit http://www.IoS-online.de

For more information:
Bjoern Bayard, Bjoern.Bayard@ios-online.de


 Linbot 0.1 web site management tool

Date: December 12, 1997

Linbot 0.1 is a tool that can examine a web site for broken links, outdated pages, and other useful information. It is based on the commercial LinkBot from TetraNet Software (http://tetranetsoftware.com/) though Linbot will be free. You can get Linbot at http://home1.gte.net/marduk/linbot/index.html

For more information:
Marduk, marduk@gte.net


Published in Linux Gazette Issue 24, January 1998


[ TABLE OF 
CONTENTS ] [ FRONT 
PAGE ]  Back  Next


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

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


 Netscape Mail Crashing

From: Jim Kelley, the-jim@swbell.net

I've been running Netscape Communicator 4.04 on my RedHat Linux system since the day it came out and yesterday it started crashing whenever I check for new messeges or try to go to a newsgroup. I've deleted NC4.04 and re-installed it but to no avail. Any suggestions?

 When you removed NC4.04 (which I didn't know had been released yet -- I'm still using 4.03) did you also remove your ~/.netscape directory tree?

What happens if you try it from another account on the same system? What happens if you use different e-mail and newsreaders? (elm, pine, emacs' mh-e and/or tin, nn, trn, or emacs' Gnus for respective examples).

I would suspect a data or configuration file corruption. Many programming practices that I most loathe and detest have to do with a lack of robustness and simple error messages with regard to corrupted input. Is it really that hard to have a switch that logs each input source like: "Reading configuration from ~/.netscape/foorc....." and "Bounds error at ~/.netscape/bar.conf offset 0x2AFF9A77"? I haven't looked at the innards of NS Comm's data files -- I wouldn't use their mail and newsreaders since I'm very particular about my mail and netnews -- and I need extensible, configurable, text mode capable systems (so I use emacs' mh-e and Gnus).

--Jim


 Slackware Help

From: Ralph, RPMAXEDGE@aol.com

HELP!!!!!!!!!!!!!
Recently I installed Linux Slackware version 3.2, everything loaded fine, but I really run into problems when I set up the password for the root, for some reason the one i register doesn't allow me to log in. I have problems on how to mount the /root and remove the existing password from the /etc/shadow. I install linux with partitions for a SCSI hardrive sda1 sda2. I would really appreciate some few hints to solve this problem.. Thank YOU VERY MUCH.

--Ralph

 I haven't used any of the newer Slackware systems -- so I don't know if there's anything specific to their system that would contribute to or cause this problem.

The general way to fix this sort of problem (lost root password) is to boot from a rescue diskette (or from an "alternate root partition") mount your normal root partition (let's you put it under /mnt/oldroot) and then simply edit the mnt/oldroot/etc/passwd file -- and maybe the corresponding shadow file).

Another trick is to use the chroot command instead of editing the passwd files directly. Basically you can follow the mount with a command sequence like:

		cd /mnt/oldroot/ && usr/sbin/chroot . bin/sh 
... and then:
		passwd 
(allows you to use the normal passwd command -- and forces it to update the passwd files *under* the (chroot)/etc directory rather than the one of the root diskette or the alternative root part).

A properly maintained alternative root partition should have extra copies (mirrors) of the whole /etc directory from your production root partition. This makes recovery from errors *much* easier. On some systems you may be able to use a removable drive (LS120, Zip, Jaz, magneto-optical, Bernouli, Syquest, DynaMO, whatever) as your alternative root system.

-- Jim


 Netscape /var/spool/USER

From: John Liebenrood, k7ro@teleport.com

I'm running Redhat 4.2 with Netscape 3.01. I can send mail fine but I can't receive mail. I don't understand how to configure my /var/spool/USER. I've used chown mail.mail and chmod 01777 on USER file. But still can't get mail to come in... all talk no listen

--john

 Do you have a POP account? Are you trying to read you mail from the localhost? Where is your localhost supposed to get it's mail from?

Normally 'sendmail' (or smail, deliver, or procmail) appends messages to your spool file. 'sendmail' gets your mail via SMTP or from your UUCP system (depending on your configuration and your ISP/account type).

There are a bunch of factors that anyone would need to know before answering your question.

Netscape is normally configured to fetch mail via the POP protocol and to send it directly via SMTP. If your system is already configured to send and recieve mail (i.e. you can use other mail user agents (MUA's) like elm, pine, mh, etc) then you should be able to configure Netscape to use "localhost" (the loopback interface -- internal to your own system).

Personally I won't use NS Nav. (or Comm.) as a mail or news client. I absolutely require a text mode interface

-- Jim


 Getting Rid of Virtual Screen

From: bmiles@intergate.bc.ca

Hi, how do i get rid of the virtual screen under x windows, it's bloody annoying!! I've tried disabling it under install and I've even tried resetting my resolution size, please help!!!

 Assuming you're using XFree86 you'd edit your XF86Config file (which might be /etc/X11/XF86Config or might be something more like /usr/X11R6/lib/.... or something).

Find the Screen section for the device driver and mode you're using, look for the display subsection that applies you your monitor and modify the "Virtual" line thereunder.

If you've tried that (if that's what you mean by "resetting my resolution" or "disabling it under install") than it's possible that you're using a different X Server than I think you are (Xig, or Metro-X or something) or that your installation or distribution is using a config file in a different location than you think it is.

The man pages for 'X', 'startx' and 'xinit' may help -- in particular the XFree86 servers allow you to specify an option of -xf86config file -- which allows you to explicitly over-ride the system wide configuration (and is a great reason for security concscious sysadmins to limit the execution of X to some trusted local users -- and maybe use xdm).

I found this option in XFree86(1) (that's the XFree86 man page in chapter one on my man pages). Don't confuse it with the -config option referred to in the XServer(1) man page. That option just says that more *command-line options* are stored in a file. The XServer man page refers to options and configuration information that should apply to any Unix X Windows display server. The XFree86(1) page refers to the extensions which apply to the servers written as part of the XFree86 project. The various XF86_* man pages refer to the features that are specific to specific servers (that is the ones which are compiled for a given video card or chipset).

You're only running one binary -- yet three man pages apply to whichever one you're using. This is unnecessarily confusing -- and one of the books I've perused (on Unix, X, or Linux) cover this sort of thing. So you have to wander through lots of different man pages and /usr/doc/* files without a clear roadmap.

I'm hoping that some future distribution (maybe the Red Hat 5.0 that's supposed to be shipping in the next couple of weeks, or the next Debian) will have a really good set of HTML (lynx clean!) documents, served by default off of the initial localhost webserver which takes a top down, organized approach to educating and informing us about all the power and choices we have in Linux.

-- Jim


 diald's Niche

From: Pollywog, caldera-users@rim.caldera.com

Put it anywhere you'd like. The .rpm version installs into defined sub-directories, but keep the .rpm file anywhere you like. I have /usr/local/packages for tarballs and .rpms....

 I recommend that SA's use a /usr/local/from directory tree. You can then have a set of directories named after your favorite FTP and web sites and after the volume names of your favorite CD's.

When you download/fetch a file -- put it into a directory that reminds you where you got it from such as:

/usr/local/from/sunsite/ /usr/local/from/redhat/ /usr/local/from/ftp.replay.com/

... etc.

Now when you want to upgrade a package you can see where you got the previous version from -- and consequently you have a headstart on where to look for upgrades.

This technique is also handy if you read an alert about a compromised (trojan) package -- you can easily see where *you* got your copy from.

For files you install off of the CD -- create a directory name that reminds of you which CD it is like:

/usr/local/from/cd/MOP/ (Mother of Perl) /usr/local/from/cd/rharchive.fall97/

... etc.

Now you just put symlinks from that directory to your usual CD-ROM mount point (ln -s /mnt/cdrom/dir/foo foo).

This creates a tree of "broken" links -- but it tells you where to find the source file if/when you need to rebuild.

As you can probably see this technique is really a "poor man's HSM" (hierarchial storage management system). You can also extend this idea to migrated data files from your home directories to removable media (such as Zip, Syquest, MO, and CDR devices).

It's also a very handy form of self-documentation in businesses where you may have many sysadmins or you may have various consultants "stomping" around on your systems.

-- Jim


 Upgrade to Red Hat 5.0?

From: Jason Welsh, jwelsh@mci.net

hey, im running an older 4.something version of Red Hat and was wondering if I just wanted to upgrade it to 5.0, do I need to download certain RPMS or do I need to get the whole thing? or get it on CD.. just curious if there was a shortcut I could take..

--Jason.

 I would get the CD (in fact I did -- but I haven't run the upgrade yet -- want to finish some work and do an extra backup first).

CD's save lots of bandwidth and save lots of time.

If you don't need the commercial packages that come with Red Hat (the BRU and Metro-X) you can wait a month or so for the "Archives" set to come out -- which is about $20 (less than half the full version).

-- Jim


 Red Hat Linux and WABI and other things

From: peter@trimatrix.net

I have RedHat Linux v5.0 (kernal 2.x) ($49) and (silly me) found out that Caldera OpenLinux Standard ($399) supports WABI for Windows 3.1 apps, FreeDOS (or is it DOSEMU??) for DOS apps, and NetWare 3.x/4.x client supporting NDS (Network Directory Services).

 WABI/Linux (a.k.a the Windows 3.1 Applications Binary Interface) is available separately from Caldera. It is a commercial package -- and it should install on most Linux systems without much trouble.

There's also WINE ("WINdows Emulation" or "WINE is not Emulation" -- take your pick of acronym expansion). This is a freeware project to implement enough support for the lower level Windows API's to allow Linux (and other Unix) users to install MS-Windows and run Windows programs.

I've heard that it is also possible to run Windows 3.1 in "standard mode" under DOSEMU/MS-DOS. I'm not sure if that works under other DOS variants running under DOSEMU.

OpenDOS is Caldera's release of "Novell DOS" (which was formerly "DR DOS" -- from Digital Research). Caldera aquired the licenses and rights to Novell DOS when Novell decided to "refocus on its 'core' markets" (and practically gutted itself in the process). In fact Caldera's "Network Desktop" (their distribution that preceded the OpenLinux/Base and OpenLinux/Standard) was originally a research project at Novell.

OpenDOS is partially commercial -- it is free for personal use (or for students, or something like that -- read their web pages for details). It has little to do with DOSEMU. OpenDOS is available on CD for about $30(US).

DOSEMU is really a bit of a misnomer. Technically it's a BIOS emulator which can be used to run any x86 "real mode" operating system (such as CP/M-86 or some versions of Forth). When you install DOSEMU you also have to install some copy of DOS (MS-DOS, PC-DOS, OpenDOS, whatever) to get any practical use out of it. DOSEMU includes several DOS programs which connect to the underlying Linux system. This allows one to access Linux directories and NFS mounts as DOS "network" drive letters, and do other things like that.

FreeDOS is a different project -- you can learn more about it at http://www.freedos.org. They are quite Linux friendly -- but I haven't played with their release (and I've barely touched DOSEMU or Caldera's OpenDOS) so I can't say much about it.

Regarding Netware access from Linux:

Caldera's Netware client access (with bindery and NDS support) is only available as part of their OpenLinux Standard (as far as I know). I've heard that some people have successfully installed the clients on other Linux distributions. However it appears that you are legally required to purchase the commercial COL/Standard (Caldera OpenLinux is often called COL by participants of it's mailing lists).

There are also a couple of free packages that implement some Netware protocols for Linux. 'ncpfs' is one that allows you to 'mount' Netware partitions in a way that similar to NFS. This is a system-wide mount (unlike the Caldera netware clients where each user has unique "virtual" mountings that are not visible from other concurrent processes on the system.

There's also the mars_nwe (Netware emulator) that implements a subset of the Netware fileserver protocols -- allowing DOS and other systems to access portions of your Linux filesystem(s) using the Netware clients (similar to 'samba' for Windows for Workgroups/LANMan/NT functionality).

 I would like to know if this support can be added to RedHat Linux by downloading this stuff from somewhere, and recompiling the kernel? Can you help? I'm new to RedHat and have not yet gotten an answer from them.... If not, can you direct me to where I can inquire? This is a quest to make use of our 486 computers at work (and just need to know) by running Linux, and still support some things like Windows 3.1x Lotus Lotsuite, etc., which Caldera claims to do, but I would like to find out how much trouble it would be to add support to Redhat.....

 In general, anything you can run under Caldera you can get to run under Red Hat or any other reasonably recent Linux distribution.

Since Caldera, Red Hat, Craftworks, and a couple of other Linux distributions use the same package management system (the RPM -- or "Red Hat Package Manager") sharing packages among them is somewhat simpler than installing a Debian package or Slackware "tarball" would be.

I'd look at any FTP mirror of Red Hat's "contrib" directory for the lastest dosemu "rpm" and install that. You'll probably find one of these on your set of Red Hat CD's in addition to the ones online. You can check the online directory for updates and recent additions.

-- Jim


 Linux as a PDT

From: Karl Rossing, gtivr6@pangea.ca

Linux as a PDC (Primary Domain Controller), NIS/NIS+ Master -- etc.

I was wondering if it is possble to get windows 95/NT to authenticate to LINUX (using nis or nis+). I'm really getting tired of adding accounts on the nt boxes for the linux boxes(for smb)...Is there any commercial software availible?

 It sounds like you're asking fundamentally different questions here.

In your subject you refer to using Linux as a PDT by which I presume you meant a PDC (Primary Domain Controller). Here you refer to using NIS/NIS+ -- which would involve adding client support (third party software) to all of the NT/'95 boxes.

A broader questions is:

What network authentication and directory services system/model/architecture should you use?

This is a sticky question with no easy answer.

A simpler question is:

How can I configure my MS client machines (NT and '95) to use my Linux system's account information for access control and authentication?

I'll provide some thoughts on each of these questions after commenting on the rest of your message:

 I know of p-sync [http://www.m-tech.ab.ca/psynch/index.html]

 I glanced at their web pages and was not impressed. They have almost no text and are almost completely unreadable for Lynx users. They also don't offer any functionality in their demo -- which is just a mockup of the GUI (crippleware).

 and NSGINA [http://www.dcs.qmw.ac.uk/~williams/] which seems a bit of work to setup...

 That would "NISGINA" This is by Nigel Williams -- apparently derived from work by Doug Scoular(*). It is apparently released under a BSD'ish license. So this is much more promising than the p-sync package right off the bat.

* (http://www.arch.usyd.edu.au/~doug/gina.html)

GINA (graphical identification and authentication) is the NT DLL that manage logins at the NT console -- there are several different GINA's -- one from Novell for NDS, one from MIT for Kerberos, another similar one for NT-AFS (Transarc's distributed filesystem -- which uses a Kerberos 4 authentication model) etc. Here are some related URLS:

NT GINA related information: http://web.mit.edu/cartel/ntgina.html -- very informative -- leads to all the rest that I found.

ND_GINA - An alternative authentication method for Windows NTr, http://www.nd.edu/~dobbins/ntarch/nd_gina_doc.html

NT/UNIX Integration with Doug's GINA replacement, http://www.arch.usyd.edu.au/~doug/gina.html

The problem with GINA is that it doesn't appear to be available for '95 (or earlier versions of Windows or DOS). That may be a show stopper for for this approach

I can't recommend in good faith that you upgrade you Win '95 systems to NT (since that just buys you in further to this proprietary OS model -- and just worsens your dilemma when '98 and NT 5.x ship).

 I'm not really looking for passwd syncronisation, i'd like to consolidate it to the linux box, because the users use both linux/95/nt. nuff said, thanks.

 I don't think nearly 'nuff's been said about this topic. There are a large number of directory service and authentication methods that are vying for control of your network. Each as its own security implications -- making them co-exist is difficult from the start, and a constant drain on administrative time and resources -- and having them running concurrently usually means that the weakest link prevails in your security model.

There's an excellent white paper about this at Cygnus Solutions:

http://www.cygnus.com/product/unifying-security.html

That aside, some of your choices are:

So far I don't like any of them. NIS/NIS+ is usually used with NFS. Kerberos is the models that's used in conjunction with AFS/DFS (and CODA if they ever finish it). CIFS/SMB filesharing can be done with very weak authentication (workgroups style) or with the WINS Microsoft model.

Overall I think I'll like CODA best when we have a reasonably Linux server and client for it.

More more info on the CODA project at CMU browse through their mailling list archives at:

http://www.coda.cs.cmu.edu/maillists/linux-coda/0175.html

I could rant for sometime about the security models of the various network/shared filesystems -- but it's late so let it suffice to say I like that even less than the choices for DS and authentication. So far I think I like TCFS (transparent cryptographic filesystem) the best for security -- though I'm quite concerned about its performance costs.

I presume you're using Samba on your Linux server(s) to provide file services to your Windows clients. From a glance at the Samba Meta-FAQ and some of its other pages it looks like you could just let Linux/Samba manage the accounts for your whole network.

Here's some links that relate to that:

Samba: User accounts http://samba.anu.edu.au/samba/docs/smb_serv/html/smb_se-4.html#ss4.1

Samba Server HOWTO http://samba.anu.edu.au/samba/docs/smb_serv/html/smb_se.html

(*Note: if I read this correctly -- Samba can't currently be a "password server." This seems to mean that it can't act as a PDC/BDC (backup domain controller) for NT systems to refer client authentication requests through).

It looks like the future will hold some sort of LDAP and Kerberos -- for NT and many other OS' and packages. This would be fine -- if it weren't for the inevitable politicking and kneebiting that the various commercial vendors are going to do.

The problem is that everyone's version of LDAP (directory services) and Kerberos (authentication) will be just different enough that each vendor's OS will just *need* to be *the* server for *their* domain. They'll all make press releases about their "interoperability" -- and most will refuse to release enough details about their "extensions" for any other vendor (or freeware programmers) to implement them elsewhere.

I guess it will take a few years after the initial deployment for enough of this proprietary info to leak out (and/or be reverse engineered) to allow system administrators to actually have any semblance of a unified directory service and authentication system. The bugs and security problems will probably keep popping up for a long time after that (they've been popping up in Unix for 27 years -- and many of them are reappearing in NT now).

Meanwhile we're going to see a continuing explosion of servers and network applications (client server systems) that each require different user account (with associated group, token, and other information) and authentication information.

Worse yet, the various layers of management above us are already hearing the marketeers lies -- that the solutions are "already shipping" or "just around the corner." This is just what management wants to hear -- so many of them are believing it -- and planning their budgets and project schedules accordingly. A system administration disaster in the making.

Sorry I can't offer a brighter hope for the new year -- but I'm no marketeer.

-- Jim


Copyright © 1998, James T. Dennis
Published in Issue 24 of the Linux Gazette January 1998


[ TABLE OF 
CONTENTS ] [ FRONT PAGE ]  Back  Next

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


Quick autofs Tutorial

By Mark Nielsen


What is autofs? Autofs uses automount to mount cdrom and floppy drives (and other things) to your computer as you need them and umount as they are not being used. What is mount and unmount? Mount and umount are programs to mount a device ontop of a directory. For example, this command would mount the first floppy drive (drive a: in DOS terms) to the directory "/mnt/floppy" so that everytime you access "/mnt/floppy" to access your floppy drive.

mount /dev/fd0 /mnt/floppy

And this command unmounts or frees up the floppy drive from being used.

    
umount /dev/fd0 

Now, in DOS terms, your floppy disk is accessed as you need it. For normal users, that is what they would expect. They wouldn't want to use mount and umount because it is time consuming and because they might not get it right.

I assume "/dev/cdrom" is your cdrom drive and "dev/fd0" is your floppy drive. I am also assuming you will backup your "/etc/auto.master" file. Use this script to create the following threes files and restart autofs. Login as "root", goto your home directory, copy whatever between the next two lines to a file called "CreateAutofs.script" and execute the script with the command

 
source CreateAutofs.script

cd
echo "Please ignore any errors when making directories"
     ### Let us make sure the two directories exist, ignore errors
mkdir /mnt/floppy
mkdir /mnt/cdrom
     ### Let us backup the auto files in case they haven't
mv /etc/auto.master /etc/auto.master_old
mv /etc/auto.floppy /etc/auto.floppy_old
mv /etc/auto.cdrom /etc/auto.cdrom_old
     ### Create the files for autofs
echo "/mnt/cdrom /etc/auto.cdrom --timeout 10" > /etc/auto.master
echo "/mnt/floppy /etc/auto.floppy --timeout 1" >> /etc/auto.master
echo "floppy   -user,suid,fstype=msdos :/dev/fd0" > /etc/auto.floppy
echo "cdrom    -fstype=iso9660,ro   :/dev/cdrom" > /etc/auto.cdrom
     ### Create the links to the floppy drive and cdrom drive
ln -s /mnt/floppy/floppy a:
ln -s /mnt/cdrom/cdrom d:
ln -s /mnt/floppy/floppy floppy
ln -s /mnt/cdrom/cdrom cdrom 
     ### Lets retstart autofs, you might have to reboot
cd /etc/rc.d/init.d
./autofs restart
     ### If it didn't work, you might have to reboot 
     ### Try "./autofs start" if the restart claims autofs has not been
     #### started
cd


The end of your results should look something like the following if it was sucessfull

Start /usr/sbin/automount --timeout 10 /mnt/cdrom file /etc/auto.cdrom
Start /usr/sbin/automount --timeout 1 /mnt/floppy file /etc/auto.floppy
Now put a floppy disk formatted for MSDOS and a cdrom in and execute the commands
ls a:
ls d:
to see if there is anything on them. Hopefully you don't get any error messages.

Personally, my /etc/auto.floppy file looks like

floppy          -fstype=auto,defaults,user,suid :/dev/fd0
and my /etc/auto.cdrom file look like this
cdrom           -fstype=iso9660,user,suid       :/dev/cdrom
The reason why I gave conservative values in the script was the fact the my values might be security hazards. But since I am the only person using my computer, I wanted to make sure my personal account had full access to the floppy and cdrom drives. Also, -fstype=auto doesn't seem to work quite right when your disk is formated for MSDOS, but works fine with ext2. "-fstype=auto" tries to autodetect the file format.

If you noticed the timeout value for the floppy drive is 1 second. This makes it so that by the time the floppy drive light has gone out, your floppy disk is unmounted and a normal user can take the floppy disk out and "nothing bad happens". I made the timeout value for the cdrom 10 seconds because it wasn't working really well at 1 second, and I figured it was because the drive didn't have enough time to "warm up" before it was being shut down. You might want to test what the timeout value for your cdrom drive should be.

To get more information about autofs, do the commands

man 5 autofs
man autofs
and look the the directory "usr/doc" for the directory "autofs-0.3.14" or something similar to it.

Now to explain it

Okay, here is my brief explanation for what is happening. Read the man pages and any docs first.

Your "/etc/rc.d/init.d/autofs" script first looks at "/etc/auto.master". That file usually has three things on each line. It has the directory which all mounts will be located at. Then next to that value is the filename which contains the configuration(s) for what devices you want mounted. We will call these filenames the "supplemental" files. Next to that value is the timeout which you want to occur after so many seconds of inactivity. The timeout will free or umount all devices specificed in the supplemental files after so many seconds of inactivity.

Now, the supplemental files can have more than on entry, but for my purposes I don't do that. Read below for the explanation. The supplemental files can be named anything you want them to be named. They also have three values for each entry. The first value is the "psuedo" directory. I will explain this later. The second value contains the mount options. The third value is the device (like "/dev/fd0" which is the floppy drive) which the "psuedo" directory is connected to.

The "pseudo" directory is contained in the directory which is defined in "/etc/auto.master". When people try to access this "psuedo" directory, they will be rerouted to the device you specified. For example, the above script will generate a link called "a:" which if you list with the command "ls a:" will give you a list of files in the floppy drive. Or, a similar command would be "ls /mnt/floppy/floppy". But if you do the command "ls /mnt/floppy", you don't see anything even though the directory "/mnt/floppy/floppy" should exist. That is because "/mnt/floppy/floppy" doesn't exist as a file or directory, but somehow the system knows that if you specifically ask for "/mnt/floppy/floppy", it will reroute you to the floppy drive.

Now as to the reason why I didn't combine the floppy drive and cdrom drive into the same supplementary file. Each definition in the "/etc/auto.master" file will have its own "automount" program running for it. If you have several devices running on the same automount program and one of them fails, it could force the others not to work. That is why I want every device running on its own automount program which means there is one device per supplementary file per entry in the "/etc/auto.master" file.


Copyright © 1998, Mark Nielsen
Published in Issue 24 of Linux Gazette, January 1998


[ TABLE OF CONTENTS ] [ FRONT PAGE ]  Back  Next


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


Buying A Laptop

By Joel Jaeggli


Having just read Micheal Shappe's review of the Fujitsu Lifebook 420d in the Nov issue of LJ I thought I would relate a similar experience I had in purchasing a new laptop for my organization. Academic User Services at the University of Oregon provides support for end users on timeshare systems running Digital Unix, VMS, Solaris, and Linux. We have a wide variety of desktop hardware including PC's running Linux, FreeBSD, NT, 95 as well as DEC Alphas, Sparcs, SGIs and Macs. We needed a portable computer to send with people to do workshops, attend conferences and demo software for people. Because our members use a number of varieties of Unix but only a little better than half of them use Windows in the course of their work, solid UNIX support of some variety was imperative.

Our requirements were that it should have sufficient space to dual boot Windows95 and Linux, more over all the subsystems should work equally well under either Windows or Linux. The Laptop needed to provide support for an external display at 24-bit color depth as well as have support for an external keyboard and mouse. It should above all meet those goals and be relatively inexpensive as well as reasonably compact and durable.

We eventually settled on a Toshiba Satellite Pro 220cds. The Toshiba has a complete compliment of ports on the back, PS/2, serial, parallel, IRDA, VGA, docking station and interestingly enough, a USB port. It comes with a Pentium 133 processor, 16mb of ram and 2mb of dram to drive the 12.1" passive matrix display at 8, 16 and 24 bit color. It has a small but sufficient 1.4gb disk. The audio jacks and the volume control are located on the front of the case. The satellite pro 220cds is over all similar to it's more expensive cousins the 440cds and the 460cds which will undoubtedly replace it eventually. They are distinguished by having active matrix displays, larger hard disks and in the case of the 460 an internal modem.

The keyboard is quite large, the feel is closer if anything to a desktop keyboard than anything that you would expect to find on a laptop except for the travel of the keys which is fairly short. The Toshiba laptops have a ThinkPad style trackpoint-pointing device rather than the ubiquitous trackpads that seem to be on almost all portables these days. It does not regrettably have a third mouse button like the new and very expensive ThinkPad 770; but the buttons are located on top of each other rather than adjacent to each other as on most trackpads. This makes them easier to press and hold down with your thumb while moving the trackpoint with you index finger, so you can drag a scrollbar in X for example without using two hands.

Once I got over the fact that windows95 osr2 uses a fat/32 filesystem which cannot be modified by fips, I used partition magic, a utility by Powerquest to resize the windows95 partition I was able to install Redhat 4.2 without trouble. The alternative would have been to repartition the disk by hand using fdisk and then reinstall Windows off of the supplied CD-ROM. I choose to partition the disk 800MB for Windows and 600MB for Linux since I needed to install some large Windows applications such as Adobe Frame and Microsoft Office. Rather than have separate var / and home filesystems I opted for a single large Linux partition. A 64MB slice reserved for swap, this made sense since I didn't expect var to grow too much. The computer wouldn't be serving to much and that everyone using the portable under Linux would be logging in as the same user.

The Toshiba 220cds uses a Chips and Technologies 65555 chipset for the video display. While AcceleratedX and MetroX support this chipset it is also well supported by XFree86's SVGA X server. If you choose to run the free server you can expect to get 640x480 or 800x600 on the internal display at 8 16 or 24 bits per pixels. Because it has 2MB of video memory you can drive an external monitor at up to 1280x1024 in 8-bit color.

Networking was actually easier to configure under Linux than it was in windows. The 3com Elink 3 ethernet card and megahertz 33.6 PC-card modem that we purchased were detected by Redhat's install disks which was fortunate because I installed Redhat 4.2 via NFS using the network card. Because It is a portable I haven't configured it with a static-ip, rather I DHCP the portable under both Windows and Redhat which facilitates dragging it back and forth between subnets on our campus a great deal. The python based Redhat network control panel is particularly well suited to adjusting your network configuration on the fly.

Configuring sound support turned out to be a pretty interesting exercise. I chose to use the commercial OSS-Linux sound driver to support the Yamaha olp3-sa chipset that the portable has. OSS-Linux could not auto detect the settings of the sound chipset as it had done with my desktop Linux machine. It worked fairly well once I figured out which irq's and memory addresses were in use by the sound chipset, which was pretty easy using the windows95 system control panel.

The Toshiba 220cds is not by the standards of the current high-flyer in the laptop world an exceptionally fast machine, It is however full featured and even given all the accessories that we added extremely cheap. The laptop itself can be had for as little as $1600. The cost of a 3com network card and a Megahertz modem were $120 and $220 dollars respectively. A spare lithium-ion battery an additional $199 and an additional 16MB of ram was $90. In all the fully configured laptop cost less than $2300.

I have been very happy with how well the new laptop has worked out. It is a compact and elegant package, which is similar in function and design if not performance to the cream of the Toshiba notebook crop such as the Tecra 740. The moderate sacrifice in performance results in a great machine at a fraction of the cost. I would recommend such a device to anyone looking in to run Linux on a laptop.


Copyright © 1998, Joel Jaeggli
Published in Issue 24 of Linux Gazette, January 1998


[ TABLE OF CONTENTS ] [ FRONT PAGE ]  Back  Next


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


Copying Files Using Mirror

By Gerd Bavendiek


Do you have a laptop ? And want frequently to copy files to another system ? Use mirror !

I frequently have to exchange files between my laptop and other systems, eg. my home desktop. This can be conveniently done using rdist(1).

I wrote a small script called mirror, which basically contains a call of rdist setting up a small Distfile using the shell's here syntax:

rdist  -d PWD=`pwd` -f - << EOF
${PWD} -> mirror
	install -oyounger ${PWD};
        except_pat ( ~\\$ );
EOF

This is not the place to deal with rdist-syntax in greater detail, so see rdist's-manpage, if you like. Files will be copied to host mirror. Of course you have to set up /etc/hosts appropiately.

So working on a project with files in ~/wsp/pbd/os-tools, I can simply say

nana:/home/bav/wsp/pbd/os-tools> mirror
mirror: updating host mirror
mirror: /home/bav/wsp/pbd/os-tools/main-window.tcl: updating
mirror: /home/bav/wsp/pbd/os-tools/os-tools.tcl: updating
mirror: /home/bav/wsp/pbd/os-tools/popups.tcl: updating
mirror: updating of mirror finished
and mirror will copy new or changed files to the very same directory on the other node. This will be done recursively. Files on the other node, which are younger than the files on the node I started mirror on, will be mentioned, but remain untouched. Emacs-backup-files will not be copied.

Using the Option -verify, you can check what will be done without really doing anything:

nana:/home/bav/wsp/pbd/os-tools> mirror -verify
mirror: updating host mirror
mirror: /home/bav/wsp/pbd/os-tools/os-tools.tcl: need to update
mirror: /home/bav/wsp/pbd/os-tools/popups.tcl: need to update
mirror: updating of mirror finished

The option -f will remove extraneous files on node mirror. This is useful to get a real mirror:

nana:/home/bav/wsp/pbd/os-tools> mirror -f
mirror: updating host mirror
mirror: lulu: /home/bav/wsp/pbd/os-tools/qqq: removed
mirror: lulu: /home/bav/wsp/pbd/os-tools/otto: removed
mirror: /home/bav/wsp/pbd/os-tools/main-window.tcl: updating
mirror: /home/bav/wsp/pbd/os-tools/popups.tcl: updating
mirror: updating of mirror finished

Besides mirroring to another system's disk mirror can be used to mirror the current directory to a floppy. This comes in handy for a quick kind of backup. There is no real advantage of using rdist when operating locally.

If there is enough space available, I use cp with the options -ruvp. To do so, call mirror with the option -floppy:

nana:/home/bav/wsp/pbd/os-tools> mirror -floppy
./main-window.tcl -> /floppy/./main-window.tcl
./os-tools.tcl -> /floppy/./os-tools.tcl
./popups.tcl -> /floppy/./popups.tcl
As with rdist, only new or changed files are copied. Mounting and unmounting the floppy is done by the script. Right now there is no way of handling extraneous files implemented.

In case you like this ideas, you can find my mirror-utility here.


Gerd Bavendiek
Last modified: Thu Sep 24 22:24:59 MET DST


Copyright © 1998, Gerd Bavendiek
Published in Issue 24 of Linux Gazette, January 1998


[ TABLE OF CONTENTS ] [ FRONT PAGE ]