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 Front Page * The MailBag + Help Wanted + General Mail * More 2 Cent Tips + Followup to PostScript and VC Key Sequences (LG#23) + PostScript $0.02 follow-up + Yet another cheap tip + 2 cent tip - dosemu + Re: 2c Tip "Finding What You Want with find" + Re: Finding What You Want with find + Finding What You Want with find Part III + More on finding + Another way to find + Yet another way to find + A final(?) way to find + Re: I need some help + Spinning Down Unused HDs + LG Tips and Tricks (Netscape) + Easter Eggs in Netscape + Calculator Tip + Security script + Controlling cron.hourly + Syslog and ping * News Bytes + News in General + Software Announcements * The Answer Guy, by James T. Dennis + Netscape Mail Crashing + Slackware Help + Netscape /var/spool/USER + Getting Rid of Virtual Screens + diald's niche + Upgrade to Red Hat 5.0? + Red Hat Linux and WABI and other things + Linux as a PDT * Quick autofs Tutorial, by Mark Nielsen * Buying A Laptop, by Joel Jaeggli * Copying Files Using Mirror, by Gerd Bavendiek * Linux Benchmarking: Part 3 -- Interpreting Benchmark Results, by André D. Balsa * LXNY at UNIX EXPO '97, by Michael E. Smith * More Adventures with SAMBA , by Dave Nelson * My Linux Revolution, by Ylian Saint-Hilaire & Erik Campo * New Release Reviews, by Larry Ayers + KDE and Gnome + Updates and Correspondence * Product Review: Applixware, by Gary Moore * A Bit About Security, by Marcus Berglund * The Standard C Library for Linux, Part one, by James M. Rogers * xscreensaver, by Jamie Zawinski * The Back Page + About This Month's Authors + Not Linux 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 * General Mail _________________________________________________________________ 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) * PostScript $0.02 follow-up * Yet another cheap tip * 2 cent tip - dosemu * Re: 2c Tip "Finding What You Want with find" * Re: Finding What You Want with find * Finding What You Want with find Part III * More on finding * Another way to find * Yet another way to find * A final(?) way to find * Re: I need some help * Spinning Down Unused HDs * LG Tips and Tricks (Netscape) * Easter Eggs in Netscape * Calculator Tip * Security script * Controlling cron.hourly * Syslog and ping _________________________________________________________________ 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 -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 * Software Announcements _________________________________________________________________ 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: * Web Servers * Groupware * Networking/Routing/WAN * Client/Server Database * Microsoft/Novell/Apple/NFS file and Print sharing * System Administration 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://www.trailerpark.com/moonwalk/moonwolf/iactpage.html 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: * Added the ipfwadm module for configuring IP Firewalling, Forwarding and Masquerading. * Added the procmail modules for configuring mail filters. * The menu system, from which one select the configuration pages has been rewritten, so it's now much more intuitive. * Some bugs have been fixed. * Made it work with Tcl/Tk 8.0, which is much faster than the older versions of Tcl/Tk 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: * http://www.downunder.net.au/~jsno/rel/1997/nighthawk-1.0.tgz * ftp://ftp.cdrom.com/pub/unixfreeware/incoming (asked to be put into games) * ftp://sunsite.unc.edu/pub/Linux/games/arcade (uploaded to /incoming/Linux) * ftp://ftp.funet.fi (uploaded to /pub/Linux/incoming) 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.ta r.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.ta r.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: * based on Tcl/Tk 8.0 * includes cdrecord-1.5 and mkisofs 1.11.1 * lots of fixes. 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 * Slackware Help * Netscape /var/spool/USER * Getting Rid of Virtual Screens * diald's niche * Upgrade to Red Hat 5.0? * Red Hat Linux and WABI and other things * Linux as a PDT _________________________________________________________________ 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: * Microsoft's WINS (and its PDC/BDC domain model) * Kerberos and Cygnus Kerbnet * NIS/NIS+ * RADIUS/TACACS * LDAP (lightweight directory access protocol) * Netware NDS, Banyan StreetTalk, etc. * Host based security -- custom synchronization * scripts. 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 ] Back Next _________________________________________________________________ "Linux Gazette...making Linux just a little more fun!" _________________________________________________________________ Previous Next Contents _________________________________________________________________ Linux Benchmarking: Part III -- Interpreting Benchmark Results by André D. Balsa (writer/coordinator), andrewbalsa@usa.net v0.82, 31 December 1997 _________________________________________________________________ This is the third article in a series of articles on Linux Benchmarking, to be published by the Linux Gazette. The first two articles showed how to successfully run synthetic or application benchmarks to produce accurate, significant and relevant data. The present article deals with the correct interpretation of this data, and it also presents nbench-byte 2.1, a modern CPU benchmark suite. _________________________________________________________________ 1. Contributors 2. Benchmarking vs. benchmarketing * 2.1 The scientific/quantitative approach * 2.2 The benchmarketing approach 3. Benchmarks for SMP systems * 3.1 Description of the problem * 3.2 Runtime issues * 3.3 Scheduling issues * 3.4 Further reading/links * 3.5 Benchmark availability 4. GNU/Linux specifics 5. An example of correct/incorrect interpretation of results * 5.1 Example * 5.2 Pitfalls 6. In the next article 7. Notes _________________________________________________________________ Previous Next Contents _________________________________________________________________ Copyright © 1998, André D. Balsa Published in Issue 24 of Linux Gazette, January 1998 _________________________________________________________________ [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next _________________________________________________________________ Previous Next Contents _________________________________________________________________ 1. Contributors Without the help of the following gentlemen, this article would not have been completed in time, would certainly be much shorter and would probably be filled with errors. In no particular order: * Uwe F. Mayer, mayer@tux.org (nbench-byte and general contributions/revision), * Andy Kahn, kahn@zk3.dec.com (SMP Linux kernel 2.0.0 compilation benchmark idea, updates and results), * Joseph Yao, jsdy@tux.org (comments and contributions), * François Laagel, f.laagel@ieee.fr (researched and contributed most of the SMP section), and * David Niemi, niemi@tux.org (comments and contributions). _________________________________________________________________ Previous Next Contents Previous Next Contents _________________________________________________________________ 2. Benchmarking vs. benchmarketing There are two basic approaches to benchmarking in the field of computing: the "scientific" or quantitative approach and the "benchmarketing" approach. Both approaches use exactly the same tools, however with a slightly different methodology and of course with widely diverging objectives and results. 2.1 The scientific/quantitative approach The first approach is to think of benchmarking as a tool for experimentation. Benchmarking is a specific branch of Computer Science, since it produces numbers which can then be mathematically processed and analyzed; this analysis will be later used to draw relevant conclusions about CPU architectures, compiler design, etc. As with any scientific activity, experiments (benchmark runs and reporting) must follow some basic guidelines or rules: * A good dose of modesty/humility (don't be too ambitious to begin with) and common sense. * No bias or prejudice. * A clearly stated objective related to advancing the state-of-the-art. * Reproducibility. * Accuracy. * Relevance. * Correct logical/statistical inference. * Conciseness. * Sharing of information. * Quoting sources/references. Of course, this is an idealized view of the scientific community, but these are some of the basic rules for the experimental methods in all branches of Science. I should stress that benchmarking results in documented quantitative data. The correct procedure for GNU/Linux benchmarking under this approach is: 1. Decide on what is the issue that is going to be investigated. It is very important to execute this step before anything else gets started. Stating clearly what we are going to investigate is getting half the work done. 2. Also note that we are not out to prove anything: we must start with a clean, Zen-like mind. This is particularly difficult for us, GNU/Linux benchmarkers, since we are all utterly convinced that: 1. GNU/Linux is the best OS in the universe (what "best" means in this context is not clear, however; probably the same as "coolest"), 2. Wide-SCSI-3 is better than plain EIDE, (idem), 3. Digital's 64-bit RISC Alpha is the best platform around for GNU/Linux development (idem), and 4. X Window is a good, modern GUI (no comments). 3. After purifying our minds and souls ;-), we will have to select the tools (i.e. the benchmarks) which will be used for our benchmarking experiments. You can take a look at my previous article for a selection of GPLed benchmarks. Another way to get the right tool for the job at hand is to devise and implement your own benchmark. This approach takes a lot more time and energy, and sometimes amounts to reinventing the wheel. Creativity being one of the nicest features in the GNU/Linux world, writing a new benchmark is recommended nonetheless, especially in the areas where such tools are sorely missed (Graphics, 3D, multimedia, etc). Summarizing, selecting the appropriate tool for the job is very important. 4. Now comes the painstaking part: gathering the data. This takes huge amounts of patience and attention to details. See my two previous articles. 5. And finally we reach the stage of data analysis and logical inference, based on the data we gathered/analyzed. This is also where one can spoil everything by joining the Dark Side of the Force (see subsection 1.2 below). Quoting Andrew Tanenbaum: "Figures don't lie, but liars figure". 6. If relevant conclusions can be drawn, publishing them on the appropriate mailing lists, newsgroups or on the Linux Gazette is in order. Again this is very much a Zen attitude (known as "coming back to the village"). 7. Just when you thought it was over and you could finally close the cabinet of your CPU after having disassembled it more times than you could count, you get a sympathetic email that mentions a small but fundamental flaw in your entire benchmarking procedure. And you begin to understand that benchmarking is an iterative process, much like self-improvement... 2.2 The benchmarketing approach This second approach is more popular than the first one, as it serves commercial purposes and gets more subsidies (i.e. grants, sponsorship, money, cash, dinero, l'argent, $) than the first approach. Benchmarketing has one basic objective, and that is to prove that equipment/software A is better (faster, more powerful, better performing or with a better price/performance ratio) than equipment/software B. The basic inspiration for this approach is the Greek philosophical current known as Sophism. Sophistry has had its adepts at all times and ages, but the Greeks made it into a veritable art. Benchmarketers have continued this tradition with varying success (also note that the first Sophists were lawyers (1) see my comment on Intel below). Of course with this approach there is no hope of spiritual redemption... Quoting Larry Wall (of Perl fame) as often quoted by David Niemi: "Down that path lies madness. On the other hand the road to Hell is paved with melting snowballs." Benchmarketing results cover the entire range from outright lies to subtle fallacies. Sometimes an excessive amount of data is involved, and in other cases no quantitative data at all is provided; in both cases the task of proving benchmarketing wrong is made more arduous. A short history of benchmarketing/CPU developments We already saw that the first widely used benchmark, Whetstone, originated as the result of research into computer architecture and compiler design. So the original Whetstone benchmark can be traced to the "scientific approach". At the time Whestone was written, computers were indeed rare and very expensive, and the fact that they executed tasks impossible for human beings was enough to justify their purchase by large organizations. Very soon competition changed this. Foremost among the early benchmarketers was the need to justify the purchase of very expensive mainframes (at the time called supercomputers; these early machines would not even match my < $900 AMD K6 box). This gave rise to a good number of now obsolete benchmarks, as of course each different architecture needed a new algorithm to justify its existence in commercial terms. This supercomputer market issue is still not over, but two factors contributed to its relative decline: 1. Jack Dongarra's effort to standardize the LINPACK benchmark as the basic tool for supercomputer benchmarking. This was not entirely successful, as specific "optimizers" were created to make LINPACK run faster on some CPU architectures (note that unless you are trying to solve large scientific problems involving matrix operations - the usual task assigned to most supercomputers - LINPACK is not a good measure of the CPU performance of your GNU/Linux box; anyway, you can find a version of LINPACK ported to C in Al Aburto's excellent FTP site. 2. The appearance of very fast and cheap superminis, and later microprocessors, and the widespread use of networking technologies. These changed the idea of a centralized computing facility and signaled the end of the supercomputer for most applications. Also modern supercomputers are built with arrays of microprocessors nowadays (notably the latest Cray machines are built using up to 2048 Alpha processors), so there was a shift in focus. Next in line was the workstation market issue. A nice side-effect of the various marketing initiatives on the part of some competitors (HP, Sun, IBM, SGI among others) is that it spawned the development of various Unix benchmarks that we can now use to benchmark our GNU/Linux boxes! In parallel to the workstation market development, we saw fierce competition develop in the microprocessor market, with each manufacturer touting its architecture as the "superior" design. In terms of microprocessor architecture an interesting development was the performance issue of CISC against RISC designs. In market terms the dominating architecture is Intel's x86 CISC design (c.f. Computer Architecture, a Quantitative Approach, Hennessy and Patterson, 2nd. edition; there is an excellent 25-page appendix on the x86 architecture). Recently the demonstrably better-performing Alpha RISC architecture was almost wiped out by Intel lawyers: as a settlement of a complex legal battle over patent infringements, Intel bought Digital's microelectronics operation (which also produced the StrongARM (2) and Digital's highly successful line of Ethernet chips). Note however that Digital kept its Alpha design team and the settlement includes the possibility by Digital to have present and future Alpha chips manufactured by Intel. The x86 market attracted Intel competitors AMD and more recently Cyrix which created original x86 designs. AMD also bought a small startup called NexGen which designed the precursor to the K6, and Cyrix had to grow under the umbrella of IBM and now National Semiconductor but that's another story altogether. Intel is still the market leader since it has 90% of the microprocessor market, even though both the AMD K6 and Cyrix 6x86MX architectures provide better Linux performance/MHz than Intel's best effort to date, the Pentium II (except for floating-point operations). Lastly, we have the OS market issue. The Microsoft Windows (R) line of OS's is the overwhelming market leader as far as desktop applications are concerned, but in terms of performance/security/stability/flexibility it sometimes does not compare well with other OSes. Of course, inter-OS benchmarking is a risky business and OS designers are aware of that. Besides, comparing GNU/Linux to other OSes using benchmarks is almost always an exercise in futility: GNU/Linux is GPLed, whereas no other OS can be said to be free (in the GNU/GPL sense). Can you compare something that is free to something that is proprietary (3) Does benchmarketing apply to something that is free? Comparing GNU/Linux to other OSes is also a good way to start a nice flame war on comp.os.linux.advocacy, specially when GNU/Linux is compared to BSD Unices or Windows NT. Most debaters don't seem to realize that each OS had different design objectives! These debates usually reach a steady state when both sides are convinced that they are "right" and that their opponents are "wrong". Sometimes benchmarking data is called in to prove or disprove an argument. But even then we see that this has more to do with benchmarketing than with benchmarking. My $0.02 of advice: avoid such debates like the plague. Turning benchmarking into benchmarketing The SPEC95 CPU benchmark suite (the CPU Integer and FP tests, which SPEC calls CINT95/CFP95) is an example of a promising Jedi that succumbed to the Dark side of the Force ;-). SPEC (Standard Performance Evaluation Corporation) originated as a non-profit corporation with the explicit objective of creating a vendor-independent, objective, non-biased, industry-wide CPU benchmark suite. Founding members were some universities and various CPU and systems manufacturers, such as Intel, HP, Digital, IBM and Motorola. However, some technical and philosophical issues have developed for historical reasons that make SPEC95 inadequate for Linux benchmarking: 1. Cost. Strangely enough, SPEC95 benchmarks are free but you have to pay for them: last time I checked, the CINT95/CFP95 cost was $600. The quarterly newsletter was $550. These sums correspond to "administrative costs", according to SPEC. 2. Licensing. SPEC benchmarks are not placed under GPL. In fact, SPEC9