home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 27 / CDROM27.iso / linux / lg / issue31 / issue31.txt < prev    next >
Encoding:
Text File  |  1998-08-03  |  587.9 KB  |  15,483 lines

  1.  
  2.            Linux Gazette... making Linux just a little more fun!
  3.                                       
  4.          Copyright ⌐ 1996-98 Specialized Systems Consultants, Inc.
  5.      _________________________________________________________________
  6.    
  7.                        Welcome to Linux Gazette! (tm)
  8.      _________________________________________________________________
  9.    
  10.                                  Published by:
  11.                                        
  12.                                Linux Journal
  13.      _________________________________________________________________
  14.    
  15.                                  Sponsored by:
  16.                                        
  17.                                    InfoMagic
  18.                                        
  19.                                    S.u.S.E.
  20.                                        
  21.                                     Red Hat
  22.                                        
  23.                                    LinuxMall
  24.                                        
  25.                                 Linux Resources
  26.                                        
  27.                                     Mozilla
  28.                                        
  29.    Our sponsors make financial contributions toward the costs of
  30.    publishing Linux Gazette. If you would like to become a sponsor of LG,
  31.    e-mail us at sponsor@ssc.com.
  32.    
  33.    Linux Gazette is a non-commercial, freely available publication and
  34.    will remain that way. Show your support by using the products of our
  35.    sponsors and publisher.
  36.      _________________________________________________________________
  37.    
  38.                              Table of Contents
  39.                            August 1998 Issue #31
  40.      _________________________________________________________________
  41.    
  42.      * The Front Page
  43.      * The MailBag
  44.           + Article Ideas
  45.           + Help Wanted
  46.           + General Mail
  47.      * More 2 Cent Tips
  48.           + RE: Photogrammetry tools for Linux? in Issue 30
  49.           + Re: Suggestion for Article, simultaneous versions of Kernels
  50.           + Secondary IDE interface CDROM detection/automounting tip
  51.           + Re ext2 partitions
  52.           + pdf resumes: pdflatex
  53.           + Re: CHAOS
  54.           + Re: 3com network cards
  55.           + ext2 Partitions
  56.           + RE: Searching (somewhat in vain) for sources on shell
  57.             scripting
  58.           + Re: $.02 tips on ext2 Partitions 
  59.           + LG30 ext2 Partition tip
  60.           + Modem Connecting Speed
  61.           + Short Article on upgrading to SMP
  62.           + Cross-platform Text Conversions
  63.      * News Bytes
  64.           + News in General
  65.           + Software Announcements
  66.      * The Answer Guy, by James T. Dennis
  67.      * Betting on Darwin, Part 2, by Doc Searls
  68.      * Copying Red Hat Legalities, by Eric Canal
  69.      * EMACSulation, by Eric Marsden
  70.      * The Future of Linux, by Greg Roelofs
  71.      * Graphics Muse, by Michael J. Hammel
  72.      * The Great Linux Revolt of 1998, by Chris Dibona
  73.      * How I got my Adaptec AVA 1502 SCSI card to work with Linux and
  74.        Sane, by James M. Rogers
  75.      * New Release Reviews, by Larry Ayers
  76.           + Debian 2.0
  77.           + Software and Plants
  78.      * Open Source's First Six Months by Eric Raymond
  79.      * Personal Linux/Alpha System: 64 bits for Under $500 by Russell C.
  80.        Pavlicek
  81.      * Product Review: The Roxen Challenger Web Server, by Michael
  82.        Pelletier
  83.      * Selecting a Linux Distribution, by Phil Hughes
  84.      * Some History and Other Things, by Marjorie Richardson
  85.      * The Standard C Library for Linux, Part Two, by James M. Rogers
  86.      * The Back Page
  87.           + About This Month's Authors
  88.           + Not Linux
  89.        
  90.    The Answer Guy
  91.      _________________________________________________________________
  92.    
  93.    The Whole Damn Thing 1 (text)
  94.    The Whole Damn Thing 2 (HTML)
  95.    are files containing the entire issue: one in text format, one in
  96.    HTML. They are provided strictly as a way to save the contents as one
  97.    file for later printing in the format of your choice; there is no
  98.    guarantee of working links in the HTML version.
  99.      _________________________________________________________________
  100.    
  101.    Got any great ideas for improvements? Send your comments, criticisms,
  102.    suggestions and ideas.
  103.      _________________________________________________________________
  104.    
  105.    This page written and maintained by the Editor of Linux Gazette,
  106.    gazette@ssc.com
  107.    
  108.     "Linux Gazette...making Linux just a little more fun!"
  109.      _________________________________________________________________
  110.    
  111.                                 The Mailbag!
  112.                                       
  113.                     Write the Gazette at gazette@ssc.com
  114.                                       
  115.                                  Contents:
  116.                                       
  117.      * Help Wanted -- Article Ideas
  118.      * General Mail
  119.      _________________________________________________________________
  120.    
  121.                         Help Wanted -- Article Ideas
  122.      _________________________________________________________________
  123.    
  124.    Date: Tue, 30 Jun 1998 17:59:52 -0600
  125.    From: Ernesto Vargas, evargas@aisinternational.com
  126.    Subject: email to pager gateway
  127.    
  128.    I'm trying to find an e-mail to pager gateway. So for example if I
  129.    send a e-mail to 123456@mydomain.com it will send it to the pager
  130.    system but if I send and e-mail to evargas@mydomain.com leave the
  131.    message in my pop account. Additional to this is not to specify each
  132.    pager our company has more then 25,000 and is growing 1,000 per month.
  133.    
  134.    Thanks,
  135.    Ernesto Vargas
  136.      _________________________________________________________________
  137.    
  138.    Date: Thu, 2 Jul 1998 14:44:52 -0600
  139.    From: "MARK C ZOLTON", mcz@wheat.ksu.edu
  140.    Subject: SyQuest EZ 135 and Linux...
  141.    
  142.    For quite some time now I've been wondering how to set up my SyQuest
  143.    EZ 135 removable disk drive under Linux. If you haven't seen one, it's
  144.    kind of like a ZIP drive, but less of an industry standard. I got it
  145.    for free, otherwise I don't think it would have been worth it. Anyway,
  146.    I have about six 135MB disks for it and I'd like to give some of that
  147.    to Linux. Any ideas? I've seen a driver around before, but I don't
  148.    remember where to get it.
  149.    
  150.    Mark
  151.      _________________________________________________________________
  152.    
  153.    Date: Mon, 06 Jul 1998 17:01:00 +0300
  154.    From: admin, admin@jrol.com
  155.    Subject: chroot how to?
  156.    
  157.    I have been trying to lookup information on chroot command. i am
  158.    trying to see if I can restrict my users to there home directories.
  159.    Same concept like anonymous ftp. So each user will have his or hers
  160.    own work space. Is there any documentation ? Thank you for your time.
  161.    I have Red Hat5.0 and 5.1.
  162.    
  163.    Khriss,
  164.      _________________________________________________________________
  165.    
  166.    Date: Sun, 05 Jul 1998 05:32:21 -0700
  167.    From: "Wizard Saturn", alexey@mailcity.com
  168.    Subject: problem mouse
  169.    
  170.    I have Genius Net Mouse (with a Magic-Button for making browsing easy,
  171.    hardware scrolling). I use Read Heat 5.0, but I cannot use
  172.    Magic-Button for scrolling in Xwindows.What shall I do for using it.
  173.    
  174.    Thank you in advance.
  175.    alexey
  176.      _________________________________________________________________
  177.    
  178.    Date: Fri, 3 Jul 1998 17:47:35 +0100 (BST)
  179.    From: Sean Kelly, S.Kelly@newcastle.ac.uk
  180.    Subject: Recognising the AMD K5-PR166
  181.    
  182.    I'm wondering whether any other readers have used the AMD K5-PR166
  183.    with Linux. It's just that my system seems to think it's a K5-PR133
  184.    and states that it's running at 100MHz. Also, the BogoMips value
  185.    indicates that the processor is running at 100MHz. Anyone any advice?
  186.    
  187.    Thanks in advance,
  188.    Sean.
  189.      _________________________________________________________________
  190.    
  191.    Date: 08 Jul 98 16:10:03 +0000
  192.    From: James Spenceley, creative@create.com.au
  193.    Subject: PPP help
  194.    
  195.    I'd like to set my Linux box up as a PPP remote access server. Can you
  196.    give me an idea of where i can find some info on how to do this ? Or
  197.    maybe someone who has done it with a positive outlook and an email
  198.    address. Any help would be great
  199.    
  200.    Thanks
  201.    James
  202.      _________________________________________________________________
  203.    
  204.    Date: Sat, 18 Jul 1998 02:20:45 +0200
  205.    From: silvia ballmann, sballmann@usa.net
  206.    Subject: Linux AND Lanprinter
  207.    
  208.    Can I manage 800 lanprinter with one Linux system? Thanks.
  209.    
  210.    bye, Thomas
  211.      _________________________________________________________________
  212.    
  213.    Date: Thu, 16 Jul 1998 16:50:41 -0700
  214.    From: al00584, al00584@snetsy.cpg.com.au
  215.    Subject: DStealth Linux FVWM driver
  216.    
  217.    I have a Diamond Stealth 3D 2000 Virge card. In initial drivers even
  218.    16 bit display modes were patchy. Now I'm wondering if there would be
  219.    new drivers developed which are stable since. Furthermore I seem to
  220.    have trouble installing and uninstalling files. No Uninstallshield
  221.    equivalent of windows??
  222.    
  223.    Keep up the great service.
  224.    Andrew
  225.    
  226.      (No need for an uninstall with Linux, rm -rf will remove all the
  227.      way down a directory tree. Be careful when you use it though. Also,
  228.      if you feel the need to write C code to this, there is an article
  229.      in the August issue of Linux Journal about how to write a "deltree"
  230.      command. --Editor) 
  231.      _________________________________________________________________
  232.    
  233.    Date: Tue, 21 Jul 1998 10:07:36 -0700 (PDT)
  234.    From: dhelm@linknet.kitsap.lib.wa.us
  235.    Subject: CHAOS
  236.    
  237.    I would like more information on the CHAOS article in the July (#30)
  238.    issue of LG. Are there any HOW-TO's on how to set a thing like that
  239.    up? Since I cant afford (OK, to cheap to buy..) one of the new
  240.    systems, a little network of cheap PC's sounds fun.
  241.    
  242.    GreatDane
  243.      _________________________________________________________________
  244.    
  245.    Date: Wed, 22 Jul 1998 00:08:57 EDT
  246.    From: Kilgorecom@aol.com
  247.    Subject: notebook
  248.    
  249.    I have an OLD laptop that is probably only good for a doorstop or
  250.    running DOS. (I did download DR. DOS, and may give it a try, but am
  251.    more interested in putting a Linux system on it if possible. It is a
  252.    DTK model DLT-3311 which has a whopping Cx486dlc 33 Mhz processor and
  253.    4 MB of ram. It has a monochrome monitor, and runs windows 3.x slow. I
  254.    can't find any more ram for it and am interested in finding out if
  255.    there is a distribution of Linux, BSD, or something of the like that
  256.    would turn this into a suitable companion for sales calls, including a
  257.    database, pim, and anything else slick I could get this to do until I
  258.    can afford something less paeliolithic.
  259.    
  260.    Any info you could send would be greatly appreciated, as well as being
  261.    a big feather in your Karmic hat.
  262.    
  263.    Thanks in advance, Kent
  264.      _________________________________________________________________
  265.    
  266.    Date: Wed, 29 Jul 1998 08:18:28 +0000
  267.    From: Abduraghmaan Phillips, phillips@srvnac3.nac.ac.za
  268.    Subject: Intel Celeron Processor
  269.    
  270.    I would like to know whether Linux will have any problems with the
  271.    Intel Celeron Processor.
  272.    
  273.    Thanks, A. Phillips
  274.      _________________________________________________________________
  275.    
  276.                                 General Mail
  277.      _________________________________________________________________
  278.    
  279.    Date: Mon, 27 Jul 1998 12:19:00 -0700
  280.    From: Antony Chesser, antonyc3@integritas.com
  281.    Subject: The Other Side of the Story
  282.    
  283.    In the article, Installing Microsoft & Linux, by Manish P. Pagey, we
  284.    were treated to a (possibly justified) diatribe about the difficulties
  285.    in integrating Linux and Win95. However, to have a more balanced view,
  286.    one might also note the following:
  287.    
  288.    I like Linux thus far. But I never mistake what I like with that is
  289.    simpler for the average person out there to use. Linux is as user
  290.    friendly as a hurled brick. Installing Linux puts you at a $ or #
  291.    prompt with no clue of where to go afterwards. I'm a Novell CNE with
  292.    many years experience working with PCs and networks, so I'm not
  293.    daunted by a non-intuitive prompt. And I already had a WIN95 machine
  294.    set up so I could access the net, download the truly excellent Linux
  295.    Journal online, and get support on how to install RPMs, etc. Had that
  296.    not been the case, however, I'd have been hard pressed to iron our the
  297.    wrinkles in my install, or to know which files to edit, or programs to
  298.    run, to do basic configuration. By comparison, win95 starts off in the
  299.    gui mode, allowing for rather intuitive productivity immediately. And
  300.    yes, I agree...it IS less stable. But crashing once a week (and I
  301.    don't, by the way... I applied the service pack to it, and I am very
  302.    stable) is still far better than not being able to even find out how
  303.    to connect to the net.
  304.    
  305.    When Linux finishes installing, you're left with a # prompt. When
  306.    WIN95 finishes installing, you've a fairly intuitive GUI that allows
  307.    you to quickly and easily install and run programs, connect to the
  308.    net, and **apply updates without re-compiling the kernel**.
  309.    
  310.    So is win95 better than Linux? Nope. But neither is it inferior. Each
  311.    tool for the right job. If someone wants to set up their own PC and
  312.    get working quickly, the average person without experience in EITHER
  313.    of the OS's will have an easier time with win95. The trade off for
  314.    that is that yes, it IS less stable in the long run, and yes, you DO
  315.    have to pay for it. But considering that for the novice, the
  316.    alternative is a PC that he/she cannot use, the answer seems clear
  317.    that one should get the more easily installed and usable system. And
  318.    that is not yet Linux.
  319.    
  320.    I believe firmly that it one day WILL be. Many of the Linux Accolytes
  321.    have decried the attempt to enhance the functionality and ease of use
  322.    for Linux as the equivalent of "Starting down the Dark path of the
  323.    Force." (shrug) A bit melodramatic, if you ask me. Consider this...
  324.    that if we don't make it more user friendly, it will STAY a tiny share
  325.    of the home and small business market, which in turn means less
  326.    software written for it, and less call for us to support it for a
  327.    living. Which, given all it's virtues, seems a shame, doesn't it?
  328.    
  329.    Let's keep the tight, elegant kernel that is Linux, and add ease of
  330.    use to it. If we do this, then like IBM's iron fisted dominance of the
  331.    PC market that faded, so too will Microsoft be "The Giant That Was."
  332.    However, if we insist on keeping Linux the OS that commands a
  333.    religious like fervor with a select few, and keeping it un-usable for
  334.    the vast majority of home and small business users, we'll continue to
  335.    watch Mr. Gates... the richest man in the world... sell upgrades to a
  336.    kludgy OS for more money than ANY current version of Linux gets. And
  337.    we'll hear his laughter.
  338.    
  339.    Antony Chessor
  340.      _________________________________________________________________
  341.    
  342.    Date: Tue, 07 Jul 1998 20:01:16 -0400
  343.    From: Kevin Fortin, kfortin@ufl.edu
  344.    Subject: RedHat Service Pack 1
  345.    
  346.    A badly organized yet sketchy editorial, upon these themes:
  347.    
  348.    Just when Linux was starting to get a little more of the limelight,
  349.    Red Hat releases a new version of its popular distribution, the
  350.    regrettably buggy RH5.1 (a few weeks ahead of whatever product from
  351.    Redmond).
  352.    
  353.    Many Linux beginners will probably start with Red Hat, because of the
  354.    ease of installation and the collection of software. bo Many or most
  355.    beginners who want to give Linux a try will be installing on their
  356.    home machines, and will want to connect to the Internet by modem
  357.    afterwards (sorry -- PPP module not supported by kernel). Note: this
  358.    feature makes it difficult for home users to download patches from FTP
  359.    sites.
  360.    
  361.    Furthermore, all users might want to install additional RPMs from
  362.    CDROMS (sorry -- unable to mount iso9660 filesystem).
  363.    
  364.    [Strangely, when I upgraded an RH4.2 system to RH5.1, I did not have
  365.    trouble with PPP or CD-ROM support, but when I did an RH5.1
  366.    installation from scratch, I did have problems. On that troublesome
  367.    system, I reformatted and reinstalled RH4.2.]
  368.    
  369.    Many (or at least I) passed over RH5.0 (because I had read it needed a
  370.    lot of patching) and waited for RH5.1 to come out.
  371.    
  372.    The Linux press doesn't appear to have commented on this situation.
  373.    Maybe I'm not looking hard enough, but I haven't come across any
  374.    product reviews or editorials in the on-line Linux press chastising
  375.    RedHat for rushing a defective product to market (ala Microsoft).
  376.    
  377.    In spite of the above, "Me, I'm a Red Hat Man".
  378.    
  379.    I'm no expert user, but I am a fan of the Linux phenomenon and
  380.    certainly of Red Hat, and I guess I'm just disappointed by the
  381.    possibility that potential newcomers might be frustrated and turned
  382.    away from Linux by the current Red Hat distribution.
  383.    
  384.    I wish the people at Red Hat well, and will probably even send some
  385.    money their way, in appreciation of their 4.2 distrib as well as their
  386.    ongoing efforts. However, I might wait for RH5.2 or at least give the
  387.    most crucial of the RH5.1 patches enough time to make it onto the
  388.    official CD pressings.
  389.    
  390.    [To be fair, I should note that I obtained RH5.1 on a $1.99 CD from
  391.    CheapBytes, but from reading the newsgroups, I don't believe that this
  392.    undermines the points made above. Also, I don't imagine that RedHat's
  393.    own commercial CD releases and their FTP site would be much
  394.    out-of-sync, and CheapBytes probably relies on the RH FTP site for its
  395.    pressings.]
  396.    
  397.    Kevin Fortin
  398.      _________________________________________________________________
  399.    
  400.    Date: Mon, 06 Jul 1998 11:59:33 +0900
  401.    From: Tom Holroyd, tomh@taz.ccs.fau.edu
  402.    Subject: Compaq Unix Support
  403.    
  404.    Since the recent acquisition of Digital by Compaq, I think it's
  405.    important to let everybody know how they can show their support of
  406.    Linux on Compaq's AXP platform. Jon Hall, Unix Software Group Senior
  407.    Leader inside Compaq, and also Executive director of Linux
  408.    International, has posted the following announcement to
  409.    axp-list@redhat.com
  410.    
  411.    url: http://archive.redhat.com//axp-list/1998-June/0567.html
  412.    
  413.    Remember that if a major player such as Compaq started shipping
  414.    machines (and not only axps) with Linux pre-loaded, it would do much
  415.    for Linux popularity.
  416.    
  417.      Since sending them all one at a time to Mr. Pfeiffer will only make
  418.      him pissed off in the long run, you are welcome to send them to me,
  419.      and I will roll them up for him, and present them all at once. I
  420.      would suggest including in the letter (along with whatever else you
  421.      want): Your name, Your occupation, Whether you are buying the
  422.      machine for personal or business use, How many machines per year
  423.      you buy (ONE is an o.k. number!! Even one, every two or three
  424.      years...he will understand, and they mount up over many people),
  425.      What type of machine you would buy (Alpha, Intel), What size (how
  426.      many megs memory, disk, etc.), and Whether you would be interested
  427.      in buying support. Put as the subject line: YET ANOTHER UNIX USER
  428.      
  429.      I will guarantee you that my immediate management will look at
  430.      them, at a minimum, and I am fairly sure that they will get all the
  431.      way up to Mr. Pfeiffer, at least as a report. -- Jon "maddog" Hall,
  432.      maddog@zk3.dec.com
  433.      
  434.    Dr. Tom Holroyd
  435.      _________________________________________________________________
  436.    
  437.    Date: Wed, 1 Jul 1998 12:04:27 +0100 (BST)
  438.    From: Karsten Ballueder, karsten@phy.hw.ac.uk
  439.    Subject: Portable GUI C++ Libraries
  440.    
  441.    I have just read your article about "Portable GUI C++ Libraries" and
  442.    found it to be not very well researched. The information given about
  443.    wxWindows is outdated and a bit inaccurate.
  444.    
  445.    You mentioned that Version 2.0 "is rumoured to be available in the
  446.    near future". Fact is, it has already been available in different
  447.    alpha releases for quite some time. While the code is still under
  448.    development, it is worth mentioning that it is already very usable
  449.    and=20=
  450.    
  451.    the turnaround time for bug fixes is quite low. At present there are
  452.    two implementations of wxWindows 2.0, the Windows version, available
  453.    from the main wxWindows web page mentioned in your article, and the
  454.    GTK based Unix version wxGTK, available from
  455.    http://www.freiburg.linux.de/~wxxt/ . Both versions are ready for
  456.    development right now ( We are using it to implement quite a large
  457.    e-mail application, http://Ballueder.home.ml.org/M ). A third
  458.    version,=20=
  459.    
  460.    based on Motif is under development.
  461.    
  462.    You also mentioned the "side project" of a port of wxWindows which
  463.    doesn't require the Motif libraries. This "port", called wxXt has
  464.    been=20=
  465.    
  466.    around for many years and is probably the most-used wxWindows version
  467.    on Linux. It provides a complete Motif-lookalike interface, without
  468.    requiring Motif.
  469.    
  470.    I find that if you look at the newer wxWindows releases, especially
  471.    wxGTK, they provide a much more complete environment and a much
  472.    improved user interface than other toolkits. Unfortunately, your
  473.    screenshots based on the older Motif version don't show this.
  474.    
  475.    Regards, Karsten
  476.      _________________________________________________________________
  477.    
  478.    Date: Sun, 05 Jul 1998 00:09:07 +0000
  479.    From: general, general@gis.net
  480.    Subject: LG30 article by Manish Pagey
  481.    
  482.    The most intelligent statement in this persons article was " Because
  483.    I'm stupid thats why". This article was not anything of general
  484.    interest but only a tirade about Bill Gates and Microsoft.
  485.    
  486.    If your Linux is so great why must you degenerate the efforts and
  487.    products of others. Evidently, you people all live in the ivory towers
  488.    of academia and not the real world. Manish cites that the Feds and the
  489.    state ag's are after MS.
  490.    
  491.    His vehemence smacks so much of hate that they may come for him next
  492.    for committing "hate crimes or if not hate crimes the incidence of a
  493.    hate crime", to quote one great liberal mayor here in Marxachusettes.
  494.    
  495.    Why must all of Linux literature be permeated with the stink of
  496.    egotistical minds rotting putridly in the sun. Linux may be the
  497.    operating system of the future, that is if we can get by humid
  498.    putrification of your egotism.
  499.    
  500.    Quite frankly, LG should hide in shame for printing such childish
  501.    gibberish. When I downloaded your recent issue to my Linux box, it was
  502.    with the hope that it might enlighten my experience with another
  503.    operating system and broaden my limited computer knowledge.
  504.    
  505.    However, this trash will not deter my efforts to learn about Linux as
  506.    it has presented quite a challenge to run both it and W95. Here's
  507.    hoping that you and others can present a journal that will teach not
  508.    disgust.
  509.    
  510.    Thanks for letting me vent.
  511.    
  512.    Robert E. Lee
  513.    
  514.      I frankly don't have time to read every word of every article. I
  515.      try to avoid articles that are just hate mail. Obviously, I missed
  516.      on this one if it is as bad as you say. People are always asking
  517.      for articles about installing both Linux and Microsoft and the
  518.      problems incurred while doing so and this one looked to fit the
  519.      bill. I am sorry you were offended and that I did not do a better
  520.      filtering job. Thanks for writing -- Editor 
  521.      
  522.    Thank you for responding to my e-mail. However, my feelings were not
  523.    of offense but of total irritation that the Linux literature at all
  524.    levels is saturated with the debasing of others and their operating
  525.    system.
  526.    
  527.    There are forums where people can vent their dislikes but they do a
  528.    disservice to the Linux community by littering Linux literature all of
  529.    types their personal dislikes of others and their efforts.
  530.    
  531.    Linux is being touted as the operating system of the future and it
  532.    could very well be that some day it will mature to this status.
  533.    However, the Linux community will have to mature with it if they
  534.    expect this to happen. The type of article will only repel people
  535.    rather than attract them. Sell the features and benefits of the Linux
  536.    operating system and people will use it, denigrate others and their
  537.    efforts and Linux will languish.
  538.    
  539.    Perhaps, it would be timely to include the 'Advocacy Mini How-to' by
  540.    Paul L. Rogers in a future edition in an effort help Linux users
  541.    understand that tirades and even snide remarks are counter to their
  542.    goal of promoting Linux and are destructive instead.
  543.    
  544.    Thank you for lending an ear.
  545.    Robert E. Lee
  546.      _________________________________________________________________
  547.    
  548.    Date: Tue, 07 Jul 1998 20:00:20 -0400
  549.    From: "Donald N. McKay", fstop@a-znet.com
  550.    Subject: Promoting Linux
  551.    
  552.    I listened intently to the Internet audio broadcast when Steve Jobs
  553.    supplied the voice over to the great race between a 333 MHz Pentium II
  554.    and Apple's G3. Of course, for those who did listen, we were to learn
  555.    that G3 ate Pentium's lunch when the two processors 'drag raced'
  556.    through a run-time application of Photoshop followed by animation,
  557.    courtesy of Macromedia Director. After listening to the Inter-cast,
  558.    the world suddenly became aware of the power of G3.
  559.    
  560.    So.... Why not host a drag race on the Internet between Win 95, Win NT
  561.    4 and Win 98 and Linux? Hell, throw OS/2 Warp and Novell in there
  562.    also. (of course, using identical computers - processors, networking
  563.    cards, etc.). Ballyhoo the event with home page and search engine
  564.    banner ads (paid for by Red Hat, Caldera, and anyone else who'll make
  565.    a buck out of the event). Invite C|NET, Andover Net and ZDNet to cover
  566.    the event. Run Linux on Apache or however the Linux-meisters see fit,
  567.    but let's see once and for all just what this OS can do not only for
  568.    speed but for reliability. Then, and only then, will people not only
  569.    take notice of the product, but will, in fact, try it (buy it in some
  570.    cases) and use it.
  571.    
  572.    What do you think?
  573.    
  574.    Don McKay
  575.      _________________________________________________________________
  576.    
  577.    Date: Tue, 14 Jul 1998 13:18:39 -0300
  578.    From: Michael Rasmusson, miker@bdamicro.com
  579.    Subject: the cruel reality
  580.    
  581.    Note: This essay assumes that the DoJ (Department of Justice) is
  582.    nonexistent.
  583.    
  584.    While I am a vocal Linux (and Unix) advocate and am deeply alarmed at
  585.    the thought of a Redmond controlled world, once in a while it helps to
  586.    sit down and examine reality.
  587.    
  588.    Linux, at this point in its development, is still too much of a
  589.    learning curve for the majority of PC users. Most of the Linux users I
  590.    know, including myself, are software engineers, systems programmers,
  591.    system administrators, or some other variant of systems professional.
  592.    All but one use a commercial Unix variant at work. Some PC aficionados
  593.    showed genuine interest in my Linux box with its various GUIs during
  594.    its lifetime. The interest seemed to fade when they saw the command
  595.    line tricks still lurking under most of the more interesting things
  596.    you can do with Linux, even if these tricks are eventually launched
  597.    from the window manager. Until the time comes that Linux can be
  598.    installed, configured and maintained from a fright free interface, it
  599.    will stay in the realm of techies.
  600.    
  601.    All is not hopeless though. Looking back 20 years to the beginning of
  602.    personal computing we see that the innovators and early adopters were
  603.    overwhelmingly techies and electronic hobbyists. We also see that
  604.    traditional IT types dismissed the early PC as inappropriate for
  605.    business use. Big Iron would rule the glass tower forever. PC
  606.    advocates retorted that they would eventually take over and the
  607.    centralised systems of MIS would be phased out as dinosaurs. Even
  608.    respectable periodicals like The Economist spouted drivel about PCs
  609.    replacing mainframes. The reality that has developed since the early
  610.    80's has been neither a continuation of Big Iron nor a clean sweep by
  611.    Wintel. Centralised computing in the form of servers, including the
  612.    new generation of mainframe class systems, is doing just fine. Wintel
  613.    PCs have occupied most of the lower niches and are rising into new
  614.    ones, but will this rise continue until Wintel everywhere is a
  615.    reality?
  616.    
  617.    Most of the decision makers in IT right now are either managers who
  618.    were flexible enough to allow PCs into the systems framework back in
  619.    the 80's or they rose through the ranks during the last 15 years of PC
  620.    centric computing. Many of them honestly believe in Wintel's manifest
  621.    destiny. They have either known no other reality except Wintel
  622.    dominance, or if they have, it was one of IBM dominance. In either
  623.    case the mind set is very similar. Just like in the early 80's, a
  624.    closed IS mind set seems dead against branching from the safe and
  625.    tried road and into new and fresh territory. Fortunately, similar to
  626.    what happened in the 80's, a few courageous thinkers can see the
  627.    widening cracks in the Windows.
  628.    
  629.    To these "aware" techies the dream of an inexorable upward rise of the
  630.    Wintel PC into the world of workhorse systems is turning into a
  631.    nightmare. More people are starting to see this. The interest in Java,
  632.    the NC concept, managed PCs, Citrix ICA, all are early signs of a
  633.    growing dissatisfaction with the legacy of DOS. Windows boxes are
  634.    notoriously troublesome, but where are the alternatives? Linux is
  635.    showing itself to be promising, but it is _not_ yet ready to be
  636.    adopted by the herd. PC makers are aware of this and continue to
  637.    bundle MS OSes, you're better off with the devil you know.
  638.    
  639.    The great hope of the Windows world is NT. With Windows98 showing
  640.    itself to be a yet another troublesome incarnation of DOS/Windows, NT
  641.    is the last refuge.
  642.    
  643.    Strangely, instead of making NT the solid crash proof system people
  644.    crave, Redmond hacks and bloats up NT in hopes of getting it into
  645.    higher margin roles that are still too much for it to handle. Redmond
  646.    pushes, and reacts to criticism of its baby with patches, hacks and
  647.    bloat. Redmond keeps pushing, and NT continues to show itself as being
  648.    unready for the big leagues. Redmond say, "Wait! NT version 5.0 will
  649.    have all sorts of new features and capabilities that will make it
  650.    perfect for enterprise computing." More likely is NT 5.0, with it's
  651.    30+ million lines of code, 24+ million of them new and untested, may
  652.    just turn out to be the most bug ridden bloated carcass of ugly hacks
  653.    we've ever seen. Redmond will once again have egg on its face, but
  654.    this time will it be a permanent stain?
  655.    
  656.    If NT 5.0 turns out to be a huge disappointment, then the alternatives
  657.    will have to be ready to entice a growing pool of would-be defectors.
  658.    Linux will have to be more usable and manageable by the WinHerd. It
  659.    will have to be viable enough to convince OEMs that they can afford to
  660.    break their devil's bargains with Microsoft. If Redmond trips and once
  661.    again the lack of viable alternatives allows it to get on its feet and
  662.    continue building its empire, we have only ourselves to blame. We have
  663.    two years, can we do it?
  664.    
  665.    Regards,
  666.    Mike
  667.      _________________________________________________________________
  668.    
  669.    Date: Wed, 22 Jul 1998 10:37:33 -0500
  670.    From: "Pronovici, Kenneth", Kenneth.Pronovici@mchugh.com
  671.    Subject: CHAOS
  672.    
  673.    Please pass on my congratulations on a wonderful article to Alex - his
  674.    CHAOS system apparently caused my coworkers to think of me, and my
  675.    WHOPPeRS (Wacky Hastily Organized Parallel Processesing Research
  676.    Scheme) system, which looks a lot like CHAOS. Only difference is that
  677.    mine is sitting on my bedroom floor... ;-)
  678.    
  679.    Ken Pronovici
  680.      _________________________________________________________________
  681.    
  682.               Published in Linux Gazette Issue 31, August 1998
  683.      _________________________________________________________________
  684.    
  685.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Next 
  686.    
  687.       This page written and maintained by the Editor of Linux Gazette,
  688.       gazette@ssc.com
  689.       Copyright ⌐ 1998 Specialized Systems Consultants, Inc.
  690.       
  691.     "Linux Gazette...making Linux just a little more fun!"
  692.      _________________________________________________________________
  693.    
  694.                                More 2ó Tips!
  695.                                       
  696.                Send Linux Tips and Tricks to gazette@ssc.com 
  697.      _________________________________________________________________
  698.    
  699.   Contents:
  700.   
  701.      * RE: Photogrammetry tools for Linux? in Issue 30
  702.      * Re: Suggestion for Article, simultaneous versions of Kernels
  703.      * Secondary IDE interface CDROM detection/automounting tip
  704.      * Re ext2 partitions
  705.      * pdf resumes: pdflatex
  706.      * Re: CHAOS
  707.      * Re: 3com network cards
  708.      * ext2 Partitions
  709.      * RE: Searching (somewhat in vain) for sources on shell scripting
  710.      * Re: $.02 tips on ext2 Partitions 
  711.      * LG30 ext2 Partition tip
  712.      * Modem Connecting Speed
  713.      * Short Article on upgrading to SMP
  714.      * Cross-platform Text Conversions
  715.      _________________________________________________________________
  716.    
  717.   RE: Photogrammetry tools for Linux? in Issue 30
  718.   
  719.    Date: Wed, 29 Jul 1998 10:01:14 -0500
  720.    From: John Prindle, jprindle@mail.eden.com
  721.    
  722.    In the July 1998 issue of LG, this message was listed in the "Help
  723.    Wanted" section.
  724.    
  725.      From: Maurizio Ferrari, Maurizio.Ferrari@tin.it
  726.      I am looking for a Linux program to do some close-range
  727.      photogrammetry. Close range photogrammetry is a technique that
  728.      enables to reconstruct 3D images from a series of 2D pictures.
  729.      There are a few powerful (and relatively inexpensive) tools for
  730.      Windows but none so far for Linux, that I know of. There was
  731.      something once upon a time called Photo4D. Despite my massive
  732.      Internet search, any occurrence of Photo4D seems to have been wipe
  733.      erased from the face of earth. It is listed in SAL but all the
  734.      links fail. I don't want to resort to buy and use Windows software
  735.      for this. Help, anyone?
  736.      
  737.    I have tried to e-mail the user back at his given address with some
  738.    info found on the company and product, but the address given is not
  739.    valid. So, here it is:
  740.    
  741.    CompInt
  742.    712 Seyton Drive
  743.    Nepean, Ontario K2H 9R9
  744.    Canada
  745.    General e-mail : compint@igs.net
  746.    http:/www.igs.net/~compint/ 
  747.    This page updated 8/15/97 at 5:45:19 AM ET.
  748.    
  749.    I found this article about the product on Computer Graphics World's
  750.    site.
  751.    
  752.    http://www.cgw.com/cgw/Archives/1996/09/09prod1_05.html
  753.    
  754.    Product Spotlight
  755.    New Motion-Capture Tool
  756.    CGW Magazine - September 1996
  757.    
  758.    With CompInt's Photo4D-Pro, animators can now capture 2D and 3D motion
  759.    based on video recordings. The Windows 95/NT-based program, available
  760.    for $490, features auto-detection and auto-marking tools which use
  761.    pattern recognition technology to automatically detect and mark
  762.    similar feature points in images, making it possible to effectively
  763.    digitize a large number of points. The software enables users to
  764.    capture accurate 3D motion from multiple video recordings of a subject
  765.    by tracking the feature points in videos and computing their x, y, and
  766.    z coordinates in each frame. Furthermore, its advanced algorithms can
  767.    synchronize recorded videos to sub-frame accuracy, allowing the use of
  768.    low-cost home video cameras.
  769.    
  770.    Coinciding with this product launch, the company is also releasing
  771.    Photo4D-Lite V2.0, a $99 product designed for users who require only
  772.    3D digitizing and modeling capabilities. Both products will be
  773.    available on Windows 95/NT, SGI, Sun, HP, and Linux platforms.
  774.    (Nepean, Ontario; 613-721-1643)
  775.    
  776.    The web page that is listed is not valid, but hopefully this may help
  777.    people trying to locate this product.
  778.    
  779.    John
  780.      _________________________________________________________________
  781.    
  782.   Re: Suggestion for Article, simultaneous versions of Kernels
  783.   
  784.    Date: Wed, 01 Jul 1998 10:39:21 +0100
  785.    From: Hans-Georg Esser, esser@i2.informatik.rwth-aachen.de
  786.    
  787.      From: Renato Weiner, reweiner@yahoo.com
  788.      Recently I was looking at the Gazette and I think I have a good
  789.      suggestion of an article that will be very useful for the Linux
  790.      community. I have had some technical difficulties of having two
  791.      simultaneous versions of Kernels in my system. I mean a stable one
  792.      and a developing one. I searched the net looking for information of
  793.      how to co-exist both but it's completely fragmented. If somebody
  794.      more experienced could put all this information together, it will
  795.      certainly help a lot of people from kernels developers to
  796.      end-users.
  797.      
  798.    Let me state the following:
  799.    
  800.    HOW TO HAVE COEXISTING KERNELS
  801.    
  802.    First let me assume that, with "coexisting kernels", you meant to have
  803.    several different kernels (with different kernel numbers such as
  804.    2.0.34 and 2.1.101) each of which can be chosen at boot time to be
  805.    started. (The point is: I suppose, you don't want to simultaneously
  806.    __run__ different kernels, which of course is impossible.)
  807.    
  808.    So, all you have to do is this:
  809.    
  810.    For each kernel you want to use, get the kernel sources, e.g. as .tgz
  811.    file, cd to /usr/src, do a
  812.  
  813.   tar xzf ../where/ever/it/is/package.tgz
  814.  
  815.    then cd to /usr/src/linux-2.0.34 (e.g.) and do the ordinary kernel
  816.    configuration / compilation, i.e.
  817.  
  818.   make config  (or menuconfig or xconfig, whatever you like)
  819.   make zImage modules modules_install
  820.   cp arch/i386/boot/zImage /linux-2.0.34  (e.g.)
  821.  
  822.    The last bit of the make will generate a directory /lib/modules/2.0.34
  823.    (e.g.) where the modules are put.
  824.    
  825.    Then edit the /etc/lilo.conf. Copy the parts that configure your
  826.    "normal" system start and change the name of the configuration. Also
  827.    change the name of the kernel binary to /linux-2.0.34 (e.g.).
  828.    
  829.    Then proceed with the next kernel in identic behaviour. Nothing can be
  830.    overwritten during this process, because all of the kernel compilation
  831.    is done in its separate directory /usr/src/linux-2.x.y, and all the
  832.    generated modules will be put in a separate directory
  833.    /lib/modules/2.x.y, and your zImage copy (residing in /) will have a
  834.    new name, as you have used an other kernel version.
  835.    
  836.    When you're through with all your kernel versions and have added the
  837.    last portion to the /etc/lilo.conf file do a
  838.  
  839.   lilo
  840.  
  841.    at the prompt which will make lilo reinstall the boot manager with the
  842.    changed values. Now reboot, press [TAB] at the LiLo prompt and choose
  843.    a kernel to use. If you followed these steps, you will not have
  844.    deleted your original entry in /etc/lilo.conf, so if none of your
  845.    newly compiled kernels can boot properly, you can still boot the old
  846.    kernel.
  847.    
  848.    Hope it helps,
  849.    
  850.    H.-G. Esser
  851.      _________________________________________________________________
  852.    
  853.   Secondary IDE interface CDROM detection/automounting tip
  854.   
  855.    Date: Wed, 1 Jul 1998 14:09:24 -0400
  856.    From: Jim Reith, reith@racores.com
  857.    
  858.      In the Linux Gazette #28 the question was asked:
  859.      Hello.I have the Linux Slackware 2.0.30 Walnut Creek.I installed it
  860.      on a Pentium 200 MMX with a 24x CD-ROM. During the installation I
  861.      had to write "ramdisk hdd=cdrom" for reading the CD-ROM, but after
  862.      the installation Linux doesn't see the CD-ROM. I have an atapi
  863.      CD-ROM, and when I tried to compile my kernel another time, I saw
  864.      that atapi is the default !!! So I don't understand where is the
  865.      problem . What can I do?
  866.      
  867.    I ran into this same problem on my home machine. I found that the
  868.    rc.cdrom script wasn't checking for my drive properly. It couldn't
  869.    find /dev/hdc and I had to change/add in /dev/hd1a in order to get the
  870.    master on the secondary IDE interface. Once I put that in the list it
  871.    worked fine. I would suspect you should use /dev/hd1b for the slave?
  872.    
  873.    Jim Reith reith@racores.com
  874.      _________________________________________________________________
  875.    
  876.   Re ext2 partitions
  877.   
  878.    Date: Thu, 2 Jul 1998 21:25:27 +0100
  879.    From: Alex Hornby, ahornby@plasma.ddns.org
  880.    
  881.    A much simpler solution to Albert T. Croft's file finding troubles of
  882.    only wanting to look at ext2 drives so as to exclude the vfat
  883.    partitions is:
  884.  
  885. find . -fstype ext2 -name foo
  886.  
  887.    Replacing foo with whatever you are looking for.
  888.    
  889.    Cheers, Alex.
  890.      _________________________________________________________________
  891.    
  892.   pdf resumes: pdflatex
  893.   
  894.    Date: 04 Jul 1998 11:42:17 -0700
  895.    From: Karl M. Hegbloom, karlheg@inetarena.com
  896.    
  897.    Dave Cook, the man who wrote the 2cent tip about createing a .pdf file
  898.    of a resume, must not have the latest TeTeX installed. Either that, or
  899.    he's not explored it much. ;-)
  900.    
  901.    There is a `pdflatex' now, that creates .pdf files directly. It works
  902.    really well. There is also `pdftex', and `pdftexinfo'. You can typeset
  903.    texinfo documents with `info2pdf' now.
  904.    
  905.    Last time I tried it, there was an off by one bug, apparently... When
  906.    you click a section heading in the table of contents panel, it would
  907.    jump to one section lower than the one you click. The bug has been
  908.    reported to the Debian bug tracking system.
  909.    
  910.    Karl
  911.      _________________________________________________________________
  912.    
  913.   Re: CHAOS
  914.   
  915.    Date: Fri, 03 Jul 1998 16:07:14 +0100
  916.    From: Dom Mitchell, dom@phmit.demon.co.uk
  917.    
  918.    A point to note: the IP addresses used for the network should probably
  919.    be modified to be in one of the ranges set aside in RFC 1918. In
  920.    summary, they are:
  921.  
  922.      10.0.0.0        -   10.255.255.255  (10/8 prefix)
  923.      172.16.0.0      -   172.31.255.255  (172.16/12 prefix)
  924.      192.168.0.0     -   192.168.255.255 (192.168/16 prefix)
  925.  
  926.    These addresses are guaranteed to not be in use on the Internet,
  927.    should you get connected later. See the RFC for the full rational.
  928.    
  929.    Dom Mitchell
  930.      _________________________________________________________________
  931.    
  932.   Re: 3com network cards
  933.   
  934.    Date: Fri, 03 Jul 1998 20:33:13 +1000
  935.    From: leon, leon@desiin.com
  936.    
  937.    Re: complaint about 3com network card being slow in 2c tips.
  938.    
  939.    3com 3c590 3c900 and 3c905 cards have a setting stored into them.
  940.    Unlike traditional settings like IO port , Interrupt, or media type,
  941.    these cards just take one setting ...
  942.    
  943.    They actually have a setting that slows down the card so that the CPU
  944.    time isnt chewed up with a flood of network traffic.
  945.    
  946.    There is also a maximum throughput setting and a medium setting.
  947.    
  948.    leon
  949.      _________________________________________________________________
  950.    
  951.   ext2 Partitions
  952.   
  953.    Date: Thu, 2 Jul 1998 17:58:32 -0700 (PDT)
  954.    From: David Rudder, drig@noses.org
  955.    
  956.    In your 30th issue, Albert Croft wrote in with a script to search only
  957.    ext2 partitions. I believe you can do the same thing by using
  958.  
  959. find / -fstype ext2
  960.  
  961.    David Rudder
  962.      _________________________________________________________________
  963.    
  964.   RE: Searching (somewhat in vain) for sources on shell scripting
  965.   
  966.    Date: Mon, 06 Jul 1998 12:37:05 -0400
  967.    From: "Paul L. Lussier", plussier@BayNetworks.COM
  968.    
  969.    Well, my 2 sec search turned this up. In addition, www.oreilly.com is
  970.    the only site you need for the definitive source on anything related
  971.    to Unix.
  972.    
  973.    Unix Shell Programming Revised Ed.
  974.    Kochan, Stephen G.; Wood, Patrick H.
  975.    0-672-48448-X
  976.    Hayden Books
  977.    
  978.    Korn Shell Programming Tutorial
  979.    Rosenberg, Barry
  980.    0-201-56324-X
  981.    Addison Wesley
  982.    
  983.    AWK Language Programming; A User's Guide for GNU AWK
  984.    Robbins, Arnold D.
  985.    1-882114-26-4
  986.    Free Software Foundation
  987.    
  988.    Learning Perl, 2nd Edition
  989.    2nd Edition July 1997
  990.    Randal L. Schwartz & Tom Christiansen Foreword by Larry Wall
  991.    1-56592-284-0
  992.    302 pages, $29.95
  993.    
  994.    Programming Perl, 2nd Edition
  995.    Larry Wall, Tom Christiansen & Randal L. Schwartz
  996.    2nd Edition September 1996
  997.    1-56592-149-6
  998.    670 pages, $39.95
  999.    
  1000.    Advanced Perl Programming
  1001.    By Sriram Srinivasan
  1002.    1st Edition August 1997
  1003.    1-56592-220-4
  1004.    434 pages, $34.95
  1005.    
  1006.    Paul
  1007.      _________________________________________________________________
  1008.    
  1009.   Re: $.02 tips on ext2 Partitions
  1010.   
  1011.    Date: Mon, 06 Jul 1998 13:23:42 -0400
  1012.    From: "Paul L. Lussier", plussier@BayNetworks.COM
  1013.    
  1014.      In the July 1998 issue of Linux Gazette, Albert T. Croft said:
  1015.      We knew the files we were looking for would only be on the ext2
  1016.      partitions. We tried writing a batch file, using grep and gawk to
  1017.      get the mount points for the ext2 partitions and handing them to
  1018.      find. This proved unworkable if we were looking for patterns, such
  1019.      as h2*. We then tried to write just a find command, using gawk and
  1020.      grep to get the mount points. This was somewhat better, but using a
  1021.      print statement in gawk to get the names of the mount points
  1022.      wouldn't work. Some help came with remembering that gawk has a
  1023.      printf statement,allow. Our final product, which we found quite
  1024.      useful and now have in our .bashrc > files as linuxfind, is the
  1025.      following:
  1026.      find `mount|grep ext2|gawk '{printf "%s ", $3}'` -name
  1027.      
  1028.    A quick perusal of the mount man page would have revealed the -t flag
  1029.    obviating the necessity of the grep and gawk in the above command.
  1030.    Therefore the command could have been shortened to:
  1031.  
  1032.         find `mount -t ext2` -name
  1033.  
  1034.    Also, the "locate" command is also available on linux (and has been
  1035.    documented within the pages of LG and LJ a number of times). From the
  1036.    man page:
  1037.    
  1038.      locate searches one or more databases of file names and displays
  1039.      the file names that contain the pattern.
  1040.      
  1041.    In addition, one could use 'which', 'whence' and 'whereis' to assist
  1042.    in the location of files.
  1043.    
  1044.    Paul
  1045.      _________________________________________________________________
  1046.    
  1047.   LG30 ext2 Partition tip
  1048.   
  1049.    Date: Fri, 10 Jul 1998 21:31:03 +0100 (BST)
  1050.    From: Simon Huggins, huggie@dial.pipex.com
  1051.    
  1052.    Thanks for your tip which I saw in the Linux Gazette.
  1053.    
  1054.    I think you may want to add the -mount switch to your command line
  1055.    though.
  1056.    
  1057.    That way find won't go onto other filesystems except those listed.
  1058.    
  1059.    Since on my system, / is ext2 and /hdd/c is vfat, without the mount
  1060.    switch, find *WOULD* search the vfat partitions too. The mount switch
  1061.    limits it to those partitions which you list with your grep/gawk
  1062.    combination
  1063.    
  1064.    Hope that helps.
  1065.      _________________________________________________________________
  1066.    
  1067.   Modem Connecting Speed
  1068.   
  1069.    Date: Wed, 22 Jul 1998 23:06:27 +0000
  1070.    From: NP, np@cableinet.co.uk
  1071.    
  1072.    What speed is my modem connecting at ?
  1073.    
  1074.    Got a new 56K modem and wondering how it's doing ? Fed up with seeing
  1075.    "115200" ?
  1076.    
  1077.    (This assumes Red Hat 5.0)...
  1078.    
  1079.    Edit /etc/sysconfig/network-scripts/chat-ppp1 (or whatever chat file
  1080.    you use) Insert a line:
  1081.  
  1082. 'REPORT' 'CONNECT'
  1083.  
  1084.    Edit /etc/sysconfig/network-scripts/ifup-ppp
  1085.    
  1086.    Change this line:
  1087.  
  1088. connect "/usr/sbin/chat $chatdbg -f $CHATSCRIPT"
  1089.  
  1090.    to:
  1091.  
  1092. connect "/usr/sbin/chat $chatdbg -f $CHATSCRIPT" 2>/dev/console
  1093.  
  1094.    - to log to the console, or:
  1095.  
  1096. connect "/usr/sbin/chat $chatdbg -r /var/log/modem-speed -f $CHATSCRIPT"
  1097.  
  1098.    - to log to a file /var/log/modem-speed
  1099.    
  1100.    You'll see entries like:
  1101.  
  1102. chat:  Jul 22 22:31:06 CONNECT 52000/ARQ/V90/LAPM/V42BIS
  1103.  
  1104.    (If you're lucky!)
  1105.    
  1106.    NP
  1107.      _________________________________________________________________
  1108.    
  1109.   Short Article on upgrading to SMP
  1110.   
  1111.    Date: Mon, 27 Jul 1998 16:06:08 -0500 (CDT)
  1112.    From: Andy Carlson, andyc@andyc.carenet.org
  1113.    
  1114.    My son and I upgraded to an SMP machine this last weekend. We
  1115.    encountered some problems, and thought it might make an interesting
  1116.    short article. Use it if you can :).
  1117.    
  1118.    About a month ago, I acquired two 4.3GB UW SCSI drives from IBM. At
  1119.    the time, I was running an old Adaptec 1542 SCSI card (with no
  1120.    problems I might add), but it does not support Ultra Wide, and it was
  1121.    an ISA card. In the process of looking at PCI Ultra Wide SCSI Cards (I
  1122.    was going to purchase an Adaptec 2940UW since I had some experience
  1123.    with them), I came across a Micronics W6-LI motherboard, dual Pentium
  1124.    Pro, with builtin Adaptec AIC7880 SCSI UW chip. This is the story of
  1125.    that project.
  1126.    
  1127.    My son and I started at 8:00 Saturday morning. We took my existing ATX
  1128.    machine, which housed an Intel VS440 motherboard, 2GB IDE drive, 2GB
  1129.    SCSI drive, and SCSI cdrom apart. We removed everything - Motherboard,
  1130.    Drives, Powersupply, etc. This is because the Micronics board is big,
  1131.    and we wanted as few obstructions as possible while we put the
  1132.    motherboard in. We put the motherboard, two 4.3GB UW drives, CDROM,
  1133.    and powersupply back in. I only needed the data from the IDE drive, so
  1134.    we hooked that up also, but did not install it in the case. We booted
  1135.    into the bios, and set a few things, including setting it to use the
  1136.    MP1.4 spec. We inserted the Slackware 3.4 boot and root disks, and it
  1137.    booted just fine. The hardware portion was a snap.
  1138.    
  1139.    We set up the partitions on the two UW drives, and copied the data
  1140.    from the IDE drive to a partition on the frist UW drive. We then
  1141.    started the installation of Linux. We installed the Slackware 3.4,
  1142.    with kernel 2.0.30. This went well. We booted, and this came up. We
  1143.    were anxious to try SMP, so we compiled a kernel with SMP, and this
  1144.    was where the problems started. The machine would hang after running
  1145.    about a minute in SMP mode. We decided to download a newer kernel, so
  1146.    we tried 2.0.34. There is apparently a nasty bug in 2.0.34 on SMP
  1147.    machines. The SCSI chip could not be reset, and was looping trying to
  1148.    do this. We also tried 2.0.35, with no luck. This behaviour happened
  1149.    whether we compiled for single or multiple processor. The next step
  1150.    was to try a development kernel (this was the first time for me). We
  1151.    downloaded 2.1.107, and installed it. We also found that to use this
  1152.    kernel, we need updated binutils, modutils, libc, ld.so, procps,
  1153.    procinfo, and mount. The upshot of this was, that 17 hours after we
  1154.    started, we had a running multiprocessor machine.
  1155.    
  1156.    Some things to keep in mind:
  1157.      * SMP is turned on by uncommenting the SMP=1 line in the kernel
  1158.        Makefile (this was unnecessary in the developement kernel - it was
  1159.        on by default)
  1160.      * Have as many things downloaded as you can think of. It never
  1161.        occurred to me that it would be handy to have some newer kernels
  1162.        already on the hard drive.
  1163.      * Read the doc for the development kernels carefully - we missed
  1164.        some of the software that needed to be upgraded.
  1165.      * Starting with 2.1.102 development kernel, IP Masquerading was
  1166.        changed. The doc for the new IPCHAINS program is at
  1167.        http://www.adelaide.net.au/~rustcorp/ipfwchains
  1168.      _________________________________________________________________
  1169.    
  1170.   Cross-platform Text Conversions
  1171.   
  1172.    Date: Thu, 30 Jul 1998 14:28:37 +0900
  1173.    From: Matt Gushee, matt@it.osha.sut.ac.jp
  1174.    
  1175.    Well, I had some text files that I needed to convert from UNIX to DOS
  1176.    format. Downloaded the 'unix2dos' program ... and discovered to my
  1177.    horror that it was an A.OUT BINARY! Thought they'd purged all of those
  1178.    from the archives ;-) But seriously, I couldn't run the program, so I
  1179.    came up with a Tcl script to do the job. It can convert text files in
  1180.    any direction between UNIX, DOS and Mac formats. It has only been
  1181.    tested w/ Tcl 8.0, but since it's very simple, I imagine it'll work
  1182.    with earlier versions too. It has a small bug: when converting from
  1183.    DOS format, it adds one extra newline at the end of the file.
  1184.    
  1185.    Why Tcl? Well ...
  1186.      * I'm sure it's possible to do these conversions with sed or even
  1187.        bash; it might even be simple once you know the trick. But after
  1188.        several hours of reading man pages and experimenting, I couldn't
  1189.        figure out how.
  1190.      * Didn't feel like dusting off my old Perl book.
  1191.      * Tcl is cool.
  1192.      * It turned out to be really easy to do this in Tcl.
  1193.        
  1194.    To use the script, you should:
  1195.     1. If necessary, edit the pathname for tclsh.
  1196.     2. Save it wherever you want to, with any name (I call it
  1197.        textconv.tcl), and make it executable.
  1198.     3. symlink it to any or all of the following names, depending on
  1199.        which conversions you want to do, in a directory in $PATH:
  1200.  
  1201. d2m     d2u     m2d     m2u     u2d     u2m
  1202.    These names must be exactly as shown in order for the script to work.
  1203.     4. To use, type the appropriate command with a source file and
  1204.        destination file as arguments. For example, to convert a Mac text
  1205.        file to UNIX format:
  1206.  
  1207. $ m2u macintosh.txt unix.txt
  1208.  
  1209.    That's it! Hope you find it useful.
  1210. ------ cut below this line ------------------------------
  1211. #!/usr/bin/tclsh
  1212.  
  1213. # capture the command name that invoked us and the
  1214. # source and destination filenames
  1215. set convtype $argv0
  1216. set infile [lindex $argv 0]
  1217. set outfile [lindex $argv 1]
  1218.  
  1219. set inchannel [open $infile "r"]
  1220. set outchannel [open $outfile "w"]
  1221.  
  1222. # according to the command name, set the end-of-line
  1223. # and end-of-file characters to the appropriate values
  1224. switch -glob -- $convtype {
  1225.  
  1226.     *2d {
  1227.         fconfigure $outchannel -translation "crlf" -eofchar "\x1a"
  1228.     }
  1229.  
  1230.     *2m {
  1231.         fconfigure $outchannel -translation cr
  1232.     }
  1233.  
  1234.     *2u {
  1235.         fconfigure $outchannel -translation lf -eofchar ""
  1236.     }
  1237.  
  1238.     default {
  1239.         error "Invalid command name. This script must be \n\
  1240. invoked through a symbolic link with\n one of the following \
  1241. names:\n d2m, d2u, m2d, m2u, u2d, or u2m."
  1242.     }
  1243.  
  1244. }
  1245.  
  1246. while {[gets $inchannel line] >= 0} {
  1247.  
  1248.     # if converting from DOS, lose the end-of-file character
  1249.     if {[string match "*d2*" $convtype]} {
  1250.         set line [string trimright $line "\x1a"]
  1251.     }
  1252.  
  1253.     puts $outchannel $line
  1254.  
  1255. }
  1256.  
  1257. close $inchannel
  1258. close $outchannel
  1259. #------------ end Tcl script--------------------------------
  1260.  
  1261.    Matt Gushee Oshamanbe, Hokkaido, Japan
  1262.      _________________________________________________________________
  1263.    
  1264.               Published in Linux Gazette Issue 31, August 1998
  1265.      _________________________________________________________________
  1266.    
  1267.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  1268.      _________________________________________________________________
  1269.    
  1270.       This page maintained by the Editor of Linux Gazette, gazette@ssc.com
  1271.       Copyright ⌐ 1998 Specialized Systems Consultants, Inc.
  1272.       
  1273.     "Linux Gazette...making Linux just a little more fun!"
  1274.      _________________________________________________________________
  1275.    
  1276.                                  News Bytes
  1277.                                       
  1278.                                  Contents:
  1279.                                       
  1280.      * News in General
  1281.      * Software Announcements
  1282.      _________________________________________________________________
  1283.    
  1284.                               News in General
  1285.      _________________________________________________________________
  1286.    
  1287.   September Linux Journal
  1288.   
  1289.    The September issue of Linux Journal will be hitting the newsstands
  1290.    August 7. The focus of this issue is Graphics and Multimedia and we
  1291.    have feature articles on LibGGI, Open Inventor, XIE, VTK, SGI audio
  1292.    applications and more. Check out the Table of Contents at
  1293.    http://www.linuxjournal.com/issue53/index.html. To subscribe to Linux
  1294.    Journal, go to http://www.linuxjournal.com/ljsuborder.html.
  1295.      _________________________________________________________________
  1296.    
  1297.   StarOffice Promotional Price
  1298.   
  1299.    Date: Fri, 17 Jul 1998 09:49:44 GMT
  1300.    Caldera is pleased to announce that for a limited time, the Office
  1301.    Suite StarOffice 4.0 for Linux is on sale for $49 (regularly $99).
  1302.    
  1303.    This price is for a commercial license to the most popular and full-
  1304.    featured application suite on Linux. StarOffice 4.0 includes:
  1305.      * Word processor
  1306.      * Spreadsheet
  1307.      * Graphic and presentation package
  1308.      * Web browser with HTML editor
  1309.      * Graphical desktop interface
  1310.        
  1311.    In a recent product review, SCO World declared StarOffice "better than
  1312.    MS Office", and with "No crashing and no waiting, the only reason
  1313.    people are still using other office packages is they haven't tried
  1314.    StarOffice yet!" (June/July 1998, page 34)
  1315.    
  1316.    For more information: http://www.caldera.com/
  1317.    Bryan Standley, bryanst@caldera.com
  1318.      _________________________________________________________________
  1319.    
  1320.   Atlanta Linux Showcase Registration is Open
  1321.   
  1322.    Date: Fri, 17 Jul 1998 10:30:48 GMT
  1323.    Online registration for the 2nd Annual Atlanta Linux Showcase is now
  1324.    open!
  1325.    
  1326.    The registration process has been automated this year, and
  1327.    pre-registration for the conference sessions will require payment with
  1328.    a credit-card from our secure web server. Prices for the showcase are
  1329.    as follows:
  1330.    
  1331.    Exhibition Hall Admission: FREE! (A registration is required)
  1332.    Conference pre-registration: $60/day ($35/day for students/seniors)
  1333.    Conference after October 1: $75/day ($50/day for students/seniors)
  1334.    
  1335.    The 2nd Annual Atlanta Linux Showcase will be held October 23rd and
  1336.    24th at the Atlanta Apparel Mart and is presented by the Atlanta Linux
  1337.    Enthusiasts and Linux International. The showcase will feature an
  1338.    exhibition hall for vendors of Linux related hardware, software, and
  1339.    services, live demonstrations of Linux related products, and
  1340.    conference sessions featuring some of the most respected members of
  1341.    the Linux community.
  1342.    
  1343.    For more information:
  1344.    http://www.ale.org/showcase/
  1345.    registration@ale.org
  1346.      _________________________________________________________________
  1347.    
  1348.   The Antarctic Project - OpenSource WWW/FTP/mailing list hosting
  1349.   
  1350.    Date: Mon, 20 Jul 1998 10:40:15 GMT
  1351.    Have a killer OpenSource application, but no where to host the web
  1352.    pages? Want to let the world read your Perl tutorial? Need a home for
  1353.    your Linux Users Group?
  1354.    
  1355.    Penguin Computing is proud to announce the Antarctic Project, an
  1356.    internet server specifically for OpenSource/Linux web pages, mailing
  1357.    lists and ftp sites. If you have a site that needs a home, we may be
  1358.    able to host it on the Antarctic Server. This service is completely
  1359.    free.
  1360.    
  1361.    The Antarctic Project is limited to sites having to do with Linux or
  1362.    other OpenSource projects. All sites must be non-commercial. Internet
  1363.    connectivity is provided by Penguin Computing ISP services. The
  1364.    Antarctica Server is located in Silicon Valley, and has a 100 Megabit
  1365.    connection to Mae-West and CIX-PAIX.
  1366.    
  1367.    For more information: isp@penguincomputing.com
  1368.    http://www.penguincomputing.com/antarctic.html
  1369.      _________________________________________________________________
  1370.    
  1371.   Microsoft ordered to show Windows95 source with Caldera (fwd)
  1372.   
  1373.    Date: Wed, 29 Jul 1998 10:42:11 -0700 (PDT)
  1374.    
  1375.    http://www.sltrib.com/07291998/utah/45304.htm
  1376.    
  1377.    "Microsoft Corp. must hand over the computer source code for Windows
  1378.    95 to Caldera Inc., a small Orem software company suing it for alleged
  1379.    antitrust violations, a Utah federal judge ruled Tuesday. "
  1380.    
  1381.    [...]
  1382.    
  1383.    "The judge did agree to warn the Caldera experts and lawyers the code
  1384.    cannot be used for any purpose other than the litigation. Jardine said
  1385.    Microsoft will provide the code within five days. "
  1386.    
  1387.    Three Point's Linux News --- http://www.threepoint.com/
  1388.      _________________________________________________________________
  1389.    
  1390.   Linux Links
  1391.   
  1392.    "Choice is Not a Four Letter Word" by Joshua Galun,
  1393.    http://www.shawmag.com/archive/0105/01.html
  1394.    
  1395.    Oracle and inofrmix now on Linux:
  1396.    http://www.infoworld.com/cgi-bin/displayStory.pl?980717.whorlinux.htm
  1397.    
  1398.    "Engineers and Linux": matsumoto.txt
  1399.    
  1400.    Linux in the Enterprise? (Wired News Daily):
  1401.    http://www.wired.com/news/news/email/explode-infobeat/technology/story
  1402.    /13621.html
  1403.    
  1404.    Pre-installation checklistnini-HOWTO:
  1405.    http://members.tripod.com/~algolog/lnxchk.htm
  1406.    
  1407.    SmallEiffel is a GPL implementation of Eiffel, a simple yet
  1408.    full-featured object-oriented programming language:
  1409.    http://sunsite.unc.edu/pub/Linux/devel/lang/eiffel/
  1410.    http://www.loria.fr/SmallEiffel 
  1411.    
  1412.    Linux questionnaire: http://aachen.heimat.de/alug/fragebogen/
  1413.    
  1414.    Beowulf questionnaire: http://aachen.heimat.de/alug/beowulf/
  1415.      _________________________________________________________________
  1416.    
  1417.   Digital Library Project
  1418.   
  1419.    Date: Fri, 17 Jul 1998 10:30:19 GMT
  1420.    Announcing a new Linux project: The Digital Image Library Project
  1421.    (DILP). DLIP is an online image database that would be used to archive
  1422.    images for searching and viewing. Currently slide libraries used by
  1423.    art historians consist of tens of thousands of individual 35 mm
  1424.    slides. These slides are organized, and sometimes there information is
  1425.    index in a computer. But never all of images and there information.
  1426.    The goal of this project is to create a database with a web interface
  1427.    that can be used from multiple locations to allow researchers access a
  1428.    digital index.
  1429.    
  1430.    For more information:
  1431.    http://www.hp.uab.edu/digital-library
  1432.    Ed Kujawski, kujawski@cter.eng.uab.edu
  1433.      _________________________________________________________________
  1434.    
  1435.   Subject: Linux Hardware Certification Laboratory Announced
  1436.   
  1437.    July 1, 1998, Dallas, Texas
  1438.    
  1439.    Aegis Data Systems and Best4u Internet Services today announced a
  1440.    joint collaboration to establish a testing center for Linux hardware
  1441.    compatibility. The focal point of the center will be a web site at
  1442.    http://Linux.Best4u.com/, which will be online by August 1, 1998. The
  1443.    web site will be used to publish results of tests and provide a
  1444.    central registration for hardware manufacturers and Linux device
  1445.    driver programmers.
  1446.    
  1447.    For more information:
  1448.    Mark Stingley, sarge@AegisData.com
  1449.      _________________________________________________________________
  1450.    
  1451.                            Software Announcements
  1452.      _________________________________________________________________
  1453.    
  1454.   Informix SE on Linux
  1455.   
  1456.    Informix Corporation has announced the release of Informix SE on
  1457.    Linux. Informix SE is a SQL-based database engine for small to
  1458.    medium-range applications. It is a solution for businesses that want
  1459.    the power of SQL without the complex database administration
  1460.    requirements. Linux application developers are now able to download a
  1461.    free developers kit that includes Informix SE, ESQL/C for Linux,
  1462.    Informixs SQL toolkit, I-Connect (the runtime version of ESQL/C).
  1463.    Informix SE and ESQL/C in Linux is available from Caldera and S.u.S.E
  1464.    on the Intel platform.
  1465.    
  1466.    For more information:
  1467.    Informix Software, Inc., http://www.informix.com/
  1468.      _________________________________________________________________
  1469.    
  1470.   CALDERA ANNOUNCES SUPPORT OF KDE TECHNOLOGY
  1471.   
  1472.    OREM, UT July 16, 1998 Caldera, Inc. today announced the adoption and
  1473.    support of KDE technology. Caldera will include the K Desktop
  1474.    Environment in the OpenLinux 1.2.2 maintenance release due out the end
  1475.    of September. KDE will be the default desktop in the Caldera OpenLinux
  1476.    2.0 product, scheduled for release the fourth quarter of this year.
  1477.    
  1478.    Caldera is supporting KDE technology by hosting the official KDE U.S.
  1479.    FTP site at ftp.us.kde.org. Provided by Caldera, KDE 1.0 binary and
  1480.    source rpms for OpenLinux 1.2 are available for download from the
  1481.    site.
  1482.    
  1483.    The K Desktop Environment is an international Internet based volunteer
  1484.    project which develops the freely available graphical desktop
  1485.    environment for the UNIX platform.
  1486.    
  1487.    For more information:
  1488.    Caldera, Inc., http://www.caldera.com/
  1489.    KDE, http://www.kde.org
  1490.      _________________________________________________________________
  1491.    
  1492.   Ingres port to Linux
  1493.   
  1494.    Date: Thu, 9 Jul 1998 12:32:13 -0700
  1495.    The NAIUA (North American Ingres Users Association) would like to
  1496.    announce that Computer Associates has committed to porting the Ingres
  1497.    II RDBMS to Linux by the end of Q3 1998. It will be included on the
  1498.    UNIX Software Development Kit which will be available for free on the
  1499.    CA Web site at http://www.cai.com/. (Note: the SDK currently available
  1500.    on CA's web site is for Windows NT only and does not yet include
  1501.    Ingres for Linux)
  1502.    
  1503.    Ingres II for Linux was demoed with Red Hat at CA-World 98 and will be
  1504.    available for Linux platforms running Red Hat 2.0 pl27 as well as
  1505.    other compatible versions. It will be free with the Ingres II SDK for
  1506.    UNIX. Support structures have not been determined by CA at this time.
  1507.    
  1508.    For more information: Bob Griffith, tech_tools@naiua.org
  1509.      _________________________________________________________________
  1510.    
  1511.   Java Released Under Open Source
  1512.   
  1513.    Date: Tue, 14 Jul 1998 14:34:03 -0700
  1514.    Berkeley, CA - Transvirtual Technologies, Inc. announces the release
  1515.    of Kaffe OpenVM(TM), the first complete independent implementation of
  1516.    Java(TM) available under the ``Open Source'' initiative. Unlike other
  1517.    third-party VMs, Kaffe comes with a "just-in-time" compiler and a
  1518.    complete set of class libraries, including Beans and AWT.
  1519.    
  1520.    Kaffe was designed from day one to be highly portable and to provide a
  1521.    complete Java environment in the smallest possible memory footprint.
  1522.    It has already been ported to a number of processors, including the
  1523.    x86, StrongARM, MIPs, 68K and Alpha, and can provide a full graphical
  1524.    environment in as little as 500K (including VM and class libraries).
  1525.    
  1526.    For more information:
  1527.    http://www.transvirtual.com/
  1528.    Tim Wilkinson, tim@transvirtual.com
  1529.      _________________________________________________________________
  1530.    
  1531.   Game Textures CD1
  1532.   
  1533.    Date: Tue, 21 Jul 1998 19:52:04 -0500
  1534.    AUSTIN, TX- Crack dot Com, developer of the cult-hit Abuse and the
  1535.    anticipated 3D real-time strategy title Golgotha, has made available a
  1536.    CD specifically tailored for game artists titled "Game Textures CD1".
  1537.    
  1538.    Crack dot Com released "Game Textures CD1" today for sale. CD1 is a
  1539.    compilation of textures gathered from outdoor environments, buidling
  1540.    faces, and military and civilian vehicles. These high-resolution
  1541.    textures were specifically designed by Crack artist Kevin Tyler for
  1542.    use by game artists who demand high-detail tileable textures for use
  1543.    in 3D games, and many of the textures appear in Crack's upcoming title
  1544.    Golgotha.
  1545.    
  1546.    CD1 is currently available only directly through Crack dot Com. An
  1547.    order form and index of the textures is available at
  1548.    http://crack.com/.
  1549.    
  1550.    For more information:
  1551.    textures@crack.com
  1552.    Dave Taylor, ddt@crack.crack.com
  1553.      _________________________________________________________________
  1554.    
  1555.   JPython-1.0 Provides a Powerful Companion to Java
  1556.   
  1557.    Date: Thu, 23 Jul 1998 08:59:43 -0700 (PDT)
  1558.    Reston, VA -- The Corporation for National Research Initiatives has
  1559.    announced the release of JPython-1.0. JPython is a freely available
  1560.    implementation of the high-level, dynamic, object-oriented language
  1561.    Python -- integrated seamlessly with the Java(TM) platform and
  1562.    certified as 100% Pure Java(TM).
  1563.    
  1564.    JPython's integration with Java draws on the strengths of the Java
  1565.    platform. JPython code can easily access any existing Java libraries
  1566.    and JavaBeans. The Java virtual machine allows JPython to statically
  1567.    compile Python source code to Java bytecodes that will run anywhere
  1568.    that Java does. Through Java's support for dynamic class loading,
  1569.    JPython can dynamically compile Python code to allow interactive use
  1570.    while still achieving the performance of a true compiler.
  1571.    
  1572.    Guido van Rossum created the Python language in the early 1990s, and
  1573.    it has been used successfully in many interesting software projects
  1574.    since then.
  1575.    
  1576.    JPython completely implements the Python language in 100% Pure Java,
  1577.    and is freely available in both source and binary form. In order to
  1578.    implement Python's Perl5-compatible regular expressions, JPython
  1579.    includes the outstanding OROMatcher(TM) regular expression engine
  1580.    developed by Original Reusable Objects(TM) at http://www.oroinc.com/
  1581.    By agreement, this regular expression engine is only distributed in
  1582.    binary form. JPython can be found at http://www.python.org/jpython/.
  1583.    
  1584.    For more information:
  1585.    Jim Hugunin, hugunin@python.org
  1586.      _________________________________________________________________
  1587.    
  1588.   NetStreamer 0.16 available: Streame audio over 28k8, ISDN or LAN
  1589.   
  1590.    Date: Thu, 9 Jul 1998 10:48:02 GMT
  1591.    NetStreamer offers the possibility to stream audio over your 28k8
  1592.    modem or ISDN at a sample rate of 8 or 16 kHz. It offers a fancy
  1593.    radio-alike frontend that allows you to tune in on "radio-programs"
  1594.    that are offered by the NetStreamer Server, which is a kind of
  1595.    reflector that passes on audio that may be offered by several
  1596.    transmitters.
  1597.    
  1598.    Currently NetStreamer-0.16 is available. You can download the
  1599.    NetStreamer software (The Server, Receiver and Transmitter) from:
  1600.    
  1601.    http://flits102-126.flits.rug.nl/~rolf/NetStreamer.html
  1602.    
  1603.    The software is distributed in source and binary form under GPL.
  1604.    
  1605.    For more information:
  1606.    Rolf Fokkens, rolf@flits102-126.flits.rug.nl
  1607.      _________________________________________________________________
  1608.    
  1609.   CurVeS 0.8.3 -- console UI for CVS
  1610.   
  1611.    Date: Thu, 9 Jul 1998 10:41:51 GMT
  1612.    CurVeS performs two functions. It provides a menu and command
  1613.    completion interface to CVS so that inexperienced users can learn the
  1614.    features of CVS without documentation. This also involves adding some
  1615.    meta-features that are built from CVS commands which are used together
  1616.    in some common-use circumstances. The second function of Curves is to
  1617.    provide visual presentation of a project directory so that the status
  1618.    of each file is comprehensible at a glance. CurVeS uses color, when
  1619.    available, to accent the file classification marks.
  1620.    
  1621.    ftp://ftp.netcom.com/pub/el/elf/curves/ in the file
  1622.    curves-0.8.3.tar.gz and curves-0.8.3.lsm
  1623.    
  1624.    Runs on any UN*X. Tested on GNU/Linux and Solaris. C++ necessary to
  1625.    build from source. CVS and possibly RCS to use.
  1626.    
  1627.    For more information:
  1628.    Marc Singer, elf@netcom.com
  1629.      _________________________________________________________________
  1630.    
  1631.   urlmon 3.0 -- URL monitoring software
  1632.   
  1633.    Date: Thu, 9 Jul 1998 10:50:08 GMT
  1634.    urlmon version 3.0 is released, now with ability to filter out
  1635.    portions of HTML data so that things like rotating advertisements
  1636.    don't give false positives. The filtering capability is quite
  1637.    flexible, and it user-extensible. The code has been cleaned up, making
  1638.    it much more elegant and simple. The format of the urlmonrc database
  1639.    file has changed, and this causes problems addressed in the various
  1640.    documentation files. Some enhancements have been made to make urlmon
  1641.    more conducive to scripting.
  1642.    
  1643.    urlmon is the URL Monitor. It reports changes to web sites (and ftp
  1644.    sites, too).
  1645.    
  1646.    http://sunsite.unc.edu/pub/Linux/apps/www/mirroring/urlmon-3.0.tgz
  1647.    (soon)
  1648.    http://source.syr.edu/~jdimpson/proj/urlmon-3.0.tgz
  1649.    
  1650.    For more information:
  1651.    http://source.syr.edu/~jdimpson/urlmon/
  1652.    Jeremy D. Impson, jdimpson@acm.org
  1653.      _________________________________________________________________
  1654.    
  1655.   GramoFile 1.1 - Gramophone records to CDs
  1656.   
  1657.    Date: Wed, 15 Jul 1998 11:28:30 GMT
  1658.    GramoFile is a computer program, running under the Linux operating
  1659.    system, with the main goal of putting the sound of gramophone records
  1660.    on CDs. The program is not finished yet (and maybe never), but it is
  1661.    able to do a lot of useful things already. Like removing ticks and
  1662.    splitting a long sound file into separate tracks. This program was
  1663.    originally written by Anne Bezemer and Ton Le as a study project at
  1664.    the department of Information Technology and Systems (sub-department
  1665.    of Electrical Engineering) of the Delft University of Technology, The
  1666.    Netherlands. However, development has continued after the end of the
  1667.    project, resulting in the program as it is now (read: much more
  1668.    functional :).
  1669.    
  1670.    The new version 1.1 is available at the GramoFile Home Page:
  1671.    http://cardit.et.tudelft.nl/~card06/
  1672.    
  1673.    For more information:
  1674.    J.A. Bezemer, J.A.Bezemer@ITS.TUDelft.NL
  1675.      _________________________________________________________________
  1676.    
  1677.   WavPlay/GnuWave Update
  1678.   
  1679.    Date: Wed, 15 Jul 1998 09:39:55 GMT
  1680.    WavPlay-1.0 was the last LINUX sound play/record program that was
  1681.    released to the net, with 2 levels of patches.
  1682.    
  1683.    This a short note to announce that the "home web page" for the WavPlay
  1684.    software is moving (since I am also moving, and will change ISP +
  1685.    email addresses etc.)
  1686.    
  1687.    To find out what is currently happening with the new WavPlay software,
  1688.    visit the new "home page" at:
  1689.    
  1690.    http://members.tripod.com/~ve3wwg/
  1691.    
  1692.    For more information:
  1693.    Warren Gay VE3WWG, ve3wwg@yahoo.com
  1694.      _________________________________________________________________
  1695.    
  1696.   aumix 1.9: adjust an audio mixer
  1697.   
  1698.    Date: Wed, 15 Jul 1998 10:33:10 GMT
  1699.    I've uploaded aumix 1.9, a program for adjusting an audio mixer from
  1700.    the console, a terminal, the command line or scripts. Here's what's
  1701.    new:
  1702.    
  1703.    * interactive screen won't show channels that don't exist * should
  1704.    build without automake or autoconf * might compile under FreeBSD *
  1705.    muting function should work for everyone now * left and right levels
  1706.    shown with "L" and "R" in interactive screen * fixed small bug with
  1707.    adjustment by mouse * usage text printed when mixer file can't be
  1708.    opened
  1709.    
  1710.    WWW access: http://jpj.net/~trevor/aumix.html
  1711.    Primary-site: http://sunsite.unc.edu/pub/Linux/apps/sound/mixers/
  1712.    Files: 40898 aumix-1.9.tar.gz and 638 aumix-1.9.lsm
  1713.    
  1714.    For more information:
  1715.    Trevor Johnson, trevor@jpj.net
  1716.      _________________________________________________________________
  1717.    
  1718.   locus 0.85 - a fulltext database
  1719.   
  1720.    Date: Mon, 20 Jul 1998 10:22:43 GMT
  1721.    locus lets you find words in your texts: newsgroup messages, Web page
  1722.    mirrors, electronic books - whatever you have. It uses word patterns
  1723.    (order, locality etc.) to match queries to texts, makes reasonable
  1724.    choices by default yet does exactly what you want when you specify it.
  1725.    
  1726.    locus homepage: http://www.cermak.cz/~vbarta/
  1727.    
  1728.    For more information:
  1729.    Vaclav Barta, vbar@comp.cz
  1730.      _________________________________________________________________
  1731.    
  1732.   S-PLUS 5.0 for UNIX & LINUX
  1733.   
  1734.    Date: Mon, 27 Jul 1998 11:53:59 -0700
  1735.    On August 10, MathSoft will be announcing/shipping a new version of
  1736.    S-PLUS called S-PLUS 5.0 for UNIX and LINUX, a key new addition to
  1737.    MathSoft's statistical data mining family. This addition to the
  1738.    broadest line of statistical data mining software for business and
  1739.    academia comes with several significant upgrades, including:
  1740.     1. next generation S language, designed specifically for data
  1741.        visualization and exploration from Lucent Technologies,
  1742.     2. improved memory resourcing for large, rapid data set analysis,
  1743.     3. import & export data from virtually any source (SAS, SPSS, Excel,
  1744.        Lotus, and more),
  1745.     4. more statistical modeling and analysis functions,
  1746.     5. complete system for calender time series analysis and
  1747.     6. support for additional UNIX operating systems, such as HP, IBM and
  1748.        SGI.
  1749.        
  1750.    For more information:
  1751.    Lisa Hiland, lisah@schwartz-pr.com
  1752.      _________________________________________________________________
  1753.    
  1754.   NetBeans Developer 2.0, Beta 2
  1755.   
  1756.    Date: Tue, 28 Jul 1998 12:02:08 +0200
  1757.    Prague, Czech Republic, July 28, 1998 - NetBeans, Inc. today released
  1758.    the second Beta version of its well-received Integrated Development
  1759.    Environment (IDE) written entirely in the Java(TM) language and based
  1760.    on Sun's Java Foundation Classes framework. NetBeans Developer 2.0 -
  1761.    Beta 2 is available for free download from the company's web site,
  1762.    http://www.netbeans.com. NetBeans IDE is a full-featured visual
  1763.    programming environment that allows flexible development on any
  1764.    platform which supports JDK 1.1.x, including NT, Win95, Linux, OS/2,
  1765.    Solaris, HP-UX, and others.
  1766.    
  1767.    NetBeans IDE will ship in two versions - Developer and Enterprise.
  1768.    NetBeans Developer was created for the single developer working on a
  1769.    desktop PC. NetBeans Enterprise was designed as a multi-user,
  1770.    multi-platform product. Users can fully exploit the object-oriented
  1771.    nature of the IDE, design distributed applications based on RMI/CORBA,
  1772.    share virtual filesystems, debug remotely, and access source control
  1773.    systems.
  1774.    
  1775.    The second beta version of NetBeans Developer 2.0 is now available and
  1776.    can be downloaded from the NetBeans Website at
  1777.    http://www.netbeans.com. NetBeans Developer 2.0 is scheduled for
  1778.    release in the third quarter of 1998, and will retail for
  1779.    approximately $149. Pricing and availability of NetBeans Enterprise
  1780.    will be announced in September, 1998.
  1781.    
  1782.    For more information:
  1783.    NetBeans, Inc. Helena Stolka, helena.stolka@netbeans.com
  1784.      _________________________________________________________________
  1785.    
  1786.   Caldera Releases NetWare for Linux 1.0
  1787.   
  1788.    OREM, Utah, July 30 /PRNewswire/ -- Caldera(R), Inc. today announced
  1789.    the release of NetWare(R) for Linux 1.0. Caldera NetWare for Linux
  1790.    provides NetWare file, print and directory services ready to run
  1791.    (native) on a Linux distribution. With NetWare for Linux, Caldera
  1792.    brings the most-widely used networking operating system to Linux with
  1793.    full client support and integrated administration utilities. NetWare
  1794.    for Linux is a component of the Caldera Small Business Server
  1795.    scheduled for release later this year.
  1796.    
  1797.    A NetWare for Linux three-user version is now available for download
  1798.    at no cost from the Caldera Web site
  1799.    (http://www.caldera.com/products/netware). Bump packs can be purchased
  1800.    in user license increments of 1 ($95), 5 ($450), 25 ($1,875), or 50
  1801.    ($2,750). A $59 two-CD jewel case version offering a complete NetWare
  1802.    solution including NetWare for Linux, NetWare utilities and OpenLinux
  1803.    Lite 1.2 will be available mid-August.
  1804.    
  1805.    For more information:
  1806.    Caldera, Inc., http://www.caldera.com/
  1807.      _________________________________________________________________
  1808.    
  1809.               Published in Linux Gazette Issue 31, August 1998
  1810.      _________________________________________________________________
  1811.    
  1812.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  1813.      _________________________________________________________________
  1814.    
  1815.       This page written and maintained by the Editor of Linux Gazette,
  1816.       gazette@ssc.com
  1817.       Copyright ⌐ 1998 Specialized Systems Consultants, Inc.
  1818.       
  1819.     "Linux Gazette...making Linux just a little more fun!"
  1820.      _________________________________________________________________
  1821.    
  1822.                            (?) The Answer Guy (!)
  1823.                                       
  1824.                    By James T. Dennis, answerguy@ssc.com
  1825.           Starshine Technical Services, http://www.starshine.org/
  1826.      _________________________________________________________________
  1827.    
  1828.   Contents:
  1829.   
  1830.    (?)Greetings From Jim Dennis
  1831.    
  1832.    (?)Remote Backups (Yet Again) --or--
  1833.           Remote Backups: GNU 'tar' through 'rsh'
  1834.           
  1835.    (?)Assigning UID/GID --or--
  1836.           UID/GID Synchronization and Management
  1837.           
  1838.    (?)How to check your modems connect speed?
  1839.           
  1840.    (?)win95 slowdown --or--
  1841.           Win '95 Hesitates After Box Has Run Linux? 
  1842.           
  1843.    (?)Bad Cluster
  1844.           
  1845.    (?)XFree86 on Trident Providia 9685
  1846.           
  1847.    (?)redhat linux 5.0 and reveal sc400 rev a sound card --or--
  1848.           Reveal SC400 Sound Card: OSS/Linux and OSS/Free Supported?
  1849.           
  1850.    (?)Kernel Overview needed....
  1851.           
  1852.    (?)Printing Solaris -> Linux --or--
  1853.           Remote lpd Solaris to Linux
  1854.           
  1855.    (?)Lilo not working on SCSI when IDE drives installed
  1856.           
  1857.    (?)Yggdrasil: A Breath of Life for the Root of the Linux
  1858.           Distributions? ...and what about OpenLinux Base?
  1859.           
  1860.    (?)115K Baud from a Modem: In your dreams!
  1861.           
  1862.    (?)Linux NDS --or--
  1863.           Linux as a Netware Directory Srvices Printer Client?
  1864.           
  1865.    (?)What is an RPM?
  1866.           
  1867.    (?)Stupid question --or--
  1868.           AnswerGUY? Who is Heather?
  1869.           
  1870.    (?)'sendmail' requires DNS ... won't use /etc/hosts
  1871.           
  1872.    (?)Question on Memory Leak --or--
  1873.           Memory Leaks and the OS that Allows Them
  1874.           
  1875.    (?)X Window with two monitors...
  1876.           
  1877.    (?)DAO software for linux? 
  1878.              _________________________________________________
  1879.    
  1880.   (?)Greetings From Jim Dennis, August 1998
  1881.   
  1882.    By now you've probably heard it a dozen times:
  1883.    
  1884.                   Oracle Announces Intent to Support Linux
  1885.             Informix Releases Linux version of their SQL Engine
  1886.                                       
  1887.    ... so, what does that mean.
  1888.    
  1889.    Well, the good part is that Linux will get more respect from many IT
  1890.    departments. It will be easier for sysadmins to recommend Linux,
  1891.    FreeBSD, and similar solutions. There also will be a flurry of other
  1892.    software companies that will also jump in and port their software to
  1893.    this new, upstart Unix implementation. The Informix announcement was
  1894.    re-iterated at just about the same time and Inprise (formerly Borland)
  1895.    had already made Interbase available awhile back). I expect that Lotus
  1896.    Notes and Domino aren't too far behind, and I wouldn't be surprised to
  1897.    hear that SAP (publishers of the R/3 ERP system) were quietly talking
  1898.    to S.u.S.E. (I seem to have heard that Adabas is one of the supported
  1899.    db engines for SAP R/3, and that has been available for Linux for some
  1900.    time).
  1901.    
  1902.    There's also an interesting teaser at the Caldera website
  1903.    (http://www.caldera.com/openlinux/index.html) regarding an impending
  1904.    "Netware for Linux" --- which should be an interesting server platform
  1905.    (Netware's implementation of ACL's, access control lists -- always
  1906.    seemed better then the others I've seen. So, if you really need them
  1907.    on a fileserver, this might be the way to go).
  1908.    
  1909.    We've also heard that the server software isn't the only niche that's
  1910.    discovering Linux. Regulars of Slashdot () and the Linux Weekly News
  1911.    (http://www.lwn.net), and any of the major Linux newsgroups and
  1912.    mailing lists are also probably aware that Corel has announced
  1913.    projects to port their whole office suite to Linux (they've had
  1914.    versions of WordPerfect available for awhile, and one of their
  1915.    affiliates, Corel Computing --- a hardware concern --- is using a
  1916.    StrongARM port of Linux which they helped develop as the core of their
  1917.    NC --- network computer). Presumably they will also consider porting
  1918.    their flagship CorelDraw package, which has been been available for
  1919.    some other Unix platforms for some time).
  1920.    
  1921.      http://www.corel.com/news/1998/may/linux.htm
  1922.      
  1923.    Of course it's already joining the fray with Applixware, StarOffice,
  1924.    Cliq Suite, Wingz, XessLite, and NeXS, among others.
  1925.    
  1926.    So, the commercial software is coming. Linux will take yet another
  1927.    step from hobbyist "do-it-yourself" project towards a widespread
  1928.    platform for the masses.
  1929.    
  1930.    Is there a downside to all of this? Naturally there are some risks.
  1931.    While I welcome the availability of Oracle, Informix and other major
  1932.    players to the Linux world --- I'd like to remind everyone that there
  1933.    are alternatives. See Christopher B. Browne's excellent list of these
  1934.    under his website at:
  1935.    
  1936.      http://www.hex.net/~cbbrowne/
  1937.      
  1938.    ... Some of the commercial SQL engines for Linux that I've heard good
  1939.    reports about are Solid, JustLogic, and Infoflex. That's not to
  1940.    mention the free and shareware packages like PostgreSQL, mSQL, MySQL,
  1941.    and Beagle.
  1942.    
  1943.    (There are differences in capacity and scalability --- many of these
  1944.    are currently limited to table locking rather than being able to lock
  1945.    individual records).
  1946.    
  1947.    The big risk we now face is that we'll adopt and promote (or
  1948.    perpetuate) some application suite or tool with a proprietary set of
  1949.    file formats or interfaces. If Microsoft were to ship MS Office for
  1950.    Linux tomorrow --- we'd have the same essential problem that we have
  1951.    today. When someone sends you a Word .DOC, an Excel .XLS or a
  1952.    PowerPoint .PPT you're expected (by an alarming percentage of your
  1953.    correspondents) to be able to handle those files.
  1954.    
  1955.    Everyone, (freeware and commercial third party vendors alike) is has
  1956.    been playing "catch-up" to this tune for far too long.
  1957.    
  1958.    This issue of "open document formats" is far more important than
  1959.    choice of operating systems. What you run on your machine is none of
  1960.    my business. What you send to me in our business transactions is.
  1961.    Applix and StarOffice (and the free 'catdoc' and LAOLA filters) make a
  1962.    truly valiant effort to deal with some of these proprietary formats.
  1963.    They do so with some success (Word 2.0 seems fine, Word 6.x might be a
  1964.    bit dicey --- Word '97 documents die a horrible death).
  1965.    
  1966.    If Microsoft moved quickly they might be able to "take over the Linux
  1967.    desktop" by providing "MS Office '98 for Linux." Personally I think
  1968.    that would be a shame. I think it would squelch some of the
  1969.    interesting work being done on LyX and Cicero, and various other "word
  1970.    processor" and desktop publishing interfaces for Linux.
  1971.    
  1972.    So, before you rush out to embrace Oracle, and buy one of their
  1973.    servers --- take a look at some of the other DBMS packages that are
  1974.    out there. Give them a real try (feasibility and capacity test) before
  1975.    you commit.
  1976.    
  1977.    On another note: I'd like to grant the first "Answer Guy Support
  1978.    Award" of the month to Sam Trenholme. He practically owns the
  1979.    comp.linux.misc newsgroups and answers alot more questions there than
  1980.    I get to in a month here. Thanks, Sam. We all owe, ya!
  1981.    
  1982.    (I'll try to give these out about once a month --- to someone,
  1983.    somewhere, who answers lots of questions in some Linux tech support
  1984.    venue).
  1985.    
  1986.    One final tidbit: I guess the press isn't getting all mushy on us.
  1987.    Either someone at Miller-Freeman's _sysadmin_Magazine_ doesn't like
  1988.    Linux or they were typing too fast when they wrote:
  1989.    
  1990.    .... Linux is a 2-bit multi-user, multitasking variant of the UNIX
  1991.    operating system. (p 68, August, 1998; vol. 7 no. 8)
  1992.    
  1993.    Can anyone find an extra 30-bits to send them?
  1994.              _________________________________________________
  1995.    
  1996.   (?)Remote Backups: GNU 'tar' through 'rsh'
  1997.   
  1998.    From Ken Plumbly on 18 Jul 1998 in the comp.unix.questions newsgroup
  1999.    
  2000.    Hi : 
  2001.    
  2002.    I'm sure this one will probably drive you crazy, I read your answer in
  2003.    LG issue 29 for remote backups, and did what the article said, but I
  2004.    get the response back from the server with the tape drive: 
  2005.    
  2006.      (!) Getting things like this working for the first time have driven
  2007.      me crazy in the past. So, it's certainly possible for them to do so
  2008.      again.
  2009.      
  2010.      (Some friends might say that "crazy" is a state they've come to
  2011.      expect of me).
  2012.      
  2013.    (?) permission denied.
  2014.    tar: Cannot open user@host.our.domain:/dev/st0: I/O error
  2015.    
  2016.    and in the messages file on the tape host is:
  2017.    
  2018.    pam_rhosts_auth[7300]: denied to root@hostname.our.domain as user:
  2019.    access not allowed
  2020.    
  2021.    We are running redHat 4.2 with a connor 4gb tape drive.
  2022.    
  2023.    I created a user on the tape server, and put a .rhosts file in the
  2024.    ~user directory but still no joy.
  2025.    
  2026.    Any Ideas?
  2027.    Ken
  2028.    
  2029.      (!) Can you just run a command like:
  2030.      
  2031.      rsh -l operator tapehost "id; pwd; ls -l /dev/st0"
  2032.      
  2033.      ... and get the desired results?
  2034.      
  2035.      In my example I make some assumptions:
  2036.      
  2037.      I'd run this command from root on the client and use the "-l
  2038.      operator" switch and argument to specify that I want rsh to access
  2039.      the "operator" account on the tapehost.
  2040.      
  2041.      I'd create an account named "operator" on the tapehost machine. It
  2042.      would have no special privileges except that it would be a member
  2043.      of the "tape" group.
  2044.      
  2045.      My copy of /dev/st0 on the tapehost would be owned by root.tape
  2046.      (the "tape" group) and would be mode 770 (writable by group).
  2047.      
  2048.      This should allow what you want. Until you can use stock 'rsh'
  2049.      commands through this context --- your 'tar' commands are doomed.
  2050.      (Since GNU tar actually calls 'rsh' for that part of this work).
  2051.      
  2052.      For more security you can use 'ssh' instead of 'rsh'
  2053.      
  2054.      Next I would not use the command as you described it.
  2055.      
  2056.      Tape drives are very sensitive to inconsistent latency (caused by
  2057.      transport of the data over a network and by any compression you
  2058.      attempt to do). If the data is not fed to the interface fast enough
  2059.      and at an even rate then the drive will have to stop, rewind a bit,
  2060.      and restart to get back to the right speed and tape position to
  2061.      continue writing.
  2062.      
  2063.      This is called "shoeshining."
  2064.      
  2065.      To prevent shoeshining we run a program called 'buffer' (Lee
  2066.      McLoughlin) on the "tapehost" (the machine that recieves the data
  2067.      over the network and writes it to the tape drive).
  2068.      
  2069.      So that command would look like:
  2070.      
  2071.      # tar czSf - .... | rsh -l operator tapehost "buffer -o /dev/st0"
  2072.      
  2073.      Note the -S switch that we use to preserve "sparsity" in files ---
  2074.      that is to detect cases where the data blocks have not be
  2075.      continously allocated to the file --- where there are "holes" in
  2076.      the allocation map for the "empty" parts of the file's data. These
  2077.      sorts of files are commonly created with dbm libraries and other
  2078.      "hashing" algorithms that use file seek offsets as "indexes" into a
  2079.      file --- your /etc/aliases.pag file might be one of them. If you
  2080.      don't understand "holes" and "sparse" files (which are features of
  2081.      the Unix filesystem that aren't supported in some others --- though
  2082.      I know that Netware had them) --- don't worry about it. Just add
  2083.      the -S and it won't hurt anything even if there are no such files
  2084.      in the data set that you're working with.
  2085.      
  2086.      Note that I use the c (create), z (compress) and f (file target)
  2087.      flags, and that the file target I specify is "-" (a dash). In Unix
  2088.      this usually indicates that the "standard output" device should be
  2089.      used. In other words, "-" (dash) is an idiom in a number of
  2090.      Unix/Linux commands. So, this command will write all of the tar
  2091.      file into the pipe.
  2092.      
  2093.      On the recieving side of the pipe we have a local copy of 'rsh'
  2094.      that will try to connect to the "tapehost" as the user named
  2095.      "operator" and thereon try to run a command named "buffer" with the
  2096.      -o (output) of that pointed to the tape device.
  2097.      
  2098.      How much difference does 'buffer' make? About an order of
  2099.      magnitude. Yes. You read that right --- on my network (which was
  2100.      completely idle at the time) I ran experiements with and without
  2101.      buffer (and with and without compression) and it would take 10
  2102.      times longer to write the tape without 'buffer'. On top of all of
  2103.      that the tapes created without 'buffer' are much less reliable. So,
  2104.      failing to use that can be harmful to your data, and add immense
  2105.      amounts of wear and tear to the drive (shortening its useful life).
  2106.      
  2107.      The 'buffer' command came with my copies of S.u.S.E. and might come
  2108.      with your copy of RH 5.x (although I don't think 4.2 had it). You
  2109.      can find that at:
  2110.      
  2111.      http://src.doc.ic.ac.uk/public/public/packages/buffer
  2112.      
  2113.      Imperial College, U.K./Great Britain where Lee McLoughlin is a a
  2114.      system manager, and programmer.
  2115.      
  2116.      Lee McLoughlin is also known for an FTP mirror package he wrote and
  2117.      maintained in PERL a few years ago. He maintains a web page
  2118.      (http://www.doc.ic.ac.uk/~lmjm/) which doesn't mention this or the
  2119.      'buffer' program but highlights some of his other work.
  2120.      
  2121.      With RH 4.2 you might also be suffering from some confusion with
  2122.      your PAM configuration. You might have to change that around a bit
  2123.      or upgrade it to a new version.
  2124.      
  2125.      If you were trying to access the root or any "root equivalent"
  2126.      account -- that is anyone with a UID of 0 (zero) you might have
  2127.      been bumping into the "/etc/securettys" problem. This is one of the
  2128.      other reasons why I configure my systems with an "operator" account
  2129.      and give that account access to the 'buffer' program and to the
  2130.      /dev/st0 node.
  2131.      
  2132.      If you did tests with 'rlogin' that seemed successful (you were
  2133.      able to 'rlogin' to the account but not to run 'rsh' commands, keep
  2134.      in mind that these are separately configurable services in PAM.
  2135.      
  2136.      Another constraint that is a bit more subtle: you cannot access
  2137.      'rsh' and 'rlogin' commands through IP Masquerading. This is
  2138.      because the source IP port for an rsh or rlogin connection must be
  2139.      set to specific values
  2140.      
  2141.      It's a very weak form of "authentication" on the part of the
  2142.      protocol, it was intended to ensure that the process on the client
  2143.      side of the machine was running with 'root's authority --- that it
  2144.      wasn't a random user's process just claiming to be anybody. That
  2145.      was almost reasonably 20 years ago before people had TCP/IP capable
  2146.      workstation on their desktops --- back when all of the "computers"
  2147.      were locking in server rooms and you wanted to create loosely
  2148.      coupled computing clusters within your domain. It is wholly
  2149.      inadequate and inappropriate on today's networks. That's why we
  2150.      have 'issh' and why I spend all night last night playing with the
  2151.      "Linux Free S/WAN" project (just search Yahoo! on that phrase).
  2152.      
  2153.      (Free S/WAN is a project to implement secure, network level IP ---
  2154.      so that we can use transparent cryptography to protect applications
  2155.      layer protocols like rsh, and so many others. It's being developed
  2156.      internationally --- so that it will have to be imported into the
  2157.      U.S. --- this is because we're a "free nation" except when it comes
  2158.      to the practical application of advanced mathematics as a medium of
  2159.      expression).
  2160.      
  2161.      In any event --- I really doubt that you're trying to access your
  2162.      tapehost through a masquerading router --- but if you are, you can
  2163.      expect that to fail.
  2164.      
  2165.      From the error messages you show it looks like you do have the
  2166.      appropriate /etc/services entry and the appropriate entries in the
  2167.      /etc/inetd.conf. It also looks like you are not having a TCP
  2168.      wrappers problem in this case (since that would have given a
  2169.      different error message in the tapehost's syslog).
  2170.              _________________________________________________
  2171.    
  2172.   (?)UID/GID Synchronization and Management
  2173.   
  2174.    From Gordon Haverland on 16 Jul 1998 in the comp.unix.questions
  2175.    newsgroup
  2176.    
  2177.    Hi:
  2178.    
  2179.    I inherited sys admin stuff as part of a job. At first, this wasn't a
  2180.    problem: GIS work on a single Linux machine. I did development and
  2181.    analysis, others did just analysis. Soon we got another Linux machine,
  2182.    so development moved to there. To share printing, Ethernet was
  2183.    installed and LPRng. Then a Solaris 2.5.1 machine was added. So, the 2
  2184.    linux machines have a handful of users, the Sun has those plus a few
  2185.    other groups of users, and I plan to add a Beowulf cluster "real soon
  2186.    now". Is there any rationale out there for assigning UID and GID in a
  2187.    hetrogeous cluster/network like this? It sure looks like users common
  2188.    among machines have to have the same UID and GIDs. The Solaris has NIS
  2189.    on it, so I guess whatever I do should get administered from there.
  2190.    Thanks for any light you might shed on this.
  2191.    
  2192.    Gordon Haverland 
  2193.    
  2194.      (!) I'm not sure what you mean by "rationale" on this context.
  2195.      
  2196.      Do you mean:
  2197.      
  2198.      "Why should I co-ordinate and synchronize the account management on
  2199.      the systems throughout my network?"
  2200.      
  2201.      ... or do you mean:
  2202.      
  2203.      "How should I ....."
  2204.      
  2205.      ... or do you mean something else entirely?
  2206.      
  2207.      I'll answer the first two questions (probably in far more detail
  2208.      than you wanted):
  2209.      
  2210.      There are two principle reasons why you want to co-ordinate the
  2211.      user/UID and group/GID management across your network. The first is
  2212.      relatively obvious --- it has to do with user and administrative
  2213.      convenience.
  2214.      
  2215.      If each of your users are expected to have relatively uniform
  2216.      access to the systems throughout the network, then they'll expect
  2217.      the same username and password to work on each system that they are
  2218.      supposed to use. If they change their password they will expect
  2219.      that change to be global.
  2220.      
  2221.      When you --- as the admin --- add, remove, disable, or change an
  2222.      account, you want to do it once, in one place. You don't want to
  2223.      have to manually copy those changes to every system.
  2224.      
  2225.      Of course these reasons don't require that the UID/GID's match. As
  2226.      you probably know names and group names in Unix and Linux are
  2227.      mapped into numeric forms (UID's and GID's respectively). All file
  2228.      ownership (inodes) and processes use these numerics for all access
  2229.      and identity determination throughout the kernel and drivers. These
  2230.      numeric values are reverse mapped back to their corresponding
  2231.      principle symbolic representations (the names) by the utilities
  2232.      that display or process that information. Thus the 'ls -l' command
  2233.      is doing a lookup on each directory entry to find the name that
  2234.      corresponds to the the owner and group ID's.
  2235.      
  2236.      Most of the commands you use actually do this through library
  2237.      calls. In deed most of these commands are "dynamically linked" (use
  2238.      shared libraries) which perform the calls through common external
  2239.      files (the libc). As we'll see this is very important as we look at
  2240.      the implications of consolidating the account mapping information
  2241.      into a networked model (such as NIS).
  2242.      
  2243.      As I said, you could maintain a network of systems which
  2244.      co-ordinated username/password data, and group membership lists
  2245.      without synchronizing the UID's and GID's across the systems. Most
  2246.      network protocols and utilities (the r* gang: rsh, rlogin, rcp, and
  2247.      things like telnet, ftp, etc) exchange this data in "text"
  2248.      (symbolic) form.
  2249.      
  2250.      However, we then come to NFS!
  2251.      
  2252.      The NFS protocols use numeric forms to represent ownership.
  2253.      Therefore an NFS server provides access based on an implicit trust
  2254.      that the NFS client is providing a compatible and legimate mapping
  2255.      of the cient's UID/GID to the server's.
  2256.      
  2257.      It is possible in Linux' NFS implementation to run a ugidd (a
  2258.      UID/GID mapping daemon). Thus you could create maps for every NFS
  2259.      server to map each clients UIDs to this server's UID's, etc. Yes,
  2260.      that idea is as ugly as it sounds!
  2261.      
  2262.      I won't go into the security implications of NFS' mechanism here.
  2263.      I'll just point out that my pet expansion of NFS is "no flippin'
  2264.      security." I'm told that it is possible to enable a "secure RPC"
  2265.      portmapper which implements host-to-host authentication. I'd like
  2266.      to know more about that.
  2267.      
  2268.      However, it is still the case that any users who can get root
  2269.      access to any trusted NFS client can impersonate any non-root user
  2270.      so far as the NFS servers in that domain are concerned. Since
  2271.      "sufficient" physical access virtually guarantees that workstation
  2272.      users can get root access (possibly by resorting to a screwdriver
  2273.      and CMOS battery jumper) I come to the conclusion that NFS
  2274.      hopelessly insecure in today's common network configurations (which
  2275.      workstations and PC's at everyone's desks).
  2276.      
  2277.      (In defense of NFS I should point out that its security model, and
  2278.      the one's we see in the r* gang were not unreasonable when most
  2279.      Unix installations had a small cluster of multi-user systems locked
  2280.      in a server room --- and all user access was via terminals and
  2281.      X-terminals. This suggests that there are some situations where
  2282.      they are still justified).
  2283.      
  2284.      Despite these limitations and implications, NFS is the most
  2285.      commonly deployed networked filesystem between Unix and Linux
  2286.      systems. I have high hopes for CODA, but even the most optimistic
  2287.      dreams reveal that it will take a long time to be widely adopted.
  2288.      
  2289.      So, it is in your best interests to synchronize your UID/GID to
  2290.      user/group name mappings throughout your enterprise. It is also
  2291.      recommended that you adopt a policy that UID's are not re-used.
  2292.      When a user leaves your organization you "retire" their UID
  2293.      (disabling their access by *'ing out their passwd, removing them
  2294.      from the groups maps, setting their "shell" to some /bin/denied
  2295.      binary and their "home" directory to a secured "graveyard" --- I
  2296.      use /home/.graveyard on my systems). The reason for this may not be
  2297.      obvious. However, if you are maintaining archival backups for
  2298.      several years (or indefinitely) you'll want to avoid any
  2299.      ambiguities and confusion that might result from restoring one
  2300.      (long gone) user's files and finding them owned by one of your new
  2301.      users.
  2302.      
  2303.      (This "UID retirement" policy is obviously not feasible for larger
  2304.      ISP's and usually difficult for Universities and other high
  2305.      turnover environments. You can still make it a policy to cycle all
  2306.      the way around the UID/GID space before re-use).
  2307.      
  2308.      That should answer the questions about "why" we want to co-ordinate
  2309.      account information (user/password, and group/membership data) and
  2310.      why many (most) of us want to synchronize the UID's and GID's that
  2311.      the accounts map to.
  2312.      
  2313.      Now, we think about "how" to do so.
  2314.      
  2315.      One common method is to use 'rdist' to distribute a set of files
  2316.      (usually /etc/passwd, /etc/group, and /etc/hosts) to every machine
  2317.      in a "domain" (this being the "administrative" sense of the term,
  2318.      which might or might not match a DNS domain or subdomain). For this
  2319.      to work we have to declare one system to be the "master" and we
  2320.      have to ensure that all account changes occur on that system.
  2321.      
  2322.      This can be done by manually training everyone to always issue
  2323.      their 'passwd' 'chfn' 'chsh' and similar commands from a shell on
  2324.      that system, or you can create wrappers for each of the affected
  2325.      commands (replacing the client copies of these commands with a
  2326.      script that doesn't something like: 'ssh $master "$0"' for
  2327.      example).
  2328.      
  2329.      The nice things about this approach are:
  2330.      
  2331.      It works for just about any Unix and any Linux (regardless of the
  2332.      libraries and programs running on the client).
  2333.      
  2334.      The new risks and protocols are explicitly put in place by the
  2335.      sysadmin --- we don't introduce new protocols that might affect our
  2336.      security.
  2337.      
  2338.      There is no additional network latency and overhead for most
  2339.      programs running most of the time. You are never waiting for 'ls'
  2340.      to resolve user and group names over the network!
  2341.      
  2342.      The concerns about this method are:
  2343.      
  2344.      You have to ensure the integrity and security of the master --- I'd
  2345.      suggest requiring 'ssh' access to it and using PAM and possibly a
  2346.      chroot jail to limit the access of most users to just the
  2347.      appropriate commands.
  2348.      
  2349.      All clients must "trust" the master -- they must allow that system
  2350.      to "push" new root owned system configuration files to them. I'd
  2351.      use 'rdist' or 'rsync' over 'ssh' for this as well.
  2352.      
  2353.      You may have unacceptable propagation delays (a user's new password
  2354.      may take hours to get propagated to all systems).
  2355.      
  2356.      It doesn't "scale" well and it doesn't conform to any standards.
  2357.      You (as the sysadmin) will have to do your own scripting to deploy
  2358.      it. Any bugs in your scripts are quite likely to take down the
  2359.      entire administrative domain.
  2360.      
  2361.      Then there's NIS.
  2362.      
  2363.      NIS is a protocol and a set of utilities and libraries which
  2364.      basically implement exactly the features we've just described. I've
  2365.      deliberately used several NIS terms in my preceding discussion.
  2366.      
  2367.      NIS distributes various sorts of "maps" (different "maps" for
  2368.      passwords, groups, hosts, etc). The primary NIS server for a domain
  2369.      is called the "master" --- and secondary servers are called
  2370.      "slaves." Nodes (hosts, workstations, etc) that request data from
  2371.      these "maps" are called "clients."
  2372.      
  2373.      One of the big features of glibc (the GNU libc version 2.x which is
  2374.      being integrated into Linux distributions as libc.6.x) is support
  2375.      for NIS. It used to be the case that supporting NIS on a Linux
  2376.      client required a special version of the shared libraries (a
  2377.      variant compilation of libc.5).
  2378.      
  2379.      In Red Hat 5.x and Debian 2.x this will not be necessary. We expect
  2380.      that most other Linux distributions will follow suit in their next
  2381.      major releases. (This transition is similar to the a.out to ELF
  2382.      transition we faced a couple of years ago, and much less of a
  2383.      hassle than the infamous "procps" fiasco that we went through
  2384.      between the 1.x and 2.x kernels. Notably it is possible to have
  2385.      libc.5 and glibc concurrently installed on a system --- the major
  2386.      issue is which way your base system binaries and utilities are
  2387.      linked).
  2388.      
  2389.      The advantages of NIS:
  2390.      
  2391.      It's a standard. Most modern forms of Unix support it.
  2392.      
  2393.      It's scaleable and robust. It automatically deals with capacity and
  2394.      availability issues by having two tiers of servers (master and
  2395.      slave).
  2396.      
  2397.      It's already been written. You won't be re-inventing this wheel.
  2398.      (At the same time it is more generalized --- so this wheel may have
  2399.      more spokes, lug nuts, and axle trimmings than you needed or
  2400.      wanted).
  2401.      
  2402.      The disadvantages of NIS:
  2403.      
  2404.      NIS is designed to do more than you might want. It will default to
  2405.      providing host mapping services (which might conflict with your DNS
  2406.      scheme and might give you a bit of extra grief while configuring
  2407.      'sendmail' --- at least the Solaris default version of 'sendmail').
  2408.      These are relatively easy issues to resolve --- once you understand
  2409.      the underlying model. However they are cause for sysadmin confusion
  2410.      and frustration in the early stages.
  2411.      
  2412.      It's not terribly secure. There is a NIS+ which uses cryptographic
  2413.      means to tighten up some of that. However, NIS+ doesn't seem to be
  2414.      available for Linux yet. That is probably largely the result of the
  2415.      U.S. federal government's unpopular and idiotic attitudes towards
  2416.      cryptography --- which has a generally chilling effect on the
  2417.      development and deployment of robust security. The fact that U.S.
  2418.      policy also recognizes patents on software and algorithms
  2419.      (particularly the very broad RSA held patents on public key
  2420.      cryptography) also severely constrains our programmers (they are
  2421.      liable if they re-invent any protected algorithm --- no matter how
  2422.      "obvious" it seemed to them nor how "independently" their
  2423.      derivation). Regardless of these political issues, I still have
  2424.      technical concerns about NIS security.
  2425.      
  2426.      Hybrid:
  2427.      
  2428.      You can use NIS within your domain, and you can distribute your NIS
  2429.      maps out to systems that are on the periphery (for example out to
  2430.      your web servers and bastion/proxy systems out on the "firewall" or
  2431.      "perimeter network segment." This can be combined with some custom
  2432.      filtering (to disable shell access by most users to these machines
  2433.      --- helping to ensure that the UID/GID mappings are used solely for
  2434.      marking file ownership --- for example).
  2435.      
  2436.      NIS maps are is the same format as the files to which they
  2437.      correspond. Thus the NIS passwd map is a regular looking passwd
  2438.      file, and the NIS group map is in the conventional format you'd
  2439.      expect in your /etc/group file.
  2440.      
  2441.      You might have to fuss with these files a bit to "shadow" them (or
  2442.      "star out" the passwords on accounts that shouldn't be give remote
  2443.      access to a given host).
  2444.      
  2445.      Ideally I'd like to see a hybrid of NIS and Kerberos. We'd see NIS
  2446.      used to provide the names/UID's --- and Kerberos used for the
  2447.      authentication. However, I haven't yet heard of any movement to do
  2448.      this. I have heard rumblings of LDAP used in a way that might
  2449.      overlap with NIS quite a bit (and I'd hope that there'd be an LDAP
  2450.      to NIS gateway so we wouldn't have to transition all those
  2451.      libraries again).
  2452.      
  2453.      Back to your case.
  2454.      
  2455.      NIS sounds like a natural choice. However, you don't have to pick
  2456.      the Solaris system for the administration. You can use any of the
  2457.      Linux systems or any Solaris system (among others) as the NIS
  2458.      master. Since your Solaris system is probably installed on more
  2459.      expensive SPARC hardware, and it probably was purchased to run some
  2460.      services or applications that aren't readily available on your
  2461.      Linux systems --- it would probably be wiser to put up an extra
  2462.      Linux box as a dedicated NIS master and administrative console.
  2463.      
  2464.      It doesn't sound like internal security is even on your roadmap.
  2465.      That's fine and fairly common. All the members of your team
  2466.      probably have sufficient physical access to all of the systems in
  2467.      your group that significant efforts at intranet (internal) security
  2468.      in software would probably be pointless.
  2469.      
  2470.      I'd still recommend that you use "private net" addressing (RFC1918
  2471.      --- 10.*.*.*, 192.168.*.* and the range of class B's from
  2472.      172.16.*.* through 172.31.*.*) --- and make your systems go through
  2473.      a masquerading router (Linux or any of several others) or a set of
  2474.      proxies or some combination of these.
  2475.      
  2476.      In fact I highly recommend that you fire up a DNS caching server on
  2477.      at least one system --- and point all of your clients at that, and
  2478.      that you install a caching web proxy (Apache can be configured for
  2479.      this, or you can use Squid --- which is my personal favorite).
  2480.      These caches can save a significant amount of bandwidth for even a
  2481.      small workgroup and they only cost a little bit of installation and
  2482.      configuration time and a bit of disk space and memory.
  2483.      
  2484.      (The default Red Hat configuration for their 'named' rc file is to
  2485.      just run in caching mode. So that's truly a no brainer --- just
  2486.      distribute a new resolv.conf file to all the clients so that it
  2487.      refers *first* to the host that runs the cache. My squid
  2488.      configuration on a S.u.S.E. machine and has run, unmodified, for
  2489.      months. I vaguely remember having to edit a configuration file. It
  2490.      must not have been too bad. Naturally you have to get users to
  2491.      point their web browsers at the proxy --- that might be a hassle.
  2492.      With 'lynx' I just edit the global lynx.cfg file and send it to
  2493.      each host. Similar features are available in Netscape Navigator ---
  2494.      but you have to touch everyone's configuration at least once).
  2495.      
  2496.      Once you have your workgroup/LAN isolated on its own group of
  2497.      addresses and working through proxies --- it is relatively easy to
  2498.      configure your router to filter most sorts of traffic that should
  2499.      not be trusted across domains and, especially, to prevent "address
  2500.      spoofing" (incoming packets that claim to be from some point inside
  2501.      of your domain).
  2502.      
  2503.      You can certainly spend all of your time learning about and
  2504.      implementing security. However, the cost of that effort may exceed
  2505.      your management's valuation of the resources that are accessible on
  2506.      your LAN. Obviously they'll have to do their own risk and
  2507.      cost/benefit analyses on those issues.
  2508.      
  2509.      I pay an undue amount of attention to systems security because it
  2510.      is my hobby. As a consultant it turns out to be useful since I can
  2511.      explain these concerns and concepts to my customers, and refer to
  2512.      them to specialists when they want "real" security.
  2513.      
  2514.      To learn more details about how to setup and use NIS under Linux
  2515.      read the "The Linux NIS(YP)/NYS/NIS+ HOWTO" at:
  2516.      (http://www.ssc.com/linux/LDP/HOWTO/NIS-HOWTO.html). This was just
  2517.      updated a couple of weeks ago.
  2518.      
  2519.      I guess there is support for NIS+ clients in glibc --- so that's
  2520.      new to me. I've copied Thorsten Kukuk (the author of this HOWTO) so
  2521.      he can correct any errors I've made or otherwise comment.
  2522.      
  2523.      By the way: What is GIS? I've heard references to it --- and I
  2524.      gather that it has to do with geography and informations systems.
  2525.      Would you consider writing an overview of how Linux is being used
  2526.      in GIS related work for LJ or LG?
  2527.              _________________________________________________
  2528.    
  2529.   (?)Modem Connect Speed
  2530.   
  2531.    From James R. Ebright on 15 Jul 1998 in the comp.unix.questions
  2532.    newsgroup
  2533.    
  2534.    Dear Answer Guy, 
  2535.    
  2536.    I have a question that I can't seem to find any refernce to in any of
  2537.    the regular documentation, (though I must admit, I only searched for
  2538.    about an hour this time, and sporadically over the last month or so). 
  2539.    
  2540.    How can you tell the connection speed that a modem auto-negotiates
  2541.    when dialing an ISP? My system log (/var/log/messages in RH5.1) does
  2542.    tell me the line speed I have set in the chat script, but I would like
  2543.    to know the connect speed as well (56K, 33.6, etc). I know this info
  2544.    must be available somewhere/somehow. 
  2545.    
  2546.      (!) I've gotten questions like this before and I never did find an
  2547.      answer. Indeed I actually beg the question itself.
  2548.      
  2549.      My problem with the question amounts to a couple of rhetorical
  2550.      questions in return:
  2551.      
  2552.      Who cares?
  2553.      
  2554.      What are you going to do based on this metric?
  2555.      
  2556.      At first these questions may seem hostile. But they aren't intended
  2557.      in that sense. There are both practical and philosophical aspects
  2558.      to this.
  2559.      
  2560.      Are you going to return the modem to your vendor or retailer if it
  2561.      doesn't "live up to" some speed?
  2562.      
  2563.      Are you going to switch to a different ISP if their connect speed
  2564.      is better than your current average?
  2565.      
  2566.      Are you going to force the phone company to pull new wire to your
  2567.      home, resplice their cables, or replace equipment in their CO based
  2568.      on these results?
  2569.      
  2570.      You used the term "info" --- the "info must be available somewhere"
  2571.      --- but what is the real informational content of this number.
  2572.      Let's say you connect at 49000 bps --- your effective throughput is
  2573.      likely to vary throughout the duration of each call. The factors
  2574.      involved may be quite different but they all have one thing in
  2575.      common --- they are probably not anything you can effectively do
  2576.      anything about.
  2577.      
  2578.      Certainly you can do metrics on latency and throughput by running
  2579.      scripts between two hosts (after synchronizing their clocks). That
  2580.      could give you highly accurate data.
  2581.      
  2582.      I personally still question the informational content of that data.
  2583.      
  2584.      So, I'm going to sound like a curmudgeon and say:
  2585.      
  2586.      I don't know how to get that data, and I don't care to spend more
  2587.      time trying to find out.
  2588.      
  2589.      ... However, I'll forward this for publication in this months LG
  2590.      --- and I'll forward any responses back to you. (To respect your
  2591.      privacy we normally don't publish your e-mail addresses in LG. That
  2592.      does result in a bit of extra work on my part --- but I don't
  2593.      mind).
  2594.      
  2595.      On an academic level I'm curious what answers and suggestions we'll
  2596.      see. I'll be curious where this number comes from and what it
  2597.      "means."
  2598.      
  2599.      On a practical level I try to configure my systems and my work
  2600.      habits so I just don't have to care if my modem is working at 28.8,
  2601.      33.6, 14.4 or whatever.
  2602.      
  2603.      If you search the Answer Guy archives on the terms "modem" or
  2604.      "benchmark and you'll probably also find some other choice comments
  2605.      I've made about the marketing claims of modem vendors (and CPU
  2606.      vendors for that matter).
  2607.      
  2608.      I have similar opinions about most claims of "speed" as a feature.
  2609.      
  2610.    (?) PS, I am using the standard RH5.1 "if-up" scripts, but have used
  2611.    my own "ppp-on" style script in the past. I currently wrap my "if-up"
  2612.    script with a ppp-on script that looks like:
  2613.    
  2614. >-------------------------------------------------
  2615. #!/bin/bash
  2616.  
  2617.  
  2618. cd /etc/sysconfig/network-scripts
  2619. ./ifup-ppp ifcfg-ppp0 &
  2620. -------------------------------------------------
  2621.  
  2622.    and "ppp-off" looks like:
  2623.    
  2624. >-------------------------------------------------
  2625. #!/bin/bash
  2626.  
  2627.  
  2628. cd /etc/sysconfig/network-scripts
  2629. ./ifdown-ppp ifcfg-ppp0 &
  2630. -------------------------------------------------
  2631.  
  2632.    I can offer more information if needed. Thank you for any light you
  2633.    can shed on this issue.
  2634.    
  2635.      (!) I don't think these have anything to do with how fast or slow
  2636.      your modems are. If you want to reduce the amount of traffic that
  2637.      flows over these lines while running PPP --- run a caching
  2638.      named/etc/resolv.conf
  2639.      
  2640.    to the localhost address: 127.0.0.1) and a copy of Squid or Apache's
  2641.    cache proxy and configure your browsers to use this WWW cache.
  2642.    
  2643.    (?) James R. Ebright
  2644.    IT Professional, CoastalNet 
  2645.    
  2646.      (!) Sorry if I sound grumpy on this issue.
  2647.      
  2648.      Your frustration with slow modems seems palpable --- and the great
  2649.      backward regulatory morass that is our telecommunications
  2650.      infrastructure doesn't leave you (or me) many alternatives.
  2651.      
  2652.      (Cable modems are currently a pipe dream in my area).
  2653.              _________________________________________________
  2654.    
  2655.   (?)Win '95 Hesitates After Box Has Run Linux?
  2656.   
  2657.    From Frank & Mary Veldkamp on 15 Jul 1998 in the comp.unix.questions
  2658.    newsgroup
  2659.    
  2660.    Hi Jim; 
  2661.    
  2662.    To let you in on what I have done:- 
  2663.    
  2664.    I have an AMD 586/133 processor, 24M RAM, 2 x HDD (2.5G and 635M) run
  2665.    Linux off the 635M and boot in with floppy using LILO. 
  2666.    
  2667.    Win95 is resident on the main 2.5G which is formatted as C: and D:, 
  2668.    
  2669.    The problem occurrs any time that Win is run from a restart, be it a
  2670.    warm boot (Ctrl-Alt-Del), full power off, or reset button. 
  2671.    
  2672.    Its as if its trying to ascertain what is on the second drive and
  2673.    can't. It finally allocates it as a 2nd CDRom drive. You can't access
  2674.    it or get any more info from it. 
  2675.    
  2676.    I've tried re-installing the OP/SYS and have tried it with Win95 on
  2677.    its own but the same thing happens. 
  2678.    
  2679.      (!) It sounds like this problem occurs with Win '95 regardless of
  2680.      whether Linux has been installed or not.
  2681.      
  2682.      What sort of controller are you using? Is it IDE? SCSI? If it is
  2683.      IDE you'll want to double-check the settings with regards to
  2684.      "master/slave/standalone." If you have two IDE channels (pretty
  2685.      common these days) you might try putting the second drive on its
  2686.      own cable, on the other controller channel.
  2687.      
  2688.      If this is a SCSI controller, double and triple check the ID's, any
  2689.      pin settings and options on the drives and the termination
  2690.      settings/resistor packs on the drives and on the controller, and
  2691.      any settings on the controller or accessible via its "setup
  2692.      program" (firmware or software).
  2693.      
  2694.      In either case, try replacing the cables.
  2695.      
  2696.      The 635Mb drive is pretty small these days. You might consider
  2697.      setting it aside and springing for an extra 2 or 4 Gb drive.
  2698.      
  2699.    (?) If you can't help maybe you know of some one who can. I'm in no
  2700.    hurry and can manage other things without the solution, but any help
  2701.    you can give would be greatfully accepted.
  2702.    
  2703.    Kind regards Frank.
  2704.    
  2705.      (!) At 01:43 11/07/98 -0700, you wrote:
  2706.      
  2707.    (?) Hi,
  2708.    
  2709.    I'm sorry if you've had this one before and I don't want to waste your
  2710.    time but I've put Linux on for the first time and have no previous
  2711.    experience. I really put it on because I would like to learn something
  2712.    new. Anyway the problem is that when I boot to Win95 in which I have
  2713.    most of my programs, the first time that I try to do anything that
  2714.    requires reading of the hard-drives the computer stops responding for
  2715.    a considerable period. Some times up to 10 mins. Is this normal or can
  2716.    I bypass this problem with some sort of configuration. It's not too
  2717.    big a problem because it only happens once during any session but it
  2718.    is a pain in the @$#%^$. Your help would be greatly appreciated.
  2719.    
  2720.    Many thanks
  2721.    Frank.
  2722.    
  2723.      (!) If I understand you correctly you're saying that, since you
  2724.      installed Linux when you reboot into Win '95 your first subsequent
  2725.      access of the hard drive causes a hestitation of several minutes.
  2726.      
  2727.      Is that a proper understanding?
  2728.      
  2729.      If so I'd just simply be baffled.
  2730.      
  2731.      Does that only happen after a "vulcan PC pinch" warm boot
  2732.      (Ctrl-Alt-Del), or after a hard boot (reset button on the case), or
  2733.      does it happen after a full power cycle (wait about 15 to 30
  2734.      seconds between power off and powering back up)?
  2735.      
  2736.      Does this happen only once? Or does it happen periodically?
  2737.      
  2738.      I've seen some devices (ether cards mostly) that could "stay
  2739.      confused" through a hard boot. However, I can't imagine anything
  2740.      that Linux would do to your hardware that would cause this
  2741.      behaviour.
  2742.      
  2743.      In cases like this (where something inexplicable is going on and
  2744.      the secondary OS seems to be involved) I suggest removing the new
  2745.      software (Linux) and testing again. If that doesn't work try
  2746.      backing up all of your data and doing an IPL (initial program load
  2747.      --- i.e. a complete re-installation of your system software).
  2748.      
  2749.      Please note that Linux can run off of removable drives and can be
  2750.      loaded from a DOS prompt (Win '95 "Safe mode"). So, once you have
  2751.      your system behaving properly again you can explore alternative
  2752.      ways to access Linux that are even less likely to affect the rest
  2753.      of your system.
  2754.      
  2755.      If you're really motivated, and you can isolate it to a particular
  2756.      module, driver, or application under Linux that is causing the
  2757.      problem, it will be very helpful. If you're really motivated, and
  2758.      more of a programmer than I, you might even track down and fix the
  2759.      bug --- since that's what the sources are for. At least you might
  2760.      try building a couple of different kernels (try stripping out
  2761.      everything except the disk/controller driver that applies to the
  2762.      controller on which you've installed your root filesystem -- leave
  2763.      out the the sound, and ether drivers, and boot up into single-user
  2764.      mode --- don't start X or xdm and just reboot back If the problem
  2765.      never occurs in this configuration then you can keep adding things
  2766.      back until the problem recurs --- or you've got Linux running the
  2767.      way you want).
  2768.              _________________________________________________
  2769.    
  2770.   (?)Bad Cluster
  2771.   
  2772.    From Ron Bautista on 13 Jul 1998
  2773.    in the comp.unix.questions newsgroup
  2774.    
  2775.    Hi.. 
  2776.    
  2777.    I have a toshiba laptop...1.2gig. has like 10 bad cluster. Do I have
  2778.    to say goodbye to this one, and buy a new one If not--- what software
  2779.    or downloadable app can I get to get it fix.... I would very much
  2780.    appreciate your help. 
  2781.    
  2782.    Thank you, Ron Bautista 
  2783.    
  2784.      (!) I thought I answered this awhile ago. But I don't find it in my
  2785.      archives and I do find it in my inbox. So,
  2786.      
  2787.      You usually can't "fix" bad clusters --- though you can instruct
  2788.      your OS to "map them out" (refuse to use them). There used to be a
  2789.      software package for MS-DOS called Spinrite (Gibson Software?)
  2790.      which would do surface analysis of many types of drives and might
  2791.      be able to restore bad clusters to use (although it was never
  2792.      recommended).
  2793.      
  2794.      There used to also be procedures for many ST-506 (MFM and RLL) hard
  2795.      drives and some SCSI drives which would allow the user to do a "low
  2796.      level format" of the drive. However with modern IDE and SCSI drives
  2797.      this option is generally unavailable --- some drives will let you
  2798.      sent the low-level format command to them, and their electronics
  2799.      will blithely ignore your command and send a "success" signal back
  2800.      (I've even heard that some will use a suitable delay factor).
  2801.      
  2802.      The point is that modern drives are much more sophisticated than
  2803.      the old ST-506 drives. Their electronics usually already manage a
  2804.      number of extra blocks per track (cylinder) and automatically map
  2805.      the extra blocks into use. Thus you usually don't see any bad
  2806.      blocks on a modern drive until you have enough errors on some of
  2807.      the tracks that the are no extras for them.
  2808.      
  2809.      Thus, when you see "10" back blocks on a drive, it might be that
  2810.      there are many more that have been automatically mapped out by the
  2811.      drives electronics (and are thus not visible to the OS, even at the
  2812.      device driver layer).
  2813.      
  2814.      For using such a drive with Linux you simply use the -c option to
  2815.      'mke2fs' when you make (format) new filesystems. This will call the
  2816.      'badblocks' program and make the appropriate adjustments to the
  2817.      filesystems tables. I think these adjustments amount to permanently
  2818.      marking those blocks as unavailable by adding them to a special
  2819.      'inode' that's maintained by the fs --- they'll never appear in the
  2820.      free list.
  2821.      
  2822.      To add more/new bad blocks you can use the -c option to e2fsck. You
  2823.      can also run 'badblocks' by hand, save it's output/report to a
  2824.      file, and use that as input to e2fsk's -l switch.
  2825.      
  2826.      That's about all there is to say about bad blocks under Linux.
  2827.      
  2828.      Obviously you want to maintain good backup procedures --- and
  2829.      knowing that you have bad blocks on this drive may encourage you to
  2830.      be extra careful about your data on that system.
  2831.              _________________________________________________
  2832.    
  2833.   (?)XFree86 on Trident Providia 9685
  2834.   
  2835.    From Simon Zlachevsky on 13 Jul 1998 in the comp.unix.questions
  2836.    newsgroup
  2837.    
  2838.    Hi, kind of linux guru, I was tring to configure my X window manager
  2839.    for about two weeks using XFree86, but i didn't get results.... I have
  2840.    a trident providia 9685 vga card, and a view sonic E51 monitor, any
  2841.    advice? 
  2842.    
  2843.    I also download the latest version of xfree86 and ipgrade my own but
  2844.    still without results, so any advice?, hint?, tip? or such 
  2845.    
  2846.    Simon Zlachevsky 
  2847.    
  2848.      (!) Technically you don't configure your window manager for the
  2849.      video card, you configure the X server for the combination of video
  2850.      card and monitor that you have, then you configure the window
  2851.      manager to suit your prefences within any constraints imposed by
  2852.      you X server (and the underlying hardware).
  2853.      
  2854.      This card is listed as "supported" by recent versions of XFree86
  2855.      (though the support is listed as "limited" or "not maintained).
  2856.      It's also been listed on the "Red Hat Linux Hardware Compatibility
  2857.      List for Intel"
  2858.      (http://www.redhat.com/support/docs/rhl/intel/rh42-hardware-intel-1
  2859.      0.html) since at least version 4.2.
  2860.      
  2861.      You don't give any clue as to what the problem is or what steps
  2862.      you've taken. Also, as I've pointed out many times I'm not much of
  2863.      an eXpert. I'm sorry that the XFree86 crew doesn't have an "answer"
  2864.      crew of their own --- but you should at least read throught their
  2865.      FAQ at: http://www.xfree86.org
  2866.      
  2867.      Unfortunately there don't even appear to be any vendors providing
  2868.      commercial technical support for XFree86. That might be subsumed in
  2869.      some of the vendors that will sell you support for Linux (I would
  2870.      think it would).
  2871.      
  2872.      You can also read through the LDP "XFree86 Video Timings HOWTO" by
  2873.      Eric S. Raymond
  2874.      (http://sunsite.unc.edu/LDP/HOWTO/XFree86-Video-Timings-HOWTO.html)
  2875.      and the more general: XFree86 HOWTO
  2876.      (http://sunsite.unc.edu/LDP/HOWTO/XFree86-HOWTO.html).
  2877.              _________________________________________________
  2878.    
  2879.   (?)Reveal SC400 Sound Card: OSS/Linux and OSS/Free Supported?
  2880.   
  2881.    From kifox on 13 Jul 1998 in the comp.unix.questions newsgroup
  2882.    
  2883.    Do you know if the Reveal SC400 rev 4a soundcard is directly supported
  2884.    by Redhat 5.0 and how would I go about setting it up under Linux if it
  2885.    isn't?
  2886.    
  2887.    I'm not really sure but I think this card was manufactured by Aztech
  2888.    for Reveal if it helps any
  2889.    
  2890.      (!) Sound drivers is one area that I know less about than X. I've
  2891.      never used them much (under Linux, DOS, or Windows) and I know
  2892.      nothing special about them.
  2893.      
  2894.      You might try a 2.1.xxx kernel (since there was a quite a bit of
  2895.      work done on those drivers back in the 2.1.70's or 2.1.80's). You
  2896.      could also look at the OSS/Linux (open sound system), which is at:
  2897.      
  2898.      http://www.4front-tech.com/linux.html
  2899.      
  2900.      ... this is unusual in the Linux community in that the authors of
  2901.      this commercial (shareware?) package are also the principle authors
  2902.      of the sound drivers that are built into the Linux kernel (called
  2903.      OSS/Free). This oddity has been debated a bit --- but the widely
  2904.      held opinion is that the overall benefits outweigh the concerns.
  2905.      
  2906.      Anyone who really doesn't like this arrangement is free to derive
  2907.      their own version and enhancements off of the code that has been
  2908.      contributed to the the Linux kernel --- which is why it is still in
  2909.      compliance with the GPL.
  2910.      
  2911.      The commercial OSS only costs $20 and the authors seem to
  2912.      contribute as much back to the freeware/GPL code as they reasonably
  2913.      can (they have to sign NDA's --- non-disclosure agreements to get
  2914.      the specs for some cards).
  2915.      
  2916.      Looking at their web site I note that the Reveal SC300 is listed
  2917.      --- which suggests that the SC400 is not currently supported
  2918.      (unless it is also known as the Wave Extreme Pro).
  2919.      
  2920.      In any event, check out their web site yourself for details.
  2921.      
  2922.      And, once again, remember, if you want it supported under Linux,
  2923.      you have your choices --- and if you buy it despite the lack of
  2924.      support then you are failing to communicate your prefences back to
  2925.      the hardware vendors in any meaningful way.
  2926.      
  2927.      I've taken the liberty of copying the support@opensound.com (the
  2928.      OSS support people) on this request so that they can comment on, or
  2929.      clarify anything that I've said.
  2930.              _________________________________________________
  2931.    
  2932.   (?)Kernel Overview needed....
  2933.   
  2934.    From The Saint (mlkong) on 13 Jul 1998 the comp.unix.questions
  2935.    newsgroup
  2936.    
  2937.    Hello Answer Guy,
  2938.    
  2939.    I need infos on:-
  2940.      * the specialized startup routines of Linux.
  2941.        
  2942.      (!) There are several ways to start up a Linux kernel.
  2943.      
  2944.      The most common is to use a package called LILO which involves
  2945.      using a Linux program called /sbin/lilo to read a configuration
  2946.      program (usually /etc/lilo.conf) and use the directives and
  2947.      declarations therein to build a "boot record." A LILO boot record
  2948.      can be written to the "master boot record" (MBR) of a hard drive,
  2949.      to a floppy or to a "logical boot record" (a Linux filesystem's
  2950.      "superblock").
  2951.      
  2952.      Using LILO you can prompt the user for options (multi-boot and
  2953.      others), and even password protect specific boot modes. LILO is
  2954.      pretty flexible and allows one to define upto sixteen different
  2955.      boot configurations.
  2956.      
  2957.      It is also possible to write a Linux kernel directly to a floppy
  2958.      diskette. If this is done (using a Unix/Linux command like: dd
  2959.      if=./kenelimage of=/dev/fd0, or using the appropriate "rawrite"
  2960.      commands for your OS) than the floppy will boot the kernel.
  2961.      However, the major limitation of this technique is that no
  2962.      parameters can be passed to the kernel, making it very inflexible.
  2963.      
  2964.      Another method involves the use of the DOS program LOADLIN.EXE. I'm
  2965.      told there is also an NT native version of this program. LOADLIN
  2966.      allows you to load a Linux kernel which is stored in a normal DOS
  2967.      file. Once it is loaded it effectively kicks the previously loaded
  2968.      OS out of memory underneath it. This is very similar to the way
  2969.      that one loads Netware 3.x (SERVER.EXE).
  2970.      
  2971.      LOADLIN can be called via a DOS batch file, or it can be configured
  2972.      as at SHELL= or INSTALL= directive in the MS-DOS CONFIG.SYS. This
  2973.      allows one to use the multi-boot features of MS-DOS 6.x and later
  2974.      to boot Linux.
  2975.      
  2976.      LOADLIN also allows you to pass parameters to your kernels. You can
  2977.      have as many kernels and configurations as you can fit on your
  2978.      MS-DOS filesystems.
  2979.      
  2980.      Note that the Linux kernel is not required to "be on" its root
  2981.      filesystem. You can use a boot record on one device to load a Linux
  2982.      kernel from another device which in turns mounts its root
  2983.      filesystem from some other device (or even from "no device" --- the
  2984.      kernel can have a RAM disk and use the initrd feature which we'll
  2985.      cover in a few more paragraphs).
  2986.      
  2987.      It is also possible to create "El Torito" CD's for Linux. The "El
  2988.      Torito" format for CD's allows many of the newer systems and CD-ROM
  2989.      controllers to boot an OS directly off of the drive. Red Hat Inc.'s
  2990.      CD's have been for the last few versions (at least since 4.2 if I
  2991.      recall correctly). Note that this only works if your BIOS or CD-ROM
  2992.      controller includes the right features.
  2993.      
  2994.      There is also a program called SYSLINUX which allows a Linux kernel
  2995.      to be written to an MS-DOS formatted floppy and booted therefrom.
  2996.      I've never used that.
  2997.      
  2998.      On the PowerPC (Macintosh compatible systems, and others) there are
  2999.      different mechanisms. These systems use an "OpenBoot Firmware"
  3000.      which allows one to specify things like boot devices, usually
  3001.      through an interactive process, possibly involving a serial
  3002.      terminal connected to the "modem" (RS-422?) port on these systems).
  3003.      There are different versions of the OpenBoot firmware in different
  3004.      Macs and Mac clones. This can be used to boot LinuxPPC (the
  3005.      "monolithic" kernel). It is also possible to use a MacOS "Finder"
  3006.      application to boot MkLinux (the microkernel implementation of
  3007.      Linux for that platform).
  3008.      
  3009.      SPARC Linux uses SILO (and all SPARC machines that I've ever heard
  3010.      of use OpenBoot --- or its predecessor "FCODE" --- Sun introduced
  3011.      and published the whole OpenBoot specification, which is
  3012.      essentially a small Forth kernel in ROM for doing diagnostics,
  3013.      booting, and device initialization and configuration). OpenBoot is
  3014.      used on a number of workstation platforms --- I think recent HP
  3015.      workstations all use it, too.
  3016.      
  3017.      On Alphas there are a couple of different (hardware level) monitors
  3018.      that lead to the OS boot. I haven't played with any of them, yet,
  3019.      but I'm told that MILO is used on some (most?).
  3020.      
  3021.      As we move away from the question of "how does it get into memory"
  3022.      we can ask what other features are unique to the Linux start-up. On
  3023.      unusual feature is "initrd" the option to create an "initial RAM
  3024.      disk image" --- this is a compressed archive that is extracted into
  3025.      a RAM disk, and it allows one to have a modular kernel and a script
  3026.      that loads the desired modules from the RAM disk. It is also
  3027.      possible to create multi-volume "boot/root" and "boot/init/root"
  3028.      sets of Linux.
  3029.      
  3030.    (?)
  3031.      * a move toward totally modulat kernel? What does it means?
  3032.        
  3033.      (!) I don't know what a "totally modular kernel" means. You still
  3034.      have the option to compile a Linux kernel with various options
  3035.      "built-in" and others built as separate modules. You can do this in
  3036.      many combinations.
  3037.      
  3038.      With initrd you can create a kernel that doesn't even have the
  3039.      driver for its primary drive controllers built-in (it would be a
  3040.      module in the initrd image and would be auto loaded by either the
  3041.      "kerneld" (or "kmod") feature or by using an "insmod" or "modprobe"
  3042.      command from the /initrc script that's extracted unto the RAM
  3043.      disk).
  3044.      
  3045.      I personally don't do this. I build my primary disk controller
  3046.      driver and my primary ethernet card drivers directly into my
  3047.      kernels.
  3048.      
  3049.    (?)
  3050.      * overview of the basic kernel organization.
  3051.        
  3052.      (!) see below.
  3053.      
  3054.    (?)
  3055.      * important differences found in tak oriented splinter splinter
  3056.        trees.
  3057.        
  3058.      (!) I have no idea what a "task oriented 'splinter, splinter' tree"
  3059.      would be.
  3060.      
  3061.    (?) For your information i'm an undergraduate doing a research on this
  3062.    topics. Please help cause i'm in a dark over Linux operating system!! 
  3063.    
  3064.      (!) These last two questions are far deeper into the Linux kernel
  3065.      code that I have gone.
  3066.      
  3067.      You'll probably want to start by reading:
  3068.      
  3069.    Linux Kernel Internals, 2nd Ed. (ISBN: 0-201-33143-8)
  3070.           by:
  3071.           Beck, M.
  3072.           B\"ohme, H
  3073.           Dziadzka, M
  3074.           Kunitz, U.
  3075.           Magnus, R. and
  3076.           Verworner, D.
  3077.           Published by Addison-Wesley in 1997
  3078.           
  3079.      ... you'll want to look at the LDP KHG (the Linux Documentation
  3080.      Project's Kernel Hacker's Guide) (http://sunsite.unc.edu/LDP/ and
  3081.      many mirrors).
  3082.      
  3083.      You'll undoubtedly want to also extract a copy of the sources,
  3084.      possible for several versions of the Linux kernel, and look at the
  3085.      directory structures and read some of the code. That will reveal
  3086.      everything that's important about the organization of the kernel.
  3087.      
  3088.      One of these days I'd like to see a "Linux Kernel Sources Annoted
  3089.      Study Guide" --- telling me where to start
  3090.      (/usr/src/linux/arch/i386/boot --- bootsect.S or setup.S?) and
  3091.      walks through all of the code until a simple, hypothetical system
  3092.      completes a shutdown. Of course it would be nice to see the video,
  3093.      too!
  3094.      
  3095.      Another thing you could do is look through the archives of the
  3096.      kernel mailing list, even join it and read through some of the
  3097.      traffic that flows through there. That is the principle medium of
  3098.      communications for the developers who collaborate on the Linux
  3099.      kernel.
  3100.      
  3101.      For comparison you might also look for overviews of the NetBSD, and
  3102.      OpenBSD development projects.
  3103.      
  3104.    (?) Thanks. Email me back ASAP please... 
  3105.              _________________________________________________
  3106.    
  3107.    The original thread appeared in Issue 30, Solaris -> Linux. The entire
  3108.    thread below was also posted in the comp.unix.questions newsgroup.
  3109.                         ____________________________
  3110.    
  3111.   (!) Remote lpd from Solaris to Linux
  3112.   
  3113.    From The Answer Guy on 08 Jul 1998 
  3114.    
  3115.      Kuksi,
  3116.      
  3117.      Here's another suggestion forwarded from one of my readers:
  3118.      
  3119.    (?) I like to print from Solaris to Linux. (...repeat of thread...)
  3120.    
  3121.      (!) To which "Joe Ellis" adds:
  3122.      
  3123.      Wasn't sure how to reply to this (no email address that I saw) but
  3124.      whoever had this question: 
  3125.      
  3126.      You have to (under redhat 5.0 anyway) add an account for each
  3127.      username on the remote system whom you wish to be able to print.
  3128.      I.E. if user 'foo' on the Solaris machine wants to remote print to
  3129.      the Linux box, you have to add a user account 'foo' to the Linux
  3130.      box. This is in addition to the host/ip in the /etc/hosts.lpd file.
  3131.      I haven't figured out WHY but I know in a stock redhat 5 box thats
  3132.      how it works. I cannot validate this for other Linux systems other
  3133.      than redhat as thats the only dist. I have access to at the moment.
  3134.      
  3135.      -joe 
  3136.      
  3137.      That makes sense. You could probably edit the appropriate PAM
  3138.      (pluggable authentication module) configuration to allow anonymous
  3139.      access --- but I don't know, just off hand, which file that would
  3140.      be or what the magic configuration would look like.
  3141.      
  3142.      I suppose we could ask on the PAM mailing list...
  3143.      
  3144.      I've been meaning to install LPRng (the "next generation" print
  3145.      spooling suite) but haven't taken the time to do it. For now I
  3146.      actually rcp and print my files manually. I've had lpd working on
  3147.      some of my systems, sometimes. But I hardly ever print anything, so
  3148.      there's little inconvenience and not nearly enought to track it
  3149.      down.
  3150.      
  3151.      For the first few years I used Linux I printed everything by
  3152.      preparing a file and using:
  3153.      
  3154.      'cat ... > /dev/lp0'
  3155.      
  3156.      ... on that.
  3157.      
  3158.      Let's just say, I don't like printers very much.
  3159.                         ____________________________
  3160.    
  3161.   (?) printing Solaris->Linux
  3162.   
  3163.    From kuksi on 13 Jul 1998 
  3164.    
  3165.    You have to (under redhat 5.0 anyway) add an account for each username
  3166.    on the remote system whom you wish to be able to print.
  3167.    
  3168.    --: joe
  3169.    
  3170.    There is no need to add an account, but thanks to Joe for the answer 
  3171.    
  3172.    Now it is working !!!! Yeahuj!! *** The problem was idiocity... : I
  3173.    installed the remote printer under Solaris: 
  3174.    
  3175. 1. #lpsystem -t bsd linux_machine_name
  3176. /Identifies the print server system and its type(bsd for BSD)/
  3177.  
  3178. 2. #lpadmin -p printer_name -s linux_machine_name -T unknown -I any
  3179. /Identifies the printer on the printer server./
  3180.  
  3181. 3. #accept printer_name
  3182. #enable printer_name
  3183.  
  3184. ^^^^^^^^^^^^^^^^^^^
  3185. /Specifies that the print client can send print request to the printer./
  3186.  
  3187. 4. #lpadmin -d printer_name
  3188. /Set's the printer as the system's default printer destination./
  3189.  
  3190.    BUT! In the point 3. "enable printer_name" it isn't enough, because:
  3191.    
  3192. 5. #lpstat -t
  3193. scheduler is running
  3194. system default destination: printer_name
  3195. system for printer_name: linux_machine_name
  3196. printer_name accepting request since Mon Jul 13 10:25:43 MET DST 1988
  3197.  
  3198. printer printer_name is ready. disabled since Mon Jul 13 10:25:55 MET
  3199.  
  3200. ^^^^^^^^
  3201.  
  3202. DST 1988
  3203.  
  3204. new printer
  3205.  
  3206. /Verifies that the printer is ready./
  3207.  
  3208.    It needs a second "#enable printer_name" command, and after this it is
  3209.    working...
  3210.    
  3211.    Shhhhh.. ! ***
  3212.    
  3213.    Otherwise..
  3214.    
  3215.    = (think i am
  3216.    
  3217.    Thank for your answers
  3218.    
  3219.    kuksi
  3220.                         ____________________________
  3221.    
  3222.   (?) printing Solaris->Linux
  3223.   
  3224.    From kuksi on 14 Jul 1998 
  3225.    
  3226.    (?) You have to (under redhat 5.0 anyway) add an account for each
  3227.    username on the remote system whom you wish to be able to print.
  3228.    
  3229.    --: joe
  3230.    
  3231.    However joe has right....the linux account to be a must.
  3232.    
  3233.    (gondolom en 
  3234.    
  3235.    kuksi 
  3236.    
  3237.      (!) Well, if that's a problem you could always try LPRng. Otherwise
  3238.      you might want to set up Linux as a NIS client on this LAN (if
  3239.      you're using NIS) --- or configure it so that it's passwd files are
  3240.      kept in sync with the others (assuming you're maintaining
  3241.      synchronized passwd files, which you really want if you're running
  3242.      any NFS throughout that site).
  3243.              _________________________________________________
  3244.    
  3245.   (?)Lilo not working on SCSI when IDE drives installed
  3246.   
  3247.    From Timm Gleason on Wed, 08 Jul 1998 in Newsgroups:
  3248.    comp.unix.questions
  3249.    We have several Debian/Linux workstations around the office that
  3250.    contain both SCSI and IDE devices. Now we almost exclusively use SCSI
  3251.    hard drives but occasionally we will stick an extra IDE drive into a
  3252.    box when more disk space is needed. My problem is this, when we
  3253.    recompile a new kernel after a security patch of fix, and then run
  3254.    lilo it gives the error `Warning:/dev/sda2 is not the first disk`. So
  3255.    then I have to halt the machine, physically remove the IDE device,
  3256.    boot with a rescue disk, rerun lilo, halt the machine, reinstall the
  3257.    IDE device and reboot. Now while I admit that this does work, it can
  3258.    be a real pain to have to do that to every workstation we have that
  3259.    has mixed devices installed.
  3260.    Thanks
  3261.    Timm Gleason 
  3262.    
  3263.      (?) Normally there is no problem with integrating SCSI and IDE
  3264.      drives in a system (under Linux).
  3265.      However I think I have a hint as to your problem. A normal PC BIOS
  3266.      will boot off of the first IDE drive on a system. It will only look
  3267.      at the MBR (master boot record) on the first hard drive (usually
  3268.      after looking for a boot record on only the first floppy).
  3269.      The normal consequence of this is that you usually have to install
  3270.      your OS on the first hard drive. IDE drives conform to an interface
  3271.      which is built into the BIOS. With SCSI there is a BIOS extension
  3272.      on the controller's ROM that allows the system to boot.
  3273.      BIOS extensions are code that's contained on the ROM's of any
  3274.      expansion card -- so long as it contains a specified header and
  3275.      calling convention. Part of a normal PC boot process is to scan the
  3276.      reserved address space between A0000 and E0000 (or so -- it might
  3277.      be from B0000 through D0000, I don't have a BIOS reference handy)
  3278.      for this "BIOS extension signature" --- and then to call setup
  3279.      routines an give offsets from any of these signature blocks that it
  3280.      finds. That is how SCSI controllers and ethernet boot PROMS (and
  3281.      other "bootable" devices) work.
  3282.      The problem is that most SCSI controllers and PC BIOS' will give
  3283.      the IDE drives precedence over any SCSI drives.
  3284.      One approach would be to let the system have "its" way and let lilo
  3285.      write the MBR to the IDE drive. So long as your BIOS (with
  3286.      extensions) can see the SCSI drives it doesn't matter that the lilo
  3287.      boot block refers to another drive.
  3288.      An odd and confusing thing about Linux is that the boot block, the
  3289.      kernel, and the root filesystem can all be on different devices. In
  3290.      fact you don't need a "boot block" at all --- you can use
  3291.      LOADLIN.EXE to start a Linux kernel (I've heard it can be used to
  3292.      load a FreeBSD kernel, too --- but they have their own program for
  3293.      that anyway).
  3294.      So, if you have a /etc/lilo.conf that looks like:
  3295.  
  3296. boot=/dev/hda
  3297. read-only
  3298. prompt
  3299. timeout=200
  3300.  
  3301. image = /vmlinuz
  3302. root = /dev/sda1
  3303. label = example
  3304.  
  3305.      ... and you run /sbin/lilo to "compile" this set of configuration
  3306.      directives into a boot block here's what it will do:
  3307.      
  3308.      Write the boot block to /dev/hda
  3309.      note: we use the raw device, so it goes to the MBR, if we use
  3310.      /dev/hda1, it goes to the "logical boot record" or "superblock" of
  3311.      the specified (first) partition.
  3312.      The 'read-only' directive is passed to any Linux kernels that you
  3313.      load --- it specifies that the root filesystem will be initially
  3314.      mounted read-only to allow the fsck to work properly on it.
  3315.      The 'prompt' directive is used to control the behavior of the LILO
  3316.      boot program at it's runtime (it forces it to print an interactive
  3317.      prompt to the console during boot) and the 'timeout' directive
  3318.      specifies how long the prompt will wait before continuing to the
  3319.      default boot "stanza" (the first, and in this case, only one).
  3320.      The image directive points /sbin/lilo to the location of a kernel
  3321.      image (file). Note the distinction between /sbin/lilo's "compile
  3322.      time" and the lilo boot code's "run time" (that's why I push this
  3323.      analogy of treating the lilo package as a "boot block compiler" ---
  3324.      it helps put these distinctions in familiar terms).
  3325.      This directive causes /sbin/liloi to "map" the device number and
  3326.      address of the image file. That address can be in different formats
  3327.      depending on whether the "linear" directive is used to inform
  3328.      /sbin/lilo that the device is being accessed through "sector
  3329.      translation."
  3330.      The 'root' directive specifies where the root filesystem for this
  3331.      "stanza" is located. That is passed to the kernel unless
  3332.      over-ridden by parameters that are entered interactively at the
  3333.      prompt.
  3334.      Obviously the 'label' directive allows the user to select different
  3335.      boot stanzas by name at the lilo prompt. (Not that the "lilo
  3336.      prompt" refers to run-time rather than "compile-time" --- it is the
  3337.      "boot block code" that is doing the prompting and /sbin/lilo is
  3338.      utterly uninvolved at that point).
  3339.      
  3340.      I've played with a number of configurations of lilo.conf over the
  3341.      years. I've written boot blocks to floppies, specified image files
  3342.      that were on mounted (non-root) filesystems, and done other silly
  3343.      things. Lilo's flexibility can be very confusing and I've tried
  3344.      many things that didn't work (usually for good reason --- Lilo is
  3345.      constrained by the limitations and conventions employed by your
  3346.      BIOS).
  3347.      If you try this and it doesn't work you might need to put a tiny
  3348.      partition on that drive. You can put a very small minix filesystem
  3349.      on that (conceptually you could put a kernel and no fs in a single
  3350.      track --- but /sbin/lilo doesn't have a way to "find" that).
  3351.      For that matter you can put a Linux kernel file on any fs that you
  3352.      put on that IDE drive. If you put a kernel image on an MS-DOS
  3353.      filesystem and run /sbin/lilo while that fs is mounted (it will
  3354.      complain if it cant find the kernel images at "compile time") you
  3355.      should be fine (until you run a DOS defrag utility!).
  3356.      A wholly different approach is to to lie to your CMOS setup and
  3357.      tell it that you have no IDE drives installed.
  3358.      Linux doesn't rely on your CMOS settings or BIOS to detect or use
  3359.      IDE drives. So, once Linux is loaded you should be able to see your
  3360.      IDE drives even if they are not listed in your CMOS configuration.
  3361.      (I'm pretty sure I did that once and I don't remember having to do
  3362.      any tweaking to get it to work. It might be dependent on your
  3363.      kernel version and compilation options, though).
  3364.      Obviously, you're doing something a little different --- most
  3365.      people who mix IDE and SCSI drives start with the IDE's and always
  3366.      let them be the boot devices. That's the path of least resistance.
  3367.      However, you can try the tricks I've described --- let me know if
  3368.      removing the CMOS parameters for the drives works (or if I'm
  3369.      suffering from delusional memories).
  3370.                         ____________________________
  3371.    
  3372.   (?) Lilo not working on SCSI when IDE drives installed
  3373.   
  3374.    From Timm Gleason on Fri, 10 Jul 1998 in the comp.unix.questions
  3375.    newsgroup
  3376.    Thanks for your prompt reply. Many of the things you mentioned we have
  3377.    tried at one time or another with limited results. We are suing Asus
  3378.    P2L97 motherboards which have the ability to set in the BIOS which
  3379.    drive type you want it to look at first. We have even removed the IDE
  3380.    drive from the BIOS settings. The problem is that since Linux does not
  3381.    rely on BIOS settings for IDE drives it always detects them first. And
  3382.    typically we are adding old extra IDE drives for expanding storage or
  3383.    the CD-ROM drive in the machine is an IDE.
  3384.    
  3385.      (!) It's true that Linux doesn't rely on BIOS settings. However,
  3386.      the lilo boot loader does. It is the boot loader that is looking in
  3387.      the wrong place. This is probably a bug in your BIOS (or still in
  3388.      your configuration of that BIOS, as it sits in the CMOS registers).
  3389.      
  3390.    (?) I have yet to try setting boot=/dev/hda and root=/dev/sda in the
  3391.    lilo.conf. I was under the impression (mistakenly I guess) that the
  3392.    MBR and root disks had to be on the same partition. 
  3393.    
  3394.      (!) The fact that this is a very common misconception explains why
  3395.      I take such pains to explain it in so much detail. I must have gone
  3396.      over this about twenty times in LG and about a hundred in the
  3397.      newsgroups.
  3398.      Also, a nitpick, don't think of them as "root disks" --- think of
  3399.      them as root filesystems.
  3400.      An MBR consists of a boot record and a partition table. The boot
  3401.      loader points to a kernel (or several) --- or it might point to a
  3402.      secondary boot loader. The Linux kernel contains a pointer to the
  3403.      default root fs. The LILO boot loader (from the MBR or from a
  3404.      floppy or any logical boot record) may pass parameters (such as
  3405.      video mode and root fs parameters) to the kernel to over-ride the
  3406.      one that's built-in. The 'rdev' command can write a new rootfs
  3407.      string into a kernel (and it can tweak other values like "video
  3408.      mode" --- look at the 'rdev' man page for details).
  3409.      
  3410.    (?) Thanks Again
  3411.    
  3412.      (!) You're welcome.
  3413.              _________________________________________________
  3414.    
  3415.   (?)Yggdrasil: A Breath of Life for the Root of CD Linux Distributions?
  3416.   
  3417.    From Mike on Sun, 05 Jul 1998 in the comp.unix.questions newsgroup
  3418.    
  3419.    What do you know about Yggdrasil linux distribution? They purport
  3420.    significant advances in OS/SOFTWARE/DOCUMENTATION not achieved by
  3421.    others. Is it real or make believe or worthy of mention? I was
  3422.    impressed by what I read, however I am not all knowing but just
  3423.    researching linux to find the best distribution/version to begin
  3424.    learning yet have an os that is versatile enough to keep using once
  3425.    abilities exceed beginner/amateur. Mike 
  3426.    
  3427.      (!) Yggdrasil's ``Plug and Play'' Linux was the first CD-ROM
  3428.      distribution ever produced. They also developed and released the
  3429.      first CDR recording software that was available under Linux.
  3430.      Yggdrasil was also one of the earliest companies to compile, print
  3431.      and bind "dead tree" versions of the LDP (Linux Documentation
  3432.      Project). Back near the beginning of 1997 they released an 8-CD set
  3433.      of Linux archives (not including their own distribution). They are
  3434.      the only company that I know of which has produced a video
  3435.      documentary on using Linux.
  3436.      Adam Richter, founder of Yggdrasil, is still active in the
  3437.      community. He frequently shows up and local user group meetings
  3438.      (http://www.svlug.org) and he occasionally participates in
  3439.      discussions on the 'Linux-kernel' mailing list. In fact I saw him
  3440.      at the "midnight rally" that the SVLUG and some other bay area
  3441.      Linux enthusiasts hosted in front of Fry's and CompUSA on the night
  3442.      that Microsoft officially shipped Win '98(*).
  3443.      * Specifically he and I discussed the fact that the rally had just
  3444.        run out of the 500 S.u.S.E. CD's that had been donated to us for
  3445.        promotional purposes. He joked that he could drive over to his
  3446.        offices --- a couple of miles from there --- and get a case or two
  3447.        of old sets of the "archives" --- but also expressed the concern
  3448.        that they were probably a little too old to be of interest to new
  3449.        Linux users.
  3450.        
  3451.      Recently (just last February --- a few months ago), he announced
  3452.      his experimental "Ground Zero" repository --- which is an effort to
  3453.      provide a comprehensive and dynamic repository of all of the
  3454.      available Linux packages in tarball (Slackware compatible .tar.gz),
  3455.      RPM (Red Hat), and .deb formats.
  3456.      Apparently Adam also has some interesting processes running at his
  3457.      site --- based on some custom programming he's done. It monitors
  3458.      certain FTP sites (and some other sites?) and automatically
  3459.      fetches, builds and tests new kernels (and some other packages?). I
  3460.      don't know the details --- but it sounds very cool.
  3461.      One of the things I really liked about Yggdrasil's distribution was
  3462.      that it had an integrated source tree. You could easily find the
  3463.      sources for anything in the distribution (I think it included a
  3464.      'whence' command which was similar to the 'which' command except in
  3465.      that it pointed you to the source code for a command, rather than
  3466.      just to the binary).
  3467.      I mention that in the past tense since I haven't used "Plug and
  3468.      Play" Linux in a number of years --- it hasn't been updated
  3469.      recently. In response to your note I raced over to the Yggdrasil
  3470.      web site (http://www.yggdrasil.com/) in the hopes that they
  3471.      actually have a new release.
  3472.      (I keep asking Adam and he just quietly assures me not to worry
  3473.      about it!).
  3474.      So, I'd like to know what you've read (and if there was a date on
  3475.      it).
  3476.      As for the relative merits of Yggdrasil's "Plug and Play" vs. Red
  3477.      Hat, S.u.S.E., Debian, Caldera, and the most recent Slackware ---
  3478.      it's not a fair comparison. All of these other major, general
  3479.      purpose distributions have been updated several times since the
  3480.      last "Plug and Play" release.
  3481.      So, I cannot recommend the old Yggdrasil version except for
  3482.      historical (almost archealogical) purposes. That's why I want them
  3483.      to release a new version.
  3484.      (Meanwhile the "Ground Zero" effort is very up-to-date and
  3485.      completely independent of your distribution --- so you should
  3486.      definitely bookmark their site and check on it regularly).
  3487.                         ____________________________
  3488.    
  3489.   (?) More on Distribution Preferences
  3490.   
  3491.    Answerguy, What do you think of this distribution? OpenLinux Base 
  3492.    
  3493.    OpenLinux«: A complete Linux operating system with all the system
  3494.    tools youll need. Plus valuable add-ons, like Netscape« Communicator
  3495.    and backup utilities.
  3496.    
  3497.    US and Canadian orders can take advantage of a $20.00 rebate from
  3498.    Caldera, bringing the price of OpenLinux Base to $31.95
  3499.    
  3500.      (!) I haven't used any of the Caldera distributions recently. This
  3501.      is a much more recent version the those that I've used. So, I don't
  3502.      have an informed opinion on them.
  3503.      Since you just asked about Yggdrasil yesterday I'm wondering if
  3504.      this is a pattern. I hope you aren't going to send me of these
  3505.      every day.
  3506.      My opinion about Caldera Standard is that it is the best choice for
  3507.      a site that has existing Netware servers or clients. It was also
  3508.      the first distribution that was supported by WordPerfect for Linux.
  3509.      There are a number of other commercial software companies that work
  3510.      with Caldera for releasing Linux versions of their product.
  3511.      If the Caldera Base includes a copy of StarOffice (as your press
  3512.      release says it does) than that is a very good reason to try it.
  3513.      (The installation of StarOffice that I have from an early 4.0 CD is
  3514.      very unstable --- it dies quickly and horribly under my S.u.S.E.
  3515.      5.1 system. I've heard that that there are new libraries and
  3516.      releases that fix that --- but I haven't been particularly
  3517.      motivated to go get them since I still mostly live in text
  3518.      consoles).
  3519.      StarOffice is a very promising product --- and the competition
  3520.      between it Corel Office, and Applixware should be interesting. The
  3521.      most important feature of either is to provide me with stable,
  3522.      reliable access to MS Office .DOC and .XLS files. The first one to
  3523.      successfully do that with MS Office '97 wins my vote. (Since that
  3524.      is one of the few reasons for me to get out of a text console and
  3525.      into X --- the others being Netscape Navigator (when I need
  3526.      something that just doesn't look right in Lynx), 'xfig' (to draw
  3527.      diagrams for the book that I'm working on), and 'xdvi', and 'gv'
  3528.      (to preview the LaTeX and dvips output for same).
  3529.      At the same time I recognize the potential of these office suites
  3530.      (and some others). As these get better we see Linux as a more
  3531.      serious contender on the desktops of home and corporate users.
  3532.      According to some surveys we're already winning against NT in a
  3533.      number of server categories (including web, mail, DNS, and
  3534.      SMB/Samba). We've gained a lot of ground in the technical and
  3535.      scientific workstation market (although the push to get EDA and
  3536.      CAD/CAM suites ported is just barely started). But all the "mom's"
  3537.      and "pop's" out there that have their college kids buying systems
  3538.      for them need something a bit less intimidating than 'emacs' and
  3539.      'vi' --- and TeX and friends.
  3540.      KDE and GNOME will provide the main interface and many of the toys
  3541.      and widgets. StarOffice, Applixware, Corel Office, SIAG, LyX,
  3542.      Wingz, Xess, and others are all vying to provide the main user
  3543.      applications.
  3544.      (I personally think we'll also need multi-media GUI "Welcome to
  3545.      Linux/XFree86/KDE" and "Welcome to Linux/XFree86/GNOME" interactive
  3546.      tutorials --- with sound, music, via, and a dancing, talking Tux. I
  3547.      want a system I can install on a box and send to my Mom!).
  3548.      
  3549.    Getting back to your implicit question:
  3550.           Which Linux distribution should you try?
  3551.           
  3552.    ... the answer is:
  3553.           I have no idea!
  3554.           
  3555.      Unlike the marketeering weenies that you encounter in every
  3556.      magazine, and newspaper, on every TV and radio show and on
  3557.      billboard and busses every time you drive anywhere ... unlike them,
  3558.      I don't want to push a bunch of features on you and I have nothing
  3559.      to sell you (except my time --- which is pretty expensive).
  3560.      Helping someone select a Linux distribution (or anything else) is a
  3561.      matter of requirements analysis. What do you need? What do you
  3562.      want? How much are you willing to spend? (Time and money). It is
  3563.      quite possible that I would recommend FreeBSD, NetBSD, OpenBSD,
  3564.      BSDI/OS, or even Win '95, NT, or MS-DOS --- if I understood your
  3565.      requirements sufficiently.
  3566.      Before you send me a list or essay on your requirements consider
  3567.      that the Answer Guy is time I volunteer to show my appreciation for
  3568.      all the work that people like Richard Stallman, Linus Torvalds,
  3569.      Alan Cox, Arnold Robbins, and so many others have put into the GNU
  3570.      project, Linux and other freeware. I try to answer questions that I
  3571.      think are of broad interest to many Linux users and potential Linux
  3572.      users. (And possibly of interest to *BSD'ers and eventually GNU
  3573.      HURD'ers).
  3574.      The easy answer to selecting a distribution is: pick one! Since
  3575.      many of them are freely distributable you might want to start with
  3576.      one of those. Debian and Red Hat are definitely freely accessible.
  3577.      I think Slackware is still available online --- and I suspect that
  3578.      it's perfectly O.K. to borrow a friend's copy of the CD. Walnut
  3579.      Creek might have exclusive rights on CD distribution of Slackware
  3580.      --- I don't know. I think S.u.S.E. is free for "personal" use
  3581.      (although it is a bit unclear my S.u.S.E. 5.2 manual says:
  3582.      
  3583.      Copyright This work is copyrighted [sic] by S.u.S.E. GmbH and is
  3584.      placed under conditions of the GNU General Public License. You may
  3585.      copy it in whole or in part as long as the copies retain this
  3586.      copyright statement.
  3587.      
  3588.      ... (overleaf of the title page). It's not clear whether "this
  3589.      work" is intended to refer to the book or to the distribution that
  3590.      included it. The box and CD case (4CD's) don't list any other
  3591.      copyright or licensing notices that I can find. The only index
  3592.      entry under the term "license" points that the Appendix of their
  3593.      manual that contains the full text of the FSF GPL. That would
  3594.      suggest that you can borrow my set of S.u.S.E. CD's and install it,
  3595.      and would even suggest that someone could start creating derivative
  3596.      works (other CD sets) to sell in competition with S.u.S.E.
  3597.      However, I've always been under the impression that S.u.S.E. is a
  3598.      commercial distribution. I purchased both of my copies for it --
  3599.      5.1 and 5.2 --- and I've purchased many copies of various Red Hat
  3600.      versions (the boxed set and the lower-priced archives sets). So,
  3601.      you might want to ask a S.u.S.E. rep before you go into production
  3602.      against them. However, I doubt that they'd even want you to waste
  3603.      their time asking if it's O.K. to install from a friend's set on an
  3604.      evaluation basis.
  3605.      You're clearly willing to buy some distribution once you find one
  3606.      you like. Personally I usually select Red Hat for my customers
  3607.      (after I've considered their needs) simply because Red Hat has a
  3608.      pretty good balance of the various factors they care about.
  3609.      Debian has more packages (slightly) -- but the last copy of dpkg
  3610.      that I used was very convoluted (I'm hoping to get a 2.0 CD as soon
  3611.      as it goes out of beta). Slackware was nice when I needed it ---
  3612.      but most of my customers aren't interested in fussing with tarballs
  3613.      --- they want something with a decent package manager (one that can
  3614.      be operated easily from command lines as well as throught a GUI).
  3615.      Under RH it's pretty simple to write a script to poll an internal
  3616.      FTP site for package updates and automatically apply any of them
  3617.      that appear. (I think there's a package called 'rpmwatch' floating
  3618.      around some 'contrib' directories somewhere that does precisely
  3619.      that). I haven't looked at RH 5.1 yet.
  3620.      S.u.S.E. and Caldera both use the RPM format.
  3621.      S.u.S.E. includes more packages that the last couple RH CD's I used
  3622.      (4.2 and 5.0). It seems to have a pretty good installation
  3623.      interface though I have mixed feelings about their interpretation
  3624.      of the SysV init scripts. They have a large shell script named
  3625.      /etc/rc.config (mine is about 770 lines long --- of which about 500
  3626.      are comments). This file contains a long list of shell variables
  3627.      and values. You can edit this file by hand or you can use YaST (Yet
  3628.      another Setup Tool) which is their curses based system's
  3629.      administration interface. The idea is that the other scripts all
  3630.      "source" this one file and use the variables that apply to their
  3631.      operation.
  3632.      On the one hand this is very nice. Concievably I could create a
  3633.      particular installation profile (which they support via their
  3634.      installation interface), install the system, configure it via YaST
  3635.      and put it into production.
  3636.      Let's assume I use the 'chattr +i +d' (immutable and no-dump) flags
  3637.      on all the files that came with the distribution and unset them as
  3638.      a pair whenever I change any of them; this would allow me to use
  3639.      the 'dump' program and never backup files that were from the
  3640.      initial installation off of the CD). This is for a "data+config"
  3641.      backup strategy.
  3642.      If I've stored the rescue floppy they created, and the rc.config
  3643.      file --- I should be able to restore the whole system to its
  3644.      configuration with just my installation CD's, my rescue diskette,
  3645.      and the rc.config file. (Naturally, I'll have to restore all my
  3646.      data as well).
  3647.      Another nice thing is that I might be able to create a little
  3648.      script to generate new rc.config files from a master form and a
  3649.      couple of other data files. If I have lots of new machine trickling
  3650.      in I might have a few files that contain lists of IP addresses,
  3651.      hostnames, NIS domain names, shared printers, and other local (LAN)
  3652.      data. I might conceivably be able to generate a new custom
  3653.      rc.config file for each new box and automate even more of the
  3654.      deployment.
  3655.      Under other distributions I have to mess with over a dozen separate
  3656.      files. Unfortunately it's not that easy even under S.u.S.E. If you
  3657.      use NFS you really want to use NIS or synchronize the 'passwd' and
  3658.      'group' files across your systems (since maintaining ugidd maps is
  3659.      not scaleable and NFS relies on the uid/gid values to determine
  3660.      access and permissions.
  3661.      None of the distributions I've seen prompt me for a passwd/group
  3662.      file set prior to installation. So, if I use Red Hat on one system
  3663.      and S.u.S.E. on another (I do) --- there will be some base files
  3664.      that differ between them (most of the uid's created by most of the
  3665.      distributions do match -- there were only a couple that I had to
  3666.      run through a "masschown" script). (Distribution Dudes!: This is my
  3667.      enhancement plea for the month! Please let me hand you a
  3668.      passwd/group file set --- from floppy or over ftp/nfs/http --- and
  3669.      use that to map the ownership as you install).
  3670.      These days, for large sites, I recommend creating one "template"
  3671.      installation one a typical box, cutting that whole installation to
  3672.      tape or CDR after configuration but before any use (data). Now you
  3673.      can do all new system installations as "restores" from your
  3674.      backups. You can also take that opportunity to make sure that your
  3675.      recovery plans, rescue diskettes and backup media are all in
  3676.      working order. One reason I recommend that is that it takes me
  3677.      about four hours to fix various permissions and configurations
  3678.      (hosts.allow, hosts.deny, etc) after I've completed a new
  3679.      installation.
  3680.      One final note about choosing a distribution: don't just ask me.
  3681.      I'm only one person. I've only used about a half dozen Linux
  3682.      distributions (some of which no longer exist!). Don't just go to
  3683.      the newsgroups and mailings lists and ask "Which is best?"
  3684.      Ask questions that relate to your situation: Will you be
  3685.      integrating this into a Novell network? Do you have friends or
  3686.      family that will be working on your Linux box? Do any of them have
  3687.      experience with a Linux distribution? Do any of them use some other
  3688.      form of Unix (free or otherwise)? Do you have any particular
  3689.      applications preferences? Is system security a concern? What are
  3690.      the risk profiles that are acceptable to you? What is your native
  3691.      language (German speakers will probably be much happier with the
  3692.      German S.u.S.E. or the DLD (?) distributions, Japanese users seem
  3693.      to prefer FreeBSD, the French have their own distribution, etc.)?
  3694.              _________________________________________________
  3695.    
  3696.   (?)115K Baud from a Modem: In your dreams!
  3697.   
  3698.    From WEMehl on Fri, 03 Jul 1998
  3699.    I purchased an IBM Aptiva last fall. It came with a LTwin modem
  3700.    installed. It tells me that its max speed is 115K, but I never seem to
  3701.    be able to run at more than 34K. Is it the modem (if so can I upgrade)
  3702.    or is it something to do with AOL? Thanks. 
  3703.    
  3704.      (?) I think that this is a shameful bit of marketeering on the part
  3705.      of whatever docs tell you this. They probably mean "115K if you get
  3706.      better than average compression under ideal phone line conditions."
  3707.      Currently the highest speeds attainable by modems over traditional
  3708.      telephone lines is about 56Kbps --- and that is asymetric. In other
  3709.      words you can download stuff at close to 56K under ideal line
  3710.      conditions --- but your upload speed will not approach that (a
  3711.      non-issue for most Internet "web surfers" --- but it would have
  3712.      been a major issue for the old BBS users who used to run their Fido
  3713.      boards and use QWK messaging.
  3714.      I have no idea what AOL is currently doing. It is likely that they
  3715.      haven't upgraded all of their modems (Points of Presence) to 56K at
  3716.      this point --- and it's even more unlikely that they would have
  3717.      upgraded their entire infrastructure to ensure that their hosts and
  3718.      LAN's would have the capacity and bandwidth to feed those thousands
  3719.      of high speed modems at full speed.
  3720.      As for upgrading --- you can almost certainly upgrade your modem.
  3721.      I've been working with PC clones for over a decade and I've never
  3722.      seen one that had a *modem* hardwired into the motherboard. I've
  3723.      seen some with inferior serial ports --- serial ports with buggy
  3724.      and slow 16450 UART chips that couldn't be replaced or disabled.
  3725.      However, this is probably a typical internal modem --- just rip it
  3726.      out and throw it away. I personally recommend external modems.
  3727.      For real speed upgrades you can get ISDN and FRAD (frame relay
  3728.      access devices) for PC's that are supported by Linux and can take
  3729.      you past modem speeds all the way up do T1. You can also pop in an
  3730.      ethernet card (10Mbps) and get an ADSL or a cablemodem (router).
  3731.      Naturally you can't use this over your existing telco lines --- and
  3732.      you'd probably really hate to see how much a leased line (frame
  3733.      relay) or ISDN (metered service in most areas --- a penny a minute
  3734.      adds up pretty quick!) would cost. As for ADSL and cablemodem
  3735.      services --- the coverage and availability are pretty spotty and
  3736.      the pricing isn't what an AOL user is likely to be interested in
  3737.      spending.
  3738.      What really makes me curious about your message are two things:
  3739.      
  3740.      Are you running Linux? Is that a "Winmodem"? (The model designation
  3741.      certainly sounds like one).
  3742.      If you're running Linux to access AOL --- what are you using to do
  3743.      it? The AOL reps I've talked to have shown no interest in making
  3744.      Linux, Unix, Java, or other portable versions of their interfaces
  3745.      avaialable --- and hostility at the notion of documenting their
  3746.      protocols and API's to the point where anyone else could do a free
  3747.      implementation.
  3748.      [ Actually, their Instant Messenger is available in Java, and a
  3749.      recent note I sent their web staff asking after a Linux version of
  3750.      the main client got a friendly "we've forwarded that suggestion"
  3751.      note back, from two different people. So, times change? Meanwhile
  3752.      WINE is rumored to have some success with AOL. But if you're using
  3753.      something Linux native, I'd really like to know what it is. --
  3754.      Heather ]
  3755.      If you're not running Linux, and you're not asking about anything
  3756.      that's even vaguely Linux or Unix related... why are you posting a
  3757.      message to the Linux Gazette "Answer Guy"? (No, I didn't pick the
  3758.      title --- my editors did that).
  3759.      
  3760.      As a final comment, I usually don't care much about questions like
  3761.      this one. People read a bit of marketing fluff on the box or in the
  3762.      ads for a product --- they draw an unrealistic conclusion based on
  3763.      an interpretation that's best described with the phrase "wishful
  3764.      thinking" then they perform highly unscientific metrics and
  3765.      benchmarks on which the fail to perform the most elementary
  3766.      critical analysis (of their experimental design, their results or
  3767.      their conclusions) --- and then, unsatisfied with their results
  3768.      they write to some unrelated support guy hoping for a magical
  3769.      incantation that will make the product work as they thought it
  3770.      would from what they thought the marketers meant in the advertising
  3771.      that they read.
  3772.      If you're getting unsatisfactory results from this product --- talk
  3773.      to your vendor. You paid them for it. If you're just trying to see
  3774.      if your "missing out" (that some other people might actually be
  3775.      getting consistent 115K throughput on these) --- don't worry, it's
  3776.      not happening.
  3777.              _________________________________________________
  3778.    
  3779.   (?)Linux as an NDS (Netware Directory Services) Printer Client
  3780.   
  3781.    From Phill Kenoyer on Fri, 03 Jul 1998
  3782.    I use linux at work, but I can not print to the Netware 4.0 servers.
  3783.    They are using NDS and I have found out that Linux does not have any
  3784.    NDS clients. Is there a way I can print to the netware printers?
  3785.    I know that MIS is not going to help me because the MIS manager hates
  3786.    unix or something. Linux is like very bad in MIS land.
  3787.    Phill Kenoyer
  3788.    MicroProse, Inc. 
  3789.    
  3790.      (!) Linux maybe "very bad" in your MIS jungle -- but out here we
  3791.      are find the IS guys sneaking it in behind them M's backs at just
  3792.      about every turn.
  3793.      In any event the simple solution for you is to go get a copy of
  3794.      Caldera. Caldera's "OpenLinux" (I forget which release --- Standard
  3795.      and not Base, if I recall correctly, I've copied their sales
  3796.      department) includes a set of Netware bindery and NDS clients that
  3797.      allow you to connect your Linux client for file and print services.
  3798.      This particular component is not free --- it is covered under some
  3799.      licenses (I think the licenses are imposed on Caldera by their
  3800.      vendors). So plan on spending a couple hundred bucks.
  3801.      However, it is possible. I've used this --- and I recommend Caldera
  3802.      for any Linux installation that's got to interoperate with any
  3803.      Netware systems!
  3804.              _________________________________________________
  3805.    
  3806.   (?)What is an RPM?
  3807.   
  3808.    From Andre Solheim on Fri, 03 Jul 1998
  3809.    I am in the process og getting hold of Linux. Could you please tell me
  3810.    what RPM is, and what it does?
  3811.    I hope you can mail the answer to me directly
  3812.    AndrΘ L Solheim 
  3813.    
  3814.      (!) RPM is the Red Hat Package Management system. This is an freely
  3815.      published set of specifications and tools to allow Linux and Unix
  3816.      vendors to package their software in a way that is amenable to
  3817.      automated installation upgrade, removable and administration.
  3818.      Although it has Red Hat's name in it --- it has been adopted by
  3819.      most of the major Linux distribution maintainers. The only to major
  3820.      holdouts are Debian and Slackware. (There are a number of small,
  3821.      special purpose Linux distributions that don't use any package
  3822.      management --- many fit on a single diskette or designed to be
  3823.      installed into a DOS subdirectory and run via LOADLIN).
  3824.      Debian has developed their own package management format (usually
  3825.      seen with the .deb extension) and Slackware continues to use the
  3826.      tried and true "tarball" format with pkgadd (?) and some other
  3827.      tools to help a little bit.
  3828.      However, you can easily install the RPM subsystem into any Linux
  3829.      that you want. You can also use RPM on some packages and continue
  3830.      to manually build others from tarballs (.tar.gz files). You can
  3831.      also convert between package formats using tools like 'alien' and
  3832.      'rpm2cpio' (or you can just use Midnight Commander to open and work
  3833.      with .rpm files, just as you would any directory, .zip or .tar file
  3834.      etc --- what how I usually delve into RPM files if I'm not going to
  3835.      install them).
  3836.      The RPM system as been ported to several flavors of Unix and is no
  3837.      longer a purely "Linux" thing. Some sites are using it to help
  3838.      maintain their Solaris, and HP-UX systems.
  3839.      In the simplest form you can use commands like:
  3840.      
  3841.      rpm -i foo-1.2.rpm
  3842.      
  3843.      ... to install a package (foo version 1.2 in this example).
  3844.      There are also GUI and menu drive frontends to using RPM .... but I
  3845.      usually use the command line.
  3846.      You can also let rpm do the FTP for you with a command like:
  3847.      
  3848.      rpm -U ftp://myserver.myorg.net/upgrades/bar-2.2.rpm
  3849.      
  3850.      ... and this will upgrade the bar version 2.2 package off of an
  3851.      internal ftp server (where I presumably have placed it after
  3852.      testing it on one of my sacrificial admin systems).
  3853.      Another trick I've used is to get the description of an rpm file
  3854.      without bothering to get the whole file (to decide which files I
  3855.      wanted to fetch). I do this with a command like:
  3856.      
  3857.      rpm -qpi ftp://ftp.redhat.com/..../contrib/.....rpm
  3858.      
  3859.      (I don't have a specific path and filename handy --- but this
  3860.      should show the idea). You can also get a list of the contents of a
  3861.      package with:
  3862.      
  3863.      rpm -qpl $SOME_RPM_FILE
  3864.      
  3865.      ... or a list of files from an installed package with
  3866.      
  3867.      rpm -ql $SOME_INSTALLED_PACKAGE
  3868.      
  3869.      You can also do things like list all of the packages that you have
  3870.      installed on the whole system (at least those that you've installed
  3871.      using RPM) with a command like:
  3872.      
  3873.      rpm -qa
  3874.      
  3875.      ... and you can verify a package with a command like:
  3876.      
  3877.      rpm -V foobar
  3878.      
  3879.      ... which will give you a summary of every change to the checksums,
  3880.      ownership, permission, timestamp, etc --- of every file that was
  3881.      part of the "foobar" package.
  3882.      Combining these in a relatively obvious way you can check every
  3883.      package on your system with the following:
  3884.      
  3885.      rpm -qa | xargs rpm -V
  3886.      
  3887.      You can also find out which package a given file "belongs to" with
  3888.      a command like:
  3889.      
  3890.      rpm -qf /some/file/that/was/installed/by/something
  3891.      
  3892.      You can learn more about the RPM system by looking at their very
  3893.      own web site: http://www.rpm.org.
  3894.      So, good luck on your new adventure. Have fun with Linux.
  3895.              _________________________________________________
  3896.    
  3897.   (?)AnswerGUY? Who is Heather?
  3898.   
  3899.    From Thomas L. Gossard on Fri, 03 Jul 1998 
  3900.    
  3901.    Answerguy,
  3902.    Forgive me if I'm about to insult you. All the replies I've read seem
  3903.    to be answered by Heather. Is Heather not a girls name? If so, why is
  3904.    this column called the answerGUY, not person or girl?
  3905.    Tom Gossard 
  3906.    
  3907.      (!) Heather is my wife. She usually doesn't answer any of the
  3908.      questions (though sometimes she helps --- she's been using Unix
  3909.      longer than I have --- and she's a professional sysadmin).
  3910.      However, Heather does convert my mail into HTML and she does all
  3911.      the links and graphics (I just answer the e-mail, do the web
  3912.      research and find URL's to point my correspondents at for more
  3913.      information).
  3914.      As for why this is called the "Answer Guy" --- I just volunteered
  3915.      to help out with the occasional stray technical question that I
  3916.      knew would find it's way to SSC when they took over the editorial
  3917.      duties of the Linux Gazette from John Fisk (its creator). Marjorie
  3918.      Richardson and her crew decided to post my answers and picked the
  3919.      name. I'd wanted to start doing the HTML (at least to wrap the
  3920.      URL's in anchor tags) since I noticed that these were going up ---
  3921.      but I never had the time.
  3922.      Finally Heather stepped in, pulled down a couple of mail to HTML
  3923.      filters (like MHOnArc, hypermail, and babymail) and played with
  3924.      them --- tweaking one of them until it suited her tastes in HTML
  3925.      and my style of e-mail (text). She still hand massages the messages
  3926.      for a bit, too.
  3927.      The other advantage to this way of doing it is that I don't see the
  3928.      whole column going up as one big page --- it's broken into lots of
  3929.      separate pages, like HTML is meant to be. This is hopefully going
  3930.      to help quite a bit in my future since I was starting to hit my own
  3931.      column every time I did a Yahoo search --- usually those were false
  3932.      hits because I'm usually trying to find "something for Linux" (and
  3933.      I'd find sets of keywords in one LG article -- that were in no way
  3934.      related to one another in the article).
  3935.      So, hopefully the new format will be more "search engine friendly"
  3936.      (for everyone).
  3937.                         ____________________________
  3938.    
  3939.   (?)Heather replied too.
  3940.   
  3941.    From Tom Grossard on Mon, 6 Jul 1998 in the comp.unix.questions
  3942.    newsgroup
  3943.    
  3944.    Heather,
  3945.    Thank you for the reply. I hope I wasn't rude in my question, just
  3946.    nosey.
  3947.    Thank you
  3948.    Tom
  3949.    Thomas L. Gossard
  3950.    
  3951.      :D No problem, really. Glad we could clarify.
  3952.      Oh yeah, I'd like to add for our lynx-using readers, or those
  3953.      reading the text Whole Damn Thing, I plan to improve the textmode
  3954.      result. But not this time, I just started a new job (still
  3955.      sysadmin'ing) and didn't have time.
  3956.      For web visitors, the interesting parts:
  3957.      I ate the fortune cookie first, then read what Jim Dennis copied me
  3958.      on:
  3959.      However, Heather does convert my mail into HTML and she does all
  3960.      the links and graphics (I just answer the e-mail, do the web
  3961.      research and find URL's to point my correspondents at for more
  3962.      information). 
  3963.      The confusion probably arises from the one message (Love the New
  3964.      Look!!!, http://www.linuxgazette.com/issue30/tag_newlook.html)
  3965.      where I answered someone who loves the new format... since I am
  3966.      responsible for formatting... and linked my name there so
  3967.      respondents on that question could reply to me instead.
  3968.      Jim answers all the Linux questions; in the original mail to the
  3969.      querent, he has his Answer Guy .sig, but the dressed up column
  3970.      doesn't need that also, so it is trimmed for clarity. Most
  3971.      querent's .sigs are trimmed to enhance their privacy. So seeing
  3972.      most messages .sig-less might be affecting you.
  3973.      "just answer and research" is plenty, but he loves to do it, and
  3974.      every new discovery could add to his book, so he plays it down. I
  3975.      don't think the column would be nearly as good if our roles were
  3976.      reversed :)
  3977.      Finally Heather stepped in, pulled down a couple of mail to HTML
  3978.      filters (like MHOnArc, hypermail, and babymail) and played with
  3979.      them --- tweaking one of them until it suited her tastes in HTML
  3980.      and my style of e-mail (text). She still hand massages the messages
  3981.      for a bit, too. 
  3982.      I merged some perl fragments, and added some of my own, to a script
  3983.      I use to preprocess the month's load of Answers. However, I also
  3984.      read his messages, and try to maintain the original "look and feel"
  3985.      of Jim's reply.
  3986.      Sometimes this means a list type or a blockquote where my script
  3987.      doesn't know any better. Each month I improve it but I will
  3988.      probably never trust it to do the whole job ... cleaning .sigs for
  3989.      privacy, clearing up levels of indirection when Jim draws in a
  3990.      message from mailing lists, and posting a thread as one file are
  3991.      specific examples.
  3992.      There is also a little bit extra that I add. Most of the URL's I
  3993.      add after-the-fact are things that aren't really special overall
  3994.      (such as hotlinking vendor names) so someone reading the plaintext
  3995.      Whole Damn Thing version isn't really missing anything; they are
  3996.      simply seeing the reply pretty much as Jim sent it. (It's not
  3997.      exactly as Jim sent it -- it's the posted column run through lynx.)
  3998.      If I actually say anything that Jim didn't, it is emphasized and in
  3999.      brackets [] , as I have been taught editors' comments should be. I
  4000.      haven't seen Jim use brackets, except in example code.
  4001.              _________________________________________________
  4002.    
  4003.   (?)'sendmail' requires DNS ... won't use /etc/hosts
  4004.   
  4005.    From Carlos Javier Castro Pe\qa on Fri, 03 Jul 1998 Hi,
  4006.    I have been looking for an answer for my question for a long time, but
  4007.    I could find no useful solution. I am building a Linux LAN and I
  4008.    cannot send mail with sendmail ! I do not have a DNS server. I have
  4009.    found a lot of people with the same problem and no answer.
  4010.    I am using Red Hat 5 with the version of sendmail distributed by them.
  4011.    My kernel 2.0.33 and networking enabled. The mails don't get delivered
  4012.    because a 'hostname lookup failure'. The manual of Red Hat 5 says how
  4013.    to configure sendmail, but that does not work if you don't have a DNS
  4014.    server. I was also suggested to change the /etc/nsswitch.conf file,
  4015.    but it didn't work. Can you help me, please?
  4016.    Regards, javier 
  4017.    
  4018.      (!) I understand your problem and feel your pain.
  4019.      The problem is that 'sendmail' is conforming to the SMTP standards
  4020.      --- which require that it look up the MX record for any host prior
  4021.      to sending mail to it.
  4022.      This sort of record (MX) can only be served over DNS (there isn't
  4023.      any way that I know of to mark an /etc/hosts entry as an "MX"
  4024.      record) (There might be some weird NIS or NIS+ way to do it -- but
  4025.      I don't know much about those protocols).
  4026.      I've worked around that here at my house (I don't run DNS
  4027.      internally --- I just point to a caching DNS server on my gateway
  4028.      router (a Linux box doing masquerading for external references).
  4029.      Internally I just use a mailertable that relays all mail from my
  4030.      systems to the mail router (which then spools them out over uucp).
  4031.      That mailertable refers to the gateway system using its IP address
  4032.      (which forces sendmail to skip the DNS MX query). On another system
  4033.      I just use uucp over TCP (for outgoing mail) and POP (for
  4034.      incoming).
  4035.      It would be much easier for me to set up DNS and leave it at that
  4036.      -- but I can be incredibly stubborn sometimes and my main mail feed
  4037.      is over uucp in any event --- so it's just as easy to use that
  4038.      internally.
  4039.      The reason modifying your /etc/nsswitch.conf (or /etc/host.conf ---
  4040.      as it's usually done under the Linux resolvers) doesn't work for
  4041.      sendmail --- but does work for normal programs using other
  4042.      protocols is that other protocols are normally only interested in
  4043.      address and reverse address records (using the gethostbyname() and
  4044.      gethostbyadd() library calls). 'sendmail' is looking for MX records
  4045.      since it is common to require special routing for mail.
  4046.      As I said --- the easiest solution is to create a local DNS domain
  4047.      or subdomain for yourself. For example I'd create the
  4048.      lan.starshine.org domain and name my local systems things like
  4049.      antares.lan.starshine.org etc. This would allow me to set up an
  4050.      "authoritive" set of records on my internal LAN and still defer to
  4051.      my ISP for the virtually hosted www.starshine.org
  4052.      ftp.starshine.org, and mail.starshine.org (I'd list myself as an
  4053.      "unregistered secondary" to my ISP's nameservers for the
  4054.      starshine.org zone).
  4055.      (I could also just copy his records into my own db and essentially
  4056.      lie to my system about being authoritative for the whole zone. This
  4057.      would break any time my ISP changed any of my publicly accessible
  4058.      address records --- but that would probably only be a minor issue.
  4059.      It would only affect my systems while they were resolving my
  4060.      virtual hosts. My ISP would never refer to my name servers as
  4061.      authorities or secondaries --- and I could use IPFW (now IPChains)
  4062.      to prevent any such requests from getting through to my internal
  4063.      nameserver in any event).
  4064.      The point is that SMTP (the mail transport protocol to which
  4065.      sendmail defaults) relies on DNS --- and it is not trivial to get
  4066.      SMTP working with DNS disabled. You can use a different transport
  4067.      protocol (such as I do with uucp) or you can configure your systems
  4068.      to use direct IP addresses rather than names in their configuration
  4069.      files. This last option isn't so bad if your plan is to set up
  4070.      masquerading and null clients (a sort of sendmail client that
  4071.      forward all of its mail to a hub, even the local addressed items --
  4072.      and lets the hub deal with it).
  4073.      Naturally I'm glossing over the details here. I have the O'Reilly
  4074.      'sendmail' and 'DNS & BIND' books here at my side --- and I have
  4075.      the notes from a week long seminar I took on these topics (Robert
  4076.      Harker --- http://www.harker.com) --- which are also about 1000
  4077.      pages. It is basically impossible to comprehensively explain DNS
  4078.      and sendmail in this column, or on the newsgroups and mailing
  4079.      lists.
  4080.      I hope though that this helps. If you like I'll post (sanitized)
  4081.      copies of my sendmail.mc files and my uucp configuration files to
  4082.      show a couple of examples of how I do it --- with the warning that
  4083.      my configuration is uniquely atypical!
  4084.                         ____________________________
  4085.    
  4086.   (?) More on: 'sendmail' requires DNS ... won't use /etc/hosts
  4087.   
  4088.    From Carlos Javier Castro Pe\qa on Thu, 09 Jul 1998 in the
  4089.    comp.unix.questions newsgroup 
  4090.    
  4091.    Dennis, 
  4092.    
  4093.    Thank you for your answer. Maybe the most important thing is that you
  4094.    let me know that I cannot use sendmail for my purpouses wihthout a DNS
  4095.    server. If I knew that from the beginning, I would have spared a lot
  4096.    of time trying different configurations. If you don't mind, I'll post
  4097.    your answer in some Linux mailing lists, because a lot of people has
  4098.    the same question, and there is no usefull answer. 
  4099.    
  4100.      (!) Like the rest of the Linux Gazette all of my articles are
  4101.      covered by the LDP GPL (the variation of the GNU General Public
  4102.      License that is applied to the Linux Documentation Project). Please
  4103.      feel free to post, copy, modify, publish, sell, spindle, mutilate,
  4104.      cite it to your heart's content.
  4105.      
  4106.      I hope it helps. I don't get into the newsgroups as much as I'd
  4107.      like (and I spend a bit more of my time in the comp.text.tex and
  4108.      comp.unix.security and comp.unix.admin groups when I do make it out
  4109.      there).
  4110.      
  4111.      Over the years I've always drifted from one newsgroup and mailing
  4112.      list to another (except for the security stuff --- I always stay up
  4113.      on that, though mostly as a "lurker"). For awhile I was the most
  4114.      frequent poster on the comp.lang.awk (formerly the alt.lang.awk)
  4115.      newsgroup. About 5 years ago I was in the top 5 or 10 posted on
  4116.      Compuserve's "UNIXFORUM"
  4117.      
  4118.      I start by reading and lurking. When I've read for a few weeks (and
  4119.      usually done some experimentation and other research) I start to
  4120.      recognize the common questions, and start to piece things together.
  4121.      After about a month I start answering questions. For a few months
  4122.      I'll answer questions in the NG or ML. Eventually, I move on.
  4123.      
  4124.      That turns out to have been good experience for answering questions
  4125.      in LG --- since the run the gamut of Unix, Linux, and PC related
  4126.      questions.
  4127.      
  4128.    (?) You can use a different transport protocol (such as I do with
  4129.    uucp) or you can configure your systems to use direct IP addresses
  4130.    rather than names in their configuration files. This last option isn't
  4131.    so bad if your plan is to set up masquerading and null clients (a sort
  4132.    of sendmail client that forward all of its mail to a hub, even the
  4133.    local addressed items -- and lets the hub deal with it). 
  4134.    
  4135.    Is it possible to make that sendmail uses IP addresses. I need to
  4136.    forward the mail of the Linux host, to the Linux gateway. The users of
  4137.    the Linux host can download the mail from the gateway with POP and
  4138.    IMAP. 
  4139.    
  4140.      (!) I think the one time I did this was with a slight variant of
  4141.      the "clientproto.mc" file that ships with 'sendmail'
  4142.      
  4143.      It looks like this:
  4144.      
  4145. divert(-1)
  4146. divert(0)dnl
  4147. VERSIONID(`@(#)clientproto.mc   8.7 (Berkeley) 3/23/96')
  4148.  
  4149. OSTYPE(linux)
  4150. FEATURE(nullclient, `[192.168.1.1]')
  4151.  
  4152.      ... replacing the IP address with the one for your smart hub or
  4153.      gateway. You use the m4 package (also include with all recent
  4154.      versions of sendmail) to generate a cf file from this using a
  4155.      command like:
  4156.      
  4157.      m4 ../m4/cf.m4 betel.mc > /etc/sendmail.cf
  4158.      
  4159.      (after making backups of your existing cf file, of course).
  4160.      
  4161.      The important thing is that is will define a line like:
  4162.      
  4163. DM[192.168.64.1.1]
  4164.  
  4165.      ... which should prevent 'sendmail' from using DNS to do any
  4166.      resolution.
  4167.      
  4168.      Try that and see if it works. I really can't set up a test
  4169.      environment for that at the moment. If that doesn't work, try
  4170.      changing the address to an arbitrary name, adding the "mailertable"
  4171.      FEATURE and creating a small mailertable that points the name at
  4172.      the IP address using the syntax:
  4173.      
  4174.      myhub: smtp:[192.168.1.1]
  4175.      
  4176.      Please let me know how it goes.
  4177.              _________________________________________________
  4178.    
  4179.    The original message in this thrread appeared in Issue 30, Linux
  4180.    Memory Usage vs. Leakage
  4181.                         ____________________________
  4182.    
  4183.   (?) Memory Leaks and the OS that Allows Them
  4184.   
  4185.    From Thomas L. Gossard on Fri, 03 Jul 1998
  4186.    Answerguy,
  4187.    Regarding the recent question you received on memory leakage under
  4188.    2.0.29. I don't believe it is a memory leakage under the normal sense
  4189.    where a program quits and won't give the memory back to the OS. 
  4190.    
  4191.      (!) Once a program has quit (exited) it is the OS' responsibility
  4192.      to reclaim all RAM and normalize all other resources (process table
  4193.      entries, filed descriptors and handles, etc) that were allocated to
  4194.      that process.
  4195.      If it fails to do so, that is a bug in the OS (the kernel and/or
  4196.      its drivers or core user space processes, like 'init'). Under Linux
  4197.      (and Unix in general) it is very rare to see this sort of bug.
  4198.      (I've never heard of any kernel memory leaks in Linux).
  4199.      Under NT there is apparently a problem because the system is very
  4200.      complex and so much of the programming doesn't respect the intended
  4201.      modularity between "kernel" and "user space" --- so DLLs and
  4202.      drivers, (particularly video drivers) will end up locked into
  4203.      memory with no references. Since I'm not an NT programmer (and not
  4204.      a systems programmer of any sort I'll have to accept the considered
  4205.      opinions of others who've said that this is why NT has a notorious
  4206.      poor stability record compared to any form of Unix. The fact that
  4207.      they've added some process memory protection and imposed some
  4208.      modularity and process isolation means that NT's stability is
  4209.      orders of magnitude better than MS-DOS, Windows 3.x, and Windows
  4210.      '95 ever were. However, it's reported to be very poor compared to
  4211.      any of the multi-user OS' like Unix or VMS.
  4212.      
  4213.    (?) I also use .29 and saw the same problem. I sent out several
  4214.    e-mails and found out that what is really happening is the OS has the
  4215.    memory but is not reporting it as free but has saved it for cache
  4216.    purposes. Notice the guy with the question said "ls" the first time
  4217.    took memory but not the second time. A memory leak will take the
  4218.    memory each time. The OS is keeping the memory for itself. The real
  4219.    problem is in the way the OS or top or whatever is reporting the
  4220.    memory usage and the way we expect to see it. 
  4221.    
  4222.      (!) The way that memory is used by the Linux cache is fairly
  4223.      complex. Consequently the output from 'top' and 'free' and 'vmstat'
  4224.      are not easy to interpret (and I don't consider myself to be an
  4225.      expert in them by any means).
  4226.      The intended design is supposed to use all "available" free memory
  4227.      for disk caching (and I guess the 2.2 kernels will implement disk
  4228.      and directory entry caching --- which should yield much better
  4229.      performance for several reasons). It is certainly possible that
  4230.      there were bugs in the caching and memory management code in some
  4231.      of the 2.0.x kernels. You could certainly go to the Linux kernel
  4232.      mailing list archives and read through the various change summaries
  4233.      to see. Or you could ugrade to a newer kernel and look for
  4234.      symptoms.
  4235.      
  4236.    (?) The only true way to check on the problem seems to be to execute
  4237.    some memory hog routines, like graphics and watch the swap useage. In
  4238.    particular my mail program seemed to suck up 8 or 9 megs at a time yet
  4239.    even going in and out of that and xv my swap was barely touched. With
  4240.    a sufficient memory leak after a period of time the swap should see a
  4241.    great deal of activity due to the lack of memory.
  4242.    Tom G 
  4243.    
  4244.      (!) Most memory leaks are in user space --- in long running daemons
  4245.      like 'named', a web server, 'sendmail', X, etc. Your test doesn't
  4246.      isolate the cuase of the memory leak. I think my message covered
  4247.      some suggestions to do that (like run with init=/bin/sh and run
  4248.      some tests from there)
  4249.      If exiting doesn't return your memory to availability for
  4250.      cache/free space --- you have a problem in your kernel. However, it
  4251.      can be deceiving. For example --- I remember a situation where BIND
  4252.      ('named') was leaking --- and it looked like 'sendmail' was the
  4253.      culprit. In actuality 'sendmail' was making DNS queries on the
  4254.      named, causing it to lose it's cookies. (At the same time that
  4255.      'sendmail' was segfaulting (dying a horrible death) because the old
  4256.      resolver libraries (against which it was linked) were return lots
  4257.      of MX records for sites like Compuserve and AOL (which back then
  4258.      had just started deploying dozens of mail servers each --- so that
  4259.      one DNS request would return more records than the resolver could
  4260.      handle).
  4261.      At first I thought someone had discovered a new remote sendmail
  4262.      exploit and was hacking into my site (this was actually on an old
  4263.      SunOS box). Then I realized that it was related to DNS --- and
  4264.      finally I upgraded to a newer DNS and set of resolver libraries.
  4265.      The newer version of named still had a memory leak back then ---
  4266.      but my other sysadmin friends said "Oh yeah! It's been doing that
  4267.      --- just set up a 'cron' job to kill it once a day or so" (I'd been
  4268.      sure that it was my fault and that I'd built and installed it
  4269.      incorrectly).
  4270.      As for the "true way" to look for memory leaks --- I think most
  4271.      programmers would disagree with your analysis on this one. They
  4272.      might suggest Electric Fence (a debugging form of the malloc() and
  4273.      new() calls that's designed to catch the sorts of allocation and
  4274.      reference problems that 'lint' won't --- and that might not be
  4275.      immediately fatal). Another option might be for someone to link
  4276.      this with Insure++ (http://www.linuxjournal.com/issue51/2951.html)
  4277.      and do their testing with that.
  4278.      Certainly, we, as sysadmins are usually constrained to more
  4279.      hueristic and less "invasive" approaches --- but we definitely want
  4280.      to isolate the problem to a specific component (program, module,
  4281.      kernel configuration whatever) or combination. That's what "tech
  4282.      support" is all about.
  4283.              _________________________________________________
  4284.    
  4285.   (?)X Window with two monitors...
  4286.   
  4287.    From Mark Thomas Mercado on Tue, 30 Jun 1998 in the
  4288.    comp.unix.questions newsgroup
  4289.    I've looked around on the web, and couldn't find any documentation on
  4290.    setting up X with two monitors (myhost:0 and myhost:1)... I would love
  4291.    to RTFM if anyone could point me in the right direction...
  4292.    Thanks,
  4293.    Mark. 
  4294.    
  4295.      (!) This would usually be called "multi-headed" mode and the
  4296.      different screens would be addressed as "myhost:0.0" and
  4297.      "myhost:0.1" -- "myhost:1.0" and "myhost:1.1" (etc) would refer to
  4298.      a different server or instance running on the same machine.
  4299.      I don't know what this means on other forms of Unix --- but I think
  4300.      you'd usually see it on a system that was hosting multiple X
  4301.      Terminals via XDMCP. On my Linux boxes I usually see it as an extra
  4302.      instance of the X server running on a different virtual console (so
  4303.      my wife and I can each have a running copy on any of the systems
  4304.      around the house without having to disturb the other's).
  4305.      In our case we run startx -- :1 to start the 2nd instance of our X
  4306.      server. We can then switch between them with the [Ctrl]+[Alt]+[Fx]
  4307.      sequence (or the [Alt]+[Fx] sequence to get to either of them from
  4308.      any of our text mode virtual consoles. (If you don't use a PC Unix
  4309.      that supports VC's this probably won't make any sense -- don't
  4310.      worry about it).
  4311.      Getting back to multi-headed support:
  4312.      This depends on your X server. Last I heard XFree86 servers (the
  4313.      suite of X servers that's most commonly used with Linux FreeBSD,
  4314.      NetBSD (PC) etc) don't currently support multi-headed operation.
  4315.      I know that some of the commercial X servers for Linux (and
  4316.      presumably FreeBSD, etc) support it. Unfortunately I've never used
  4317.      a PC or Mac Unix that was configured this way. So, I don't know how
  4318.      it works. I've used an old Sun system set up this was --- but I
  4319.      didn't configure it or even look at it very closely --- it was just
  4320.      used for some compatability at a place where I was working, so I
  4321.      barely touched it.
  4322.      I've used Macs that were multi-headed. That was a piece of cake to
  4323.      configure. I also noticed that Win '98 has this feature available
  4324.      --- so it might become much more common in the next year or so.
  4325.      Anyway, check out the XFree86 FAQ at http://www.xfree86.org/ for
  4326.      more pointers.
  4327.              _________________________________________________
  4328.    
  4329.    The beginning of this thread was published in Issue 30, DAO (Disk At
  4330.    Once) CDR? Stump Me!
  4331.                         ____________________________
  4332.    
  4333.   (?) DAO software for linux?
  4334.   
  4335.    From Mark Heath on Sat, 27 Jun 1998
  4336.    On Thu, 25 Jun 1998, Jim Dennis wrote:
  4337.    Well, you have me stumped.
  4338.    I don't know anything about the difference between DAO and other forms
  4339.    of CDR recording. Normally, I'd spend an
  4340.    There are 3 different types of cd recording: Track at once, Disk at
  4341.    once and session at once. 
  4342.    
  4343.      (!) I figured it was probably something like that.
  4344.      
  4345.    (?) cdrecord, cdwrite and many others do Track at once.
  4346.    Its where the software writes a track turns off the laser, turns it
  4347.    back on then writes the next track, after all the tracks are done it
  4348.    writes the leadin and lead out tracks. 
  4349.    
  4350.      (!) I've always been curious about multi-session CD's and how they
  4351.      maintain the directory/indices on them. But never curious enough to
  4352.      look for the rainbow of books that define the spec. --- more of a
  4353.      "layperson's armchair" curiousity that would be satisfied with a
  4354.      five minute description and a couple of diagrams.
  4355.      
  4356.    (?) With disk at once, the laser is turned on, the leadin is written,
  4357.    then the first track, second track etc, then te lead out and then the
  4358.    laser is turned off.
  4359.    The has the advantage of being able to master music disks which have
  4360.    no pauses in between the tracks, which is manditory for TAO. 
  4361.    
  4362.      (!) I think you mean "which is an avoidable result when using TAO."
  4363.      It's just a semantic nitpick --- but I had to read this statement
  4364.      several times to guess what you (probably) meant.
  4365.      
  4366.    (?) Session at once is basically multi session DAO. 
  4367.    
  4368.      (!) Huh? I am also a bit foggy on multi-session CD's --- but I'd
  4369.      thought that the sessions on multi-session CD's were supposed to be
  4370.      on track boundaries. Are you saying there's a multi-session per
  4371.      track option?
  4372.      
  4373.    (?) hour or two hunting around on Alta Vista, Yahoo!, Savvy Search,
  4374.    DejaNews, etc and pulling out more of my hair to find out. However, I
  4375.    have a book to write and a wife to feed, and it is just too close to
  4376.    my deadline for me to wait until tomorrow.
  4377.    So, what is DAO and why would you need it? What is the difference
  4378.    between cdrecord and cdwrite (the one I use with my Ricoh CDR)? Have
  4379.    you tried them both? What is MMC? Who is Jeff Arnold? Who are HyCD and
  4380.    should we
  4381.    cdrecord is the replacement for cdwrite, Jorg Schilly supports every
  4382.    unix platform that can have a cdr plugged into.
  4383.    MMC is the latest multi media specification for CDRs so that all
  4384.    drives have the same command set for recording. 
  4385.    
  4386.      (!) I did guess that MMC stood for "multi-media CD" or "multi-media
  4387.      CDR." I take it that MMC doesn't define a standard for DAO mode
  4388.      recording? (Or were you simply saying that your HP SureStore CDR
  4389.      doesn't support the MMC CDR spec?).
  4390.      
  4391.    (?) Jeff Arnold is synonimous (sp?) with DAO software he wrote the
  4392.    First and most widely used DAO software for DOS. Its a pity that he
  4393.    won't support Unix because his tools are very unix like. 
  4394.    
  4395.      (!) Maybe he could be bribed. Does he distribute his package as
  4396.      shareware? Would he be willing to license the code and let someone
  4397.      else do the port?
  4398.      
  4399.    (?) HyCD are who alta vista turned up when I did A search for +unix
  4400.    +cdr +software. They support mixed mode disk duplication, which why I
  4401.    thought it did DAO. Unfortunately it does not. 
  4402.    
  4403.      (!) I'm afraid to ask.... what is the difference between "mixed
  4404.      mode" and DAO? Is it that HyCD can duplicate CD's that have mixed
  4405.      data and audio (etc?), and/or that it can read tracks that were
  4406.      laid down in TAO and DAO (and other?) modes but it must write them
  4407.      in TAO?
  4408.      
  4409.    (?) I was trying to eliminate a need for my Windows box but things
  4410.    keep popping onto it.
  4411.    I use it for 3 things:
  4412.     1. Audio manipulation. I'm waiting for a good tool (Atech is being
  4413.        developed) to do this under Linux ala Cooledit (not to be confused
  4414.        with the Linux text editor)
  4415.     2. DAO writing.
  4416.     3. Epson Stylus colour printing. Ghostscript just doesn't match the
  4417.        quality.
  4418.        
  4419.      (!) Well, hopefully this will inspire someone out there to "raise
  4420.      the bar" and help you purge Windows from your system at long last.
  4421.      
  4422.    (?) I did use it for Playstation development but now I have the tools
  4423.    for Linux.
  4424.    Thank you very much for your help.
  4425.    Mark. 
  4426.    
  4427.      (!) Well, I obviously wasn't much help --- but we'll see if our
  4428.      readership will give us a scoop...
  4429.                         ____________________________
  4430.    
  4431.   (?) Mark Heath fills us in...
  4432.   
  4433.    From The Answer Guy on Mon, 29 Jun 1998
  4434.    On Sat, 27 Jun 1998, Jim Dennis wrote:
  4435.    Its where the software writes a track turns off the laser, turns it
  4436.    back on then writes the next track, after all the tracks are done it
  4437.    writes the leadin and lead out tracks.
  4438.    I've always been curious about multi-session CD's and how they
  4439.    maintain the directory/indices on them. But never curious enough to
  4440.    look for the rainbow of books that define the spec. --- more of a
  4441.    "layperson's armchair" curiousity that would be satisfied with a five
  4442.    minute description and a couple of diagrams. 
  4443.    
  4444.      (!) I've never successfully written a multisession CD either. I've
  4445.      made a few open disks but never managed to import the previous
  4446.      session properly so I didn't bother trying to continue writing to
  4447.      them. Just in case I lost the first session.
  4448.      
  4449.    (?) Session at once is basically multi session DAO.
  4450.    Huh? I am also a bit foggy on multi-session CD's --- but I'd thought
  4451.    that the sessions on multi-session CD's were supposed to be on track
  4452.    boundaries. Are you saying there's a multi-session per track option? 
  4453.    
  4454.      (!) This is correct. For example you can write 3 tracks
  4455.      multisession using DAO. Then come back later and write a few more
  4456.      tracks using DAO.
  4457.      
  4458.    (?) MMC is the latest multi media specification for CDRs so that all
  4459.    drives have the same command set for recording.
  4460.    I did guess that MMC stood for "multi-media CD" or "multi-media CDR."
  4461.    I take it that MMC doesn't define a standard for DAO mode recording?
  4462.    (Or were you simply saying that your HP SureStore CDR doesn't support
  4463.    the MMC CDR spec?). 
  4464.    
  4465.      (!) The 4020i doesn't support MMC. Only new drives do (most of the
  4466.      IDE CD-Rs do, and the CD-RW do)
  4467.      
  4468.    (?) Jeff Arnold is synonimous (sp?) with DAO software he wrote the
  4469.    First and most widely used DAO software for DOS. Its a pitty that he
  4470.    wont support Unix because his tools are very unix like.
  4471.    Maybe he could be bribed. Does he distribute his package as shareware?
  4472.    Would he be willing to license the code 
  4473.    
  4474.    (!) He does. The downloadable version is available at:
  4475.           http://www.goldenhawk.com/
  4476.           
  4477.    (?) and let someone else do the port? 
  4478.    
  4479.      (!) I'd really like that but I dont know how Jeff feels about
  4480.      Linux.
  4481.      He seemed rather hostile when I asked about doing a linux port. All
  4482.      his reply was: no.
  4483.      
  4484.    (?) HyCD are who alta vista turned up when I did A search for +unix
  4485.    +cdr +software. They support mixed mode disk duplication, which why I
  4486.    thought it did DAO. Unfortunately it does not.
  4487.    I'm afraid to ask.... what is the difference between "mixed mode" and
  4488.    DAO? Is it that HyCD can duplicate CD's that have mixed data and audio
  4489.    (etc?), and/or that it can read tracks that were laid down in TAO and
  4490.    DAO (and other?) modes but it must write them in TAO? 
  4491.    
  4492.      (!) Mixed mode is simply multiple tracks with different data
  4493.      formats. The most common is Computer games with 1 data track
  4494.      followed by several Audio tracks, these can be written with TAO.
  4495.      The main difference between DAO and TAO is that for DAO the laser
  4496.      is never turned off during the recording. You can even do a single
  4497.      track in DAO mode. The difference here is that DAO disks can be
  4498.      taken to CD publishing company while TAO disks can not (due to gaps
  4499.      in the track data, where the laser has been turned off)
  4500.      
  4501.    (?) Well, hopefully this will inspire someone out there to "raise the
  4502.    bar" and help you purge Windows from your system at long last. 
  4503.    
  4504.      (!) Well I did this some time ago, purge windows. Then a piece of
  4505.      hardware came out which was built into the motherboard so I built a
  4506.      new machine and put both Linux and 95 on it.
  4507.      My primary box is Linux only.
  4508.      
  4509.    (?) Well, I obviously wasn't much help --- but we'll see if our
  4510.    readership will give us a scoop... 
  4511.    
  4512.      (!) Well Its always good to hear that someone understands and says
  4513.      Lets see what we can do.
  4514.      _________________________________________________________________
  4515.    
  4516.                      Copyright ⌐ 1998, James T. Dennis
  4517.               Published in Linux Gazette Issue 31 August 1998
  4518.      _________________________________________________________________
  4519.    
  4520.    [ Answer Guy Index ] 21 20 19 18 17 16 15
  4521.    14 13 12 11 10 9 8
  4522.    7 6 5 4 3 2 cdr
  4523.      _________________________________________________________________
  4524.    
  4525.    [ Table Of Contents ] [ Front Page ] [ Previous Section ] [ Next
  4526.    Section ]
  4527.      _________________________________________________________________
  4528.      _________________________________________________________________
  4529.    
  4530.                      Copyright ⌐ 1998, James T. Dennis
  4531.               Published in Linux Gazette Issue 31 August 1998
  4532.      _________________________________________________________________
  4533.    
  4534.    [ Table Of Contents ] [ Front Page ] [ Previous Section ] [ Next
  4535.    Section ]
  4536.    
  4537.     "Linux Gazette...making Linux just a little more fun!"
  4538.     
  4539.                                   [INLINE]
  4540.                                       
  4541.                 BETTING ON DARWIN, PART 2: WATCHING THE MUCK
  4542. MARC ANDREESSEN AND TOM PAQUIN ON NETSCAPE'S OPEN SOURCE STRATEGY, ONE MONTH
  4543.                                    LATER
  4544.                                       
  4545.                                    PART 1
  4546.                                       
  4547.    [INLINE] By Doc Searls
  4548.    May 16, 1998
  4549.    
  4550.                                   [INLINE]
  4551.                                       
  4552.    On May 13, I followed up on the April 8 interview, just before the
  4553.    photo shoot for the June issue of Linux Journal, where the first
  4554.    interview would run. While little more than a month isn't much time to
  4555.    measure distance on an evolutionary path, I thought Internet Time
  4556.    might accelerate things a bit, so I began by asking Tom how things now
  4557.    stood.
  4558.      _________________________________________________________________
  4559.    
  4560.                           Waiting for tyranosaurs
  4561.                                       
  4562.    DOC: I'm interested in seeing how the conversation looks different
  4563.    than it did a month ago when we still had muzzle blast. Back then we
  4564.    were talking in evolutionary terms: "betting on Darwin" was how you
  4565.    put it. Have you seen any new life forms start to emerge?
  4566.    
  4567.    TOM: Some life forms have begun to emerge, but there haven't been too
  4568.    many tyrannosaurs stomping out of the muck. There have been some
  4569.    interesting life forms, though. I'm really happy with the XML parser
  4570.    that was donated. I'm pretty happy with a couple of low-hanging fruit
  4571.    for external ownership. I think that's moving along. On the whole it's
  4572.    been very pleasing; but I don't think it's fair to say the initiation
  4573.    phase is complete. We haven't really gotten the entire Communicator
  4574.    out there yet. For example, the Messenger source — mail, news and
  4575.    all that — is just flowing out now, starting yesterday.
  4576.    
  4577.    MARC: There hasn't been a snapshot of the code that's ... done, or
  4578.    anything like that. A fully stable release. So we're still early here.
  4579.    
  4580.    TOM: We're way, way away from a fully stable release.
  4581.    
  4582.    See, most public sources work by a process of piling on to something
  4583.    that works but isn't complete. Somebody goes out and says "Here's
  4584.    something that works, everybody. Let's all pile on." As opposed to
  4585.    "Here's a pile of code that's early in its development, that we're
  4586.    going to turn into something."
  4587.    
  4588.    So some people are piling on, diving in, and what we're seeing at this
  4589.    early stage are chunks of code that are not tightly interwoven with
  4590.    the existing code. The XML parser is a perfect example. A guy writes
  4591.    an XML parser on the side, and says "Here it is. It parses XML. It
  4592.    produces a data structure. You can take the data structure and do
  4593.    stuff with it." Okay, that's really valuable and straightforward. It
  4594.    contributes, and it's a good thing.
  4595.    
  4596.    What we haven't had is, say, ten guys from IBM popping up and saying
  4597.    "Okay, we thoroughly understand this product now. We're ready to do
  4598.    everything we can to make it do what we want it to do." It's too early
  4599.    for that. And it's a little hard to say when and how that will happen.
  4600.    What I've been beating on in my shop is: "Let's get this thing to a
  4601.    point where people feel like it's a product that needs polishing, as
  4602.    opposed to a pile of code that needs to be turned into a product."
  4603.    When we're at that stage, we'll get more people contributing.
  4604.    
  4605.    Meanwhile, we're not starving for contribution; but we're working on a
  4606.    chicken/egg problem that has to be solved one way or another. Our goal
  4607.    is to to toss a chicken in the ring and give it away. And that's
  4608.    pretty much what we've been doing all along, though not all at once.
  4609.    We've got parts of the source out, and we're finishing other parts.
  4610.    The Communicator 5.0 team is working away.
  4611.    
  4612.                        The world of all possibilities
  4613.                                       
  4614.    DOC: Let's take an example of something that might come from the
  4615.    outside that we touched on in our last talk. At that point you didn't
  4616.    have an ORB (Object Request Broker). Has anybody come up and created
  4617.    one?
  4618.    
  4619.    TOM: I don't think anybody has done an ORB yet.
  4620.    
  4621.    MARC: We had the Visigenic ORB, but I think it's gone now. We've been
  4622.    trying to keep the client pretty small.
  4623.    
  4624.    TOM: The problem wouldn't be the ORB, it would be getting it to behave
  4625.    in a useful manner.
  4626.    
  4627.    DOC: In a world of all possibilities, and this may not be possible,
  4628.    what would happen if somebody came along and created a DCOM
  4629.    (Microsoft) ORB? Would you care?
  4630.    
  4631.    MARC: Contribute it.
  4632.    
  4633.    DOC: So you're agnostic about object models at this point.
  4634.    
  4635.    MARC: On the application server side, it's both DCOM and CORBA.
  4636.    
  4637.    TOM: I'm not agnostic if you produce an object model that binds me to
  4638.    a platform. So, when any proposal is made to Mozilla that is not going
  4639.    to migrate to a cross-platform universe, including platforms I don't
  4640.    know about today, I won't take it on. For example, if somebody says,
  4641.    "I want to contribute this thing to Mozilla; but I don't want to
  4642.    contribute the source. I only want to give you a binary. It'll run on
  4643.    all the platforms you're currently supporting." That's not really what
  4644.    Mozilla is all about. I may have to make trade-offs I can't see today;
  4645.    but that's not really what we're for. What we're for is platform
  4646.    independence. Any suggestion, object model or otherwise, we're open
  4647.    to. If you've got a platform issue, I want to solve it. But guess
  4648.    what: we can pile a million people on solving it.
  4649.    
  4650.    Now the Raptor thing that was contributed halfway through April, they
  4651.    have a thing they call XP/COM, which is a small, lightweight component
  4652.    model thing... I really don't know what kind of mapping that has; but
  4653.    I think it tries to solve the same kind of problems: load a module,
  4654.    unload a module, interrogate a module for supported interfaces, blah
  4655.    blah blah.
  4656.    
  4657.    MARC: But it's not OLE, it's just COM. That is, it's built on the COM
  4658.    primitives. It uses the COM ideas, but it's not OLE.
  4659.    
  4660.    TOM: He knows more about it than I do.
  4661.    
  4662.    MARC: Barely.
  4663.    
  4664.    DOC: This interests me because this is one of those areas where we've
  4665.    got a large delta between the real and the ideal. A year ago we were
  4666.    all talking about how the world was going to be objects, and that one
  4667.    object model would take care of that, and it looked like a big
  4668.    argument was brewing between two different object models. Now we're
  4669.    you're saying it's still too early in the evolution toward this thing
  4670.    even to talk very much about it.
  4671.    
  4672.    MARC: I would argue that it's happening, but from the bottom up. Much
  4673.    as to say that C++ and Java intrinsically programs to consist of
  4674.    objects; but it's a programming tool more than a concern right now.
  4675.    But a distributed object world is quite a ways off. It presumes the
  4676.    existence of everything from management systems to application
  4677.    servers, a whole new generation of APIs and many other things that
  4678.    still don't, for the most part, exist. So it has to be built
  4679.    incrementally.
  4680.    
  4681.    DOC: And you expect the Open Source world to deliver that.
  4682.    
  4683.    MARC: It could, but it's a little bit tricky. There are sort of three
  4684.    worlds that are relevant here. One is the Open Source world. Another
  4685.    is the professional commercial software development world. The third
  4686.    is the theoretical world where you find most of the people who are
  4687.    passionate about creating a world full of distributed objects. Most of
  4688.    these guys are coming from a relatively intellectual orientation. And
  4689.    so there needs to be an intersection between those three worlds. The
  4690.    intellectuals have traditionally tried to appeal to the commercial
  4691.    software developers, with limited success. They could attempt to
  4692.    appeal to the Open Source developers, perhaps with more success. We'll
  4693.    see.
  4694.    
  4695.    Meanwhile the main problem is that your average commercial software
  4696.    developer is far too busy trying to put products out the door to try
  4697.    to create a world full of distributed objects.
  4698.    
  4699.    TOM: On the other hand, there are some objects that they find
  4700.    themselves constantly revisiting. So if they could agree on a
  4701.    nomenclature and interface and get it well-known that, okay, a
  4702.    color-picker is a color-picker, and we can spell it "c-o-l-o-r" or
  4703.    "c-o-l-o-u-r" so let's make a decision move on with it. That's how it
  4704.    could grow up. Incremental agreement based on the need for everybody
  4705.    to move on. But when you sit down and say "let's come up with an
  4706.    object model to solve the planet's problems," it ain't gonna happen in
  4707.    an afternoon.
  4708.    
  4709.    DOC: Since the dawn of time there have been ideals, and this is the
  4710.    one of the latest of these, I suppose. Looking back, I can remember
  4711.    when "machine independent software" was one of those. It's still with
  4712.    us.
  4713.    
  4714.    MARC: Machine independent software happened with FORTRAN.
  4715.    
  4716.    DOC: I remember it from, like, 1980.
  4717.    
  4718.    MARC: At one of these Java events somebody played a video of an IBM
  4719.    promotional film from 1954, about one of the structured programming
  4720.    languages of the time, and the pitch was that you could write it once
  4721.    and run it anywhere. (laughter)
  4722.    
  4723.    DOC: Let's look at the Open Source thing for a moment. There's a
  4724.    population out there of Open Source guys that you say is moving
  4725.    toward, or already has, critical mass. The statistics work such that
  4726.    somewhere in this larger population there will emerge some original
  4727.    solutions to problems. But solving problems and pursuing ideals are
  4728.    very different things. One tends to be incremental and trial-and-error
  4729.    while the other tends to be theoretical. Now I'm curious about what
  4730.    brings the Open Source world — this practically-oriented
  4731.    problem-solving population — into the market conversation.
  4732.    
  4733.    I just saw an interesting story in Interactive Week
  4734.    (http://www.zdnet.com/intweek/printhigh/51198/nt511.html) about how
  4735.    Linux is in the intranet OS conversation, but not at the top executive
  4736.    level. It tells how this IDC guy went to the chief financial officer
  4737.    at a bank in New York, and the guy said they weren't using Linux,
  4738.    because "they didn't want to run the bank on unsupported software."
  4739.    But when the guy talked to the IS staff, they said they had a hundred
  4740.    servers running on Linux. So when this guy told the staffers what the
  4741.    CFO said, they said he's the guy who gave them a mandate with no
  4742.    budget, so they went out and got Linux." That kind of thing got no
  4743.    coverage before, and now it's getting some.
  4744.    
  4745.    So where has the browser conversation moved? Has it changed from "hey,
  4746.    they've released the family jewels" to "Hey, isn't it interesting
  4747.    what's happening with those jewells?"
  4748.    
  4749.    MARC: People are still trying to figure it out. There's quite a bit
  4750.    more knowledge of the product that needs to gather before the
  4751.    understanding breaks through.
  4752.    
  4753.    TOM: There are some cutting edge people who we'd rather not name who
  4754.    get it, and who are saying "Netscape did that? Yup. Let's go." But
  4755.    they're still in the minority.
  4756.    
  4757.    MARC: And there are some people at the Department of Defense who are
  4758.    responsible for some of their investment directions. Internally they
  4759.    find a lot of this highly attractive. Because historically they've
  4760.    built all their own systems, and they can fix them if something goes
  4761.    wrong. But since that's prohibitively expensive, they've moved to
  4762.    commercial off-the-shelf hardware and software. The problem with that,
  4763.    however, is that when it needs fixing they have to call a Microsoft
  4764.    800 hotline just like everyone else. And they're not happy about the
  4765.    idea of building the entire U.S. military infrastructure just on
  4766.    Microsoft products, for obvious reasons. So the prospect of an Open
  4767.    Source world for them is a very exciting one. The prospect of Linux
  4768.    specifically is exciting because it gives them something that gets
  4769.    them the benefit of commercial off-the-shelf software without the
  4770.    risks they see with single commercial sourcing.
  4771.    
  4772.    The whole point of commercial off-the-shelf for the military is a much
  4773.    broader base of investment happening by a broader community that they
  4774.    can take advantage of, rather than having do it all themselves. Open
  4775.    Source gives them many of those benefits, plus some new ones, like:
  4776.    they can fix it when it breaks, and they're not dependent on an
  4777.    outside vendor. And they certainly have the technical ability to do
  4778.    what they need to do to an existing piece of code.
  4779.    
  4780.    All of which is why they are getting extremely interested in this
  4781.    development, and in Linux especially. Which is why I think we are
  4782.    going to see the intelligence community be an early adopter of this
  4783.    stuff.
  4784.    
  4785.    DOC: How much do the Linux and Open Source conversations overlap?
  4786.    
  4787.    MARC: The Open Source conversation is mostly around specific examples.
  4788.    Linux, Mozilla, Apache. Because the world doesn't yet know is how to
  4789.    extrapolate Mozilla, Linux and Apache to more things. So your
  4790.    commercial IT world looks at it and says "this is never gonna fly with
  4791.    an Oracle database, or with SAP manufacturing applications. So we say
  4792.    fine, let's concentrate on the areas where it's easy to apply the
  4793.    kinds of things we can do today.
  4794.    
  4795.                                 Burning cash
  4796.                                       
  4797.    DOC: This conversation is so far away from what's going on at
  4798.    Microsoft that it might be worth visiting the difference. Marc, tell
  4799.    me more about how you understand Microsoft's vertical integration
  4800.    strategy — especially since what you said about it last time got
  4801.    munged by my tape recorder.
  4802.    
  4803.    MARC: Well, what I said before was spontaneous. I'm not sure I can
  4804.    repeat it exactly.
  4805.    
  4806.    TOM: Maybe we can reconstruct from what led into it.
  4807.    
  4808.    DOC: Okay, I remember a scenario. What would happen if the whole
  4809.    client world is running on Explorer?
  4810.    
  4811.    MARC: Yeah, if the world goes 100% Microsoft clients, then Microsoft
  4812.    locks down the protocols and the APIs and the access methods to the
  4813.    servers, and then takes over the servers.
  4814.    
  4815.    TOM: As well as the content creation tools.
  4816.    
  4817.    MARC: —As well as the tools, and then the next step is the
  4818.    content services themselves. Basically I think what we were talking
  4819.    about was, you see over and over again in unrelated industries, a
  4820.    pattern. Historically, computer industries were totally vertically
  4821.    integrated. IBM, DEC, Apple and other companies all built verticalized
  4822.    businesses and then found they were under attack by vendors like Intel
  4823.    and Microsoft and Dell and others that came in with a more open
  4824.    approach at some horizontal level. So if you've got someone who's a
  4825.    vertical provider, with the cost structure implied by that, in a
  4826.    rapidly exploding market, and it's not able to fulfill the market
  4827.    demand fast enough, then that vendor is subject to attack by
  4828.    horizontal providers who are coming in with fundamentally better
  4829.    economics, such as Microsoft with commodity software and Intel with
  4830.    commodity chips, and Dell with commodity PCs.
  4831.    
  4832.    But then what happens is you get into these situations —
  4833.    specifically the one Microsoft is in today — where, due to
  4834.    increasing returns and a series of other developments, you have a
  4835.    monopoly, for example with the operating system. So, at that point,
  4836.    for to grow faster than the market's growing, the logical thing is to
  4837.    leverage your monopoly vertically up into adjacent spaces in the
  4838.    stack.
  4839.    
  4840.    TOM: It's required.
  4841.    
  4842.    MARC: It's required. They have to, or at least they have to try, to
  4843.    grow faster than the market is growing. That is Microsoft's big
  4844.    problem right now. And they thought they were well on their way to
  4845.    doing exactly that. They thought they were going to leverage the
  4846.    client straignt onto the server. If the world was using a Windows
  4847.    desktop and not all these browsers, they would have been done with
  4848.    this by now. But this browser thing came along between Windows and the
  4849.    user, so they have to establish control of what turned out to be a new
  4850.    level: the browser level, the network user interface level. If they
  4851.    can successfully go to 100% on that, then they can by inference lock
  4852.    down the protocols on 100% of the servers.
  4853.    
  4854.    In a networked environment, the desktop/browser is the moral
  4855.    equivalent of the TV tuner for content and services. They're going to
  4856.    leverage up into those spaces exactly the same way. So what they're
  4857.    basically doing is going from a horizontal strategy to a vertical one:
  4858.    from a position of monopoly in one horizontal slice — where they
  4859.    have monopoly profits — and using those monopoly profits to
  4860.    subsidize verticalizing.
  4861.    
  4862.    And they have a fundamental economic advantage in that they have all
  4863.    this monopoly cash coming in. So they can arbitrarily subsidize losses
  4864.    in other markets.
  4865.    
  4866.    DOC: Which is why they could nail the KMPG/Peat Marwick deal.
  4867.    (Essentially giving away something at a loss — in this case
  4868.    service — that Netscape needed to charge for, and winning the
  4869.    business that way.)
  4870.    
  4871.    MARC: Right. They can write a check to get whatever business they want
  4872.    in a new market, because they have all these monopoly profits coming
  4873.    in from existing markets where their control is absolute. Which is why
  4874.    in the Senate hearings, Senator Cole's questions to Gates about his
  4875.    profit margins were actually very relevant. One of the ways you can
  4876.    tell when a company really has a monopoly is by their profit margins.
  4877.    Because normally competitive technology markets tend to have ten,
  4878.    twenty, twenty-five percent profit margins, net profits. Not forty to
  4879.    sixty percent. So that's one of the ways to see if a monopoly exists.
  4880.    
  4881.    They actually have so much cash coming in the door now that they
  4882.    actually have a problem nobody has ever had before in this market,
  4883.    which is to find ways to burn as much cash as fast as possible, and in
  4884.    as many creative ways as possible: ways that are going to lose money
  4885.    in the short term. So it is in their interest to burn cash. This is an
  4886.    interesting position to be in.
  4887.    
  4888.    DOC: And they can do it.
  4889.    
  4890.    MARC: Yes, but it isn't just that they can, it's that they need to.
  4891.    Because if they don't they'll report even bigger profit margins and
  4892.    the regulators will get real interested. They don't want to prove they
  4893.    have a monopoly. Burning cash is one way to reduce the appearance of
  4894.    monopoly.
  4895.    
  4896.    Now, this strategy only works as long as you have your core monopoly.
  4897.    The minute you lose that monopoly, you have to compete in that core
  4898.    horizontal slice, and your margins go down. And every other part of
  4899.    your stack becomes vulnerable to attack because you can't sustain your
  4900.    tactics. You don't have all this cash coming in, subsidizing
  4901.    everything.
  4902.    
  4903.    DOC: I see you compete with that monopoly by changing the game. You
  4904.    did that with the browser in the first place. You made the browser the
  4905.    network interface; and since most of the real business of computing
  4906.    happened on the network, you changed everything. Suddenly what you saw
  4907.    at every trade show, regardless of platform, was a sea of monitors all
  4908.    with browsers that masked the OS in each case.
  4909.    
  4910.    MARC: Right.
  4911.    
  4912.    DOC: And in '96 you did the same thing with LDAP. Changed the game.
  4913.    
  4914.    MARC: Um hmm.
  4915.    
  4916.    DOC: The way things were headed before that, Microsoft was going to
  4917.    squeeze the world into the Cairo directory.
  4918.    
  4919.    MARC: Right. ODSI. Open Directory Services Interface (a Microsoft
  4920.    protocol), was going to be the way everybody was going to do it. Same
  4921.    with mail: MAPI on one side versus POP and SMTP on the other.
  4922.    
  4923.    DOC: So I'm wondering if you imagine something will arise out of the
  4924.    Mozilla conversation that's a game-changer like the browser itself
  4925.    was, or LDAP was.
  4926.    
  4927.    TOM: It certainly will. It's a question of when.
  4928.    
  4929.    MARC: My guess is that there will be a grad student somewhere, say the
  4930.    Netherlands, who's doing a Ph.D. dissertation on a new advanced user
  4931.    interface. And instead of just building something that nobody will
  4932.    ever see, they'll build it on the Mozilla source code base and release
  4933.    it to the Net. Why not? It's not going to sell anyway — it's a
  4934.    Ph.D. dissertation, after all. They're going to want as many people as
  4935.    possible to see it, and to get as many job offers as possible. And
  4936.    it's going to change the world. So my guess is we're going to see
  4937.    stuff like that popping up over the next couple of years. No reason
  4938.    not to. We've got something like critical mass here. We have virtually
  4939.    the entire world of computer professionals, especially in the highly
  4940.    creative areas of research and computer science.
  4941.    
  4942.    TOM: And imagine the alternatives. Here we're going to have this
  4943.    public source and all these people will have the freedom to work in
  4944.    this space, in a space that a hundred million people use in their
  4945.    daily lives all the time. Can you say there won't be any such
  4946.    innovations in the next five years? That's almost ludicrous.
  4947.    
  4948.                                The free world
  4949.                                       
  4950.    MARC: It's interesting that one of the changes that has happened in
  4951.    the market over the last five years is that client software is now
  4952.    free. Not just browser software and email software, but personal
  4953.    organizers and word processors, spreadsheets. It is now impossible in
  4954.    the software market to make money doing client software of any kind
  4955.    for anything. Microsoft Outlook, for example, is wiping out the
  4956.    independent personal information management (PIM) market.
  4957.    
  4958.    So you can't expect new innovations to emerge out of the commercial
  4959.    software world that will be highly relevant to end users that come in
  4960.    the form of client software. You can expect them to come as on-line
  4961.    services, perhaps. Or as server software, perhaps, because you can
  4962.    still make money on those without being Microsoft. But innovation in
  4963.    end user software is only going to come out of the Open Source
  4964.    community. It's not going to come out of Microsoft. They don't do
  4965.    innovation here, and they don't have to. And you know the venture
  4966.    capitalists are not going to fund the next company to do the next
  4967.    computer interface, because there's no way to make money on that. And
  4968.    that could end up being the biggest threat to Microsoft two, four,
  4969.    five, ten years from now. Because that's when its core monopoly comes
  4970.    under attack by something that is technologically far superior, with a
  4971.    business model that's far superior. That's when they're really in
  4972.    trouble. Because free is a pretty good business model.
  4973.    
  4974.    DOC: And you're counting on that grad student out there, writing in
  4975.    Mozilla code, to come up with the killer paradigm shift on the client
  4976.    side.
  4977.    
  4978.    MARC: First, it would be better for that to happen than for it not to
  4979.    happen, regardless of whether or not we benefit directly.
  4980.    De-stabilization and the heterogeneity of the market is good for us.
  4981.    Stabilization and homogeneity is bad for us. So that's the first part
  4982.    of the decision tree. The next part of the tree is that as these
  4983.    things happen presumably there will be ways for us to make money,
  4984.    either through online service offerings or server software offerings
  4985.    or programming tools or something that wraps around that and provides
  4986.    commercial support.
  4987.    
  4988.    DOC: So it's wrong to believe it was ever in Netscape's interest to
  4989.    have stabilization occurring around itself.
  4990.    
  4991.    MARC: That could be true.
  4992.    
  4993.    DOC: People default to thinking that every company wants a stable
  4994.    situation where they've locked something down and don't need to do
  4995.    anything new in that space for a long time — until something
  4996.    comes along that changes the business so totally that they have to
  4997.    start all over again.
  4998.    
  4999.    MARC: Yeah. Let me put it this way. Every company would like to be in
  5000.    Microsoft's situation, a completely stable situation, with abundant
  5001.    money flowing in. But if that's not reasonable, then the next best
  5002.    thing is to have a constantly de-stabilized situation. It means you
  5003.    have to keep running and doing new things. But that's what makes it
  5004.    fun.
  5005.    
  5006.    DOC: And you want Microsoft's tractor trailer to chase your four-wheel
  5007.    drive all over new landscape.
  5008.    
  5009.    MARC: Sure. Definitely.
  5010.    
  5011.                                    Links
  5012.                                       
  5013.    The Netscape Open Source White Paper provides an excellent background
  5014.    on Netscape's approach to the open source movement.
  5015.    
  5016.    "New Rules for a New Economy" is an outstanding piece that ran
  5017.    recently in WIRED.Most of Netscape's moves have been in complete
  5018.    alignment with Kelly's rules — which makes sense because in many
  5019.    ways Netscape wrote them. Or at least discovered them.
  5020.    
  5021.    A Platform is a Chinese Household givesDave Winer's alternative
  5022.    software community metaphor.
  5023.              _________________________________________________
  5024.    
  5025.    [INLINE]
  5026.    
  5027.                         Copyright ⌐ 1998, Doc Searls
  5028.             Published in Issue 31 of Linux Gazette, August 1998
  5029.      _________________________________________________________________
  5030.    
  5031.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  5032.      _________________________________________________________________
  5033.    
  5034.     "Linux Gazette...making Linux just a little more fun!"
  5035.      _________________________________________________________________
  5036.    
  5037.                          Copying Red Hat Legalities
  5038.                                       
  5039.                                By Eric Canal
  5040.      _________________________________________________________________
  5041.    
  5042.    I posted a question last month and I received help from some people
  5043.    and some others asked me to send them my results. I think that this
  5044.    article can interest some of your readers that's why I send it to you.
  5045.    You can make all the arrangements you want and I don't care for the
  5046.    mention of my name. Do what you want... I just want to collaborate at
  5047.    my level to the fantastic Linux Community.
  5048.    
  5049.    I insist on only one thing : thanking all the people that helped me
  5050.    about this topic : the burning of a RedHat CD ROM.
  5051.    
  5052.    Here is a sum up of all the information I received and some additional
  5053.    one that I discovered in my experiments.
  5054.    
  5055.    As I am Francophone, i hope that you won't find to many English
  5056.    mistakes. :(
  5057.    
  5058.    1. It is legal to make his own RedHat CD ROM if you mention all the
  5059.    copyrighted stuff and the different owners of trademarks, etc. 2. It
  5060.    is cheaper to buy a CD from different organizations such as RedHat,
  5061.    InfoMagic or CheapBytes if you are connected to the Internet with a
  5062.    modem and if you pay your communications. The only interesting way to
  5063.    burn a RedHat CD ROM is when you have a fast Internet connection and
  5064.    above all if you don't pay for it (for example in an university or at
  5065.    work (your boss will be happy for the bill ;p))). 3. You need all the
  5066.    RPMS files, all the "instimage" directory and the file "i386". With
  5067.    this email you will find an attached text file that describes all the
  5068.    directories involved in a RedHat CD ROM, but most of them are
  5069.    facultative. You have to respect the hierarchy between the directories
  5070.    you want to put on your own CD ROM. 4. When you burn your CD ROM you
  5071.    must have an ISO 9660 file system with Rock Ridge Extensions (to let
  5072.    Linux recognize the long filenames). That implies that you must burn
  5073.    it from Linux with "mkisofs", "mkhybrid" (using option -r for RR
  5074.    extensions) with a former Linux system or a minimal Linux system (see
  5075.    the corresponding HowTo for that) because most of Windows burners
  5076.    don't do Rock Ridge extensions. 5. With RedHat 5.1 and only with this
  5077.    version you can burn your CD ROM with a ISO9660 / Joliet file system
  5078.    which is more comfortable if you don't already have a Linux system. It
  5079.    doesn't work at all with RedHat 5.0 and former versions (this is due
  5080.    to the kernel 2.0.34 which is the first stable version to directly
  5081.    recognize Joliet extensions). 6. I didn't try a bootable CD, but I
  5082.    know it is feasible. In this case you need the autoboot directory. The
  5083.    file system you have to use is "El Torito". 7. You can take all the
  5084.    updates and put them in the RPMS directory in order to replace the
  5085.    deficient ones. I did it for all the RPMS except the ones involved
  5086.    with the kernel and the libs (libc5 and glibc), all the funny things
  5087.    that are at the heart of the system. When I first tried all the
  5088.    updates without any care, it didn't work at all (system halted). In my
  5089.    second try, I didn't copy the files I mentioned above and it worked...
  5090.    But the problem can be elsewhere (deficient burned image, etc.).
  5091.    
  5092.    Two more advices : a. Linux is case sensitive, so be careful with
  5093.    that. In particular you must have the RPMS directory name in capital
  5094.    letters. The hierarchy of directories joined with this message
  5095.    indicates the where the capital letters must be. b. Some CD burners
  5096.    might not work with Linux. In order to know that you must have the
  5097.    firmware version of your burner and see if it is compatible with
  5098.    mkisofs or mkhybrid or cdrecord. You can check it at
  5099.    http://www.guug.de:8080/cgi-bin/winni/lsc.pl. If it is not the case,
  5100.    you can upgrade it from the CD burner manufacturer (see their
  5101.    website).
  5102.    
  5103.    In any case you can have a look on the CD Writing HowTo at your
  5104.    favorite mirror (I personaly use www.freenix.fr which is in french,
  5105.    but I guess that not everybody might want to go there ;p)).
  5106.    
  5107.    Good luck and thank you very much for the support i received
  5108.    
  5109.    May be the (Linux) Force be with you (and do go to the dark (NT) side
  5110.    of the Force) ;p)
  5111.    
  5112.    and long life to the Linux Gazette.
  5113.    
  5114.    Eric CANAL
  5115.    
  5116.    .
  5117.    |-- COPYING
  5118.    |-- DOCS.FR
  5119.    | |-- 41REDHAT
  5120.    | | |-- TRANS.TBL
  5121.    | | |-- a4
  5122.    | | | |-- 300-dpi
  5123.    | | | | |-- TRANS.TBL
  5124.    | | | | |-- complet.zip
  5125.    | | | | |-- impaires.zip
  5126.    | | | | `-- paires.zip
  5127.    | | | |-- 600-dpi
  5128.    | | | | |-- TRANS.TBL
  5129.    | | | | |-- complet.zip
  5130.    | | | | |-- impaires.zip
  5131.    | | | | `-- paires.zip
  5132.    | | | `-- TRANS.TBL
  5133.    | | |-- index.htm
  5134.    | | |-- lf-pdf.htm
  5135.    | | |-- manuel.tgz
  5136.    | | |-- rh4-.htm
  5137.    | | |-- rh4-01.gif
  5138.    | | |-- rh4-01.htm
  5139.    | | |-- rh4-02.gif
  5140.    | | |-- rh4-02.htm
  5141.    | | |-- rh4-03.gif
  5142.    | | |-- rh4-03.htm
  5143.    | | |-- rh4-04.gif
  5144.    | | |-- rh4-04.htm
  5145.    | | |-- rh4-05.gif
  5146.    | | |-- rh4-05.htm
  5147.    | | |-- rh4-06.gif
  5148.    | | |-- rh4-06.htm
  5149.    | | |-- rh4-07.gif
  5150.    | | |-- rh4-07.htm
  5151.    | | |-- rh4-08.gif
  5152.    | | |-- rh4-08.htm
  5153.    | | |-- rh4-09.gif
  5154.    | | |-- rh4-09.htm
  5155.    | | |-- rh4-10.gif
  5156.    | | |-- rh4-10.htm
  5157.    | | |-- rh4-11.gif
  5158.    | | |-- rh4-11.htm
  5159.    | | |-- rh4-12.gif
  5160.    | | |-- rh4-12.htm
  5161.    | | |-- rh4-13.gif
  5162.    | | |-- rh4-13.htm
  5163.    | | |-- rh4-14.gif
  5164.    | | |-- rh4-14.htm
  5165.    | | |-- rh4-15.gif
  5166.    | | |-- rh4-15.htm
  5167.    | | |-- rh4-16.gif
  5168.    | | |-- rh4-16.htm
  5169.    | | |-- rh4-17.gif
  5170.    | | |-- rh4-17.htm
  5171.    | | |-- rh4-18.gif
  5172.    | | |-- rh4-18.htm
  5173.    | | |-- rh4-19.gif
  5174.    | | |-- rh4-19.htm
  5175.    | | |-- rh4-20.gif
  5176.    | | |-- rh4-20.htm
  5177.    | | |-- rh4-21.gif
  5178.    | | |-- rh4-21.htm
  5179.    | | |-- rh4-22.gif
  5180.    | | |-- rh4-22.htm
  5181.    | | |-- rh4-23.gif
  5182.    | | |-- rh4-23.htm
  5183.    | | |-- rh4-24.gif
  5184.    | | |-- rh4-24.htm
  5185.    | | |-- rh4-25.gif
  5186.    | | |-- rh4-25.htm
  5187.    | | |-- rh4-26.gif
  5188.    | | |-- rh4-26.htm
  5189.    | | |-- rh4-27.gif
  5190.    | | |-- rh4-27.htm
  5191.    | | |-- rh4-28.gif
  5192.    | | |-- rh4-28.htm
  5193.    | | |-- rh4-29.gif
  5194.    | | |-- rh4-29.htm
  5195.    | | |-- rh4-30.gif
  5196.    | | |-- rh4-30.htm
  5197.    | | |-- rh4-31.gif
  5198.    | | |-- rh4-31.htm
  5199.    | | |-- rh4-32.gif
  5200.    | | |-- rh4-32.htm
  5201.    | | |-- rh4-33.gif
  5202.    | | |-- rh4-33.htm
  5203.    | | |-- rh4-34.gif
  5204.    | | |-- rh4-34.htm
  5205.    | | |-- rh4-35.gif
  5206.    | | |-- rh4-35.htm
  5207.    | | |-- rh4-36.gif
  5208.    | | |-- rh4-36.htm
  5209.    | | |-- rh4-37.gif
  5210.    | | |-- rh4-37.htm
  5211.    | | |-- rh4-38.gif
  5212.    | | |-- rh4-38.htm
  5213.    | | |-- rh4-39.gif
  5214.    | | |-- rh4-39.htm
  5215.    | | |-- rh4-40.gif
  5216.    | | |-- rh4-40.htm
  5217.    | | |-- rh4-41.gif
  5218.    | | |-- rh4-41.htm
  5219.    | | |-- rh4-42.gif
  5220.    | | |-- rh4-42.htm
  5221.    | | |-- rh4-43.gif
  5222.    | | |-- rh4-43.htm
  5223.    | | |-- rh4-44.gif
  5224.    | | |-- rh4-44.htm
  5225.    | | |-- rh4-45.gif
  5226.    | | |-- rh4-45.htm
  5227.    | | |-- rh4-46.gif
  5228.    | | |-- rh4-46.htm
  5229.    | | |-- rh4-47.htm
  5230.    | | |-- rh4-48.htm
  5231.    | | |-- rh4-49.htm
  5232.    | | |-- rh4-50.htm
  5233.    | | |-- rh4-51.htm
  5234.    | | |-- rh4-52.htm
  5235.    | | |-- rh4-53.htm
  5236.    | | |-- rh4-54.htm
  5237.    | | |-- rh4-55.htm
  5238.    | | |-- rh4-56.htm
  5239.    | | |-- rh4-57.htm
  5240.    | | |-- rh4-58.htm
  5241.    | | |-- rh4-59.htm
  5242.    | | |-- rh4-60.htm
  5243.    | | |-- rh4-61.htm
  5244.    | | |-- rh4-62.htm
  5245.    | | |-- rh4-63.htm
  5246.    | | |-- rh4-64.htm
  5247.    | | |-- rh4-65.htm
  5248.    | | |-- rh4-66.htm
  5249.    | | |-- rh4-67.htm
  5250.    | | |-- rh4-68.htm
  5251.    | | |-- rh4-69.htm
  5252.    | | |-- rh4-70.htm
  5253.    | | |-- rh4-71.htm
  5254.    | | |-- rh4-72.htm
  5255.    | | |-- rh4-73.htm
  5256.    | | |-- rh4-74.htm
  5257.    | | |-- rh4-75.htm
  5258.    | | |-- rh4-76.htm
  5259.    | | |-- rh4-77.htm
  5260.    | | |-- rh4-78.htm
  5261.    | | |-- rh4-79.htm
  5262.    | | |-- rh4-80.htm
  5263.    | | `-- rh4-_c.htm
  5264.    | |-- FAQ
  5265.    | | |-- HTML
  5266.    | | | |-- TRANS.TBL
  5267.    | | | |-- meta-faq.fr-1.html
  5268.    | | | |-- meta-faq.fr-2.html
  5269.    | | | |-- meta-faq.fr-3.html
  5270.    | | | |-- meta-faq.fr-4.html
  5271.    | | | |-- meta-faq.fr-5.html
  5272.    | | | |-- meta-faq.fr-6.html
  5273.    | | | |-- meta-faq.fr-7.html
  5274.    | | | |-- meta-faq.fr-8.html
  5275.    | | | |-- meta-faq.fr-9.html
  5276.    | | | `-- meta-faq.fr.html
  5277.    | | |-- TRANS.TBL
  5278.    | | `-- meta-faq.fr
  5279.    | |-- FDISK-Linux
  5280.    | | |-- MANUEL.TXT
  5281.    | | `-- TRANS.TBL
  5282.    | |-- FIPS-15
  5283.    | | |-- MANUEL.TXT
  5284.    | | `-- TRANS.TBL
  5285.    | |-- HOWTO
  5286.    | | |-- Boot-disk-HOWTO
  5287.    | | |-- BootPrompt-HOWTO
  5288.    | | |-- Busmouse-HOWTO
  5289.    | | |-- CDROM-HOWTO
  5290.    | | |-- Commercial-HOWTO
  5291.    | | |-- DOSEMU-HOWTO
  5292.    | | |-- Distribution-HOWTO
  5293.    | | |-- ELF-HOWTO
  5294.    | | |-- Firewall-HOWTO
  5295.    | | |-- Ftape-HOWTO
  5296.    | | |-- GCC-HOWTO
  5297.    | | |-- HAM-HOWTO
  5298.    | | |-- HOWTO-Index
  5299.    | | |-- HTML
  5300.    | | | |-- Boot-disk-HOWTO-html.tar.gz
  5301.    | | | |-- BootPrompt-HOWTO-html.tar.gz
  5302.    | | | |-- Busmouse-HOWTO-html.tar.gz
  5303.    | | | |-- CDROM-HOWTO-html.tar.gz
  5304.    | | | |-- Commercial-HOWTO-html.tar.gz
  5305.    | | | |-- DOSEMU-HOWTO-html.tar.gz
  5306.    | | | |-- Distribution-HOWTO-html.tar.gz
  5307.    | | | |-- ELF-HOWTO-html.tar.gz
  5308.    | | | |-- Firewall-HOWTO-html.tar.gz
  5309.    | | | |-- Ftape-HOWTO-html.tar.gz
  5310.    | | | |-- GCC-HOWTO-html.tar.gz
  5311.    | | | |-- HAM-HOWTO-html.tar.gz
  5312.    | | | |-- HOWTO-Index-html.tar.gz
  5313.    | | | |-- Hardware-HOWTO-html.tar.gz
  5314.    | | | |-- IPX-HOWTO-html.tar.gz
  5315.    | | | |-- Installation-HOWTO-html.tar.gz
  5316.    | | | |-- Java-HOWTO-html.tar.gz
  5317.    | | | |-- Kernel-HOWTO-html.tar.gz
  5318.    | | | |-- Keyboard-HOWTO-html.tar.gz
  5319.    | | | |-- MGR-HOWTO-html.tar.gz
  5320.    | | | |-- Mail-HOWTO-html.tar.gz
  5321.    | | | |-- Modems-HOWTO-html.tar.gz
  5322.    | | | |-- NIS-HOWTO-html.tar.gz
  5323.    | | | |-- Net2-HOWTO-html.tar.gz
  5324.    | | | |-- PCI-HOWTO-html.tar.gz
  5325.    | | | |-- PPP-FAQ-html.tar.gz
  5326.    | | | |-- PPP-HOWTO-html.tar.gz
  5327.    | | | |-- Printing-HOWTO-html.tar.gz
  5328.    | | | |-- SCSI-HOWTO-html.tar.gz
  5329.    | | | |-- SCSI-Programming-HOWTO-html.tar.gz
  5330.    | | | |-- Serial-HOWTO-html.tar.gz
  5331.    | | | |-- Slip-ProxyARP-html.tar.gz
  5332.    | | | |-- Sound-HOWTO-html.tar.gz
  5333.    | | | |-- TRANS.TBL
  5334.    | | | |-- Term-HOWTO-html.tar.gz
  5335.    | | | |-- Tips-HOWTO-html.tar.gz
  5336.    | | | |-- UPS-HOWTO-html.tar.gz
  5337.    | | | |-- UUCP-HOWTO-html.tar.gz
  5338.    | | | |-- Video-HOWTO-html.tar.gz
  5339.    | | | |-- Win95-Win3x-Linux-html.tar.gz
  5340.    | | | `-- XFree86-HOWTO-html.tar.gz
  5341.    | | |-- Hardware-HOWTO
  5342.    | | |-- IPX-HOWTO
  5343.    | | |-- Installation-HOWTO
  5344.    | | |-- Java-HOWTO
  5345.    | | |-- Kernel-HOWTO
  5346.    | | |-- Keyboard-HOWTO
  5347.    | | |-- MGR-HOWTO
  5348.    | | |-- Mail-HOWTO
  5349.    | | |-- Modems-HOWTO
  5350.    | | |-- NIS-HOWTO
  5351.    | | |-- Net2-HOWTO
  5352.    | | |-- PCI-HOWTO
  5353.    | | |-- PPP-FAQ
  5354.    | | |-- PPP-HOWTO
  5355.    | | |-- Printing-HOWTO
  5356.    | | |-- SCSI-HOWTO
  5357.    | | |-- SCSI-Programming-HOWTO
  5358.    | | |-- Serial-HOWTO
  5359.    | | |-- Slip-ProxyARP
  5360.    | | |-- Sound-HOWTO
  5361.    | | |-- TRANS.TBL
  5362.    | | |-- Term-HOWTO
  5363.    | | |-- Tips-HOWTO
  5364.    | | |-- UPS-HOWTO
  5365.    | | |-- UUCP-HOWTO
  5366.    | | |-- Video-HOWTO
  5367.    | | |-- Win95-Win3x-Linux
  5368.    | | `-- XFree86-HOWTO
  5369.    | |-- HOWTO-mini
  5370.    | | |-- Anon-ftp
  5371.    | | |-- Assembleur
  5372.    | | |-- Colour-ls
  5373.    | | |-- HTML
  5374.    | | | |-- Anon-ftp-html.tar.gz
  5375.    | | | |-- Assembleur-html.tar.gz
  5376.    | | | |-- Colour-ls-html.tar.gz
  5377.    | | | |-- IO-Port-html.tar.gz
  5378.    | | | |-- JAZ-drive-html.tar.gz
  5379.    | | | |-- LILO-html.tar.gz
  5380.    | | | |-- Large-IDE-html.tar.gz
  5381.    | | | |-- Man-Page-html.tar.gz
  5382.    | | | |-- NFS-Root-html.tar.gz
  5383.    | | | |-- Postgres-html.tar.gz
  5384.    | | | |-- Proxy-ARP-html.tar.gz
  5385.    | | | |-- Slip+ProxyARP-html.tar.gz
  5386.    | | | |-- TRANS.TBL
  5387.    | | | |-- Term-Firewall-html.tar.gz
  5388.    | | | |-- Token-Ring-html.tar.gz
  5389.    | | | |-- X-Terminal-html.tar.gz
  5390.    | | | `-- ZipIomega-html.tar.gz
  5391.    | | |-- IO-Port
  5392.    | | |-- JAZ-drive
  5393.    | | |-- LILO
  5394.    | | |-- Large-IDE
  5395.    | | |-- Man-Page
  5396.    | | |-- NFS-Root
  5397.    | | |-- Postgres
  5398.    | | |-- Proxy-ARP
  5399.    | | |-- Slip+ProxyARP
  5400.    | | |-- TRANS.TBL
  5401.    | | |-- Term-Firewall
  5402.    | | |-- Token-Ring
  5403.    | | |-- X-Terminal
  5404.    | | `-- ZipIomega
  5405.    | |-- INFO-sht
  5406.    | | |-- HTML
  5407.    | | | |-- TRANS.TBL
  5408.    | | | |-- info-sheet.fr-1.html
  5409.    | | | |-- info-sheet.fr-10.html
  5410.    | | | |-- info-sheet.fr-11.html
  5411.    | | | |-- info-sheet.fr-12.html
  5412.    | | | |-- info-sheet.fr-2.html
  5413.    | | | |-- info-sheet.fr-3.html
  5414.    | | | |-- info-sheet.fr-4.html
  5415.    | | | |-- info-sheet.fr-5.html
  5416.    | | | |-- info-sheet.fr-6.html
  5417.    | | | |-- info-sheet.fr-7.html
  5418.    | | | |-- info-sheet.fr-8.html
  5419.    | | | |-- info-sheet.fr-9.html
  5420.    | | | `-- info-sheet.fr.html
  5421.    | | |-- TRANS.TBL
  5422.    | | `-- info-sht.fr
  5423.    | |-- INTRO-Linux
  5424.    | | |-- HTML
  5425.    | | | |-- TRANS.TBL
  5426.    | | | |-- intro-1.html
  5427.    | | | |-- intro-2.html
  5428.    | | | |-- intro-3.html
  5429.    | | | |-- intro-4.html
  5430.    | | | |-- intro-5.html
  5431.    | | | |-- intro-6.html
  5432.    | | | |-- intro-7.html
  5433.    | | | `-- intro.html
  5434.    | | |-- TRANS.TBL
  5435.    | | `-- intro
  5436.    | |-- KERNEL-2.0
  5437.    | | |-- 00-INDEX
  5438.    | | |-- CHASSE-AUX-BOGUES
  5439.    | | |-- Changements
  5440.    | | |-- Configure.help
  5441.    | | |-- SMP.txt
  5442.    | | |-- StyleDuCodage
  5443.    | | |-- TRANS.TBL
  5444.    | | |-- chiendegarde.txt
  5445.    | | |-- digiboard.txt
  5446.    | | |-- disqueram.txt
  5447.    | | |-- ide.txt
  5448.    | | |-- initrd.txt
  5449.    | | |-- java.txt
  5450.    | | |-- logo.gif
  5451.    | | |-- logo.txt
  5452.    | | |-- modules.txt
  5453.    | | |-- numero-ioctl.txt
  5454.    | | |-- numero-magique.txt
  5455.    | | |-- obligatoire.txt
  5456.    | | |-- oups-trace.txt
  5457.    | | |-- racinenfs.txt
  5458.    | | |-- riscom8.txt
  5459.    | | |-- rtc.txt
  5460.    | | |-- scsi.txt
  5461.    | | |-- smp.tex
  5462.    | | |-- svga.txt
  5463.    | | |-- unicode.txt
  5464.    | | `-- verrous.txt
  5465.    | |-- LINUX-FACILE
  5466.    | | |-- TRANS.TBL
  5467.    | | |-- a4
  5468.    | | | |-- 300-dpi
  5469.    | | | | |-- TRANS.TBL
  5470.    | | | | |-- complet.pdf
  5471.    | | | | |-- impaires.pdf
  5472.    | | | | `-- paires.pdf
  5473.    | | | |-- 600-dpi
  5474.    | | | | |-- TRANS.TBL
  5475.    | | | | |-- complet.pdf
  5476.    | | | | |-- impaires.pdf
  5477.    | | | | `-- paires.pdf
  5478.    | | | `-- TRANS.TBL
  5479.    | | `-- html
  5480.    | | |-- TRANS.TBL
  5481.    | | |-- images
  5482.    | | | |-- 002.gif
  5483.    | | | |-- TRANS.TBL
  5484.    | | | |-- blankg.gif
  5485.    | | | |-- contg.gif
  5486.    | | | |-- dbledag.gif
  5487.    | | | |-- indexg.gif
  5488.    | | | |-- leftg.gif
  5489.    | | | |-- linuxf.gif
  5490.    | | | |-- noleftg.gif
  5491.    | | | |-- norightg.gif
  5492.    | | | |-- notopg.gif
  5493.    | | | |-- noupg.gif
  5494.    | | | |-- points.gif
  5495.    | | | |-- r2harc1.gif
  5496.    | | | |-- r2harc2.gif
  5497.    | | | |-- r2harc3.gif
  5498.    | | | |-- r2harc4.gif
  5499.    | | | |-- r2harch.gif -> 002.gif
  5500.    | | | |-- rightg.gif
  5501.    | | | |-- sectmark.gif
  5502.    | | | |-- sigma_.gif
  5503.    | | | |-- square.gif
  5504.    | | | |-- topg.gif
  5505.    | | | |-- trait.gif
  5506.    | | | `-- upg.gif
  5507.    | | `-- linux-f
  5508.    | | |-- TRANS.TBL
  5509.    | | |-- index.htm -> lf2.htm
  5510.    | | |-- lf2.htm
  5511.    | | |-- lf201.gif
  5512.    | | |-- lf201.htm
  5513.    | | |-- lf202.gif
  5514.    | | |-- lf202.htm
  5515.    | | |-- lf203.gif
  5516.    | | |-- lf203.htm
  5517.    | | |-- lf204.gif
  5518.    | | |-- lf204.htm
  5519.    | | |-- lf205.gif
  5520.    | | |-- lf205.htm
  5521.    | | |-- lf206.gif
  5522.    | | |-- lf206.htm
  5523.    | | |-- lf207.gif
  5524.    | | |-- lf207.htm
  5525.    | | |-- lf208.gif
  5526.    | | |-- lf208.htm
  5527.    | | |-- lf209.gif
  5528.    | | |-- lf209.htm
  5529.    | | |-- lf210.gif
  5530.    | | |-- lf210.htm
  5531.    | | |-- lf2100.htm
  5532.    | | |-- lf2101.htm
  5533.    | | |-- lf2102.htm
  5534.    | | |-- lf2103.htm
  5535.    | | |-- lf2104.htm
  5536.    | | |-- lf2105.htm
  5537.    | | |-- lf2106.htm
  5538.    | | |-- lf2107.htm
  5539.    | | |-- lf2108.htm
  5540.    | | |-- lf2109.htm
  5541.    | | |-- lf211.gif
  5542.    | | |-- lf211.htm
  5543.    | | |-- lf2110.htm
  5544.    | | |-- lf2111.htm
  5545.    | | |-- lf2112.htm
  5546.    | | |-- lf2113.htm
  5547.    | | |-- lf2114.htm
  5548.    | | |-- lf2115.htm
  5549.    | | |-- lf2116.htm
  5550.    | | |-- lf2117.htm
  5551.    | | |-- lf2118.htm
  5552.    | | |-- lf2119.htm
  5553.    | | |-- lf212.gif
  5554.    | | |-- lf212.htm
  5555.    | | |-- lf2120.htm
  5556.    | | |-- lf2121.htm
  5557.    | | |-- lf2122.htm
  5558.    | | |-- lf2123.htm
  5559.    | | |-- lf2124.htm
  5560.    | | |-- lf2125.htm
  5561.    | | |-- lf2126.htm
  5562.    | | |-- lf2127.htm
  5563.    | | |-- lf2128.htm
  5564.    | | |-- lf2129.htm
  5565.    | | |-- lf213.gif
  5566.    | | |-- lf213.htm
  5567.    | | |-- lf2130.htm
  5568.    | | |-- lf2131.htm
  5569.    | | |-- lf2132.htm
  5570.    | | |-- lf2133.htm
  5571.    | | |-- lf2134.htm
  5572.    | | |-- lf2135.htm
  5573.    | | |-- lf2136.htm
  5574.    | | |-- lf2137.htm
  5575.    | | |-- lf2138.htm
  5576.    | | |-- lf2139.htm
  5577.    | | |-- lf214.gif
  5578.    | | |-- lf214.htm
  5579.    | | |-- lf2140.htm
  5580.    | | |-- lf2141.htm
  5581.    | | |-- lf2142.htm
  5582.    | | |-- lf2143.htm
  5583.    | | |-- lf2144.htm
  5584.    | | |-- lf2145.htm
  5585.    | | |-- lf2146.htm
  5586.    | | |-- lf2147.htm
  5587.    | | |-- lf2148.htm
  5588.    | | |-- lf2149.htm
  5589.    | | |-- lf215.gif
  5590.    | | |-- lf215.htm
  5591.    | | |-- lf2150.htm
  5592.    | | |-- lf2151.htm
  5593.    | | |-- lf2152.htm
  5594.    | | |-- lf2153.htm
  5595.    | | |-- lf216.gif
  5596.    | | |-- lf216.htm
  5597.    | | |-- lf217.gif
  5598.    | | |-- lf217.htm
  5599.    | | |-- lf218.gif
  5600.    | | |-- lf218.htm
  5601.    | | |-- lf219.gif
  5602.    | | |-- lf219.htm
  5603.    | | |-- lf220.gif
  5604.    | | |-- lf220.htm
  5605.    | | |-- lf221.gif
  5606.    | | |-- lf221.htm
  5607.    | | |-- lf222.gif
  5608.    | | |-- lf222.htm
  5609.    | | |-- lf223.gif
  5610.    | | |-- lf223.htm
  5611.    | | |-- lf224.gif
  5612.    | | |-- lf224.htm
  5613.    | | |-- lf225.gif
  5614.    | | |-- lf225.htm
  5615.    | | |-- lf226.gif
  5616.    | | |-- lf226.htm
  5617.    | | |-- lf227.gif
  5618.    | | |-- lf227.htm
  5619.    | | |-- lf228.gif
  5620.    | | |-- lf228.htm
  5621.    | | |-- lf229.gif
  5622.    | | |-- lf229.htm
  5623.    | | |-- lf230.gif
  5624.    | | |-- lf230.htm
  5625.    | | |-- lf231.gif
  5626.    | | |-- lf231.htm
  5627.    | | |-- lf232.gif
  5628.    | | |-- lf232.htm
  5629.    | | |-- lf233.gif
  5630.    | | |-- lf233.htm
  5631.    | | |-- lf234.gif
  5632.    | | |-- lf234.htm
  5633.    | | |-- lf235.gif
  5634.    | | |-- lf235.htm
  5635.    | | |-- lf236.gif
  5636.    | | |-- lf236.htm
  5637.    | | |-- lf237.gif
  5638.    | | |-- lf237.htm
  5639.    | | |-- lf238.gif
  5640.    | | |-- lf238.htm
  5641.    | | |-- lf239.gif
  5642.    | | |-- lf239.htm
  5643.    | | |-- lf240.gif
  5644.    | | |-- lf240.htm
  5645.    | | |-- lf241.gif
  5646.    | | |-- lf241.htm
  5647.    | | |-- lf242.gif
  5648.    | | |-- lf242.htm
  5649.    | | |-- lf243.gif
  5650.    | | |-- lf243.htm
  5651.    | | |-- lf244.gif
  5652.    | | |-- lf244.htm
  5653.    | | |-- lf245.gif
  5654.    | | |-- lf245.htm
  5655.    | | |-- lf246.htm
  5656.    | | |-- lf247.htm
  5657.    | | |-- lf248.htm
  5658.    | | |-- lf249.htm
  5659.    | | |-- lf250.htm
  5660.    | | |-- lf251.htm
  5661.    | | |-- lf252.htm
  5662.    | | |-- lf253.htm
  5663.    | | |-- lf254.htm
  5664.    | | |-- lf255.htm
  5665.    | | |-- lf256.htm
  5666.    | | |-- lf257.htm
  5667.    | | |-- lf258.htm
  5668.    | | |-- lf259.htm
  5669.    | | |-- lf260.htm
  5670.    | | |-- lf261.htm
  5671.    | | |-- lf262.htm
  5672.    | | |-- lf263.htm
  5673.    | | |-- lf264.htm
  5674.    | | |-- lf265.htm
  5675.    | | |-- lf266.htm
  5676.    | | |-- lf267.htm
  5677.    | | |-- lf268.htm
  5678.    | | |-- lf269.htm
  5679.    | | |-- lf270.htm
  5680.    | | |-- lf271.htm
  5681.    | | |-- lf272.htm
  5682.    | | |-- lf273.htm
  5683.    | | |-- lf274.htm
  5684.    | | |-- lf275.htm
  5685.    | | |-- lf276.htm
  5686.    | | |-- lf277.htm
  5687.    | | |-- lf278.htm
  5688.    | | |-- lf279.htm
  5689.    | | |-- lf280.htm
  5690.    | | |-- lf281.htm
  5691.    | | |-- lf282.htm
  5692.    | | |-- lf283.htm
  5693.    | | |-- lf284.htm
  5694.    | | |-- lf285.htm
  5695.    | | |-- lf286.htm
  5696.    | | |-- lf287.htm
  5697.    | | |-- lf288.htm
  5698.    | | |-- lf289.htm
  5699.    | | |-- lf290.htm
  5700.    | | |-- lf291.htm
  5701.    | | |-- lf292.htm
  5702.    | | |-- lf293.htm
  5703.    | | |-- lf294.htm
  5704.    | | |-- lf295.htm
  5705.    | | |-- lf296.htm
  5706.    | | |-- lf297.htm
  5707.    | | |-- lf298.htm
  5708.    | | |-- lf299.htm
  5709.    | | `-- lf2_c.htm
  5710.    | |-- LOADLIN16
  5711.    | | |-- TRANS.TBL
  5712.    | | |-- initrd.txt
  5713.    | | |-- manuel.txt
  5714.    | | `-- params.doc
  5715.    | |-- LOCALE
  5716.    | | |-- TRANS.TBL
  5717.    | | `-- locale.fr
  5718.    | |-- MAN-FR-0.3
  5719.    | | |-- LISEZ_MOI
  5720.    | | |-- TRANS.TBL
  5721.    | | |-- changements
  5722.    | | |-- html
  5723.    | | | |-- TRANS.TBL
  5724.    | | | |-- icones
  5725.    | | | | |-- TRANS.TBL
  5726.    | | | | |-- blanc.gif
  5727.    | | | | |-- contg.gif
  5728.    | | | | |-- fond-bl.gif
  5729.    | | | | |-- logokh.gif
  5730.    | | | | |-- point-bl.gif
  5731.    | | | | |-- topg.gif
  5732.    | | | | `-- upg.gif
  5733.    | | | |-- index.htm
  5734.    | | | |-- man1
  5735.    | | | | |-- TRANS.TBL
  5736.    | | | | |-- basename.1.html
  5737.    | | | | |-- cat.1.html
  5738.    | | | | |-- chgrp.1.html
  5739.    | | | | |-- chmod.1.html
  5740.    | | | | |-- chown.1.html
  5741.    | | | | |-- cksum.1.html
  5742.    | | | | |-- comm.1.html
  5743.    | | | | |-- cp.1.html
  5744.    | | | | |-- csplit.1.html
  5745.    | | | | |-- cut.1.html
  5746.    | | | | |-- date.1.html
  5747.    | | | | |-- dd.1.html
  5748.    | | | | |-- dirname.1.html
  5749.    | | | | |-- du.1.html
  5750.    | | | | |-- echo.1.html
  5751.    | | | | |-- env.1.html
  5752.    | | | | |-- expand.1.html
  5753.    | | | | |-- expr.1.html
  5754.    | | | | |-- false.1.html
  5755.    | | | | |-- find.1.html
  5756.    | | | | |-- fmt.1.html
  5757.    | | | | |-- fold.1.html
  5758.    | | | | |-- free.1.html
  5759.    | | | | |-- grep.1.html
  5760.    | | | | |-- groups.1.html
  5761.    | | | | |-- head.1.html
  5762.    | | | | |-- id.1.html
  5763.    | | | | |-- index.html
  5764.    | | | | |-- join.1.html
  5765.    | | | | |-- logname.1.html
  5766.    | | | | |-- ls.1.html
  5767.    | | | | |-- md5sum.1.html
  5768.    | | | | |-- mkdir.1.html
  5769.    | | | | |-- mkfifo.1.html
  5770.    | | | | |-- mknod.1.html
  5771.    | | | | |-- mv.1.html
  5772.    | | | | |-- nice.1.html
  5773.    | | | | |-- nl.1.html
  5774.    | | | | |-- nohup.1.html
  5775.    | | | | |-- od.1.html
  5776.    | | | | |-- paste.1.html
  5777.    | | | | |-- pathchk.1.html
  5778.    | | | | |-- pr.1.html
  5779.    | | | | |-- printenv.1.html
  5780.    | | | | |-- printf.1.html
  5781.    | | | | |-- pwd.1.html
  5782.    | | | | |-- rm.1.html
  5783.    | | | | |-- rmdir.1.html
  5784.    | | | | |-- sleep.1.html
  5785.    | | | | |-- sort.1.html
  5786.    | | | | |-- split.1.html
  5787.    | | | | |-- stty.1.html
  5788.    | | | | |-- su.1.html
  5789.    | | | | |-- sum.1.html
  5790.    | | | | |-- tac.1.html
  5791.    | | | | |-- tail.1.html
  5792.    | | | | |-- tee.1.html
  5793.    | | | | |-- test.1.html
  5794.    | | | | |-- touch.1.html
  5795.    | | | | |-- tr.1.html
  5796.    | | | | |-- true.1.html
  5797.    | | | | |-- tty.1.html
  5798.    | | | | |-- uname.1.html
  5799.    | | | | |-- unexpand.1.html
  5800.    | | | | |-- uniq.1.html
  5801.    | | | | |-- users.1.html
  5802.    | | | | |-- wc.1.html
  5803.    | | | | |-- who.1.html
  5804.    | | | | |-- whoami.1.html
  5805.    | | | | `-- yes.1.html
  5806.    | | | |-- man2
  5807.    | | | | |-- TRANS.TBL
  5808.    | | | | |-- _exit.2.html
  5809.    | | | | |-- accept.2.html
  5810.    | | | | |-- access.2.html
  5811.    | | | | |-- acct.2.html
  5812.    | | | | |-- adjtimex.2.html
  5813.    | | | | |-- afs_syscall.2.html
  5814.    | | | | |-- alarm.2.html
  5815.    | | | | |-- bdflush.2.html
  5816.    | | | | |-- bind.2.html
  5817.    | | | | |-- break.2.html
  5818.    | | | | |-- brk.2.html
  5819.    | | | | |-- cacheflush.2.html
  5820.    | | | | |-- chdir.2.html
  5821.    | | | | |-- chmod.2.html
  5822.    | | | | |-- chown.2.html
  5823.    | | | | |-- chroot.2.html
  5824.    | | | | |-- clone.2.html
  5825.    | | | | |-- close.2.html
  5826.    | | | | |-- connect.2.html
  5827.    | | | | |-- creat.2.html
  5828.    | | | | |-- create_module.2.html
  5829.    | | | | |-- delete_module.2.html
  5830.    | | | | |-- dup.2.html
  5831.    | | | | |-- dup2.2.html
  5832.    | | | | |-- execve.2.html
  5833.    | | | | |-- fchdir.2.html
  5834.    | | | | |-- fchmod.2.html
  5835.    | | | | |-- fchown.2.html
  5836.    | | | | |-- fcntl.2.html
  5837.    | | | | |-- fdatasync.2.html
  5838.    | | | | |-- flock.2.html
  5839.    | | | | |-- fork.2.html
  5840.    | | | | |-- fstat.2.html
  5841.    | | | | |-- fstatfs.2.html
  5842.    | | | | |-- fsync.2.html
  5843.    | | | | |-- ftruncate.2.html
  5844.    | | | | |-- get_kernel_syms.2.html
  5845.    | | | | |-- getdents.2.html
  5846.    | | | | |-- getdomainname.2.html
  5847.    | | | | |-- getdtablesize.2.html
  5848.    | | | | |-- getegid.2.html
  5849.    | | | | |-- geteuid.2.html
  5850.    | | | | |-- getgid.2.html
  5851.    | | | | |-- getgroups.2.html
  5852.    | | | | |-- gethostid.2.html
  5853.    | | | | |-- gethostname.2.html
  5854.    | | | | |-- getitimer.2.html
  5855.    | | | | |-- getpagesize.2.html
  5856.    | | | | |-- getpeername.2.html
  5857.    | | | | |-- getpgid.2.html
  5858.    | | | | |-- getpgrp.2.html
  5859.    | | | | |-- getpid.2.html
  5860.    | | | | |-- getppid.2.html
  5861.    | | | | |-- getpriority.2.html
  5862.    | | | | |-- getrlimit.2.html
  5863.    | | | | |-- getrusage.2.html
  5864.    | | | | |-- getsid.2.html
  5865.    | | | | |-- getsockname.2.html
  5866.    | | | | |-- getsockopt.2.html
  5867.    | | | | |-- gettimeofday.2.html
  5868.    | | | | |-- getuid.2.html
  5869.    | | | | |-- gtty.2.html
  5870.    | | | | |-- idle.2.html
  5871.    | | | | |-- index.html
  5872.    | | | | |-- init_module.2.html
  5873.    | | | | |-- intro.2.html
  5874.    | | | | |-- ioctl.2.html
  5875.    | | | | |-- ioctl_list.2.html
  5876.    | | | | |-- ioperm.2.html
  5877.    | | | | |-- iopl.2.html
  5878.    | | | | |-- ipc.2.html
  5879.    | | | | |-- kill.2.html
  5880.    | | | | |-- killpg.2.html
  5881.    | | | | |-- link.2.html
  5882.    | | | | |-- listen.2.html
  5883.    | | | | |-- llseek.2.html
  5884.    | | | | |-- lock.2.html
  5885.    | | | | |-- lseek.2.html
  5886.    | | | | |-- lstat.2.html
  5887.    | | | | |-- mkdir.2.html
  5888.    | | | | |-- mknod.2.html
  5889.    | | | | |-- mlock.2.html
  5890.    | | | | |-- mlockall.2.html
  5891.    | | | | |-- mmap.2.html
  5892.    | | | | |-- modify_ldt.2.html
  5893.    | | | | |-- modules.2.html
  5894.    | | | | |-- mount.2.html
  5895.    | | | | |-- mprotect.2.html
  5896.    | | | | |-- mpx.2.html
  5897.    | | | | |-- mremap.2.html
  5898.    | | | | |-- msgctl.2.html
  5899.    | | | | |-- msgget.2.html
  5900.    | | | | |-- msgop.2.html
  5901.    | | | | |-- msgrcv.2.html
  5902.    | | | | |-- msgsnd.2.html
  5903.    | | | | |-- msync.2.html
  5904.    | | | | |-- munlock.2.html
  5905.    | | | | |-- munlockall.2.html
  5906.    | | | | |-- munmap.2.html
  5907.    | | | | |-- nanosleep.2.html
  5908.    | | | | |-- nice.2.html
  5909.    | | | | |-- obsolete.2.html
  5910.    | | | | |-- oldfstat.2.html
  5911.    | | | | |-- oldlstat.2.html
  5912.    | | | | |-- oldolduname.2.html
  5913.    | | | | |-- oldstat.2.html
  5914.    | | | | |-- olduname.2.html
  5915.    | | | | |-- open.2.html
  5916.    | | | | |-- outb.2.html
  5917.    | | | | |-- pause.2.html
  5918.    | | | | |-- personality.2.html
  5919.    | | | | |-- phys.2.html
  5920.    | | | | |-- pipe.2.html
  5921.    | | | | |-- prof.2.html
  5922.    | | | | |-- profil.2.html
  5923.    | | | | |-- ptrace.2.html
  5924.    | | | | |-- quotactl.2.html
  5925.    | | | | |-- read.2.html
  5926.    | | | | |-- readdir.2.html
  5927.    | | | | |-- readlink.2.html
  5928.    | | | | |-- readv.2.html
  5929.    | | | | |-- reboot.2.html
  5930.    | | | | |-- recv.2.html
  5931.    | | | | |-- recvfrom.2.html
  5932.    | | | | |-- recvmsg.2.html
  5933.    | | | | |-- rename.2.html
  5934.    | | | | |-- rmdir.2.html
  5935.    | | | | |-- sbrk.2.html
  5936.    | | | | |-- sched_get_priority_max.2.html
  5937.    | | | | |-- sched_get_priority_min.2.html
  5938.    | | | | |-- sched_getparam.2.html
  5939.    | | | | |-- sched_getscheduler.2.html
  5940.    | | | | |-- sched_rr_get_interval.2.html
  5941.    | | | | |-- sched_setparam.2.html
  5942.    | | | | |-- sched_setscheduler.2.html
  5943.    | | | | |-- sched_yield.2.html
  5944.    | | | | |-- select.2.html
  5945.    | | | | |-- semctl.2.html
  5946.    | | | | |-- semget.2.html
  5947.    | | | | |-- semop.2.html
  5948.    | | | | |-- send.2.html
  5949.    | | | | |-- sendmsg.2.html
  5950.    | | | | |-- sendto.2.html
  5951.    | | | | |-- setdomainname.2.html
  5952.    | | | | |-- setegid.2.html
  5953.    | | | | |-- seteuid.2.html
  5954.    | | | | |-- setfsgid.2.html
  5955.    | | | | |-- setfsuid.2.html
  5956.    | | | | |-- setgid.2.html
  5957.    | | | | |-- setgroups.2.html
  5958.    | | | | |-- sethostid.2.html
  5959.    | | | | |-- sethostname.2.html
  5960.    | | | | |-- setitimer.2.html
  5961.    | | | | |-- setpgid.2.html
  5962.    | | | | |-- setpgrp.2.html
  5963.    | | | | |-- setpriority.2.html
  5964.    | | | | |-- setregid.2.html
  5965.    | | | | |-- setreuid.2.html
  5966.    | | | | |-- setrlimit.2.html
  5967.    | | | | |-- setsid.2.html
  5968.    | | | | |-- setsockopt.2.html
  5969.    | | | | |-- settimeofday.2.html
  5970.    | | | | |-- setuid.2.html
  5971.    | | | | |-- setup.2.html
  5972.    | | | | |-- shmat.2.html
  5973.    | | | | |-- shmctl.2.html
  5974.    | | | | |-- shmdt.2.html
  5975.    | | | | |-- shmget.2.html
  5976.    | | | | |-- shmop.2.html
  5977.    | | | | |-- shutdown.2.html
  5978.    | | | | |-- sigaction.2.html
  5979.    | | | | |-- sigblock.2.html
  5980.    | | | | |-- sigmask.2.html
  5981.    | | | | |-- signal.2.html
  5982.    | | | | |-- sigpause.2.html
  5983.    | | | | |-- sigpending.2.html
  5984.    | | | | |-- sigprocmask.2.html
  5985.    | | | | |-- sigreturn.2.html
  5986.    | | | | |-- sigsuspend.2.html
  5987.    | | | | |-- sigvec.2.html
  5988.    | | | | |-- socket.2.html
  5989.    | | | | |-- socketcall.2.html
  5990.    | | | | |-- socketpair.2.html
  5991.    | | | | |-- stat.2.html
  5992.    | | | | |-- statfs.2.html
  5993.    | | | | |-- stime.2.html
  5994.    | | | | |-- stty.2.html
  5995.    | | | | |-- swapoff.2.html
  5996.    | | | | |-- swapon.2.html
  5997.    | | | | |-- symlink.2.html
  5998.    | | | | |-- sync.2.html
  5999.    | | | | |-- sysctl.2.html
  6000.    | | | | |-- sysfs.2.html
  6001.    | | | | |-- sysinfo.2.html
  6002.    | | | | |-- syslog.2.html
  6003.    | | | | |-- time.2.html
  6004.    | | | | |-- times.2.html
  6005.    | | | | |-- truncate.2.html
  6006.    | | | | |-- umask.2.html
  6007.    | | | | |-- umount.2.html
  6008.    | | | | |-- uname.2.html
  6009.    | | | | |-- undocumented.2.html
  6010.    | | | | |-- unimplemented.2.html
  6011.    | | | | |-- unlink.2.html
  6012.    | | | | |-- uselib.2.html
  6013.    | | | | |-- ustat.2.html
  6014.    | | | | |-- utime.2.html
  6015.    | | | | |-- vfork.2.html
  6016.    | | | | |-- vhangup.2.html
  6017.    | | | | |-- vm86.2.html
  6018.    | | | | |-- wait.2.html
  6019.    | | | | |-- wait3.2.html
  6020.    | | | | |-- wait4.2.html
  6021.    | | | | |-- waitpid.2.html
  6022.    | | | | |-- write.2.html
  6023.    | | | | `-- writev.2.html
  6024.    | | | |-- man3
  6025.    | | | | |-- TRANS.TBL
  6026.    | | | | |-- abort.3.html
  6027.    | | | | |-- abs.3.html
  6028.    | | | | |-- acos.3.html
  6029.    | | | | |-- acosh.3.html
  6030.    | | | | |-- addmntent.3.html
  6031.    | | | | |-- alloca.3.html
  6032.    | | | | |-- alphasort.3.html
  6033.    | | | | |-- asctime.3.html
  6034.    | | | | |-- asin.3.html
  6035.    | | | | |-- asinh.3.html
  6036.    | | | | |-- assert.3.html
  6037.    | | | | |-- atan.3.html
  6038.    | | | | |-- atan2.3.html
  6039.    | | | | |-- atanh.3.html
  6040.    | | | | |-- atexit.3.html
  6041.    | | | | |-- atof.3.html
  6042.    | | | | |-- atoi.3.html
  6043.    | | | | |-- atol.3.html
  6044.    | | | | |-- bcmp.3.html
  6045.    | | | | |-- bcopy.3.html
  6046.    | | | | |-- bsearch.3.html
  6047.    | | | | |-- bstring.3.html
  6048.    | | | | |-- byteorder.3.html
  6049.    | | | | |-- bzero.3.html
  6050.    | | | | |-- calloc.3.html
  6051.    | | | | |-- catclose.3.html
  6052.    | | | | |-- catgets.3.html
  6053.    | | | | |-- catopen.3.html
  6054.    | | | | |-- cbrt.3.html
  6055.    | | | | |-- ceil.3.html
  6056.    | | | | |-- cfgetispeed.3.html
  6057.    | | | | |-- cfgetospeed.3.html
  6058.    | | | | |-- cfmakeraw.3.html
  6059.    | | | | |-- cfsetispeed.3.html
  6060.    | | | | |-- cfsetospeed.3.html
  6061.    | | | | |-- clearerr.3.html
  6062.    | | | | |-- clock.3.html
  6063.    | | | | |-- closedir.3.html
  6064.    | | | | |-- closelog.3.html
  6065.    | | | | |-- confstr.3.html
  6066.    | | | | |-- copysign.3.html
  6067.    | | | | |-- cos.3.html
  6068.    | | | | |-- cosh.3.html
  6069.    | | | | |-- crypt.3.html
  6070.    | | | | |-- ctermid.3.html
  6071.    | | | | |-- ctime.3.html
  6072.    | | | | |-- cuserid.3.html
  6073.    | | | | |-- difftime.3.html
  6074.    | | | | |-- div.3.html
  6075.    | | | | |-- dn_comp.3.html
  6076.    | | | | |-- dn_expand.3.html
  6077.    | | | | |-- drand48.3.html
  6078.    | | | | |-- drem.3.html
  6079.    | | | | |-- ecvt.3.html
  6080.    | | | | |-- endgrent.3.html
  6081.    | | | | |-- endhostent.3.html
  6082.    | | | | |-- endmntent.3.html
  6083.    | | | | |-- endnetent.3.html
  6084.    | | | | |-- endprotoent.3.html
  6085.    | | | | |-- endpwent.3.html
  6086.    | | | | |-- endservent.3.html
  6087.    | | | | |-- endusershell.3.html
  6088.    | | | | |-- endutent.3.html
  6089.    | | | | |-- erand48.3.html
  6090.    | | | | |-- erf.3.html
  6091.    | | | | |-- erfc.3.html
  6092.    | | | | |-- errno.3.html
  6093.    | | | | |-- exec.3.html
  6094.    | | | | |-- execl.3.html
  6095.    | | | | |-- execle.3.html
  6096.    | | | | |-- execlp.3.html
  6097.    | | | | |-- exect.3.html
  6098.    | | | | |-- execv.3.html
  6099.    | | | | |-- execvp.3.html
  6100.    | | | | |-- exit.3.html
  6101.    | | | | |-- exp.3.html
  6102.    | | | | |-- expm1.3.html
  6103.    | | =20| | |-- fabs.3.html
  6104.    | | | | |-- fclose.3.html
  6105.    | | | | |-- fcvt.3.html
  6106.    | | | | |-- fdopen.3.html
  6107.    | | | | |-- feof.3.html
  6108.    | | | | |-- ferror.3.html
  6109.    | | | | |-- fflush.3.html
  6110.    | | | | |-- ffs.3.html
  6111.    | | | | |-- fgetc.3.html
  6112.    | | | | |-- fgetgrent.3.html
  6113.    | | | | |-- fgetpos.3.html
  6114.    | | | | |-- fgetpwent.3.html
  6115.    | | | | |-- fgets.3.html
  6116.    | | | | |-- fileno.3.html
  6117.    | | | | |-- finite.3.html
  6118.    | | | | |-- floor.3.html
  6119.    | | | | |-- fmod.3.html
  6120.    | | | | |-- fnmatch.3.html
  6121.    | | | | |-- fopen.3.html
  6122.    | | | | |-- fpathconf.3.html
  6123.    | | | | |-- fprintf.3.html
  6124.    | | | | |-- fpurge.3.html
  6125.    | | | | |-- fputc.3.html
  6126.    | | | | |-- fputs.3.html
  6127.    | | | | |-- fread.3.html
  6128.    | | | | |-- free.3.html
  6129.    | | | | |-- freopen.3.html
  6130.    | | | | |-- frexp.3.html
  6131.    | | | | |-- fscanf.3.html
  6132.    | | | | |-- fseek.3.html
  6133.    | | | | |-- fsetpos.3.html
  6134.    | | | | |-- ftell.3.html
  6135.    | | | | |-- ftime.3.html
  6136.    | | | | |-- ftok.3.html
  6137.    | | | | |-- ftw.3.html
  6138.    | | | | |-- fwrite.3.html
  6139.    | | | | |-- gcvt.3.html
  6140.    | | | | |-- get_current_dir_name.3.html
  6141.    | | | | |-- getc.3.html
  6142.    | | | | |-- getchar.3.html
  6143.    | | | | |-- getcwd.3.html
  6144.    | | | | |-- getdirentries.3.html
  6145.    | | | | |-- getenv.3.html
  6146.    | | | | |-- getgrent.3.html
  6147.    | | | | |-- getgrgid.3.html
  6148.    | | | | |-- getgrnam.3.html
  6149.    | | | | |-- gethostbyaddr.3.html
  6150.    | | | | |-- gethostbyname.3.html
  6151.    | | | | |-- getlogin.3.html
  6152.    | | | | |-- getmntent.3.html
  6153.    | | | | |-- getnetbyaddr.3.html
  6154.    | | | | |-- getnetbyname.3.html
  6155.    | | | | |-- getnetent.3.html
  6156.    | | | | |-- getopt.3.html
  6157.    | | | | |-- getopt_long.3.html
  6158.    | | | | |-- getopt_long_only.3.html
  6159.    | | | | |-- getpass.3.html
  6160.    | | | | |-- getprotobyname.3.html
  6161.    | | | | |-- getprotobynumber.3.html
  6162.    | | | | |-- getprotoent.3.html
  6163.    | | | | |-- getpw.3.html
  6164.    | | | | |-- getpwent.3.html
  6165.    | | | | |-- getpwnam.3.html
  6166.    | | | | |-- getpwuid.3.html
  6167.    | | | | |-- gets.3.html
  6168.    | | | | |-- getservbyname.3.html
  6169.    | | | | |-- getservbyport.3.html
  6170.    | | | | |-- getservent.3.html
  6171.    | | | | |-- getusershell.3.html
  6172.    | | | | |-- getutent.3.html
  6173.    | | | | |-- getutid.3.html
  6174.    | | | | |-- getutline.3.html
  6175.    | | | | |-- getw.3.html
  6176.    | | | | |-- getwd.3.html
  6177.    | | | | |-- glob.3.html
  6178.    | | | | |-- globfree.3.html
  6179.    | | | | |-- gmtime.3.html
  6180.    | | | | |-- hasmntopt.3.html
  6181.    | | | | |-- hcreate.3.html
  6182.    | | | | |-- hdestroy.3.html
  6183.    | | | | |-- herror.3.html
  6184.    | | | | |-- hsearch.3.html
  6185.    | | | | |-- htonl.3.html
  6186.    | | | | |-- htons.3.html
  6187.    | | | | |-- hypot.3.html
  6188.    | | | | |-- index.3.html
  6189.    | | | | |-- index.html
  6190.    | | | | |-- inet.3.html
  6191.    | | | | |-- inet_addr.3.html
  6192.    | | | | |-- inet_aton.3.html
  6193.    | | | | |-- inet_lnaof.3.html
  6194.    | | | | |-- inet_makeaddr.3.html
  6195.    | | | | |-- inet_netof.3.html
  6196.    | | | | |-- inet_network.3.html
  6197.    | | | | |-- inet_ntoa.3.html
  6198.    | | | | |-- infnan.3.html
  6199.    | | | | |-- initgroups.3.html
  6200.    | | | | |-- initstate.3.html
  6201.    | | | | |-- insque.3.html
  6202.    | | | | |-- intro.3.html
  6203.    | | | | |-- isalnum.3.html
  6204.    | | | | |-- isalpha.3.html
  6205.    | | | | |-- isascii.3.html
  6206.    | | | | |-- isatty.3.html
  6207.    | | | | |-- isblank.3.html
  6208.    | | | | |-- iscntrl.3.html
  6209.    | | | | |-- isdigit.3.html
  6210.    | | | | |-- isgraph.3.html
  6211.    | | | | |-- isinf.3.html
  6212.    | | | | |-- islower.3.html
  6213.    | | | | |-- isnan.3.html
  6214.    | | | | |-- isprint.3.html
  6215.    | | | | |-- ispunct.3.html
  6216.    | | | | |-- isspace.3.html
  6217.    | | | | |-- isupper.3.html
  6218.    | | | | |-- isxdigit.3.html
  6219.    | | | | |-- j0.3.html
  6220.    | | | | |-- j1.3.html
  6221.    | | | | |-- jn.3.html
  6222.    | | | | |-- jrand48.3.html
  6223.    | | | | |-- killpg.3.html
  6224.    | | | | |-- labs.3.html
  6225.    | | | | |-- lcong48.3.html
  6226.    | | | | |-- ldexp.3.html
  6227.    | | | | |-- ldiv.3.html
  6228.    | | | | |-- lfind.3.html
  6229.    | | | | |-- lgamma.3.html
  6230.    | | | | |-- localeconv.3.html
  6231.    | | | | |-- localtime.3.html
  6232.    | | | | |-- log.3.html
  6233.    | | | | |-- log10.3.html
  6234.    | | | | |-- log1p.3.html
  6235.    | | | | |-- longjmp.3.html
  6236.    | | | | |-- lrand48.3.html
  6237.    | | | | |-- lsearch.3.html
  6238.    | | | | |-- malloc.3.html
  6239.    | | | | |-- mblen.3.html
  6240.    | | | | |-- mbstowcs.3.html
  6241.    | | | | |-- mbtowc.3.html
  6242.    | | | | |-- memccpy.3.html
  6243.    | | | | |-- memchr.3.html
  6244.    | | | | |-- memcmp.3.html
  6245.    | | | | |-- memcpy.3.html
  6246.    | | | | |-- memfrob.3.html
  6247.    | | | | |-- memmem.3.html
  6248.    | | | | |-- memmove.3.html
  6249.    | | | | |-- memset.3.html
  6250.    | | | | |-- mkfifo.3.html
  6251.    | | | | |-- mkstemp.3.html
  6252.    | | | | |-- mktemp.3.html
  6253.    | | | | |-- mktime.3.html
  6254.    | | | | |-- modf.3.html
  6255.    | | | | |-- mrand48.3.html
  6256.    | | | | |-- nrand48.3.html
  6257.    | | | | |-- ntohl.3.html
  6258.    | | | | |-- ntohs.3.html
  6259.    | | | | |-- on_exit.3.html
  6260.    | | | | |-- opendir.3.html
  6261.    | | | | |-- openlog.3.html
  6262.    | | | | |-- pathconf.3.html
  6263.    | | | | |-- pclose.3.html
  6264.    | | | | |-- perror.3.html
  6265.    | | | | |-- popen.3.html
  6266.    | | | | |-- pow.3.html
  6267.    | | | | |-- printf.3.html
  6268.    | | | | |-- psignal.3.html
  6269.    | | | | |-- putc.3.html
  6270.    | | | | |-- putchar.3.html
  6271.    | | | | |-- putenv.3.html
  6272.    | | | | |-- putpwent.3.html
  6273.    | | | | |-- puts.3.html
  6274.    | | | | |-- pututline.3.html
  6275.    | | | | |-- putw.3.html
  6276.    | | | | |-- qsort.3.html
  6277.    | | | | |-- raise.3.html
  6278.    | | | | |-- rand.3.html
  6279.    | | | | |-- random.3.html
  6280.    | | | | |-- re_comp.3.html
  6281.    | | | | |-- re_exec.3.html
  6282.    | | | | |-- readdir.3.html
  6283.    | | | | |-- readv.3.html
  6284.    | | | | |-- realloc.3.html
  6285.    | | | | |-- realpath.3.html
  6286.    | | | | |-- regcomp.3.html
  6287.    | | | | |-- regerror.3.html
  6288.    | | | | |-- regexec.3.html
  6289.    | | | | |-- regfree.3.html
  6290.    | | | | |-- remove.3.html
  6291.    | | | | |-- remque.3.html
  6292.    | | | | |-- res_init.3.html
  6293.    | | | | |-- res_mkquery.3.html
  6294.    | | | | |-- res_query.3.html
  6295.    | | | | |-- res_querydomain.3.html
  6296.    | | | | |-- res_search.3.html
  6297.    | | | | |-- res_send.3.html
  6298.    | | | | |-- resolver.3.html
  6299.    | | | | |-- rewind.3.html
  6300.    | | | | |-- rewinddir.3.html
  6301.    | | | | |-- rindex.3.html
  6302.    | | | | |-- rint.3.html
  6303.    | | | | |-- scandir.3.html
  6304.    | | | | |-- scanf.3.html
  6305.    | | | | |-- seed48.3.html
  6306.    | | | | |-- seekdir.3.html
  6307.    | | | | |-- setbuf.3.html
  6308.    | | | | |-- setbuffer.3.html
  6309.    | | | | |-- setenv.3.html
  6310.    | | | | |-- setgrent.3.html
  6311.    | | | | |-- sethostent.3.html
  6312.    | | | | |-- setjmp.3.html
  6313.    | | | | |-- setlinebuf.3.html
  6314.    | | | | |-- setlocale.3.html
  6315.    | | | | |-- setmntent.3.html
  6316.    | | | | |-- setnetent.3.html
  6317.    | | | | |-- setprotoent.3.html
  6318.    | | | | |-- setpwent.3.html
  6319.    | | | | |-- setservent.3.html
  6320.    | | | | |-- setstate.3.html
  6321.    | | | | |-- setusershell.3.html
  6322.    | | | | |-- setutent.3.html
  6323.    | | | | |-- setvbuf.3.html
  6324.    | | | | |-- sigaddset.3.html
  6325.    | | | | |-- sigdelset.3.html
  6326.    | | | | |-- sigemptyset.3.html
  6327.    | | | | |-- sigfillset.3.html
  6328.    | | | | |-- siginterrupt.3.html
  6329.    | | | | |-- sigismember.3.html
  6330.    | | | | |-- sigsetops.3.html
  6331.    | | | | |-- sin.3.html
  6332.    | | | | |-- sinh.3.html
  6333.    | | | | |-- sleep.3.html
  6334.    | | | | |-- snprintf.3.html
  6335.    | | | | |-- sprintf.3.html
  6336.    | | | | |-- sqrt.3.html
  6337.    | | | | |-- srand.3.html
  6338.    | | | | |-- srand48.3.html
  6339.    | | | | |-- srandom.3.html
  6340.    | | | | |-- sscanf.3.html
  6341.    | | | | |-- stdarg.3.html
  6342.    | | | | |-- stdio.3.html
  6343.    | | | | |-- stpcpy.3.html
  6344.    | | | | |-- strcasecmp.3.html
  6345.    | | | | |-- strcat.3.html
  6346.    | | | | |-- strchr.3.html
  6347.    | | | | |-- strcmp.3.html
  6348.    | | | | |-- strcoll.3.html
  6349.    | | | | |-- strcpy.3.html
  6350.    | | | | |-- strcspn.3.html
  6351.    | | | | |-- strdup.3.html
  6352.    | | | | |-- strerror.3.html
  6353.    | | | | |-- strfry.3.html
  6354.    | | | | |-- strftime.3.html
  6355.    | | | | |-- string.3.html
  6356.    | | | | |-- strlen.3.html
  6357.    | | | | |-- strncasecmp.3.html
  6358.    | | | | |-- strncat.3.html
  6359.    | | | | |-- strncmp.3.html
  6360.    | | | | |-- strncpy.3.html
  6361.    | | | | |-- strpbrk.3.html
  6362.    | | | | |-- strptime.3.html
  6363.    | | | | |-- strrchr.3.html
  6364.    | | | | |-- strsep.3.html
  6365.    | | | | |-- strsignal.3.html
  6366.    | | | | |-- strspn.3.html
  6367.    | | | | |-- strstr.3.html
  6368.    | | | | |-- strtod.3.html
  6369.    | | | | |-- strtok.3.html
  6370.    | | | | |-- strtol.3.html
  6371.    | | | | |-- strtoul.3.html
  6372.    | | | | |-- strxfrm.3.html
  6373.    | | | | |-- swab.3.html
  6374.    | | | | |-- sysconf.3.html
  6375.    | | | | |-- syslog.3.html
  6376.    | | | | |-- system.3.html
  6377.    | | | | |-- tan.3.html
  6378.    | | | | |-- tanh.3.html
  6379.    | | | | |-- tcdrain.3.html
  6380.    | | | | |-- tcflow.3.html
  6381.    | | | | |-- tcflush.3.html
  6382.    | | | | |-- tcgetattr.3.html
  6383.    | | | | |-- tcgetpgrp.3.html
  6384.    | | | | |-- tcsendbreak.3.html
  6385.    | | | | |-- tcsetattr.3.html
  6386.    | | | | |-- tcsetpgrp.3.html
  6387.    | | | | |-- tdelete.3.html
  6388.    | | | | |-- telldir.3.html
  6389.    | | | | |-- tempnam.3.html
  6390.    | | | | |-- termios.3.html
  6391.    | | | | |-- tfind.3.html
  6392.    | | | | |-- tmpfile.3.html
  6393.    | | | | |-- tmpnam.3.html
  6394.    | | | | |-- toascii.3.html
  6395.    | | | | |-- tolower.3.html
  6396.    | | | | |-- toupper.3.html
  6397.    | | | | |-- tsearch.3.html
  6398.    | | | | |-- ttyname.3.html
  6399.    | | | | |-- twalk.3.html
  6400.    | | | | |-- tzset.3.html
  6401.    | | | | |-- undocumented.3.html
  6402.    | | | | |-- ungetc.3.html
  6403.    | | | | |-- unsetenv.3.html
  6404.    | | | | |-- usleep.3.html
  6405.    | | | | |-- utmpname.3.html
  6406.    | | | | |-- va_arg.3.html
  6407.    | | | | |-- va_end.3.html
  6408.    | | | | |-- va_start.3.html
  6409.    | | | | |-- vfprintf.3.html
  6410.    | | | | |-- vfscanf.3.html
  6411.    | | | | |-- vprintf.3.html
  6412.    | | | | |-- vscanf.3.html
  6413.    | | | | |-- vsnprintf.3.html
  6414.    | | | | |-- vsprintf.3.html
  6415.    | | | | |-- vsscanf.3.html
  6416.    | | | | |-- wcstombs.3.html
  6417.    | | | | |-- wctomb.3.html
  6418.    | | | | |-- writev.3.html
  6419.    | | | | |-- y0.3.html
  6420.    | | | | |-- y1.3.html
  6421.    | | | | `-- yn.3.html
  6422.    | | | |-- man4
  6423.    | | | | |-- TRANS.TBL
  6424.    | | | | |-- charsets.4.html
  6425.    | | | | |-- console.4.html
  6426.    | | | | |-- console_codes.4.html
  6427.    | | | | |-- fd.4.html
  6428.    | | | | |-- hd.4.html
  6429.    | | | | |-- index.html
  6430.    | | | | |-- intro.4.html
  6431.    | | | | |-- kmem.4.html
  6432.    | | | | |-- lp.4.html
  6433.    | | | | |-- mem.4.html
  6434.    | | | | |-- mouse.4.html
  6435.    | | | | |-- null.4.html
  6436.    | | | | |-- port.4.html
  6437.    | | | | |-- ram.4.html
  6438.    | | | | |-- sd.4.html
  6439.    | | | | |-- st.4.html
  6440.    | | | | |-- tty.4.html
  6441.    | | | | |-- ttys.4.html
  6442.    | | | | |-- vcs.4.html
  6443.    | | | | |-- vcsa.4.html
  6444.    | | | | |-- wavelan.4.html
  6445.    | | | | `-- zero.4.html
  6446.    | | | |-- man5
  6447.    | | | | |-- TRANS.TBL
  6448.    | | | | |-- environ.5.html
  6449.    | | | | |-- exports.5.html
  6450.    | | | | |-- fs.5.html
  6451.    | | | | |-- fstab.5.html
  6452.    | | | | |-- group.5.html
  6453.    | | | | |-- index.html
  6454.    | | | | |-- intro.5.html
  6455.    | | | | |-- ipc.5.html
  6456.    | | | | |-- issue.5.html
  6457.    | | | | |-- lilo.conf.5.html
  6458.    | | | | |-- motd.5.html
  6459.    | | | | |-- nfs.5.html
  6460.    | | | | |-- nologin.5.html
  6461.    | | | | |-- passwd.5.html
  6462.    | | | | |-- protocols.5.html
  6463.    | | | | |-- securetty.5.html
  6464.    | | | | |-- services.5.html
  6465.    | | | | |-- shells.5.html
  6466.    | | | | |-- ttytype.5.html
  6467.    | | | | |-- utmp.5.html
  6468.    | | | | `-- wtmp.5.html
  6469.    | | | |-- man6
  6470.    | | | | |-- *.html
  6471.    | | | | |-- TRANS.TBL
  6472.    | | | | `-- index.html
  6473.    | | | |-- man7
  6474.    | | | | |-- TRANS.TBL
  6475.    | | | | |-- ascii.7.html
  6476.    | | | | |-- bootparam.7.html
  6477.    | | | | |-- hier.7.html
  6478.    | | | | |-- index.html
  6479.    | | | | |-- intro.7.html
  6480.    | | | | |-- iso_8859_1.7.html
  6481.    | | | | |-- latin1.7.html
  6482.    | | | | |-- locale.7.html
  6483.    | | | | |-- mailaddr.7.html
  6484.    | | | | |-- man.7.html
  6485.    | | | | |-- signal.7.html
  6486.    | | | | |-- suffixes.7.html
  6487.    | | | | |-- unicode.7.html
  6488.    | | | | `-- utf-8.7.html
  6489.    | | | `-- man8
  6490.    | | | |-- TRANS.TBL
  6491.    | | | |-- index.html
  6492.    | | | |-- intro.8.html
  6493.    | | | `-- lilo.8.html
  6494.    | | |-- liste_section_1
  6495.    | | |-- liste_section_2
  6496.    | | |-- liste_section_3
  6497.    | | |-- liste_section_4
  6498.    | | |-- liste_section_5
  6499.    | | |-- liste_section_7
  6500.    | | |-- liste_section_8
  6501.    | | |-- man-fr-0.3-Annonce
  6502.    | | |-- man-fr03.tgz
  6503.    | | |-- man1
  6504.    | | | |-- TRANS.TBL
  6505.    | | | |-- basename.1
  6506.    | | | |-- cat.1
  6507.    | | | |-- chgrp.1
  6508.    | | | |-- chmod.1
  6509.    | | | |-- chown.1
  6510.    | | | |-- cksum.1
  6511.    | | | |-- comm.1
  6512.    | | | |-- cp.1
  6513.    | | | |-- csplit.1
  6514.    | | | |-- cut.1
  6515.    | | | |-- date.1
  6516.    | | | |-- dd.1
  6517.    | | | |-- dirname.1
  6518.    | | | |-- du.1
  6519.    | | | |-- echo.1
  6520.    | | | |-- env.1
  6521.    | | | |-- expand.1
  6522.    | | | |-- expr.1
  6523.    | | | |-- false.1
  6524.    | | | |-- find.1
  6525.    | | | |-- fmt.1
  6526.    | | | |-- fold.1
  6527.    | | | |-- free.1
  6528.    | | | |-- grep.1
  6529.    | | | |-- groups.1
  6530.    | | | |-- head.1
  6531.    | | | |-- id.1
  6532.    | | | |-- join.1
  6533.    | | | |-- logname.1
  6534.    | | | |-- ls.1
  6535.    | | | |-- md5sum.1
  6536.    | | | |-- mkdir.1
  6537.    | | | |-- mkfifo.1
  6538.    | | | |-- mknod.1
  6539.    | | | |-- mv.1
  6540.    | | | |-- nice.1
  6541.    | | | |-- nl.1
  6542.    | | | |-- nohup.1
  6543.    | | | |-- od.1
  6544.    | | | |-- paste.1
  6545.    | | | |-- pathchk.1
  6546.    | | | |-- pr.1
  6547.    | | | |-- printenv.1
  6548.    | | | |-- printf.1
  6549.    | | | |-- pwd.1
  6550.    | | | |-- rm.1
  6551.    | | | |-- rmdir.1
  6552.    | | | |-- sleep.1
  6553.    | | | |-- sort.1
  6554.    | | | |-- split.1
  6555.    | | | |-- stty.1
  6556.    | | | |-- su.1
  6557.    | | | |-- sum.1
  6558.    | | | |-- tac.1
  6559.    | | | |-- tail.1
  6560.    | | | |-- tee.1
  6561.    | | | |-- test.1
  6562.    | | | |-- touch.1
  6563.    | | | |-- tr.1
  6564.    | | | |-- true.1
  6565.    | | | |-- tty.1
  6566.    | | | |-- uname.1
  6567.    | | | |-- unexpand.1
  6568.    | | | |-- uniq.1
  6569.    | | | |-- users.1
  6570.    | | | |-- wc.1
  6571.    | | | |-- who.1
  6572.    | | | |-- whoami.1
  6573.    | | | `-- yes.1
  6574.    | | |-- man2
  6575.    | | | |-- TRANS.TBL
  6576.    | | | |-- _exit.2
  6577.    | | | |-- accept.2
  6578.    | | | |-- access.2
  6579.    | | | |-- acct.2
  6580.    | | | |-- adjtimex.2
  6581.    | | | |-- afs_syscall.2
  6582.    | | | |-- alarm.2
  6583.    | | | |-- bdflush.2
  6584.    | | | |-- bind.2
  6585.    | | | |-- break.2
  6586.    | | | |-- brk.2
  6587.    | | | |-- cacheflush.2
  6588.    | | | |-- chdir.2
  6589.    | | | |-- chmod.2
  6590.    | | | |-- chown.2
  6591.    | | | |-- chroot.2
  6592.    | | | |-- clone.2
  6593.    | | | |-- close.2
  6594.    | | | |-- connect.2
  6595.    | | | |-- creat.2
  6596.    | | | |-- create_module.2
  6597.    | | | |-- delete_module.2
  6598.    | | | |-- dup.2
  6599.    | | | |-- dup2.2
  6600.    | | | |-- execve.2
  6601.    | | | |-- fchdir.2
  6602.    | | | |-- fchmod.2
  6603.    | | | |-- fchown.2
  6604.    | | | |-- fcntl.2
  6605.    | | | |-- fdatasync.2
  6606.    | | | |-- flock.2
  6607.    | | | |-- fork.2
  6608.    | | | |-- fstat.2
  6609.    | | | |-- fstatfs.2
  6610.    | | | |-- fsync.2
  6611.    | | | |-- ftruncate.2
  6612.    | | | |-- get_kernel_syms.2
  6613.    | | | |-- getdents.2
  6614.    | | | |-- getdomainname.2
  6615.    | | | |-- getdtablesize.2
  6616.    | | | |-- getegid.2
  6617.    | | | |-- geteuid.2
  6618.    | | | |-- getgid.2
  6619.    | | | |-- getgroups.2
  6620.    | | | |-- gethostid.2
  6621.    | | | |-- gethostname.2
  6622.    | | | |-- getitimer.2
  6623.    | | | |-- getpagesize.2
  6624.    | | | |-- getpeername.2
  6625.    | | | |-- getpgid.2
  6626.    | | | |-- getpgrp.2
  6627.    | | | |-- getpid.2
  6628.    | | | |-- getppid.2
  6629.    | | | |-- getpriority.2
  6630.    | | | |-- getrlimit.2
  6631.    | | | |-- getrusage.2
  6632.    | | | |-- getsid.2
  6633.    | | | |-- getsockname.2
  6634.    | | | |-- getsockopt.2
  6635.    | | | |-- gettimeofday.2
  6636.    | | | |-- getuid.2
  6637.    | | | |-- gtty.2
  6638.    | | | |-- idle.2
  6639.    | | | |-- init_module.2
  6640.    | | | |-- intro.2
  6641.    | | | |-- ioctl.2
  6642.    | | | |-- ioctl_list.2
  6643.    | | | |-- ioperm.2
  6644.    | | | |-- iopl.2
  6645.    | | | |-- ipc.2
  6646.    | | | |-- kill.2
  6647.    | | | |-- killpg.2
  6648.    | | | |-- link.2
  6649.    | | | |-- listen.2
  6650.    | | | |-- llseek.2
  6651.    | | | |-- lock.2
  6652.    | | | |-- lseek.2
  6653.    | | | |-- lstat.2
  6654.    | | | |-- mkdir.2
  6655.    | | | |-- mknod.2
  6656.    | | | |-- mlock.2
  6657.    | | | |-- mlockall.2
  6658.    | | | |-- mmap.2
  6659.    | | | |-- modify_ldt.2
  6660.    | | | |-- modules.2
  6661.    | | | |-- mount.2
  6662.    | | | |-- mprotect.2
  6663.    | | | |-- mpx.2
  6664.    | | | |-- mremap.2
  6665.    | | | |-- msgctl.2
  6666.    | | | |-- msgget.2
  6667.    | | | |-- msgop.2
  6668.    | | | |-- msgrcv.2
  6669.    | | | |-- msgsnd.2
  6670.    | | | |-- msync.2
  6671.    | | | |-- munlock.2
  6672.    | | | |-- munlockall.2
  6673.    | | | |-- munmap.2
  6674.    | | | |-- nanosleep.2
  6675.    | | | |-- nice.2
  6676.    | | | |-- obsolete.2
  6677.    | | | |-- oldfstat.2
  6678.    | | | |-- oldlstat.2
  6679.    | | | |-- oldolduname.2
  6680.    | | | |-- oldstat.2
  6681.    | | | |-- olduname.2
  6682.    | | | |-- open.2
  6683.    | | | |-- outb.2
  6684.    | | | |-- pause.2
  6685.    | | | |-- personality.2
  6686.    | | | |-- phys.2
  6687.    | | | |-- pipe.2
  6688.    | | | |-- prof.2
  6689.    | | | |-- profil.2
  6690.    | | | |-- ptrace.2
  6691.    | | | |-- quotactl.2
  6692.    | | | |-- read.2
  6693.    | | | |-- readdir.2
  6694.    | | | |-- readlink.2
  6695.    | | | |-- readv.2
  6696.    | | | |-- reboot.2
  6697.    | | | |-- recv.2
  6698.    | | | |-- recvfrom.2
  6699.    | | | |-- recvmsg.2
  6700.    | | | |-- rename.2
  6701.    | | | |-- rmdir.2
  6702.    | | | |-- sbrk.2
  6703.    | | | |-- sched_get_priority_max.2
  6704.    | | | |-- sched_get_priority_min.2
  6705.    | | | |-- sched_getparam.2
  6706.    | | | |-- sched_getscheduler.2
  6707.    | | | |-- sched_rr_get_interval.2
  6708.    | | | |-- sched_setparam.2
  6709.    | | | |-- sched_setscheduler.2
  6710.    | | | |-- sched_yield.2
  6711.    | | | |-- select.2
  6712.    | | | |-- semctl.2
  6713.    | | | |-- semget.2
  6714.    | | | |-- semop.2
  6715.    | | | |-- send.2
  6716.    | | | |-- sendmsg.2
  6717.    | | | |-- sendto.2
  6718.    | | | |-- setdomainname.2
  6719.    | | | |-- setegid.2
  6720.    | | | |-- seteuid.2
  6721.    | | | |-- setfsgid.2
  6722.    | | | |-- setfsuid.2
  6723.    | | | |-- setgid.2
  6724.    | | | |-- setgroups.2
  6725.    | | | |-- sethostid.2
  6726.    | | | |-- sethostname.2
  6727.    | | | |-- setitimer.2
  6728.    | | | |-- setpgid.2
  6729.    | | | |-- setpgrp.2
  6730.    | | | |-- setpriority.2
  6731.    | | | |-- setregid.2
  6732.    | | | |-- setreuid.2
  6733.    | | | |-- setrlimit.2
  6734.    | | | |-- setsid.2
  6735.    | | | |-- setsockopt.2
  6736.    | | | |-- settimeofday.2
  6737.    | | | |-- setuid.2
  6738.    | | | |-- setup.2
  6739.    | | | |-- shmat.2
  6740.    | | | |-- shmctl.2
  6741.    | | | |-- shmdt.2
  6742.    | | | |-- shmget.2
  6743.    | | | |-- shmop.2
  6744.    | | | |-- shutdown.2
  6745.    | | | |-- sigaction.2
  6746.    | | | |-- sigblock.2
  6747.    | | | |-- sigmask.2
  6748.    | | | |-- signal.2
  6749.    | | | |-- sigpause.2
  6750.    | | | |-- sigpending.2
  6751.    | | | |-- sigprocmask.2
  6752.    | | | |-- sigreturn.2
  6753.    | | | |-- sigsuspend.2
  6754.    | | | |-- sigvec.2
  6755.    | | | |-- socket.2
  6756.    | | | |-- socketcall.2
  6757.    | | | |-- socketpair.2
  6758.    | | | |-- stat.2
  6759.    | | | |-- statfs.2
  6760.    | | | |-- stime.2
  6761.    | | | |-- stty.2
  6762.    | | | |-- swapoff.2
  6763.    | | | |-- swapon.2
  6764.    | | | |-- symlink.2
  6765.    | | | |-- sync.2
  6766.    | | | |-- sysctl.2
  6767.    | | | |-- sysfs.2
  6768.    | | | |-- sysinfo.2
  6769.    | | | |-- syslog.2
  6770.    | | | |-- time.2
  6771.    | | | |-- times.2
  6772.    | | | |-- truncate.2
  6773.    | | | |-- umask.2
  6774.    | | | |-- umount.2
  6775.    | | | |-- uname.2
  6776.    | | | |-- undocumented.2
  6777.    | | | |-- unimplemented.2
  6778.    | | | |-- unlink.2
  6779.    | | | |-- uselib.2
  6780.    | | | |-- ustat.2
  6781.    | | | |-- utime.2
  6782.    | | | |-- vfork.2
  6783.    | | | |-- vhangup.2
  6784.    | | | |-- vm86.2
  6785.    | | | |-- wait.2
  6786.    | | | |-- wait3.2
  6787.    | | | |-- wait4.2
  6788.    | | | |-- waitpid.2
  6789.    | | | |-- write.2
  6790.    | | | `-- writev.2
  6791.    | | |-- man3
  6792.    | | | |-- TRANS.TBL
  6793.    | | | |-- abort.3
  6794.    | | | |-- abs.3
  6795.    | | | |-- acos.3
  6796.    | | | |-- acosh.3
  6797.    | | | |-- addmntent.3
  6798.    | | | |-- alloca.3
  6799.    | | | |-- alphasort.3
  6800.    | | | |-- asctime.3
  6801.    | | | |-- asin.3
  6802.    | | | |-- asinh.3
  6803.    | | | |-- assert.3
  6804.    | | | |-- atan.3
  6805.    | | | |-- atan2.3
  6806.    | | | |-- atanh.3
  6807.    | | | |-- atexit.3
  6808.    | | | |-- atof.3
  6809.    | | | |-- atoi.3
  6810.    | | | |-- atol.3
  6811.    | | | |-- bcmp.3
  6812.    | | | |-- bcopy.3
  6813.    | | | |-- bsearch.3
  6814.    | | | |-- bstring.3
  6815.    | | | |-- byteorder.3
  6816.    | | | |-- bzero.3
  6817.    | | | |-- calloc.3
  6818.    | | | |-- catclose.3
  6819.    | | | |-- catgets.3
  6820.    | | | |-- catopen.3
  6821.    | | | |-- cbrt.3
  6822.    | | | |-- ceil.3
  6823.    | | | |-- cfgetispeed.3
  6824.    | | | |-- cfgetospeed.3
  6825.    | | | |-- cfmakeraw.3
  6826.    | | | |-- cfsetispeed.3
  6827.    | | | |-- cfsetospeed.3
  6828.    | | | |-- clearerr.3
  6829.    | | | |-- clock.3
  6830.    | | | |-- closedir.3
  6831.    | | | |-- closelog.3
  6832.    | | | |-- confstr.3
  6833.    | | | |-- copysign.3
  6834.    | | | |-- cos.3
  6835.    | | | |-- cosh.3
  6836.    | | | |-- crypt.3
  6837.    | | | |-- ctermid.3
  6838.    | | | |-- ctime.3
  6839.    | | | |-- cuserid.3
  6840.    | | | |-- difftime.3
  6841.    | | | |-- div.3
  6842.    | | | |-- dn_comp.3
  6843.    | | | |-- dn_expand.3
  6844.    | | | |-- drand48.3
  6845.    | | | |-- drem.3
  6846.    | | | |-- ecvt.3
  6847.    | | | |-- endgrent.3
  6848.    | | | |-- endhostent.3
  6849.    | | | |-- endmntent.3
  6850.    | | | |-- endnetent.3
  6851.    | | | |-- endprotoent.3
  6852.    | | | |-- endpwent.3
  6853.    | | | |-- endservent.3
  6854.    | | | |-- endusershell.3
  6855.    | | | |-- endutent.3
  6856.    | | | |-- erand48.3
  6857.    | | | |-- erf.3
  6858.    | | | |-- erfc.3
  6859.    | | | |-- errno.3
  6860.    | | | |-- exec.3
  6861.    | | | |-- execl.3
  6862.    | | | |-- execle.3
  6863.    | | | |-- execlp.3
  6864.    | | | |-- exect.3
  6865.    | | | |-- execv.3
  6866.    | | | |-- execvp.3
  6867.    | | | |-- exit.3
  6868.    | | | |-- exp.3
  6869.    | | | |-- expm1.3
  6870.    | | | |-- fabs.3
  6871.    | | | |-- fclose.3
  6872.    | | | |-- fcvt.3
  6873.    | | | |-- fdopen.3
  6874.    | | | |-- feof.3
  6875.    | | | |-- ferror.3
  6876.    | | | |-- fflush.3
  6877.    | | | |-- ffs.3
  6878.    | | | |-- fgetc.3
  6879.    | | | |-- fgetgrent.3
  6880.    | | | |-- fgetpos.3
  6881.    | | | |-- fgetpwent.3
  6882.    | | | |-- fgets.3
  6883.    | | | |-- fileno.3
  6884.    | | | |-- finite.3
  6885.    | | | |-- floor.3
  6886.    | | | |-- fmod.3
  6887.    | | | |-- fnmatch.3
  6888.    | | | |-- fopen.3
  6889.    | | | |-- fpathconf.3
  6890.    | | | |-- fprintf.3
  6891.    | | | |-- fpurge.3
  6892.    | | | |-- fputc.3
  6893.    | | | |-- fputs.3
  6894.    | | | |-- fread.3
  6895.    | | | |-- free.3
  6896.    | | | |-- freopen.3
  6897.    | | | |-- frexp.3
  6898.    | | | |-- fscanf.3
  6899.    | | | |-- fseek.3
  6900.    | | | |-- fsetpos.3
  6901.    | | | |-- ftell.3
  6902.    | | | |-- ftime.3
  6903.    | | | |-- ftok.3
  6904.    | | | |-- ftw.3
  6905.    | | | |-- fwrite.3
  6906.    | | | |-- gcvt.3
  6907.    | | | |-- get_current_dir_name.3
  6908.    | | | |-- getc.3
  6909.    | | | |-- getchar.3
  6910.    | | | |-- getcwd.3
  6911.    | | | |-- getdirentries.3
  6912.    | | | |-- getenv.3
  6913.    | | | |-- getgrent.3
  6914.    | | | |-- getgrgid.3
  6915.    | | | |-- getgrnam.3
  6916.    | | | |-- gethostbyaddr.3
  6917.    | | | |-- gethostbyname.3
  6918.    | | | |-- getlogin.3
  6919.    | | | |-- getmntent.3
  6920.    | | | |-- getnetbyaddr.3
  6921.    | | | |-- getnetbyname.3
  6922.    | | | |-- getnetent.3
  6923.    | | | |-- getopt.3
  6924.    | | | |-- getopt_long.3
  6925.    | | | |-- getopt_long_only.3
  6926.    | | | |-- getpass.3
  6927.    | | | |-- getprotobyname.3
  6928.    | | | |-- getprotobynumber.3
  6929.    | | | |-- getprotoent.3
  6930.    | | | |-- getpw.3
  6931.    | | | |-- getpwent.3
  6932.    | | | |-- getpwnam.3
  6933.    | | | |-- getpwuid.3
  6934.    | | | |-- gets.3
  6935.    | | | |-- getservbyname.3
  6936.    | | | |-- getservbyport.3
  6937.    | | | |-- getservent.3
  6938.    | | | |-- getusershell.3
  6939.    | | | |-- getutent.3
  6940.    | | | |-- getutid.3
  6941.    | | | |-- getutline.3
  6942.    | | | |-- getw.3
  6943.    | | | |-- getwd.3
  6944.    | | | |-- glob.3
  6945.    | | | |-- globfree.3
  6946.    | | | |-- gmtime.3
  6947.    | | | |-- hasmntopt.3
  6948.    | | | |-- hcreate.3
  6949.    | | | |-- hdestroy.3
  6950.    | | | |-- herror.3
  6951.    | | | |-- hsearch.3
  6952.    | | | |-- htonl.3
  6953.    | | | |-- htons.3
  6954.    | | | |-- hypot.3
  6955.    | | | |-- index.3
  6956.    | | | |-- inet.3
  6957.    | | | |-- inet_addr.3
  6958.    | | | |-- inet_aton.3
  6959.    | | | |-- inet_lnaof.3
  6960.    | | | |-- inet_makeaddr.3
  6961.    | | | |-- inet_netof.3
  6962.    | | | |-- inet_network.3
  6963.    | | | |-- inet_ntoa.3
  6964.    | | | |-- infnan.3
  6965.    | | | |-- initgroups.3
  6966.    | | | |-- initstate.3
  6967.    | | | |-- insque.3
  6968.    | | | |-- intro.3
  6969.    | | | |-- isalnum.3
  6970.    | | | |-- isalpha.3
  6971.    | | | |-- isascii.3
  6972.    | | | |-- isatty.3
  6973.    | | | |-- isblank.3
  6974.    | | | |-- iscntrl.3
  6975.    | | | |-- isdigit.3
  6976.    | | | |-- isgraph.3
  6977.    | | | |-- isinf.3
  6978.    | | | |-- islower.3
  6979.    | | | |-- isnan.3
  6980.    | | | |-- isprint.3
  6981.    | | | |-- ispunct.3
  6982.    | | | |-- isspace.3
  6983.    | | | |-- isupper.3
  6984.    | | | |-- isxdigit.3
  6985.    | | | |-- j0.3
  6986.    | | | |-- j1.3
  6987.    | | | |-- jn.3
  6988.    | | | |-- jrand48.3
  6989.    | | | |-- killpg.3
  6990.    | | | |-- labs.3
  6991.    | | | |-- lcong48.3
  6992.    | | | |-- ldexp.3
  6993.    | | | |-- ldiv.3
  6994.    | | | |-- lfind.3
  6995.    | | | |-- lgamma.3
  6996.    | | | |-- localeconv.3
  6997.    | | | |-- localtime.3
  6998.    | | | |-- log.3
  6999.    | | | |-- log10.3
  7000.    | | | |-- log1p.3
  7001.    | | | |-- longjmp.3
  7002.    | | | |-- lrand48.3
  7003.    | | | |-- lsearch.3
  7004.    | | | |-- malloc.3
  7005.    | | | |-- mblen.3
  7006.    | | | |-- mbstowcs.3
  7007.    | | | |-- mbtowc.3
  7008.    | | | |-- memccpy.3
  7009.    | | | |-- memchr.3
  7010.    | | | |-- memcmp.3
  7011.    | | | |-- memcpy.3
  7012.    | | | |-- memfrob.3
  7013.    | | | |-- memmem.3
  7014.    | | | |-- memmove.3
  7015.    | | | |-- memset.3
  7016.    | | | |-- mkfifo.3
  7017.    | | | |-- mkstemp.3
  7018.    | | | |-- mktemp.3
  7019.    | | | |-- mktime.3
  7020.    | | | |-- modf.3
  7021.    | | | |-- mrand48.3
  7022.    | | | |-- nrand48.3
  7023.    | | | |-- ntohl.3
  7024.    | | | |-- ntohs.3
  7025.    | | | |-- on_exit.3
  7026.    | | | |-- opendir.3
  7027.    | | | |-- openlog.3
  7028.    | | | |-- pathconf.3
  7029.    | | | |-- pclose.3
  7030.    | | | |-- perror.3
  7031.    | | | |-- popen.3
  7032.    | | | |-- pow.3
  7033.    | | | |-- printf.3
  7034.    | | | |-- psignal.3
  7035.    | | | |-- putc.3
  7036.    | | | |-- putchar.3
  7037.    | | | |-- putenv.3
  7038.    | | | |-- putpwent.3
  7039.    | | | |-- puts.3
  7040.    | | | |-- pututline.3
  7041.    | | | |-- putw.3
  7042.    | | | |-- qsort.3
  7043.    | | | |-- raise.3
  7044.    | | | |-- rand.3
  7045.    | | | |-- random.3
  7046.    | | | |-- re_comp.3
  7047.    | | | |-- re_exec.3
  7048.    | | | |-- readdir.3
  7049.    | | | |-- readv.3
  7050.    | | | |-- realloc.3
  7051.    | | | |-- realpath.3
  7052.    | | | |-- regcomp.3
  7053.    | | | |-- regerror.3
  7054.    | | | |-- regexec.3
  7055.    | | | |-- regfree.3
  7056.    | | | |-- remove.3
  7057.    | | | |-- remque.3
  7058.    | | | |-- res_init.3
  7059.    | | | |-- res_mkquery.3
  7060.    | | | |-- res_query.3
  7061.    | | | |-- res_querydomain.3
  7062.    | | | |-- res_search.3
  7063.    | | | |-- res_send.3
  7064.    | | | |-- resolver.3
  7065.    | | | |-- rewind.3
  7066.    | | | |-- rewinddir.3
  7067.    | | | |-- rindex.3
  7068.    | | | |-- rint.3
  7069.    | | | |-- scandir.3
  7070.    | | | |-- scanf.3
  7071.    | | | |-- seed48.3
  7072.    | | | |-- seekdir.3
  7073.    | | | |-- setbuf.3
  7074.    | | | |-- setbuffer.3
  7075.    | | | |-- setenv.3
  7076.    | | | |-- setgrent.3
  7077.    | | | |-- sethostent.3
  7078.    | | | |-- setjmp.3
  7079.    | | | |-- setlinebuf.3
  7080.    | | | |-- setlocale.3
  7081.    | | | |-- setmntent.3
  7082.    | | | |-- setnetent.3
  7083.    | | | |-- setprotoent.3
  7084.    | | | |-- setpwent.3
  7085.    | | | |-- setservent.3
  7086.    | | | |-- setstate.3
  7087.    | | | |-- setusershell.3
  7088.    | | | |-- setutent.3
  7089.    | | | |-- setvbuf.3
  7090.    | | | |-- sigaddset.3
  7091.    | | | |-- sigdelset.3
  7092.    | | | |-- sigemptyset.3
  7093.    | | | |-- sigfillset.3
  7094.    | | | |-- siginterrupt.3
  7095.    | | | |-- sigismember.3
  7096.    | | | |-- sigsetops.3
  7097.    | | | |-- sin.3
  7098.    | | | |-- sinh.3
  7099.    | | | |-- sleep.3
  7100.    | | | |-- snprintf.3
  7101.    | | | |-- sprintf.3
  7102.    | | | |-- sqrt.3
  7103.    | | | |-- srand.3
  7104.    | | | |-- srand48.3
  7105.    | | | |-- srandom.3
  7106.    | | | |-- sscanf.3
  7107.    | | | |-- stdarg.3
  7108.    | | | |-- stdio.3
  7109.    | | | |-- stpcpy.3
  7110.    | | | |-- strcasecmp.3
  7111.    | | | |-- strcat.3
  7112.    | | | |-- strchr.3
  7113.    | | | |-- strcmp.3
  7114.    | | | |-- strcoll.3
  7115.    | | | |-- strcpy.3
  7116.    | | | |-- strcspn.3
  7117.    | | | |-- strdup.3
  7118.    | | | |-- strerror.3
  7119.    | | | |-- strfry.3
  7120.    | | | |-- strftime.3
  7121.    | | | |-- string.3
  7122.    | | | |-- strlen.3
  7123.    | | | |-- strncasecmp.3
  7124.    | | | |-- strncat.3
  7125.    | | | |-- strncmp.3
  7126.    | | | |-- strncpy.3
  7127.    | | | |-- strpbrk.3
  7128.    | | | |-- strptime.3
  7129.    | | | |-- strrchr.3
  7130.    | | | |-- strsep.3
  7131.    | | | |-- strsignal.3
  7132.    | | | |-- strspn.3
  7133.    | | | |-- strstr.3
  7134.    | | | |-- strtod.3
  7135.    | | | |-- strtok.3
  7136.    | | | |-- strtol.3
  7137.    | | | |-- strtoul.3
  7138.    | | | |-- strxfrm.3
  7139.    | | | |-- swab.3
  7140.    | | | |-- sysconf.3
  7141.    | | | |-- syslog.3
  7142.    | | | |-- system.3
  7143.    | | | |-- tan.3
  7144.    | | | |-- tanh.3
  7145.    | | | |-- tcdrain.3
  7146.    | | | |-- tcflow.3
  7147.    | | | |-- tcflush.3
  7148.    | | | |-- tcgetattr.3
  7149.    | | | |-- tcgetpgrp.3
  7150.    | | | |-- tcsendbreak.3
  7151.    | | | |-- tcsetattr.3
  7152.    | | | |-- tcsetpgrp.3
  7153.    | | | |-- tdelete.3
  7154.    | | | |-- telldir.3
  7155.    | | | |-- tempnam.3
  7156.    | | | |-- termios.3
  7157.    | | | |-- tfind.3
  7158.    | | | |-- tmpfile.3
  7159.    | | | |-- tmpnam.3
  7160.    | | | |-- toascii.3
  7161.    | | | |-- tolower.3
  7162.    | | | |-- toupper.3
  7163.    | | | |-- tsearch.3
  7164.    | | | |-- ttyname.3
  7165.    | | | |-- twalk.3
  7166.    | | | |-- tzset.3
  7167.    | | | |-- undocumented.3
  7168.    | | | |-- ungetc.3
  7169.    | | | |-- unsetenv.3
  7170.    | | | |-- usleep.3
  7171.    | | | |-- utmpname.3
  7172.    | | | |-- va_arg.3
  7173.    | | | |-- va_end.3
  7174.    | | | |-- va_start.3
  7175.    | | | |-- vfprintf.3
  7176.    | | | |-- vfscanf.3
  7177.    | | | |-- vprintf.3
  7178.    | | | |-- vscanf.3
  7179.    | | | |-- vsnprintf.3
  7180.    | | | |-- vsprintf.3
  7181.    | | | |-- vsscanf.3
  7182.    | | | |-- wcstombs.3
  7183.    | | | |-- wctomb.3
  7184.    | | | |-- writev.3
  7185.    | | | |-- y0.3
  7186.    | | | |-- y1.3
  7187.    | | | `-- yn.3
  7188.    | | |-- man4
  7189.    | | | |-- TRANS.TBL
  7190.    | | | |-- charsets.4
  7191.    | | | |-- console.4
  7192.    | | | |-- console_codes.4
  7193.    | | | |-- fd.4
  7194.    | | | |-- hd.4
  7195.    | | | |-- intro.4
  7196.    | | | |-- kmem.4
  7197.    | | | |-- lp.4
  7198.    | | | |-- mem.4
  7199.    | | | |-- mouse.4
  7200.    | | | |-- null.4
  7201.    | | | |-- port.4
  7202.    | | | |-- ram.4
  7203.    | | | |-- sd.4
  7204.    | | | |-- st.4
  7205.    | | | |-- tty.4
  7206.    | | | |-- ttys.4
  7207.    | | | |-- vcs.4
  7208.    | | | |-- vcsa.4
  7209.    | | | |-- wavelan.4
  7210.    | | | `-- zero.4
  7211.    | | |-- man5
  7212.    | | | |-- TRANS.TBL
  7213.    | | | |-- environ.5
  7214.    | | | |-- exports.5
  7215.    | | | |-- fs.5
  7216.    | | | |-- fstab.5
  7217.    | | | |-- group.5
  7218.    | | | |-- intro.5
  7219.    | | | |-- ipc.5
  7220.    | | | |-- issue.5
  7221.    | | | |-- lilo.conf.5
  7222.    | | | |-- motd.5
  7223.    | | | |-- nfs.5
  7224.    | | | |-- nologin.5
  7225.    | | | |-- passwd.5
  7226.    | | | |-- protocols.5
  7227.    | | | |-- securetty.5
  7228.    | | | |-- services.5
  7229.    | | | |-- shells.5
  7230.    | | | |-- ttytype.5
  7231.    | | | |-- utmp.5
  7232.    | | | `-- wtmp.5
  7233.    | | |-- man7
  7234.    | | | |-- TRANS.TBL
  7235.    | | | |-- ascii.7
  7236.    | | | |-- bootparam.7
  7237.    | | | |-- hier.7
  7238.    | | | |-- intro.7
  7239.    | | | |-- iso_8859_1.7
  7240.    | | | |-- latin1.7
  7241.    | | | |-- locale.7
  7242.    | | | |-- mailaddr.7
  7243.    | | | |-- man.7
  7244.    | | | |-- signal.7
  7245.    | | | |-- suffixes.7
  7246.    | | | |-- unicode.7
  7247.    | | | `-- utf-8.7
  7248.    | | `-- man8
  7249.    | | |-- TRANS.TBL
  7250.    | | |-- intro.8
  7251.    | | `-- lilo.8
  7252.    | |-- PDF-UTILS
  7253.    | | |-- TRANS.TBL
  7254.    | | |-- acroread.311
  7255.    | | | |-- TRANS.TBL
  7256.    | | | |-- acroread.exe
  7257.    | | | |-- acroread.txt
  7258.    | | | `-- install.txt
  7259.    | | |-- xpdf-0.6-linux2.0-elf
  7260.    | | | |-- CHANGES
  7261.    | | | |-- README
  7262.    | | | |-- TRANS.TBL
  7263.    | | | |-- pdftops
  7264.    | | | |-- pdftops.1
  7265.    | | | |-- xpdf
  7266.    | | | `-- xpdf.1
  7267.    | | `-- xpdf-0.6-sources
  7268.    | | |-- ANNOUNCE
  7269.    | | |-- CHANGES
  7270.    | | |-- Makefile
  7271.    | | |-- Makefile.config
  7272.    | | |-- README
  7273.    | | |-- TRANS.TBL
  7274.    | | |-- goo
  7275.    | | | |-- GString.cc
  7276.    | | | |-- GString.h
  7277.    | | | |-- Makefile
  7278.    | | | |-- TRANS.TBL
  7279.    | | | |-- cover.c
  7280.    | | | |-- cover.h
  7281.    | | | |-- fileNames.cc
  7282.    | | | |-- fileNames.h
  7283.    | | | |-- gmem.c
  7284.    | | | |-- gmem.h
  7285.    | | | |-- gmempp.cc
  7286.    | | | |-- gtypes.h
  7287.    | | | |-- parseargs.c
  7288.    | | | |-- parseargs.h
  7289.    | | | |-- vmscomp.com
  7290.    | | | `-- vmsdecccomp.com
  7291.    | | |-- ltk
  7292.    | | | |-- LTKAll.h
  7293.    | | | |-- LTKApp.cc
  7294.    | | | |-- LTKApp.h
  7295.    | | | |-- LTKBorder.cc
  7296.    | | | |-- LTKBorder.h
  7297.    | | | |-- LTKBox.cc
  7298.    | | | |-- LTKBox.h
  7299.    | | | |-- LTKButton.cc
  7300.    | | | |-- LTKButton.h
  7301.    | | | |-- LTKCanvas.cc
  7302.    | | | |-- LTKCanvas.h
  7303.    | | | |-- LTKConfig.h
  7304.    | | | |-- LTKDblBufCanvas.cc
  7305.    | | | |-- LTKDblBufCanvas.h
  7306.    | | | |-- LTKEmpty.cc
  7307.    | | | |-- LTKEmpty.h
  7308.    | | | |-- LTKLabel.cc
  7309.    | | | |-- LTKLabel.h
  7310.    | | | |-- LTKMisc.cc
  7311.    | | | |-- LTKMisc.h
  7312.    | | | |-- LTKResources.cc
  7313.    | | | |-- LTKResources.h
  7314.    | | | |-- LTKScrollbar.cc
  7315.    | | | |-- LTKScrollbar.h
  7316.    | | | |-- LTKScrollingCanvas.cc
  7317.    | | | |-- LTKScrollingCanvas.h
  7318.    | | | |-- LTKTextIn.cc
  7319.    | | | |-- LTKTextIn.h
  7320.    | | | |-- LTKWidget.cc
  7321.    | | | |-- LTKWidget.h
  7322.    | | | |-- LTKWindow.cc
  7323.    | | | |-- LTKWindow.h
  7324.    | | | |-- Makefile
  7325.    | | | |-- TRANS.TBL
  7326.    | | | |-- ltkbuild-widgets.h
  7327.    | | | |-- ltkbuild.cc
  7328.    | | | |-- vmscomp.com
  7329.    | | | `-- vmsdecccomp.com
  7330.    | | |-- pdftops.1
  7331.    | | |-- pdftops.hlp
  7332.    | | |-- vmscomp.com
  7333.    | | |-- vmsdecccomp.com
  7334.    | | |-- xpdf
  7335.    | | | |-- Array.cc
  7336.    | | | |-- Array.h
  7337.    | | | |-- Catalog.cc
  7338.    | | | |-- Catalog.h
  7339.    | | | |-- Dict.cc
  7340.    | | | |-- Dict.h
  7341.    | | | |-- Error.cc
  7342.    | | | |-- Error.h
  7343.    | | | |-- FontInfo.h
  7344.    | | | |-- Gfx.cc
  7345.    | | | |-- Gfx.h
  7346.    | | | |-- GfxFont.cc
  7347.    | | | |-- GfxFont.h
  7348.    | | | |-- GfxState.cc
  7349.    | | | |-- GfxState.h
  7350.    | | | |-- Lexer.cc
  7351.    | | | |-- Lexer.h
  7352.    | | | |-- Link.cc
  7353.    | | | |-- Link.h
  7354.    | | | |-- Makefile
  7355.    | | | |-- Object.cc
  7356.    | | | |-- Object.h
  7357.    | | | |-- OutputDev.cc
  7358.    | | | |-- OutputDev.h
  7359.    | | | |-- PDFDoc.cc
  7360.    | | | |-- PDFDoc.h
  7361.    | | | |-- PSOutputDev.cc
  7362.    | | | |-- PSOutputDev.h
  7363.    | | | |-- Page.cc
  7364.    | | | |-- Page.h
  7365.    | | | |-- Params.cc
  7366.    | | | |-- Params.h
  7367.    | | | |-- Parser.cc
  7368.    | | | |-- Parser.h
  7369.    | | | |-- Stream-CCITT.h
  7370.    | | | |-- Stream.cc
  7371.    | | | |-- Stream.h
  7372.    | | | |-- TRANS.TBL
  7373.    | | | |-- XOutputDev.cc
  7374.    | | | |-- XOutputDev.h
  7375.    | | | |-- XOutputFontInfo.h
  7376.    | | | |-- XRef.cc
  7377.    | | | |-- XRef.h
  7378.    | | | |-- about.xbm
  7379.    | | | |-- config.h
  7380.    | | | |-- dblLeftArrow.xbm
  7381.    | | | |-- dblRightArrow.xbm
  7382.    | | | |-- leftArrow.xbm
  7383.    | | | |-- pdftops.cc
  7384.    | | | |-- postscript.xbm
  7385.    | | | |-- rightArrow.xbm
  7386.    | | | |-- rotateCCW.xbm
  7387.    | | | |-- rotateCW.xbm
  7388.    | | | |-- vms_unlink.c
  7389.    | | | |-- vmscomp.com
  7390.    | | | |-- vmsdecccomp.com
  7391.    | | | |-- xpdf-ltk.h
  7392.    | | | |-- xpdf.cc
  7393.    | | | |-- xpdf.ltk
  7394.    | | | |-- zoomIn.xbm
  7395.    | | | `-- zoomOut.xbm
  7396.    | | |-- xpdf.1
  7397.    | | `-- xpdf.hlp
  7398.    | |-- PPP
  7399.    | | |-- TRANS.TBL
  7400.    | | |-- intmodem.txt
  7401.    | | |-- ppp.htm
  7402.    | | |-- rouge.gif
  7403.    | | `-- tkppp.gif
  7404.    | |-- TEX
  7405.    | | |-- TRANS.TBL
  7406.    | | `-- tex-book.pdf
  7407.    | |-- TRANS.TBL
  7408.    | |-- VI
  7409.    | | |-- TRANS.TBL
  7410.    | | `-- memovif.pdf
  7411.    | `-- bds222
  7412.    | |-- TRANS.TBL
  7413.    | |-- bds222.tgz
  7414.    | |-- bds_dvi.gz
  7415.    | |-- bdsps.gz
  7416.    | |-- html
  7417.    | | |-- TRANS.TBL
  7418.    | | |-- footnode.html
  7419.    | | |-- gs.html
  7420.    | | |-- img1.gif
  7421.    | | |-- img10.gif
  7422.    | | |-- img100.gif
  7423.    | | |-- img101.gif
  7424.    | | |-- img102.gif
  7425.    | | |-- img103.gif
  7426.    | | |-- img104.gif
  7427.    | | |-- img105.gif
  7428.    | | |-- img106.gif
  7429.    | | |-- img107.gif
  7430.    | | |-- img108.gif
  7431.    | | |-- img109.gif
  7432.    | | |-- img11.gif
  7433.    | | |-- img110.gif
  7434.    | | |-- img111.gif
  7435.    | | |-- img112.gif
  7436.    | | |-- img113.gif
  7437.    | | |-- img114.gif
  7438.    | | |-- img115.gif
  7439.    | | |-- img116.gif
  7440.    | | |-- img117.gif
  7441.    | | |-- img118.gif
  7442.    | | |-- img119.gif
  7443.    | | |-- img12.gif
  7444.    | | |-- img120.gif
  7445.    | | |-- img121.gif
  7446.    | | |-- img122.gif
  7447.    | | |-- img123.gif
  7448.    | | |-- img124.gif
  7449.    | | |-- img125.gif
  7450.    | | |-- img126.gif
  7451.    | | |-- img127.gif
  7452.    | | |-- img128.gif
  7453.    | | |-- img129.gif
  7454.    | | |-- img13.gif
  7455.    | | |-- img130.gif
  7456.    | | |-- img131.gif
  7457.    | | |-- img132.gif
  7458.    | | |-- img133.gif
  7459.    | | |-- img134.gif
  7460.    | | |-- img135.gif
  7461.    | | |-- img136.gif
  7462.    | | |-- img137.gif
  7463.    | | |-- img138.gif
  7464.    | | |-- img139.gif
  7465.    | | |-- img14.gif
  7466.    | | |-- img140.gif
  7467.    | | |-- img141.gif
  7468.    | | |-- img142.gif
  7469.    | | |-- img143.gif
  7470.    | | |-- img144.gif
  7471.    | | |-- img145.gif
  7472.    | | |-- img146.gif
  7473.    | | |-- img147.gif
  7474.    | | |-- img148.gif
  7475.    | | |-- img149.gif
  7476.    | | |-- img15.gif
  7477.    | | |-- img150.gif
  7478.    | | |-- img151.gif
  7479.    | | |-- img152.gif
  7480.    | | |-- img153.gif
  7481.    | | |-- img154.gif
  7482.    | | |-- img155.gif
  7483.    | | |-- img156.gif
  7484.    | | |-- img157.gif
  7485.    | | |-- img158.gif
  7486.    | | |-- img159.gif
  7487.    | | |-- img16.gif
  7488.    | | |-- img160.gif
  7489.    | | |-- img161.gif
  7490.    | | |-- img162.gif
  7491.    | | |-- img163.gif
  7492.    | | |-- img164.gif
  7493.    | | |-- img165.gif
  7494.    | | |-- img166.gif
  7495.    | | |-- img167.gif
  7496.    | | |-- img168.gif
  7497.    | | |-- img169.gif
  7498.    | | |-- img17.gif
  7499.    | | |-- img170.gif
  7500.    | | |-- img171.gif
  7501.    | | |-- img172.gif
  7502.    | | |-- img173.gif
  7503.    | | |-- img174.gif
  7504.    | | |-- img175.gif
  7505.    | | |-- img176.gif
  7506.    |=20 | |-- img177.gif
  7507.    | | |-- img178.gif
  7508.    | | |-- img179.gif
  7509.    | | |-- img18.gif
  7510.    | | |-- img180.gif
  7511.    | | |-- img181.gif
  7512.    | | |-- img182.gif
  7513.    | | |-- img183.gif
  7514.    | | |-- img184.gif
  7515.    | | |-- img185.gif
  7516.    | | |-- img186.gif
  7517.    | | |-- img187.gif
  7518.    | | |-- img188.gif
  7519.    | | |-- img189.gif
  7520.    | | |-- img19.gif
  7521.    | | |-- img190.gif
  7522.    | | |-- img191.gif
  7523.    | | |-- img192.gif
  7524.    | | |-- img193.gif
  7525.    | | |-- img194.gif
  7526.    | | |-- img195.gif
  7527.    | | |-- img196.gif
  7528.    | | |-- img197.gif
  7529.    | | |-- img198.gif
  7530.    | | |-- img199.gif
  7531.    | | |-- img2.gif
  7532.    | | |-- img20.gif
  7533.    | | |-- img200.gif
  7534.    | | |-- img201.gif
  7535.    | | |-- img202.gif
  7536.    | | |-- img203.gif
  7537.    | | |-- img204.gif
  7538.    | | |-- img205.gif
  7539.    | | |-- img206.gif
  7540.    | | |-- img207.gif
  7541.    | | |-- img208.gif
  7542.    | | |-- img209.gif
  7543.    | | |-- img21.gif
  7544.    | | |-- img210.gif
  7545.    | | |-- img211.gif
  7546.    | | |-- img212.gif
  7547.    | | |-- img213.gif
  7548.    | | |-- img214.gif
  7549.    | | |-- img215.gif
  7550.    | | |-- img216.gif
  7551.    | | |-- img217.gif
  7552.    | | |-- img218.gif
  7553.    | | |-- img219.gif
  7554.    | | |-- img22.gif
  7555.    | | |-- img220.gif
  7556.    | | |-- img221.gif
  7557.    | | |-- img222.gif
  7558.    | | |-- img223.gif
  7559.    | | |-- img224.gif
  7560.    | | |-- img225.gif
  7561.    | | |-- img226.gif
  7562.    | | |-- img227.gif
  7563.    | | |-- img228.gif
  7564.    | | |-- img229.gif
  7565.    | | |-- img23.gif
  7566.    | | |-- img230.gif
  7567.    | | |-- img231.gif
  7568.    | | |-- img232.gif
  7569.    | | |-- img233.gif
  7570.    | | |-- img234.gif
  7571.    | | |-- img235.gif
  7572.    | | |-- img236.gif
  7573.    | | |-- img237.gif
  7574.    | | |-- img238.gif
  7575.    | | |-- img239.gif
  7576.    | | |-- img24.gif
  7577.    | | |-- img240.gif
  7578.    | | |-- img241.gif
  7579.    | | |-- img242.gif
  7580.    | | |-- img243.gif
  7581.    | | |-- img244.gif
  7582.    | | |-- img245.gif
  7583.    | | |-- img246.gif
  7584.    | | |-- img247.gif
  7585.    | | |-- img248.gif
  7586.    | | |-- img249.gif
  7587.    | | |-- img25.gif
  7588.    | | |-- img250.gif
  7589.    | | |-- img251.gif
  7590.    | | |-- img252.gif
  7591.    | | |-- img253.gif
  7592.    | | |-- img254.gif
  7593.    | | |-- img255.gif
  7594.    | | |-- img256.gif
  7595.    | | |-- img257.gif
  7596.    | | |-- img258.gif
  7597.    | | |-- img259.gif
  7598.    | | |-- img26.gif
  7599.    | | |-- img260.gif
  7600.    | | |-- img261.gif
  7601.    | | |-- img262.gif
  7602.    | | |-- img263.gif
  7603.    | | |-- img264.gif
  7604.    | | |-- img265.gif
  7605.    | | |-- img266.gif
  7606.    | | |-- img267.gif
  7607.    | | |-- img268.gif
  7608.    | | |-- img269.gif
  7609.    | | |-- img27.gif
  7610.    | | |-- img270.gif
  7611.    | | |-- img271.gif
  7612.    | | |-- img272.gif
  7613.    | | |-- img273.gif
  7614.    | | |-- img274.gif
  7615.    | | |-- img275.gif
  7616.    | | |-- img276.gif
  7617.    | | |-- img277.gif
  7618.    | | |-- img278.gif
  7619.    | | |-- img279.gif
  7620.    | | |-- img28.gif
  7621.    | | |-- img280.gif
  7622.    | | |-- img281.gif
  7623.    | | |-- img282.gif
  7624.    | | |-- img283.gif
  7625.    | | |-- img284.gif
  7626.    | | |-- img285.gif
  7627.    | | |-- img286.gif
  7628.    | | |-- img287.gif
  7629.    | | |-- img288.gif
  7630.    | | |-- img289.gif
  7631.    | | |-- img29.gif
  7632.    | | |-- img290.gif
  7633.    | | |-- img291.gif
  7634.    | | |-- img292.gif
  7635.    | | |-- img293.gif
  7636.    | | |-- img294.gif
  7637.    | | |-- img295.gif
  7638.    | | |-- img296.gif
  7639.    | | |-- img297.gif
  7640.    | | |-- img298.gif
  7641.    | | |-- img299.gif
  7642.    | | |-- img3.gif
  7643.    | | |-- img30.gif
  7644.    | | |-- img300.gif
  7645.    | | |-- img301.gif
  7646.    | | |-- img302.gif
  7647.    | | |-- img303.gif
  7648.    | | |-- img304.gif
  7649.    | | |-- img305.gif
  7650.    | | |-- img306.gif
  7651.    | | |-- img307.gif
  7652.    | | |-- img308.gif
  7653.    | | |-- img309.gif
  7654.    | | |-- img31.gif
  7655.    | | |-- img310.gif
  7656.    | | |-- img311.gif
  7657.    | | |-- img312.gif
  7658.    | | |-- img313.gif
  7659.    | | |-- img314.gif
  7660.    | | |-- img315.gif
  7661.    | | |-- img316.gif
  7662.    | | |-- img317.gif
  7663.    | | |-- img318.gif
  7664.    | | |-- img319.gif
  7665.    | | |-- img32.gif
  7666.    | | |-- img320.gif
  7667.    | | |-- img321.gif
  7668.    | | |-- img322.gif
  7669.    | | |-- img323.gif
  7670.    | | |-- img324.gif
  7671.    | | |-- img325.gif
  7672.    | | |-- img33.gif
  7673.    | | |-- img34.gif
  7674.    | | |-- img35.gif
  7675.    | | |-- img36.gif
  7676.    | | |-- img37.gif
  7677.    | | |-- img38.gif
  7678.    | | |-- img39.gif
  7679.    | | |-- img4.gif
  7680.    | | |-- img40.gif
  7681.    | | |-- img41.gif
  7682.    | | |-- img42.gif
  7683.    | | |-- img43.gif
  7684.    | | |-- img44.gif
  7685.    | | |-- img45.gif
  7686.    | | |-- img46.gif
  7687.    | | |-- img47.gif
  7688.    | | |-- img48.gif
  7689.    | | |-- img49.gif
  7690.    | | |-- img5.gif
  7691.    | | |-- img50.gif
  7692.    | | |-- img51.gif
  7693.    | | |-- img52.gif
  7694.    | | |-- img53.gif
  7695.    | | |-- img54.gif
  7696.    | | |-- img55.gif
  7697.    | | |-- img56.gif
  7698.    | | |-- img57.gif
  7699.    | | |-- img58.gif
  7700.    | | |-- img59.gif
  7701.    | | |-- img6.gif
  7702.    | | |-- img60.gif
  7703.    | | |-- img61.gif
  7704.    | | |-- img62.gif
  7705.    | | |-- img63.gif
  7706.    | | |-- img64.gif
  7707.    | | |-- img65.gif
  7708.    | | |-- img66.gif
  7709.    | | |-- img67.gif
  7710.    | | |-- img68.gif
  7711.    | | |-- img69.gif
  7712.    | | |-- img7.gif
  7713.    | | |-- img70.gif
  7714.    | | |-- img71.gif
  7715.    | | |-- img72.gif
  7716.    | | |-- img73.gif
  7717.    | | |-- img74.gif
  7718.    | | |-- img75.gif
  7719.    | | |-- img76.gif
  7720.    | | |-- img77.gif
  7721.    | | |-- img78.gif
  7722.    | | |-- img79.gif
  7723.    | | |-- img8.gif
  7724.    | | |-- img80.gif
  7725.    | | |-- img81.gif
  7726.    | | |-- img82.gif
  7727.    | | |-- img83.gif
  7728.    | | |-- img84.gif
  7729.    | | |-- img85.gif
  7730.    | | |-- img86.gif
  7731.    | | |-- img87.gif
  7732.    | | |-- img88.gif
  7733.    | | |-- img89.gif
  7734.    | | |-- img9.gif
  7735.    | | |-- img90.gif
  7736.    | | |-- img91.gif
  7737.    | | |-- img92.gif
  7738.    | | |-- img93.gif
  7739.    | | |-- img94.gif
  7740.    | | |-- img95.gif
  7741.    | | |-- img96.gif
  7742.    | | |-- img97.gif
  7743.    | | |-- img98.gif
  7744.    | | |-- img99.gif
  7745.    | | |-- node1.html
  7746.    | | |-- node10.html
  7747.    | | |-- node100.html
  7748.    | | |-- node101.html
  7749.    | | |-- node102.html
  7750.    | | |-- node103.html
  7751.    | | |-- node104.html
  7752.    | | |-- node105.html
  7753.    | | |-- node106.html
  7754.    | | |-- node107.html
  7755.    | | |-- node108.html
  7756.    | | |-- node109.html
  7757.    | | |-- node11.html
  7758.    | | |-- node110.html
  7759.    | | |-- node111.html
  7760.    | | |-- node112.html
  7761.    | | |-- node113.html
  7762.    | | |-- node114.html
  7763.    | | |-- node115.html
  7764.    | | |-- node116.html
  7765.    | | |-- node117.html
  7766.    | | |-- node118.html
  7767.    | | |-- node119.html
  7768.    | | |-- node12.html
  7769.    | | |-- node120.html
  7770.    | | |-- node121.html
  7771.    | | |-- node122.html
  7772.    | | |-- node123.html
  7773.    | | |-- node124.html
  7774.    | | |-- node125.html
  7775.    | | |-- node126.html
  7776.    | | |-- node127.html
  7777.    | | |-- node128.html
  7778.    | | |-- node129.html
  7779.    | | |-- node13.html
  7780.    | | |-- node130.html
  7781.    | | |-- node131.html
  7782.    | | |-- node132.html
  7783.    | | |-- node133.html
  7784.    | | |-- node134.html
  7785.    | | |-- node135.html
  7786.    | | |-- node136.html
  7787.    | | |-- node137.html
  7788.    | | |-- node138.html
  7789.    | | |-- node139.html
  7790.    | | |-- node14.html
  7791.    | | |-- node140.html
  7792.    | | |-- node141.html
  7793.    | | |-- node142.html
  7794.    | | |-- node143.html
  7795.    | | |-- node144.html
  7796.    | | |-- node145.html
  7797.    | | |-- node146.html
  7798.    | | |-- node147.html
  7799.    | | |-- node148.html
  7800.    | | |-- node149.html
  7801.    | | |-- node15.html
  7802.    | | |-- node150.html
  7803.    | | |-- node151.html
  7804.    | | |-- node152.html
  7805.    | | |-- node153.html
  7806.    | | |-- node154.html
  7807.    | | |-- node155.html
  7808.    | | |-- node156.html
  7809.    | | |-- node157.html
  7810.    | | |-- node158.html
  7811.    | | |-- node159.html
  7812.    | | |-- node16.html
  7813.    | | |-- node160.html
  7814.    | | |-- node161.html
  7815.    | | |-- node162.html
  7816.    | | |-- node163.html
  7817.    | | |-- node164.html
  7818.    | | |-- node165.html
  7819.    | | |-- node166.html
  7820.    | | |-- node167.html
  7821.    | | |-- node168.html
  7822.    | | |-- node169.html
  7823.    | | |-- node17.html
  7824.    | | |-- node170.html
  7825.    | | |-- node171.html
  7826.    | | |-- node172.html
  7827.    | | |-- node173.html
  7828.    | | |-- node174.html
  7829.    | | |-- node175.html
  7830.    | | |-- node176.html
  7831.    | | |-- node177.html
  7832.    | | |-- node178.html
  7833.    | | |-- node179.html
  7834.    | | |-- node18.html
  7835.    | | |-- node180.html
  7836.    | | |-- node181.html
  7837.    | | |-- node182.html
  7838.    | | |-- node183.html
  7839.    | | |-- node184.html
  7840.    | | |-- node185.html
  7841.    | | |-- node186.html
  7842.    | | |-- node187.html
  7843.    | | |-- node188.html
  7844.    | | |-- node189.html
  7845.    | | |-- node19.html
  7846.    | | |-- node190.html
  7847.    | | |-- node191.html
  7848.    | | |-- node192.html
  7849.    | | |-- node193.html
  7850.    | | |-- node194.html
  7851.    | | |-- node195.html
  7852.    | | |-- node196.html
  7853.    | | |-- node197.html
  7854.    | | |-- node198.html
  7855.    | | |-- node199.html
  7856.    | | |-- node2.html
  7857.    | | |-- node20.html
  7858.    | | |-- node200.html
  7859.    | | |-- node201.html
  7860.    | | |-- node202.html
  7861.    | | |-- node203.html
  7862.    | | |-- node204.html
  7863.    | | |-- node205.html
  7864.    | | |-- node206.html
  7865.    | | |-- node207.html
  7866.    | | |-- node208.html
  7867.    | | |-- node209.html
  7868.    | | |-- node21.html
  7869.    | | |-- node210.html
  7870.    | | |-- node211.html
  7871.    | =20| |-- node212.html
  7872.    | | |-- node213.html
  7873.    | | |-- node214.html
  7874.    | | |-- node215.html
  7875.    | | |-- node216.html
  7876.    | | |-- node217.html
  7877.    | | |-- node218.html
  7878.    | | |-- node219.html
  7879.    | | |-- node22.html
  7880.    | | |-- node220.html
  7881.    | | |-- node221.html
  7882.    | | |-- node222.html
  7883.    | | |-- node223.html
  7884.    | | |-- node224.html
  7885.    | | |-- node225.html
  7886.    | | |-- node226.html
  7887.    | | |-- node227.html
  7888.    | | |-- node228.html
  7889.    | | |-- node229.html
  7890.    | | |-- node23.html
  7891.    | | |-- node230.html
  7892.    | | |-- node231.html
  7893.    | | |-- node232.html
  7894.    | | |-- node233.html
  7895.    | | |-- node234.html
  7896.    | | |-- node235.html
  7897.    | | |-- node236.html
  7898.    | | |-- node237.html
  7899.    | | |-- node238.html
  7900.    | | |-- node239.html
  7901.    | | |-- node24.html
  7902.    | | |-- node240.html
  7903.    | | |-- node241.html
  7904.    | | |-- node242.html
  7905.    | | |-- node243.html
  7906.    | | |-- node244.html
  7907.    | | |-- node245.html
  7908.    | | |-- node246.html
  7909.    | | |-- node247.html
  7910.    | | |-- node248.html
  7911.    | | |-- node249.html
  7912.    | | |-- node25.html
  7913.    | | |-- node250.html
  7914.    | | |-- node251.html
  7915.    | | |-- node252.html
  7916.    | | |-- node253.html
  7917.    | | |-- node254.html
  7918.    | | |-- node255.html
  7919.    | | |-- node256.html
  7920.    | | |-- node257.html
  7921.    | | |-- node258.html
  7922.    | | |-- node259.html
  7923.    | | |-- node26.html
  7924.    | | |-- node260.html
  7925.    | | |-- node261.html
  7926.    | | |-- node262.html
  7927.    | | |-- node263.html
  7928.    | | |-- node264.html
  7929.    | | |-- node265.html
  7930.    | | |-- node266.html
  7931.    | | |-- node267.html
  7932.    | | |-- node268.html
  7933.    | | |-- node269.html
  7934.    | | |-- node27.html
  7935.    | | |-- node270.html
  7936.    | | |-- node271.html
  7937.    | | |-- node28.html
  7938.    | | |-- node29.html
  7939.    | | |-- node3.html
  7940.    | | |-- node30.html
  7941.    | | |-- node31.html
  7942.    | | |-- node32.html
  7943.    | | |-- node33.html
  7944.    | | |-- node34.html
  7945.    | | |-- node35.html
  7946.    | | |-- node36.html
  7947.    | | |-- node37.html
  7948.    | | |-- node38.html
  7949.    | | |-- node39.html
  7950.    | | |-- node4.html
  7951.    | | |-- node40.html
  7952.    | | |-- node41.html
  7953.    | | |-- node42.html
  7954.    | | |-- node43.html
  7955.    | | |-- node44.html
  7956.    | | |-- node45.html
  7957.    | | |-- node46.html
  7958.    | | |-- node47.html
  7959.    | | |-- node48.html
  7960.    | | |-- node49.html
  7961.    | | |-- node5.html
  7962.    | | |-- node50.html
  7963.    | | |-- node51.html
  7964.    | | |-- node52.html
  7965.    | | |-- node53.html
  7966.    | | |-- node54.html
  7967.    | | |-- node55.html
  7968.    | | |-- node56.html
  7969.    | | |-- node57.html
  7970.    | | |-- node58.html
  7971.    | | |-- node59.html
  7972.    | | |-- node6.html
  7973.    | | |-- node60.html
  7974.    | | |-- node61.html
  7975.    | | |-- node62.html
  7976.    | | |-- node63.html
  7977.    | | |-- node64.html
  7978.    | | |-- node65.html
  7979.    | | |-- node66.html
  7980.    | | |-- node67.html
  7981.    | | |-- node68.html
  7982.    | | |-- node69.html
  7983.    | | |-- node7.html
  7984.    | | |-- node70.html
  7985.    | | |-- node71.html
  7986.    | | |-- node72.html
  7987.    | | |-- node73.html
  7988.    | | |-- node74.html
  7989.    | | |-- node75.html
  7990.    | | |-- node76.html
  7991.    | | |-- node77.html
  7992.    | | |-- node78.html
  7993.    | | |-- node79.html
  7994.    | | |-- node8.html
  7995.    | | |-- node80.html
  7996.    | | |-- node81.html
  7997.    | | |-- node82.html
  7998.    | | |-- node83.html
  7999.    | | |-- node84.html
  8000.    | | |-- node85.html
  8001.    | | |-- node86.html
  8002.    | | |-- node87.html
  8003.    | | |-- node88.html
  8004.    | | |-- node89.html
  8005.    | | |-- node9.html
  8006.    | | |-- node90.html
  8007.    | | |-- node91.html
  8008.    | | |-- node92.html
  8009.    | | |-- node93.html
  8010.    | | |-- node94.html
  8011.    | | |-- node95.html
  8012.    | | |-- node96.html
  8013.    | | |-- node97.html
  8014.    | | |-- node98.html
  8015.    | | `-- node99.html
  8016.    | `-- icones
  8017.    | |-- TRANS.TBL
  8018.    | |-- bdlinux.gif
  8019.    | |-- contg.gif
  8020.    | |-- cross_ref_motif.gif
  8021.    | |-- foot_motif.gif
  8022.    | |-- indexg.gif
  8023.    | |-- leftg.gif
  8024.    | |-- point-rg.gif
  8025.    | |-- previgr.gif
  8026.    | |-- rightg.gif
  8027.    | |-- rouge.gif
  8028.    | |-- square.gif
  8029.    | |-- topg.gif
  8030.    | |-- up_motgr.gif
  8031.    | `-- upg.gif
  8032.    |-- FAQ -> docs/misc/RedHat-FAQ.txt
  8033.    |-- INSTALL
  8034.    | |-- TRANS.TBL
  8035.    | |-- autoboot
  8036.    | | |-- TRANS.TBL
  8037.    | | |-- autoboot.bat
  8038.    | | |-- initrd.img
  8039.    | | |-- loadlin.exe
  8040.    | | `-- vmlinuz
  8041.    | |-- autoboot.bat
  8042.    | |-- choix.exe
  8043.    | |-- flop1440.bat
  8044.    | |-- images
  8045.    | | |-- TRANS.TBL
  8046.    | | |-- generic
  8047.    | | | |-- TRANS.TBL
  8048.    | | | |-- boot.img
  8049.    | | | `-- supp.img
  8050.    | | |-- lisezmoi.txt
  8051.    | | `-- scsi
  8052.    | | |-- TRANS.TBL
  8053.    | | |-- aha1540
  8054.    | | | |-- TRANS.TBL
  8055.    | | | |-- aha1540.img
  8056.    | | | `-- config
  8057.    | | |-- aha1740
  8058.    | | | |-- TRANS.TBL
  8059.    | | | |-- aha1740.img
  8060.    | | | `-- config
  8061.    | | |-- aic7xxx
  8062.    | | | |-- TRANS.TBL
  8063.    | | | |-- aic7xxx.img
  8064.    | | | `-- config
  8065.    | | |-- buslogic
  8066.    | | | |-- TRANS.TBL
  8067.    | | | |-- buslogic.img
  8068.    | | | `-- config
  8069.    | | |-- eata_dma
  8070.    | | | |-- TRANS.TBL
  8071.    | | | |-- config
  8072.    | | | `-- eata_dma.img
  8073.    | | |-- lisezmoi.txt
  8074.    | | |-- supp.img
  8075.    | | | |-- TRANS.TBL
  8076.    | | | |-- readme
  8077.    | | | `-- supp.img
  8078.    | | `-- ultrstor
  8079.    | | |-- TRANS.TBL
  8080.    | | |-- config
  8081.    | | `-- ultrstor.img
  8082.    | |-- install.bat
  8083.    | |-- man-rh41.txt
  8084.    | |-- rawrite.exe
  8085.    | `-- voir.com
  8086.    |-- README
  8087.    |-- RPM-PGP-KEY
  8088.    |-- RedHat
  8089.    | |-- RPMS
  8090.    | | |-- ElectricFence-2.0.5-4.i386.rpm
  8091.    | | |-- ImageMagick-3.7-5.i386.rpm
  8092.    | | |-- ImageMagick-devel-3.7-5.i386.rpm
  8093.    | | |-- MAKEDEV-2.2-9.i386.rpm
  8094.    | | |-- NetKit-B-0.08-13.i386.rpm
  8095.    | | |-- SysVinit-2.64-7.i386.rpm
  8096.    | | |-- TRANS.TBL
  8097.    | | |-- TheNextLevel-1.0-2.i386.rpm
  8098.    | | |-- X11R6-contrib-3.2-1.i386.rpm
  8099.    | | |-- XFree86-100dpi-fonts-3.2-4.i386.rpm
  8100.    | | |-- XFree86-3.2-4.i386.rpm
  8101.    | | |-- XFree86-75dpi-fonts-3.2-4.i386.rpm
  8102.    | | |-- XFree86-8514-3.2-4.i386.rpm
  8103.    | | |-- XFree86-AGX-3.2-4.i386.rpm
  8104.    | | |-- XFree86-I128-3.2-4.i386.rpm
  8105.    | | |-- XFree86-Mach32-3.2-4.i386.rpm
  8106.    | | |-- XFree86-Mach64-3.2-4.i386.rpm
  8107.    | | |-- XFree86-Mach8-3.2-4.i386.rpm
  8108.    | | |-- XFree86-Mono-3.2-4.i386.rpm
  8109.    | | |-- XFree86-P9000-3.2-4.i386.rpm
  8110.    | | |-- XFree86-S3-3.2-4.i386.rpm
  8111.    | | |-- XFree86-S3V-3.2-4.i386.rpm
  8112.    | | |-- XFree86-SVGA-3.2-4.i386.rpm
  8113.    | | |-- XFree86-VGA16-3.2-4.i386.rpm
  8114.    | | |-- XFree86-W32-3.2-4.i386.rpm
  8115.    | | |-- XFree86-XF86Setup-3.2-4.i386.rpm
  8116.    | | |-- XFree86-devel-3.2-4.i386.rpm
  8117.    | | |-- XFree86-libs-3.2-4.i386.rpm
  8118.    | | |-- Xaw3d-1.3-6.i386.rpm
  8119.    | | |-- Xaw3d-devel-1.3-6.i386.rpm
  8120.    | | |-- Xconfigurator-2.6-5.i386.rpm
  8121.    | | |-- acm-4.7-5.i386.rpm
  8122.    | | |-- adduser-1.2-1.i386.rpm
  8123.    | | |-- adjtimex-1.2-4.i386.rpm
  8124.    | | |-- amd-920824upl102-6.i386.rpm
  8125.    | | |-- anonftp-2.3-2.i386.rpm
  8126.    | | |-- aout-libs-1.4-6.i386.rpm
  8127.    | | |-- apache-1.1.1-8.i386.rpm
  8128.    | | |-- arena-0.98.beta3-3.i386.rpm
  8129.    | | |-- ash-0.2-7.i386.rpm
  8130.    | | |-- at-2.9b-2.i386.rpm
  8131.    | | |-- aumix-0.2-4.i386.rpm
  8132.    | | |-- autoconf-2.12-1.i386.rpm
  8133.    | | |-- bash-1.14.7-1.i386.rpm
  8134.    | | |-- basic-1.20-7.i386.rpm
  8135.    | | |-- bc-1.03-6.i386.rpm
  8136.    | | |-- bdflush-1.5-5.i386.rpm
  8137.    | | |-- bin86-0.3-3.i386.rpm
  8138.    | | |-- bind-4.9.5-2.i386.rpm
  8139.    | | |-- bind-utils-4.9.5-2.i386.rpm
  8140.    | | |-- binutils-2.7.0.2-4.i386.rpm
  8141.    | | |-- bison-1.25-1.i386.rpm
  8142.    | | |-- blt-1.9-5.i386.rpm
  8143.    | | |-- blt-devel-1.9-5.i386.rpm
  8144.    | | |-- bm2font-3.0-6.i386.rpm
  8145.    | | |-- bootp-2.4.3-2.i386.rpm
  8146.    | | |-- bootpc-050-2.i386.rpm
  8147.    | | |-- bsd-games-1.3-6.i386.rpm
  8148.    | | |-- byacc-1.9-4.i386.rpm
  8149.    | | |-- caching-nameserver-1.0-1.i386.rpm
  8150.    | | |-- cdecl-2.5-3.i386.rpm
  8151.    | | |-- cdp-0.33-6.i386.rpm
  8152.    | | |-- christminster-3-2.i386.rpm
  8153.    | | |-- cmu-snmp-3.2-3.i386.rpm
  8154.    | | |-- cmu-snmp-devel-3.2-3.i386.rpm
  8155.    | | |-- cmu-snmp-utils-3.2-3.i386.rpm
  8156.    | | |-- colour-yahtzee-1.0-3.i386.rpm
  8157.    | | |-- control-panel-2.6-1.i386.rpm
  8158.    | | |-- cpio-2.4.2-3.i386.rpm
  8159.    | | |-- cproto-4.4-4.i386.rpm
  8160.    | | |-- cracklib-2.5-1.i386.rpm
  8161.    | | |-- cracklib-dicts-2.5-1.i386.rpm
  8162.    | | |-- crontabs-1.5-1.i386.rpm
  8163.    | | |-- csh-5.2.6-5.i386.rpm
  8164.    | | |-- cvs-1.8.1-1.i386.rpm
  8165.    | | |-- cxhextris-1.0-5.i386.rpm
  8166.    | | |-- db-1.85-10.i386.rpm
  8167.    | | |-- db-devel-1.85-10.i386.rpm
  8168.    | | |-- dev-2.4-1.i386.rpm
  8169.    | | |-- dialog-0.6-7.i386.rpm
  8170.    | | |-- diffstat-1.25-1.i386.rpm
  8171.    | | |-- diffutils-2.7-5.i386.rpm
  8172.    | | |-- dip-3.3.7o-8.i386.rpm
  8173.    | | |-- doom-1.8-7.i386.rpm
  8174.    | | |-- dosemu-0.64.1-1.i386.rpm
  8175.    | | |-- dump-0.3-5.i386.rpm
  8176.    | | |-- e2fsprogs-1.04-8.i386.rpm
  8177.    | | |-- e2fsprogs-devel-1.04-8.i386.rpm
  8178.    | | |-- ed-0.2-5.i386.rpm
  8179.    | | |-- efax-0.8a-1.i386.rpm
  8180.    | | |-- eject-1.4-3.i386.rpm
  8181.    | | |-- elm-2.4.25-7.i386.rpm
  8182.    | | |-- emacs-19.34-3.i386.rpm
  8183.    | | |-- emacs-X11-19.34-3.i386.rpm
  8184.    | | |-- emacs-el-19.34-3.i386.rpm
  8185.    | | |-- emacs-nox-19.34-3.i386.rpm
  8186.    | | |-- etcskel-1.1-1.i386.rpm
  8187.    | | |-- exmh-1.6.9-2.i386.rpm
  8188.    | | |-- expect-5.21-2.i386.rpm
  8189.    | | |-- ext2ed-0.1-8.i386.rpm
  8190.    | | |-- f2c-19960205-6.i386.rpm
  8191.    | | |-- f2c-libs-19960205-6.i386.rpm
  8192.    | | |-- faces-1.6.1-6.i386.rpm
  8193.    | | |-- faces-devel-1.6.1-6.i386.rpm
  8194.    | | |-- faces-xface-1.6.1-6.i386.rpm
  8195.    | | |-- faq-4.0-1.i386.rpm
  8196.    | | |-- fetchmail-2.2-2.i386.rpm
  8197.    | | |-- file-3.20-3.i386.rpm
  8198.    | | |-- filesystem-1.2-1.i386.rpm
  8199.    | | |-- fileutils-3.13-3.i386.rpm
  8200.    | | |-- findutils-4.1-9.i386.rpm
  8201.    | | |-- flex-2.5.3-3.i386.rpm
  8202.    | | |-- flying-6.20-3.i386.rpm
  8203.    | | |-- fort77-1.11-1.i386.rpm
  8204.    | | |-- fortune-mod-1.0-3.i386.rpm
  8205.    | | |-- fstool-2.5-1.i386.rpm
  8206.    | | |-- fvwm-1.24r-10.i386.rpm
  8207.    | | |-- fvwm95-2.0.42a-6.i386.rpm
  8208.    | | |-- fvwm95-icons-2.0.42a-6.i386.rpm
  8209.    | | |-- fwhois-1.00-5.i386.rpm
  8210.    | | |-- gawk-3.0.0-5.i386.rpm
  8211.    | | |-- gcal-1.00-1.i386.rpm
  8212.    | | |-- gcc-2.7.2.1-2.i386.rpm
  8213.    | | |-- gcc-c++-2.7.2.1-2.i386.rpm
  8214.    | | |-- gcc-objc-2.7.2.1-2.i386.rpm
  8215.    | | |-- gdb-4.16-5.i386.rpm
  8216.    | | |-- gdbm-1.7.3-8.i386.rpm
  8217.    | | |-- gdbm-devel-1.7.3-8.i386.rpm
  8218.    | | |-- gencat-022591-4.i386.rpm
  8219.    | | |-- gettext-0.10-5.i386.rpm
  8220.    | | |-- getty_ps-2.0.7h-3.i386.rpm
  8221.    | | |-- ghostscript-3.33-4.i386.rpm
  8222.    | | |-- ghostscript-fonts-4.0-2.i386.rpm
  8223.    | | |-- ghostview-1.5-6.i386.rpm
  8224.    | | |-- giftrans-1.11.1-4.i386.rpm
  8225.    | | |-- git-4.3.11-4.i386.rpm
  8226.    | | |-- glint-2.1.5-1.i386.rpm
  8227.    | | |-- gn-2.24-2.i386.rpm
  8228.    | | |-- gnuchess-4.0.pl77-1.i386.rpm
  8229.    | | |-- gnuplot-3.5-6.i386.rpm
  8230.    | | |-- gpm-1.10-8.i386.rpm
  8231.    | | |-- gpm-devel-1.10-8.i386.rpm
  8232.    | | |-- grep-2.0-5.i386.rpm
  8233.    | | |-- groff-1.10-7.i386.rpm
  8234.    | | |-- groff-gxditview-1.10-7.i386.rpm
  8235.    | | |-- gzip-1.2.4-6.i386.rpm
  8236.    | | |-- hdparm-3.1-2.i386.rpm
  8237.    | | |-- helptool-2.2-1.i386.rpm
  8238.    | | |-- howto-4.1-1.i386.rpm
  8239.    | | |-- howto-dvi-4.1-1.i386.rpm
  8240.    | | |-- howto-html-4.1-1.i386.rpm
  8241.    | | |-- howto-ps-4.1-1.i386.rpm
  8242.    | | |-- howto-sgml-4.1-1.i386.rpm
  8243.    | | |-- howto-translations-4.1-1.i386.rpm
  8244.    | | |-- iBCS-2.0-4.i386.rpm
  8245.    | | |-- ical-2.0p2-9.i386.rpm
  8246.    | | |-- imap-4.1.BETA-2.i386.rpm
  8247.    | | |-- indent-1.9.1-5.i386.rpm
  8248.    | | |-- indexhtml-4.0-1.i386.rpm
  8249.    | | |-- inews-1.4unoff4-4.i386.rpm
  8250.    | | |-- info-3.7-5.i386.rpm
  8251.    | | |-- initscripts-2.81-1.i386.rpm
  8252.    | | |-- inn-1.4unoff4-4.i386.rpm
  8253.    | | |-- intimed-1.10-3.i386.rpm
  8254.    | | |-- ipfwadm-2.3.0-2.i386.rpm
  8255.    | | |-- ipxutils-1.0-1.i386.rpm
  8256.    | | |-- ircii-2.8.2-7.i386.rpm
  8257.    | | |-- ircii-help-2.8.2-7.i386.rpm
  8258.    | | |-- ispell-3.1.20-3.i386.rpm
  8259.    | | |-- jdk-1.0.2.2-2.i386.rpm
  8260.    | | |-- jed-0.97.14-3.i386.rpm
  8261.    | | |-- jed-xjed-0.97.14-3.i386.rpm
  8262.    | | |-- joe-2.8-7.i386.rpm
  8263.    | | |-- kbd-0.91-9.i386.rpm
  8264.    | | |-- kbdconfig-1.3-1.i386.rpm
  8265.    | | |-- kernel-2.0.27-5.i386.rpm
  8266.    | | |-- kernel-headers-2.0.27-5.i386.rpm
  8267.    | | |-- kernel-modules-2.0.27-5.i386.rpm
  8268.    | | |-- kernel-source-2.0.27-5.i386.rpm
  8269.    | | |-- kernelcfg-0.3-3.i386.rpm
  8270.    | | |-- koules-1.2-2.i386.rpm
  8271.    | | |-- koules-sound-1.2-2.i386.rpm
  8272.    | | |-- kterm-6.1.0-6.i386.rpm
  8273.    | | |-- ld.so-1.7.14-4.i386.rpm
  8274.    | | |-- ldp-4.0-2.i386.rpm
  8275.    | | |-- less-321-3.i386.rpm
  8276.    | | |-- lha-1.00-4.i386.rpm
  8277.    | | |-- libc-5.3.12-17.i386.rpm
  8278.    | | |-- libc-debug-5.3.12-17.i386.rpm
  8279.    | | |-- libc-devel-5.3.12-17.i386.rpm
  8280.    | | |-- libc-profile-5.3.12-17.i386.rpm
  8281.    | | |-- libc-static-5.3.12-17.i386.rpm
  8282.    | | |-- libelf-0.5.2-5.i386.rpm
  8283.    | | |-- libg++-2.7.1.4-4.i386.rpm
  8284.    | | |-- libg++-devel-2.7.1.4-4.i386.rpm
  8285.    | | |-- libgr-2.0.9-6.i386.rpm
  8286.    | | |-- libgr-devel-2.0.9-6.i386.rpm
  8287.    | | |-- libgr-progs-2.0.9-6.i386.rpm
  8288.    | | |-- libpng-0.89c-1.i386.rpm
  8289.    | | |-- libpng-devel-0.89c-1.i386.rpm
  8290.    | | |-- libtermcap-2.0.8-4.i386.rpm
  8291.    | | |-- libtermcap-devel-2.0.8-4.i386.rpm
  8292.    | | |-- lilo-0.19-1.i386.rpm
  8293.    | | |-- linuxdoc-sgml-1.5-6.i386.rpm
  8294.    | | |-- linuxthreads-0.5-1.i386.rpm
  8295.    | | |-- linuxthreads-devel-0.5-1.i386.rpm
  8296.    | | |-- locale-5.3.12-17.i386.rpm
  8297.    | | |-- logrotate-2.0.2-2.i386.rpm
  8298.    | | |-- losetup-2.5l-1.i386.rpm
  8299.    | | |-- lout-3.08-1.i386.rpm
  8300.    | | |-- lout-doc-3.08-1.i386.rpm
  8301.    | | |-- lpr-0.13-1.i386.rpm
  8302.    | | |-- lrzsz-0.12a-7.i386.rpm
  8303.    | | |-- lynx-2.6-2.i386.rpm
  8304.    | | |-- m4-1.4-6.i386.rpm
  8305.    | | |-- macutils-2.0b3-4.i386.rpm
  8306.    | | |-- mailcap-1.0-3.i386.rpm
  8307.    | | |-- mailx-5.5.kw-6.i386.rpm
  8308.    | | |-- make-3.74-8.i386.rpm
  8309.    | | |-- man-1.4h-4.i386.rpm
  8310.    | | |-- man-pages-1.12-2.i386.rpm
  8311.    | | |-- maplay-1.2-4.i386.rpm
  8312.    | | |-- mars-nwe-0.98-5.i386.rpm
  8313.    | | |-- mawk-1.2.2-5.i386.rpm
  8314.    | | |-- mb-5.0-6.i386.rpm
  8315.    | | |-- mc-3.2.11-2.i386.rpm
  8316.    | | |-- metamail-2.7-6.i386.rpm
  8317.    | | |-- mh-6.8.3-13.i386.rpm
  8318.    | | |-- mingetty-0.9.4-3.i386.rpm
  8319.    | | |-- minicom-1.75-2.i386.rpm
  8320.    | | |-- mkdosfs-ygg-0.3b-4.i386.rpm
  8321.    | | |-- mkinitrd-1.4-1.i386.rpm
  8322.    | | |-- mkisofs-1.10b2-4.i386.rpm
  8323.    | | |-- mkxauth-1.7-4.i386.rpm
  8324.    | | |-- modemtool-1.1-2.i386.rpm
  8325.    | | |-- modules-2.0.0-5.i386.rpm
  8326.    | | |-- moonclock-1.0-6.i386.rpm
  8327.    | | |-- mount-2.5l-1.i386.rpm
  8328.    | | |-- mouseconfig-1.4-1.i386.rpm
  8329.    | | |-- mpage-2.3-1.i386.rpm
  8330.    | | |-- mt-st-0.4-2.i386.rpm
  8331.    | | |-- mtools-3.0-4.i386.rpm
  8332.    | | |-- multimedia-2.1-5.i386.rpm
  8333.    | | |-- mxp-1.0-5.i386.rpm
  8334.    | | |-- mysterious-1.0-2.i386.rpm
  8335.    | | |-- ncftp-2.3.0-4.i386.rpm
  8336.    | | |-- ncompress-4.2.4-7.i386.rpm
  8337.    | | |-- ncpfs-2.0.5-3.i386.rpm
  8338.    | | |-- ncurses-1.9.9e-4.i386.rpm
  8339.    | | |-- ncurses-devel-1.9.9e-4.i386.rpm
  8340.    | | |-- nenscript-1.13++-7.i386.rpm
  8341.    | | |-- net-tools-1.32.alpha-2.i386.rpm
  8342.    | | |-- netcfg-2.13-1.i386.rpm
  8343.    | | |-- netpbm-1mar1994-10.i386.rpm
  8344.    | | |-- newt-0.7-2.i386.rpm
  8345.    | | |-- newt-devel-0.7-2.i386.rpm
  8346.    | | |-- nfs-server-2.2beta16-5.i386.rpm
  8347.    | | |-- nfs-server-clients-2.2beta16-5.i386.rpm
  8348.    | | |-- nls-1.0-2.i386.rpm
  8349.    | | |-- open-1.3-5.i386.rpm
  8350.    | | |-- p2c-1.20-7.i386.rpm
  8351.    | | |-- p2c-devel-1.20-7.i386.rpm
  8352.    | | |-- pam-0.54-4.i386.rpm
  8353.    | | |-- pamconfig-0.50-5.i386.rpm
  8354.    | | |-- paradise-2.3p19-5.i386.rpm
  8355.    | | |-- passwd-0.50-2.i386.rpm
  8356.    | | |-- patch-2.1-4.i386.rpm
  8357.    | | |-- pcmcia-cs-2.8.23-5.i386.rpm
  8358.    | | |-- pdksh-5.2.8-1.i386.rpm
  8359.    | | |-- perl-5.003-6.i386.rpm
  8360.    | | |-- pidentd-2.5.1-5.i386.rpm
  8361.    | | |-- pine-3.95-2.i386.rpm
  8362.    | | |-- pinfocom-3.0-3.i386.rpm
  8363.    | | |-- playmidi-2.3-7.i386.rpm
  8364.    | | |-- playmidi-X11-2.3-7.i386.rpm
  8365.    | | |-- pmake-1.0-5.i386.rpm
  8366.    | | |-- portmap-4.0-3.i386.rpm
  8367.    | | |-- ppp-2.2.0f-2.i386.rpm
  8368.    | | |-- printtool-3.0-12.i386.rpm
  8369.    | | |-- procinfo-0.9-1.i386.rpm
  8370.    | | |-- procmail-3.10-9.i386.rpm
  8371.    | | |-- procps-1.01-11.i386.rpm
  8372.    | | |-- procps-X11-1.01-11.i386.rpm
  8373.    | | |-- psacct-6.2-1.i386.rpm
  8374.    | | |-- psmisc-11-4.i386.rpm
  8375.    | | |-- pwdb-0.53-2.i386.rpm
  8376.    | | |-- python-1.4-3.i386.rpm
  8377.    | | |-- python-devel-1.4-3.i386.rpm
  8378.    | | |-- python-docs-1.4-3.i386.rpm
  8379.    | | |-- pythonlib-1.12-1.i386.rpm
  8380.    | | |-- quota-1.55-2.i386.rpm
  8381.    | | |-- rcs-5.7-4.i386.rpm
  8382.    | | |-- rdate-0.960923-1.i386.rpm
  8383.    | | |-- rdist-1.0-5.i386.rpm
  8384.    | | |-- readline-2.0-10.i386.rpm
  8385.    | | |-- readline-devel-2.0-10.i386.rpm
  8386.    | | |-- redhat-release-4.1-1.i386.rpm
  8387.    | | |-- rootfiles-1.3-1.i386.rpm
  8388.    | | |-- rpm-2.3-1.i386.rpm
  8389.    | | |-- rpm-devel-2.3-1.i386.rpm
  8390.    | | |-- rxvt-2.19-1.i386.rpm
  8391.    | | |-- samba-1.9.16p9-6.i386.rpm
  8392.    | | |-- scottfree-1.14-2.i386.rpm
  8393.    | | |-- screen-3.7.1-3.i386.rpm
  8394.    | | |-- sed-2.05-6.i386.rpm
  8395.    | | |-- sendmail-8.8.4-3.i386.rpm
  8396.    | | |-- sendmail-cf-8.8.4-3.i386.rpm
  8397.    | | |-- sendmail-doc-8.8.4-3.i386.rpm
  8398.    | | |-- setup-1.7-1.i386.rpm
  8399.    | | |-- seyon-2.14c-7.i386.rpm
  8400.    | | |-- sh-utils-1.12-13.i386.rpm
  8401.    | | |-- shadow-utils-960530-6.i386.rpm
  8402.    | | |-- sharutils-4.2-5.i386.rpm
  8403.    | | |-- slang-0.99.37-2.i386.rpm
  8404.    | | |-- slang-devel-0.99.37-2.i386.rpm
  8405.    | | |-- sliplogin-2.1.0-3.i386.rpm
  8406.    | | |-- slrn-0.9.2.0-1.i386.rpm
  8407.    | | |-- smbfs-0.8-1.i386.rpm
  8408.    | | |-- sox-11g-5.i386.rpm
  8409.    | | |-- spice-2g6-4.i386.rpm
  8410.    | | |-- spider-1.0-4.i386.rpm
  8411.    | | |-- stat-1.5-5.i386.rpm
  8412.    | | |-- statnet-2.00-4.i386.rpm
  8413.    | | |-- statserial-1.1-7.i386.rpm
  8414.    | | |-- strace-3.1-3.i386.rpm
  8415.    | | |-- svgalib-1.2.10-2.i386.rpm
  8416.    | | |-- svgalib-devel-1.2.10-2.i386.rpm
  8417.    | | |-- swatch-2.1-4.i386.rpm
  8418.    | | |-- symlinks-1.0-5.i386.rpm
  8419.    | | |-- sysklogd-1.3-15.i386.rpm
  8420.    | | |-- taper-6.7.4-2.i386.rpm
  8421.    | | |-- tar-1.11.8-9.i386.rpm
  8422.    | | |-- tcl-7.6-2.i386.rpm
  8423.    | | |-- tclx-7.6.0b1-2.i386.rpm
  8424.    | | |-- tcp_wrappers-7.4-3.i386.rpm
  8425.    | | |-- tcpdump-3.0.2-5.i386.rpm
  8426.    | | |-- tcsh-6.06-9.i386.rpm
  8427.    | | |-- termcap-9.12.6-5.i386.rpm
  8428.    | | |-- tetex-0.4-7.i386.rpm
  8429.    | | |-- tetex-afm-0.4-7.i386.rpm
  8430.    | | |-- tetex-dvilj-0.4-7.i386.rpm
  8431.    | | |-- tetex-dvips-0.4-7.i386.rpm
  8432.    | | |-- tetex-latex-0.4-7.i386.rpm
  8433.    | | |-- tetex-xdvi-0.4-7.i386.rpm
  8434.    | | |-- texinfo-3.7-5.i386.rpm
  8435.    | | |-- textutils-1.19-4.i386.rpm
  8436.    | | |-- time-1.7-1.i386.rpm
  8437.    | | |-- timeconfig-1.6-1.i386.rpm
  8438.    | | |-- timetool-2.2-1.i386.rpm
  8439.    | | |-- tin-1.22-5.i386.rpm
  8440.    | | |-- tix-4.1.0b1-2.i386.rpm
  8441.    | | |-- tk-4.2-2.i386.rpm
  8442.    | | |-- tksysv-0.91-1.i386.rpm
  8443.    | | |-- tmpwatch-1.1-1.i386.rpm
  8444.    | | |-- traceroute-1.0.4.4bsd-2.i386.rpm
  8445.    | | |-- tracker-4.3-4.i386.rpm
  8446.    | | |-- transfig-3.1.2-c.i386.rpm
  8447.    | | |-- tree-1.0-3.i386.rpm
  8448.    | | |-- trn-3.6-8.i386.rpm
  8449.    | | |-- trojka-1.1-7.i386.rpm
  8450.    | | |-- tunelp-1.3-5.i386.rpm
  8451.    | | |-- typhoon-1.10.3-4.i386.rpm
  8452.    | | |-- umb-scheme-3.2-2.i386.rpm
  8453.    | | |-- umsdos_progs-0.9-2.i386.rpm
  8454.    | | |-- unarj-2.41a-3.i386.rpm
  8455.    | | |-- units-1.0-5.i386.rpm
  8456.    | | |-- unzip-5.12-5.i386.rpm
  8457.    | | |-- usercfg-3.2-1.i386.rpm
  8458.    | | |-- util-linux-2.5-33.i386.rpm
  8459.    | | |-- uucp-1.06.1-6.i386.rpm
  8460.    | | |-- vga_cardgames-1.3.1-6.i386.rpm
  8461.    | | |-- vga_gamespack-1.3-5.i386.rpm
  8462.    | | |-- vga_tetris-0.4-3.i386.rpm
  8463.    | | |-- vim-4.2-8.i386.rpm
  8464.    | | |-- vim-X11-4.2-8.i386.rpm
  8465.    | | |-- vixie-cron-3.0.1-12.i386.rpm
  8466.    | | |-- vlock-1.0-4.i386.rpm
  8467.    | | |-- which-1.0-5.i386.rpm
  8468.    | | |-- words-2-3.i386.rpm
  8469.    | | |-- wu-ftpd-2.4.2b11-11.i386.rpm
  8470.    | | |-- x3270-3.1.0.7-4.i386.rpm
  8471.    | | |-- xanim-27063-2.i386.rpm
  8472.    | | |-- xbill-1.1-4.i386.rpm
  8473.    |=20 | |-- xbl-1.0f-5.i386.rpm
  8474.    | | |-- xboard-3.2.pl0-6.i386.rpm
  8475.    | | |-- xboing-2.3-4.i386.rpm
  8476.    | | |-- xchomp-1.0-6.i386.rpm
  8477.    | | |-- xdaliclock-2.07-2.i386.rpm
  8478.    | | |-- xdemineur-1.1-5.i386.rpm
  8479.    | | |-- xdosemu-0.64.1-1.i386.rpm
  8480.    | | |-- xearth-1.0-5.i386.rpm
  8481.    | | |-- xevil-1.5-3.i386.rpm
  8482.    | | |-- xfig-3.1.4-8.i386.rpm
  8483.    | | |-- xfishtank-2.0-6.i386.rpm
  8484.    | | |-- xfm-1.3.2-5.i386.rpm
  8485.    | | |-- xgalaga-1.6c-3.i386.rpm
  8486.    | | |-- xgammon-0.98-7.i386.rpm
  8487.    | | |-- xgopher-1.3.3-2.i386.rpm
  8488.    | | |-- xinitrc-1.1-1.i386.rpm
  8489.    | | |-- xjewel-1.6-5.i386.rpm
  8490.    | | |-- xkoules-1.2-2.i386.rpm
  8491.    | | |-- xlander-1.2-5.i386.rpm
  8492.    | | |-- xlispstat-3.44-6.i386.rpm
  8493.    | | |-- xloadimage-4.1-6.i386.rpm
  8494.    | | |-- xlockmore-3.12-1.i386.rpm
  8495.    | | |-- xmailbox-2.4-4.i386.rpm
  8496.    | | |-- xmorph-1996.07.12-2.i386.rpm
  8497.    | | |-- xmplay-1.0-7.i386.rpm
  8498.    | | |-- xosview-1.4.1-3.i386.rpm
  8499.    | | |-- xpaint-2.4.4-3.i386.rpm
  8500.    | | |-- xpat2-1.04-3.i386.rpm
  8501.    | | |-- xpilot-3.5.1-3.i386.rpm
  8502.    | | |-- xpm-3.4i-1.i386.rpm
  8503.    | | |-- xpm-devel-3.4i-1.i386.rpm
  8504.    | | |-- xpuzzles-5.3.1-2.i386.rpm
  8505.    | | |-- xrn-8.02-3.i386.rpm
  8506.    | | |-- xscreensaver-1.26-4.i386.rpm
  8507.    | | |-- xsnow-1.40-2.i386.rpm
  8508.    | | |-- xsysinfo-1.5-2.i386.rpm
  8509.    | | |-- xterm-color-1.1-3.i386.rpm
  8510.    | | |-- xtetris-2.6-5.i386.rpm
  8511.    | | |-- xtoolwait-0.3-3.i386.rpm
  8512.    | | |-- xtrojka-1.2.2-2.i386.rpm
  8513.    | | |-- xv-3.10a-6.i386.rpm
  8514.    | | |-- xview-3.2p1.pl2-4.i386.rpm
  8515.    | | |-- xview-clients-3.2p1.pl2-4.i386.rpm
  8516.    | | |-- xview-devel-3.2p1.pl2-4.i386.rpm
  8517.    | | |-- xview-devel-examples-3.2p1.pl2-4.i386.rpm
  8518.    | | |-- xwpe-1.4.2-10.i386.rpm
  8519.    | | |-- xwpe-X11-1.4.2-10.i386.rpm
  8520.    | | |-- xwpick-2.20-5.i386.rpm
  8521.    | | |-- xxgdb-1.12-1.i386.rpm
  8522.    | | |-- xzip-140-4.i386.rpm
  8523.    | | |-- yp-clients-2.2-7.i386.rpm
  8524.    | | |-- yppasswd-0.8-6.i386.rpm
  8525.    | | |-- ypserv-1.0.4-3.i386.rpm
  8526.    | | |-- ytalk-3.0.2-5.i386.rpm
  8527.    | | |-- zgv-2.7-5.i386.rpm
  8528.    | | |-- zip-2.1-1.i386.rpm
  8529.    | | |-- zlib-1.0.4-1.i386.rpm
  8530.    | | |-- zlib-devel-1.0.4-1.i386.rpm
  8531.    | | |-- zoneinfo-96i-4.i386.rpm
  8532.    | | `-- zsh-3.0.1-2.i386.rpm
  8533.    | |-- SRPMS -> ../SRPMS
  8534.    | |-- TRANS.TBL
  8535.    | |-- base
  8536.    | | |-- TRANS.TBL
  8537.    | | |-- comps
  8538.    | | |-- comps.new
  8539.    | | |-- comps.orig
  8540.    | | |-- fsstnd.cgz
  8541.    | | |-- hdlist
  8542.    | | |-- rpmconvert
  8543.    | | |-- skeleton.cgz
  8544.    | | `-- uglist
  8545.    | |-- i386
  8546.    | |-- instimage
  8547.    | | |-- TRANS.TBL
  8548.    | | |-- etc
  8549.    | | | |-- TRANS.TBL
  8550.    | | | `-- X11
  8551.    | | | |-- TRANS.TBL
  8552.    | | | `-- fvwm
  8553.    | | | |-- TRANS.TBL
  8554.    | | | `-- system.fvwmrc
  8555.    | | |-- lib
  8556.    | | | |-- TRANS.TBL
  8557.    | | | |-- ld-linux.so.1 -> ld-linux.so.1.7.14
  8558.    | | | |-- ld-linux.so.1.7.14
  8559.    | | | |-- libc.so.5 -> libc.so.5.2.18
  8560.    | | | |-- libc.so.5.2.18
  8561.    | | | |-- libcom_err.so.2 -> libcom_err.so.2.0
  8562.    | | | |-- libcom_err.so.2.0
  8563.    | | | |-- libe2p.so.2 -> libe2p.so.2.1
  8564.    | | | |-- libe2p.so.2.1
  8565.    | | | |-- libext2fs.so.2 -> libext2fs.so.2.0
  8566.    | | | |-- libext2fs.so.2.0
  8567.    | | | |-- libm.so.5 -> libm.so.5.0.5
  8568.    | | | |-- libm.so.5.0.5
  8569.    | | | |-- libtermcap.so.2 -> libtermcap.so.2.0.5
  8570.    | | | `-- libtermcap.so.2.0.5
  8571.    | | `-- usr
  8572.    | | |-- TRANS.TBL
  8573.    | | |-- bin
  8574.    | | | |-- TRANS.TBL
  8575.    | | | |-- ash
  8576.    | | | |-- badblocks
  8577.    | | | |-- bash
  8578.    | | | |-- cat -> install2
  8579.    | | | |-- chmod -> install2
  8580.    | | | |-- cp
  8581.    | | | |-- cpio
  8582.    | | | |-- df
  8583.    | | | |-- fdisk
  8584.    | | | |-- gdb
  8585.    | | | |-- grep
  8586.    | | | |-- gunzip -> gzip
  8587.    | | | |-- gzip
  8588.    | | | |-- install2
  8589.    | | | |-- ldd
  8590.    | | | |-- ln
  8591.    | | | |-- ls
  8592.    | | | |-- lsmod -> install2
  8593.    | | | |-- mkdir -> install2
  8594.    | | | |-- mke2fs
  8595.    | | | |-- mknod -> install2
  8596.    | | | |-- mount -> install2
  8597.    | | | |-- open
  8598.    | | | |-- ping
  8599.    | | | |-- ps
  8600.    | | | |-- rm -> install2
  8601.    | | | |-- route
  8602.    | | | |-- rpm
  8603.    | | | |-- runinstall2 -> install2
  8604.    | | | |-- sh -> bash
  8605.    | | | |-- strace
  8606.    | | | |-- umount -> install2
  8607.    | | | |-- vi
  8608.    | | | `-- wc
  8609.    | | `-- lib
  8610.    | | `-- TRANS.TBL
  8611.    | `-- rpmcontents.gz
  8612.    |-- SRPMS
  8613.    | |-- ElectricFence-2.0.5-4.src.rpm
  8614.    | |-- ImageMagick-3.7-5.src.rpm
  8615.    | |-- MAKEDEV-2.2-9.src.rpm
  8616.    | |-- NetKit-B-0.08-13.src.rpm
  8617.    | |-- SysVinit-2.64-7.src.rpm
  8618.    | |-- TRANS.TBL
  8619.    | |-- TheNextLevel-1.0-2.src.rpm
  8620.    | |-- X11R6-contrib-3.2-1.src.rpm
  8621.    | |-- X11R6.1-pl1-18.src.rpm
  8622.    | |-- XFree86-3.2-4.src.rpm
  8623.    | |-- Xaw3d-1.3-6.src.rpm
  8624.    | |-- Xconfigurator-2.6-5.src.rpm
  8625.    | |-- aboot-0.5-1.src.rpm
  8626.    | |-- acm-4.7-5.src.rpm
  8627.    | |-- adduser-1.2-1.src.rpm
  8628.    | |-- adjtimex-1.2-4.src.rpm
  8629.    | |-- amd-920824upl102-6.src.rpm
  8630.    | |-- anonftp-2.3-2.src.rpm
  8631.    | |-- aout-libs-1.4-6.src.rpm
  8632.    | |-- apache-1.1.1-8.src.rpm
  8633.    | |-- arena-0.98.beta3-3.src.rpm
  8634.    | |-- ash-0.2-7.src.rpm
  8635.    | |-- at-2.9b-2.src.rpm
  8636.    | |-- aumix-0.2-4.src.rpm
  8637.    | |-- autoconf-2.12-1.src.rpm
  8638.    | |-- bash-1.14.7-1.src.rpm
  8639.    | |-- bc-1.03-6.src.rpm
  8640.    | |-- bdflush-1.5-5.src.rpm
  8641.    | |-- bin86-0.3-3.src.rpm
  8642.    | |-- bind-4.9.5-2.src.rpm
  8643.    | |-- binutils-2.7.0.2-4.src.rpm
  8644.    | |-- bison-1.25-1.src.rpm
  8645.    | |-- blt-1.9-5.src.rpm
  8646.    | |-- bm2font-3.0-6.src.rpm
  8647.    | |-- bootp-2.4.3-2.src.rpm
  8648.    | |-- bootpc-050-2.src.rpm
  8649.    | |-- bsd-games-1.3-6.src.rpm
  8650.    | |-- byacc-1.9-4.src.rpm
  8651.    | |-- caching-nameserver-1.0-1.src.rpm
  8652.    | |-- cdecl-2.5-3.src.rpm
  8653.    | |-- cdp-0.33-6.src.rpm
  8654.    | |-- christminster-3-2.src.rpm
  8655.    | |-- clock-1.0-1.src.rpm
  8656.    | |-- cmu-snmp-3.2-3.src.rpm
  8657.    | |-- colour-yahtzee-1.0-3.src.rpm
  8658.    | |-- control-panel-2.6-1.src.rpm
  8659.    | |-- cpio-2.4.2-3.src.rpm
  8660.    | |-- cproto-4.4-4.src.rpm
  8661.    | |-- cracklib-2.5-1.src.rpm
  8662.    | |-- crontabs-1.5-1.src.rpm
  8663.    | |-- csh-5.2.6-5.src.rpm
  8664.    | |-- cvs-1.8.1-1.src.rpm
  8665.    | |-- cxhextris-1.0-5.src.rpm
  8666.    | |-- db-1.85-10.src.rpm
  8667.    | |-- dev-2.4-1.src.rpm
  8668.    | |-- dialog-0.6-7.src.rpm
  8669.    | |-- diffstat-1.25-1.src.rpm
  8670.    | |-- diffutils-2.7-5.src.rpm
  8671.    | |-- dip-3.3.7o-8.src.rpm
  8672.    | |-- doom-1.8-7.src.rpm
  8673.    | |-- dosemu-0.64.1-1.src.rpm
  8674.    | |-- dump-0.3-5.src.rpm
  8675.    | |-- e2fsprogs-1.04-8.src.rpm
  8676.    | |-- ed-0.2-5.src.rpm
  8677.    | |-- efax-0.8a-1.src.rpm
  8678.    | |-- eject-1.4-3.src.rpm
  8679.    | |-- elftoaout-1.0-1.src.rpm
  8680.    | |-- elm-2.4.25-7.src.rpm
  8681.    | |-- emacs-19.34-3.src.rpm
  8682.    | |-- etcskel-1.1-1.src.rpm
  8683.    | |-- exmh-1.6.9-2.src.rpm
  8684.    | |-- ext2ed-0.1-8.src.rpm
  8685.    | |-- f2c-19960205-6.src.rpm
  8686.    | |-- faces-1.6.1-6.src.rpm
  8687.    | |-- faq-4.0-1.src.rpm
  8688.    | |-- fetchmail-2.2-2.src.rpm
  8689.    | |-- file-3.20-3.src.rpm
  8690.    | |-- filesystem-1.2-1.src.rpm
  8691.    | |-- fileutils-3.13-3.src.rpm
  8692.    | |-- findutils-4.1-9.src.rpm
  8693.    | |-- flex-2.5.3-3.src.rpm
  8694.    | |-- flying-6.20-3.src.rpm
  8695.    | |-- fort77-1.11-1.src.rpm
  8696.    | |-- fortune-mod-1.0-3.src.rpm
  8697.    | |-- fstool-2.5-1.src.rpm
  8698.    | |-- fvwm-1.24r-10.src.rpm
  8699.    | |-- fvwm95-2.0.42a-6.src.rpm
  8700.    | |-- fwhois-1.00-5.src.rpm
  8701.    | |-- gawk-3.0.0-5.src.rpm
  8702.    | |-- gcal-1.00-1.src.rpm
  8703.    | |-- gcc-2.7.2.1-2.src.rpm
  8704.    | |-- gccmakedep-1.0-1.src.rpm
  8705.    | |-- gdb-4.16-5.src.rpm
  8706.    | |-- gdbm-1.7.3-8.src.rpm
  8707.    | |-- gencat-022591-4.src.rpm
  8708.    | |-- gettext-0.10-5.src.rpm
  8709.    | |-- getty_ps-2.0.7h-3.src.rpm
  8710.    | |-- ghostscript-3.33-4.src.rpm
  8711.    | |-- ghostscript-fonts-4.0-2.src.rpm
  8712.    | |-- ghostview-1.5-6.src.rpm
  8713.    | |-- giftrans-1.11.1-4.src.rpm
  8714.    | |-- git-4.3.11-4.src.rpm
  8715.    | |-- glibc-0.961212-3.src.rpm
  8716.    | |-- glint-2.1.5-1.src.rpm
  8717.    | |-- gn-2.24-2.src.rpm
  8718.    | |-- gnuchess-4.0.pl77-1.src.rpm
  8719.    | |-- gnuplot-3.5-6.src.rpm
  8720.    | |-- gpm-1.10-8.src.rpm
  8721.    | |-- grep-2.0-5.src.rpm
  8722.    | |-- groff-1.10-7.src.rpm
  8723.    | |-- gzip-1.2.4-6.src.rpm
  8724.    | |-- hdparm-3.1-2.src.rpm
  8725.    | |-- helptool-2.2-1.src.rpm
  8726.    | |-- howto-4.1-1.src.rpm
  8727.    | |-- iBCS-2.0-4.src.rpm
  8728.    | |-- ical-2.0p2-9.src.rpm
  8729.    | |-- imap-4.1.BETA-2.src.rpm
  8730.    | |-- indent-1.9.1-5.src.rpm
  8731.    | |-- indexhtml-4.0-1.src.rpm
  8732.    | |-- initscripts-2.81-1.src.rpm
  8733.    | |-- inn-1.4unoff4-4.src.rpm
  8734.    | |-- insmod-bfd-0.2-1.src.rpm
  8735.    | |-- intimed-1.10-3.src.rpm
  8736.    | |-- ipfwadm-2.3.0-2.src.rpm
  8737.    | |-- ircii-2.8.2-7.src.rpm
  8738.    | |-- ispell-3.1.20-3.src.rpm
  8739.    | |-- jdk-1.0.2.2-2.src.rpm
  8740.    | |-- jed-0.97.14-3.src.rpm
  8741.    | |-- joe-2.8-7.src.rpm
  8742.    | |-- kbd-0.91-9.src.rpm
  8743.    | |-- kbdconfig-1.3-1.src.rpm
  8744.    | |-- kernel-2.0.27-5.src.rpm
  8745.    | |-- kernel-sparc-2.0.27-6.src.rpm
  8746.    | |-- kernelcfg-0.3-3.src.rpm
  8747.    | |-- koules-1.2-2.src.rpm
  8748.    | |-- kterm-6.1.0-6.src.rpm
  8749.    | |-- ld.so-1.7.14-4.src.rpm
  8750.    | |-- ld.so-sparc-1.8.3-2.src.rpm
  8751.    | |-- ldconfig-1.8.1-3.src.rpm
  8752.    | |-- ldp-4.0-2.src.rpm
  8753.    | |-- less-321-3.src.rpm
  8754.    | |-- lha-1.00-4.src.rpm
  8755.    | |-- libc-5.3.12-17.src.rpm
  8756.    | |-- libelf-0.5.2-5.src.rpm
  8757.    | |-- libg++-2.7.1.4-4.src.rpm
  8758.    | |-- libgr-2.0.9-6.src.rpm
  8759.    | |-- libpng-0.89c-1.src.rpm
  8760.    | |-- libtermcap-2.0.8-4.src.rpm
  8761.    | |-- lilo-0.19-1.src.rpm
  8762.    | |-- linuxdoc-sgml-1.5-6.src.rpm
  8763.    | |-- linuxthreads-0.5-1.src.rpm
  8764.    | |-- logrotate-2.0.2-2.src.rpm
  8765.    | |-- lout-3.08-1.src.rpm
  8766.    | |-- lpr-0.13-1.src.rpm
  8767.    | |-- lrzsz-0.12a-7.src.rpm
  8768.    | |-- lynx-2.6-2.src.rpm
  8769.    | |-- m4-1.4-6.src.rpm
  8770.    | |-- macutils-2.0b3-4.src.rpm
  8771.    | |-- mailcap-1.0-3.src.rpm
  8772.    | |-- mailx-5.5.kw-6.src.rpm
  8773.    | |-- make-3.74-8.src.rpm
  8774.    | |-- man-1.4h-4.src.rpm
  8775.    | |-- man-pages-1.12-2.src.rpm
  8776.    | |-- maplay-1.2-4.src.rpm
  8777.    | |-- mars-nwe-0.98-5.src.rpm
  8778.    | |-- mawk-1.2.2-5.src.rpm
  8779.    | |-- mb-5.0-6.src.rpm
  8780.    | |-- mc-3.2.11-2.src.rpm
  8781.    | |-- metamail-2.7-6.src.rpm
  8782.    | |-- mh-6.8.3-13.src.rpm
  8783.    | |-- mingetty-0.9.4-3.src.rpm
  8784.    | |-- minicom-1.75-2.src.rpm
  8785.    | |-- minlabel-1.2-1.src.rpm
  8786.    | |-- mkbb-1.0-4.src.rpm
  8787.    | |-- mkdosfs-ygg-0.3b-4.src.rpm
  8788.    | |-- mkinitrd-1.4-1.src.rpm
  8789.    | |-- mkisofs-1.10b2-4.src.rpm
  8790.    | |-- mkxauth-1.7-4.src.rpm
  8791.    | |-- modemtool-1.1-2.src.rpm
  8792.    | |-- modules-2.0.0-5.src.rpm
  8793.    | |-- moonclock-1.0-6.src.rpm
  8794.    | |-- mount-2.5l-1.src.rpm
  8795.    | |-- mouseconfig-1.4-1.src.rpm
  8796.    | |-- mpage-2.3-1.src.rpm
  8797.    | |-- mt-st-0.4-2.src.rpm
  8798.    | |-- mtools-3.0-4.src.rpm
  8799.    | |-- multimedia-2.1-5.src.rpm
  8800.    | |-- mxp-1.0-5.src.rpm
  8801.    | |-- mysterious-1.0-2.src.rpm
  8802.    | |-- ncftp-2.3.0-4.src.rpm
  8803.    | |-- ncompress-4.2.4-7.src.rpm
  8804.    | |-- ncpfs-2.0.5-3.src.rpm
  8805.    | |-- ncurses-1.9.9e-4.src.rpm
  8806.    | |-- nenscript-1.13++-7.src.rpm
  8807.    | |-- net-tools-1.32.alpha-2.src.rpm
  8808.    | |-- netcfg-2.13-1.src.rpm
  8809.    | |-- netpbm-1mar1994-10.src.rpm
  8810.    | |-- newt-0.7-2.src.rpm
  8811.    | |-- nfs-server-2.2beta16-5.src.rpm
  8812.    | |-- nls-1.0-2.src.rpm
  8813.    | |-- open-1.3-5.src.rpm
  8814.    | |-- p2c-1.20-7.src.rpm
  8815.    | |-- pam-0.54-4.src.rpm
  8816.    | |-- pamconfig-0.50-5.src.rpm
  8817.    | |-- paradise-2.3p19-5.src.rpm
  8818.    | |-- passwd-0.50-2.src.rpm
  8819.    | |-- patch-2.1-4.src.rpm
  8820.    | |-- pdksh-5.2.8-1.src.rpm
  8821.    | |-- perl-5.003-6.src.rpm
  8822.    | |-- pidentd-2.5.1-5.src.rpm
  8823.    | |-- pine-3.95-2.src.rpm
  8824.    | |-- pinfocom-3.0-3.src.rpm
  8825.    | |-- playmidi-2.3-7.src.rpm
  8826.    | |-- pmake-1.0-5.src.rpm
  8827.    | |-- portmap-4.0-3.src.rpm
  8828.    | |-- ppp-2.2.0f-2.src.rpm
  8829.    | |-- printtool-3.0-12.src.rpm
  8830.    | |-- procinfo-0.9-1.src.rpm
  8831.    | |-- procmail-3.10-9.src.rpm
  8832.    | |-- procps-1.01-11.src.rpm
  8833.    | |-- psacct-6.2-1.src.rpm
  8834.    | |-- psmisc-11-4.src.rpm
  8835.    | |-- pwdb-0.53-2.src.rpm
  8836.    | |-- python-1.4-3.src.rpm
  8837.    | |-- pythonlib-1.12-1.src.rpm
  8838.    | |-- quickstrip-1.1-2.src.rpm
  8839.    | |-- quota-1.55-2.src.rpm
  8840.    | |-- rcs-5.7-4.src.rpm
  8841.    | |-- rdate-0.960923-1.src.rpm
  8842.    | |-- rdist-1.0-5.src.rpm
  8843.    | |-- readline-2.0-10.src.rpm
  8844.    | |-- redhat-release-4.1-1.src.rpm
  8845.    | |-- rootfiles-1.3-1.src.rpm
  8846.    | |-- rpm-2.3-1.src.rpm
  8847.    | |-- rxvt-2.19-1.src.rpm
  8848.    | |-- samba-1.9.16p9-6.src.rpm
  8849.    | |-- scottfree-1.14-2.src.rpm
  8850.    | |-- screen-3.7.1-3.src.rpm
  8851.    | |-- sed-2.05-6.src.rpm
  8852.    | |-- sendmail-8.8.4-3.src.rpm
  8853.    | |-- setup-1.7-1.src.rpm
  8854.    | |-- seyon-2.14c-7.src.rpm
  8855.    | |-- sh-utils-1.12-13.src.rpm
  8856.    | |-- shadow-utils-960530-6.src.rpm
  8857.    | |-- sharutils-4.2-5.src.rpm
  8858.    | |-- silo-0.6.7-1.src.rpm
  8859.    | |-- slang-0.99.37-2.src.rpm
  8860.    | |-- sliplogin-2.1.0-3.src.rpm
  8861.    | |-- slrn-0.9.2.0-1.src.rpm
  8862.    | |-- smbfs-0.8-1.src.rpm
  8863.    | |-- sox-11g-5.src.rpm
  8864.    | |-- spice-2g6-4.src.rpm
  8865.    | |-- spider-1.0-4.src.rpm
  8866.    | |-- stat-1.5-5.src.rpm
  8867.    | |-- statnet-2.00-4.src.rpm
  8868.    | |-- statserial-1.1-7.src.rpm
  8869.    | |-- strace-3.1-3.src.rpm
  8870.    | |-- svgalib-1.2.10-2.src.rpm
  8871.    | |-- swatch-2.1-4.src.rpm
  8872.    | |-- symlinks-1.0-5.src.rpm
  8873.    | |-- sysklogd-1.3-15.src.rpm
  8874.    | |-- taper-6.7.4-2.src.rpm
  8875.    | |-- tar-1.11.8-9.src.rpm
  8876.    | |-- tcltk-7.6_4.2-2.src.rpm
  8877.    | |-- tcp_wrappers-7.4-3.src.rpm
  8878.    | |-- tcpdump-3.0.2-5.src.rpm
  8879.    | |-- tcsh-6.06-9.src.rpm
  8880.    | |-- termcap-9.12.6-5.src.rpm
  8881.    | |-- termfiles_sparc-1.0-4.src.rpm
  8882.    | |-- tetex-0.4-7.src.rpm
  8883.    | |-- texinfo-3.7-5.src.rpm
  8884.    | |-- textutils-1.19-4.src.rpm
  8885.    | |-- time-1.7-1.src.rpm
  8886.    | |-- timeconfig-1.6-1.src.rpm
  8887.    | |-- timetool-2.2-1.src.rpm
  8888.    | |-- tin-1.22-5.src.rpm
  8889.    | |-- tksysv-0.91-1.src.rpm
  8890.    | |-- tmpwatch-1.1-1.src.rpm
  8891.    | |-- traceroute-1.0.4.4bsd-2.src.rpm
  8892.    | |-- tracker-4.3-4.src.rpm
  8893.    | |-- transfig-3.1.2-c.src.rpm
  8894.    | |-- tree-1.0-3.src.rpm
  8895.    | |-- trn-3.6-8.src.rpm
  8896.    | |-- trojka-1.1-7.src.rpm
  8897.    | |-- tunelp-1.3-5.src.rpm
  8898.    | |-- typhoon-1.10.3-4.src.rpm
  8899.    | |-- umb-scheme-3.2-2.src.rpm
  8900.    | |-- umsdos_progs-0.9-2.src.rpm
  8901.    | |-- unarj-2.41a-3.src.rpm
  8902.    | |-- units-1.0-5.src.rpm
  8903.    | |-- unzip-5.12-5.src.rpm
  8904.    | |-- usercfg-3.2-1.src.rpm
  8905.    | |-- util-linux-2.5-33.src.rpm
  8906.    | |-- uucp-1.06.1-6.src.rpm
  8907.    | |-- vga_cardgames-1.3.1-6.src.rpm
  8908.    | |-- vga_gamespack-1.3-5.src.rpm
  8909.    | |-- vga_tetris-0.4-3.src.rpm
  8910.    | |-- vim-4.2-8.src.rpm
  8911.    | |-- vixie-cron-3.0.1-12.src.rpm
  8912.    | |-- vlock-1.0-4.src.rpm
  8913.    | |-- which-1.0-5.src.rpm
  8914.    | |-- words-2-3.src.rpm
  8915.    | |-- wu-ftpd-2.4.2b11-11.src.rpm
  8916.    | |-- x3270-3.1.0.7-4.src.rpm
  8917.    | |-- xanim-27063-2.src.rpm
  8918.    | |-- xbill-1.1-4.src.rpm
  8919.    | |-- xbl-1.0f-5.src.rpm
  8920.    | |-- xboard-3.2.pl0-6.src.rpm
  8921.    | |-- xboing-2.3-4.src.rpm
  8922.    | |-- xchomp-1.0-6.src.rpm
  8923.    | |-- xdaliclock-2.07-2.src.rpm
  8924.    | |-- xdemineur-1.1-5.src.rpm
  8925.    | |-- xearth-1.0-5.src.rpm
  8926.    | |-- xevil-1.5-3.src.rpm
  8927.    | |-- xfig-3.1.4-8.src.rpm
  8928.    | |-- xfishtank-2.0-6.src.rpm
  8929.    | |-- xfm-1.3.2-5.src.rpm
  8930.    | |-- xgalaga-1.6c-3.src.rpm
  8931.    | |-- xgammon-0.98-7.src.rpm
  8932.    | |-- xgopher-1.3.3-2.src.rpm
  8933.    | |-- xinitrc-1.1-1.src.rpm
  8934.    | |-- xjewel-1.6-5.src.rpm
  8935.    | |-- xlander-1.2-5.src.rpm
  8936.    | |-- xlispstat-3.44-6.src.rpm
  8937.    | |-- xloadimage-4.1-6.src.rpm
  8938.    | |-- xlockmore-3.12-1.src.rpm
  8939.    | |-- xmailbox-2.4-4.src.rpm
  8940.    | |-- xmorph-1996.07.12-2.src.rpm
  8941.    | |-- xmplay-1.0-7.src.rpm
  8942.    | |-- xosview-1.4.1-3.src.rpm
  8943.    | |-- xpaint-2.4.4-3.src.rpm
  8944.    | |-- xpat2-1.04-3.src.rpm
  8945.    | |-- xpilot-3.5.1-3.src.rpm
  8946.    | |-- xpm-3.4i-1.src.rpm
  8947.    | |-- xpuzzles-5.3.1-2.src.rpm
  8948.    | |-- xrn-8.02-3.src.rpm
  8949.    | |-- xscreensaver-1.26-4.src.rpm
  8950.    | |-- xsnow-1.40-2.src.rpm
  8951.    | |-- xsysinfo-1.5-2.src.rpm
  8952.    | |-- xterm-color-1.1-3.src.rpm
  8953.    | |-- xtetris-2.6-5.src.rpm
  8954.    | |-- xtoolwait-0.3-3.src.rpm
  8955.    | |-- xtrojka-1.2.2-2.src.rpm
  8956.    | |-- xv-3.10a-6.src.rpm
  8957.    | |-- xview-3.2p1.pl2-4.src.rpm
  8958.    | |-- xwpe-1.4.2-10.src.rpm
  8959.    | |-- xwpick-2.20-5.src.rpm
  8960.    | |-- xxgdb-1.12-1.src.rpm
  8961.    | |-- xzip-140-4.src.rpm
  8962.    | |-- yp-clients-2.2-7.src.rpm
  8963.    | |-- yppasswd-0.8-6.src.rpm
  8964.    | |-- ypserv-1.0.4-3.src.rpm
  8965.    | |-- ytalk-3.0.2-5.src.rpm
  8966.    | |-- zgv-2.7-5.src.rpm
  8967.    | |-- zip-2.1-1.src.rpm
  8968.    | |-- zlib-1.0.4-1.src.rpm
  8969.    | |-- zoneinfo-96i-4.src.rpm
  8970.    | `-- zsh-3.0.1-2.src.rpm
  8971.    |-- SUPPORT
  8972.    |-- TRANS.TBL
  8973.    |-- UPLOADING
  8974.    |-- VENDORS
  8975.    |-- docs
  8976.    | |-- FAQ
  8977.    | | |-- ATAPI-FAQ
  8978.    | | |-- Cryptographic-File-System
  8979.    | | |-- FAQ
  8980.    | | |-- GCC-FAQ
  8981.    | | |-- GCC-FAQ.html
  8982.    | | |-- GCC-SIG11-FAQ
  8983.    | | |-- INDEX
  8984.    | | |-- INDEX.html
  8985.    | | |-- NFS-FAQ
  8986.    | | |-- PPP-FAQ.txt
  8987.    | | |-- README
  8988.    | | |-- TRANS.TBL
  8989.    | | |-- Wine.FAQ
  8990.    | | |-- ext2fs-FAQ
  8991.    | | |-- linux-faq.README
  8992.    | | |-- linux-faq.ascii
  8993.    | | `-- linux-faq.ps
  8994.    | |-- HOWTO
  8995.    | | |-- AX25-HOWTO
  8996.    | | |-- Access-HOWTO
  8997.    | | |-- BootPrompt-HOWTO
  8998.    | | |-- Bootdisk-HOWTO
  8999.    | | |-- Busmouse-HOWTO
  9000.    | | |-- CDROM-HOWTO
  9001.    | | |-- COPYRIGHT
  9002.    | | |-- Commercial-HOWTO
  9003.    | | |-- Cyrillic-HOWTO
  9004.    | | |-- DNS-HOWTO
  9005.    | | |-- DOSEMU-HOWTO
  9006.    | | |-- Danish-HOWTO
  9007.    | | |-- Distribution-HOWTO
  9008.    | | |-- ELF-HOWTO
  9009.    | | |-- Emacspeak-HOWTO
  9010.    | | |-- Ethernet-HOWTO
  9011.    | | |-- Finnish-HOWTO
  9012.    | | |-- Firewall-HOWTO
  9013.    | | |-- Ftape-HOWTO
  9014.    | | |-- GCC-HOWTO
  9015.    | | |-- German-HOWTO
  9016.    | | |-- HAM-HOWTO
  9017.    | | |-- HOWTO-INDEX
  9018.    | | |-- Hardware-HOWTO
  9019.    | | |-- Hebrew-HOWTO
  9020.    | | |-- INDEX
  9021.    | | |-- INDEX.html
  9022.    | | |-- INFO-SHEET
  9023.    | | |-- IPX-HOWTO
  9024.    | | |-- ISP-Hookup-HOWTO
  9025.    | | |-- Installation-HOWTO
  9026.    | | |-- Italian-HOWTO
  9027.    | | |-- JE-HOWTO
  9028.    | | |-- Java-HOWTO
  9029.    | | |-- Kernel-HOWTO
  9030.    | | |-- Keyboard-HOWTO
  9031.    | | |-- Keystroke-HOWTO
  9032.    | | |-- Linux-HOWTOs.tar.gz
  9033.    | | |-- META-FAQ
  9034.    | | |-- MGR-HOWTO
  9035.    | | |-- Mail-HOWTO
  9036.    | | |-- Module-HOWTO
  9037.    | | |-- NET-2-HOWTO
  9038.    | | |-- NIS-HOWTO
  9039.    | | |-- News-HOWTO
  9040.    | | |-- PCI-HOWTO
  9041.    | | |-- PCMCIA-HOWTO
  9042.    | | |-- PPP-HOWTO
  9043.    | | |-- Polish-HOWTO
  9044.    | | |-- Portuguese-HOWTO
  9045.    | | |-- Printing-HOWTO
  9046.    | | |-- Printing-Usage-HOWTO
  9047.    | | |-- README
  9048.    | | |-- SCSI-HOWTO
  9049.    | | |-- SCSI-Programming-HOWTO
  9050.    | | |-- SMB-HOWTO
  9051.    | | |-- Serial-HOWTO
  9052.    | | |-- Shadow-Password-HOWTO
  9053.    | | |-- Sound-HOWTO
  9054.    | | |-- Sound-Playing-HOWTO
  9055.    | | |-- Spanish-HOWTO
  9056.    | | |-- TRANS.TBL
  9057.    | | |-- Term-HOWTO
  9058.    | | |-- Tips-HOWTO
  9059.    | | |-- UMSDOS-HOWTO
  9060.    | | |-- UPS-HOWTO
  9061.    | | |-- UUCP-HOWTO
  9062.    | | |-- XFree86-HOWTO
  9063.    | | |-- mini
  9064.    | | | |-- 3-Button-Mouse
  9065.    | | | |-- ADSM-Backup
  9066.    | | | |-- Assembly
  9067.    | | | |-- Backup-With-MSDOS
  9068.    | | | |-- Boca
  9069.    | | | |-- BogoMips
  9070.    | | | |-- Bridge
  9071.    | | | |-- CD-Writer
  9072.    | | | |-- Colour-ls
  9073.    | | | |-- Consoles
  9074.    | | | |-- Consoles-Many
  9075.    | | | |-- DOS2Linux
  9076.    | | | |-- Diald
  9077.    | | | |-- Dip+SLiRP+CSLIP
  9078.    | | | |-- Diskless
  9079.    | | | |-- Dynamic-IP-Hacks
  9080.    | | | |-- GUI-Development
  9081.    | | | |-- Getty-ps
  9082.    | | | |-- Graphics-Tools
  9083.    | | | |-- Gravis-UltraSound
  9084.    | | | |-- HTML-Validation
  9085.    | | | |-- HTTP+Netware
  9086.    | | | |-- INDEX
  9087.    | | | |-- INDEX.html
  9088.    | | | |-- IO-Port-Programming
  9089.    | | | |-- IP-Alias
  9090.    | | | |-- IP-Masquerade
  9091.    | | | |-- Java-WorkShop
  9092.    | | | |-- Jaz-Drive
  9093.    | | | |-- Kerneld
  9094.    | | | |-- Key-Setup
  9095.    | | | |-- Keystroke
  9096.    | | | |-- LBX
  9097.    | | | |-- LF1000
  9098.    | | | |-- LILO
  9099.    | | | |-- Large-Disk
  9100.    | | | |-- Linux+DOS+Win95+OS2
  9101.    | | | |-- Linux+OS2+DOS
  9102.    | | | |-- Linux+Win95
  9103.    | | | |-- Linux-mini-HOWTOs.tar.gz
  9104.    | | | |-- Locales
  9105.    | | | |-- Mail-Queue
  9106.    | | | |-- Man-Page
  9107.    | | | |-- Modeline
  9108.    | | | |-- Multiple-Disks-Layout
  9109.    | | | |-- Multiple-Ethernet
  9110.    | | | |-- NFS-Root
  9111.    | | | |-- Online-Support
  9112.    | | | |-- PLIP
  9113.    | | | |-- PPP-over-ISDN
  9114.    | | | |-- Print2Win
  9115.    | | | |-- Process-Accounting
  9116.    | | | |-- Proxy-ARP
  9117.    | | | |-- Quota
  9118.    | | | |-- README
  9119.    | | | |-- Reading-List
  9120.    | | | |-- SLIP+proxyARP
  9121.    | | | |-- Stacker
  9122.    | | | |-- Swap-Space
  9123.    | | | |-- TIA
  9124.    | | | |-- TRANS.TBL
  9125.    | | | |-- Term-Firewall
  9126.    | | | |-- Tiny-News
  9127.    | | | |-- Token-Ring
  9128.    | | | |-- Upgrade
  9129.    | | | |-- Virtual-Web
  9130.    | | | |-- Visual-Bell
  9131.    | | | |-- Win95+Win+Linux
  9132.    | | | |-- WordPerfect
  9133.    | | | |-- X-Notebook
  9134.    | | | |-- XFree86-XInside
  9135.    | | | |-- Xterminal
  9136.    | | | `-- ZIP-Drive
  9137.    | | `-- other-formats
  9138.    | | |-- INDEX
  9139.    | | |-- INDEX.html
  9140.    | | |-- README
  9141.    | | |-- TRANS.TBL
  9142.    | | |-- dvi
  9143.    | | | |-- AX25-HOWTO.dvi.gz
  9144.    | | | |-- Access-HOWTO.dvi.gz
  9145.    | | | |-- BootPrompt-HOWTO.dvi.gz
  9146.    | | | |-- Bootdisk-HOWTO.dvi.gz
  9147.    | | | |-- Busmouse-HOWTO.dvi.gz
  9148.    | | | |-- CDROM-HOWTO.dvi.gz
  9149.    | | | |-- Commercial-HOWTO.dvi.gz
  9150.    | | | |-- Cyrillic-HOWTO.dvi.gz
  9151.    | | | |-- DNS-HOWTO.dvi.gz
  9152.    | | | |-- DOSEMU-HOWTO.dvi.gz
  9153.    | | | |-- Danish-HOWTO.dvi.gz
  9154.    | | | |-- Distribution-HOWTO.dvi.gz
  9155.    | | | |-- ELF-HOWTO.dvi.gz
  9156.    | | | |-- Emacspeak-HOWTO.dvi.gz
  9157.    | | | |-- Ethernet-HOWTO.dvi.gz
  9158.    | | | |-- Finnish-HOWTO.dvi.gz
  9159.    | | | |-- Firewall-HOWTO.dvi.gz
  9160.    | | | |-- Ftape-HOWTO.dvi.gz
  9161.    | | | |-- GCC-HOWTO.dvi.gz
  9162.    | | | |-- German-HOWTO.dvi.gz
  9163.    | | | |-- HAM-HOWTO.dvi.gz
  9164.    | | | |-- HOWTO-INDEX.dvi.gz
  9165.    | | | |-- Hardware-HOWTO.dvi.gz
  9166.    | | | |-- Hebrew-HOWTO.dvi.gz
  9167.    | | | |-- INFO-SHEET.dvi.gz
  9168.    | | | |-- IPX-HOWTO.dvi.gz
  9169.    | | | |-- ISP-Hookup-HOWTO.dvi.gz
  9170.    | | | |-- Installation-HOWTO.dvi.gz
  9171.    | | | |-- Italian-HOWTO.dvi.gz
  9172.    | | | |-- Java-HOWTO.dvi.gz
  9173.    | | | |-- Kernel-HOWTO.dvi.gz
  9174.    | | | |-- Keyboard-HOWTO.dvi.gz
  9175.    | | | |-- META-FAQ.dvi.gz
  9176.    | | | |-- MGR-HOWTO.dvi.gz
  9177.    | | | |-- Mail-HOWTO.dvi.gz
  9178.    | | | |-- Module-HOWTO.dvi.gz
  9179.    | | | |-- NET-2-HOWTO.dvi.gz
  9180.    | | | |-- NIS-HOWTO.dvi.gz
  9181.    | | | |-- News-HOWTO.dvi.gz
  9182.    | | | |-- PCI-HOWTO.dvi.gz
  9183.    | | | |-- PCMCIA-HOWTO.dvi.gz
  9184.    | | | |-- PPP-HOWTO.dvi.gz
  9185.    | | | |-- Polish-HOWTO.dvi.gz
  9186.    | | | |-- Portuguese-HOWTO.dvi.gz
  9187.    | | | |-- Printing-HOWTO.dvi.gz
  9188.    | | | |-- Printing-Usage-HOWTO.dvi.gz
  9189.    | | | |-- README
  9190.    | | | |-- SCSI-Programming-HOWTO.dvi.gz
  9191.    | | | |-- SMB-HOWTO.dvi.gz
  9192.    | | | |-- Serial-HOWTO.dvi.gz
  9193.    | | | |-- Shadow-Password-HOWTO.dvi.gz
  9194.    | | | |-- Sound-HOWTO.dvi.gz
  9195.    | | | |-- Sound-Playing-HOWTO.dvi.gz
  9196.    | | | |-- Spanish-HOWTO.dvi.gz
  9197.    | | | |-- TRANS.TBL
  9198.    | | | |-- Term-HOWTO.dvi.gz
  9199.    | | | |-- Tips-HOWTO.dvi.gz
  9200.    | | | |-- UMSDOS-HOWTO.dvi.gz
  9201.    | | | |-- UPS-HOWTO.dvi.gz
  9202.    | | | |-- UUCP-HOWTO.dvi.gz
  9203.    | | | `-- XFree86-HOWTO.dvi.gz
  9204.    | | |-- html
  9205.    | | | |-- AX25-HOWTO-html.tar.gz
  9206.    | | | |-- Access-HOWTO-html.tar.gz
  9207.    | | | |-- BootPrompt-HOWTO-html.tar.gz
  9208.    | | | |-- Bootdisk-HOWTO-html.tar.gz
  9209.    | | | |-- Busmouse-HOWTO-html.tar.gz
  9210.    | | | |-- CDROM-HOWTO-html.tar.gz
  9211.    | | | |-- Commercial-HOWTO-html.tar.gz
  9212.    | | | |-- Cyrillic-HOWTO-html.tar.gz
  9213.    | | | |-- DNS-HOWTO-html.tar.gz
  9214.    | | | |-- DOSEMU-HOWTO-html.tar.gz
  9215.    | | | |-- Danish-HOWTO-html.tar.gz
  9216.    | | | |-- Distribution-HOWTO-html.tar.gz
  9217.    | | | |-- ELF-HOWTO-html.tar.gz
  9218.    | | | |-- Emacspeak-HOWTO-html.tar.gz
  9219.    | | | |-- Ethernet-HOWTO-html.tar.gz
  9220.    | | | |-- Finnish-HOWTO-html.tar.gz
  9221.    | | | |-- Firewall-HOWTO-html.tar.gz
  9222.    | | | |-- Ftape-HOWTO-html.tar.gz
  9223.    | | | |-- GCC-HOWTO-html.tar.gz
  9224.    | | | |-- German-HOWTO-html.tar.gz
  9225.    | | | |-- HAM-HOWTO-html.tar.gz
  9226.    | | | |-- HOWTO-INDEX-html.tar.gz
  9227.    | | | |-- Hardware-HOWTO-html.tar.gz
  9228.    | | | |-- Hebrew-HOWTO-html.tar.gz
  9229.    | | | |-- INFO-SHEET-html.tar.gz
  9230.    | | | |-- IPX-HOWTO-html.tar.gz
  9231.    | | | |-- ISP-Hookup-HOWTO-html.tar.gz
  9232.    | | | |-- Installation-HOWTO-html.tar.gz
  9233.    | | | |-- Italian-HOWTO-html.tar.gz
  9234.    | | | |-- Java-HOWTO-html.tar.gz
  9235.    | | | |-- Jave-HOWTO-html.tar.gz
  9236.    | | | |-- Kernel-HOWTO-html.tar.gz
  9237.    | | | |-- Keyboard-HOWTO-html.tar.gz
  9238.    | | | |-- META-FAQ-html.tar.gz
  9239.    | | | |-- MGR-HOWTO-html.tar.gz
  9240.    | | | |-- Mail-HOWTO-html.tar.gz
  9241.    | | | |-- Module-HOWTO-html.tar.gz
  9242.    | | | |-- NET-2-HOWTO-html.tar.gz
  9243.    | | | |-- NIS-HOWTO-html.tar.gz
  9244.    | | | |-- News-HOWTO-html.tar.gz
  9245.    | | | |-- PCI-HOWTO-html.tar.gz
  9246.    | | | |-- PCMCIA-HOWTO-html.tar.gz
  9247.    | | | |-- PPP-HOWTO-html.tar.gz
  9248.    | | | |-- Polish-HOWTO-html.tar.gz
  9249.    | | | |-- Portuguese-HOWTO-html.tar.gz
  9250.    | | | |-- Printing-HOWTO-html.tar.gz
  9251.    | | | |-- Printing-Usage-HOWTO-html.tar.gz
  9252.    | | | |-- SCSI-Programming-HOWTO-html.tar.gz
  9253.    | | | |-- SMB-HOWTO-html.tar.gz
  9254.    | | | |-- Serial-HOWTO-html.tar.gz
  9255.    | | | |-- Shadow-Password-HOWTO-html.tar.gz
  9256.    | | | |-- Sound-HOWTO-html.tar.gz
  9257.    | | | |-- Sound-Playing-HOWTO-html.tar.gz
  9258.    | | | |-- Spanish-HOWTO-html.tar.gz
  9259.    | | | |-- TRANS.TBL
  9260.    | | | |-- Term-HOWTO-html.tar.gz
  9261.    | | | |-- Tips-HOWTO-html.tar.gz
  9262.    | | | |-- UMSDOS-HOWTO-html.tar.gz
  9263.    | | | |-- UPS-HOWTO-html.tar.gz
  9264.    | | | |-- UUCP-HOWTO-html.tar.gz
  9265.    | | | `-- XFree86-HOWTO-html.tar.gz
  9266.    | | |-- ps
  9267.    | | | |-- AX25-HOWTO.ps.gz
  9268.    | | | |-- Access-HOWTO.ps.gz
  9269.    | | | |-- BootPrompt-HOWTO.ps.gz
  9270.    | | | |-- Bootdisk-HOWTO.ps.gz
  9271.    | | | |-- Busmouse-HOWTO.ps.gz
  9272.    | | | |-- CDROM-HOWTO.ps.gz
  9273.    | | | |-- Commercial-HOWTO.ps.gz
  9274.    | | | |-- Cyrillic-HOWTO.ps.gz
  9275.    | | | |-- DNS-HOWTO.ps.gz
  9276.    | | | |-- DOSEMU-HOWTO.ps.gz
  9277.    | | | |-- Danish-HOWTO.ps.gz
  9278.    | | | |-- Distribution-HOWTO.ps.gz
  9279.    | | | |-- ELF-HOWTO.ps.gz
  9280.    | | | |-- Emacspeak-HOWTO.ps.gz
  9281.    | | | |-- Ethernet-HOWTO.ps.gz
  9282.    | | | |-- Finnish-HOWTO.ps.gz
  9283.    | | | |-- Firewall-HOWTO.ps.gz
  9284.    | | | |-- Ftape-HOWTO.ps.gz
  9285.    | | | |-- GCC-HOWTO.ps.gz
  9286.    | | | |-- German-HOWTO.ps.gz
  9287.    | | | |-- HAM-HOWTO.ps.gz
  9288.    | | | |-- HOWTO-INDEX.ps.gz
  9289.    | | | |-- Hardware-HOWTO.ps.gz
  9290.    | | | |-- Hebrew-HOWTO.ps.gz
  9291.    | | | |-- INFO-SHEET.ps.gz
  9292.    | | | |-- IPX-HOWTO.ps.gz
  9293.    | | | |-- ISP-Hookup-HOWTO.ps.gz
  9294.    | | | |-- Installation-HOWTO.ps.gz
  9295.    | | | |-- Italian-HOWTO.ps.gz
  9296.    | | | |-- Java-HOWTO.ps.gz
  9297.    | | | |-- Kernel-HOWTO.ps.gz
  9298.    | | | |-- Keyboard-HOWTO.ps.gz
  9299.    | | | |-- META-FAQ.ps.gz
  9300.    | | | |-- MGR-HOWTO.ps.gz
  9301.    | | | |-- Mail-HOWTO.ps.gz
  9302.    | | | |-- Module-HOWTO.ps.gz
  9303.    | | | |-- NET-2-HOWTO.ps.gz
  9304.    | | | |-- NIS-HOWTO.ps.gz
  9305.    | | | |-- News-HOWTO.ps.gz
  9306.    | | | |-- PCI-HOWTO.ps.gz
  9307.    | | | |-- PCMCIA-HOWTO.ps.gz
  9308.    | | | |-- PPP-HOWTO.ps.gz
  9309.    | | | |-- Polish-HOWTO.ps.gz
  9310.    | | | |-- Portuguese-HOWTO.ps.gz
  9311.    | | | |-- Printing-HOWTO.ps.gz
  9312.    | | | |-- Printing-Usage-HOWTO.ps.gz
  9313.    | | | |-- README
  9314.    | | | |-- SCSI-Programming-HOWTO.ps.gz
  9315.    | | | |-- SMB-HOWTO.ps.gz
  9316.    | | | |-- Serial-HOWTO.ps.gz
  9317.    | | | |-- Shadow-Password-HOWTO.ps.gz
  9318.    | | | |-- Sound-HOWTO.ps.gz
  9319.    | | | |-- Sound-Playing-HOWTO.ps.gz
  9320.    | | | |-- Spanish-HOWTO.ps.gz
  9321.    | | | |-- TRANS.TBL
  9322.    | | | |-- Term-HOWTO.ps.gz
  9323.    | | | |-- Tips-HOWTO.ps.gz
  9324.    | | | |-- UMSDOS-HOWTO.ps.gz
  9325.    | | | |-- UPS-HOWTO.ps.gz
  9326.    | | | |-- UUCP-HOWTO.ps.gz
  9327.    | | | `-- XFree86-HOWTO.ps.gz
  9328.    | | `-- sgml
  9329.    | | |-- AX25-HOWTO.sgml.gz
  9330.    | | |-- Access-HOWTO.sgml.gz
  9331.    | | |-- BootPrompt-HOWTO.sgml.gz
  9332.    | | |-- Bootdisk-HOWTO.sgml.gz
  9333.    | | |-- Busmouse-HOWTO.sgml.gz
  9334.    | | |-- CDROM-HOWTO.sgml.gz
  9335.    | | |-- Commercial-HOWTO.sgml.gz
  9336.    | | |-- Cyrillic-HOWTO.sgml.gz
  9337.    | | |-- DNS-HOWTO.sgml.gz
  9338.    | | |-- DOSEMU-HOWTO.sgml.gz
  9339.    | | |-- Danish-HOWTO.sgml.gz
  9340.    | | |-- Distribution-HOWTO.sgml.gz
  9341.    | | |-- ELF-HOWTO.sgml.gz
  9342.    | | |-- Emacspeak-HOWTO.sgml.gz
  9343.    | | |-- Ethernet-HOWTO.sgml.gz
  9344.    | | |-- Finnish-HOWTO.sgml.gz
  9345.    | | |-- Firewall-HOWTO.sgml.gz
  9346.    | | |-- Ftape-HOWTO.sgml.gz
  9347.    | | |-- GCC-HOWTO.sgml.gz
  9348.    | | |-- German-HOWTO.sgml.gz
  9349.    | | |-- HAM-HOWTO.sgml.gz
  9350.    | | |-- HOWTO-INDEX.sgml.gz
  9351.    | | |-- Hardware-HOWTO.sgml.gz
  9352.    | | |-- Hebrew-HOWTO.sgml.gz
  9353.    | | |-- INFO-SHEET.sgml.gz
  9354.    | | |-- IPX-HOWTO.sgml.gz
  9355.    | | |-- ISP-Hookup-HOWTO.sgml.gz
  9356.    | | |-- Installation-HOWTO.sgml.gz
  9357.    | | |-- Italian-HOWTO.sgml.gz
  9358.    | | |-- Java-HOWTO.sgml.gz
  9359.    | | |-- Kernel-HOWTO.sgml.gz
  9360.    | | |-- Keyboard-HOWTO.sgml.gz
  9361.    | | |-- META-FAQ.sgml.gz
  9362.    | | |-- MGR-HOWTO.sgml.gz
  9363.    | | |-- Mail-HOWTO.sgml.gz
  9364.    | | |-- Module-HOWTO.sgml.gz
  9365.    | | |-- NET-2-HOWTO.sgml.gz
  9366.    | | |-- NIS-HOWTO.sgml.gz
  9367.    | | |-- News-HOWTO.sgml.gz
  9368.    | | |-- PCI-HOWTO.sgml.gz
  9369.    | | |-- PCMCIA-HOWTO.sgml.gz
  9370.    | | |-- PPP-HOWTO.sgml.gz
  9371.    | | |-- Polish-HOWTO.sgml.gz
  9372.    | | |-- Portuguese-HOWTO.sgml.gz
  9373.    | | |-- Printing-HOWTO.sgml.gz
  9374.    | | |-- Printing-Usage-HOWTO.sgml.gz
  9375.    | | |-- README
  9376.    | | |-- SCSI-Programming-HOWTO.sgml.gz
  9377.    | | |-- SMB-HOWTO.sgml.gz
  9378.    | | |-- Serial-HOWTO.sgml.gz
  9379.    | | |-- Shadow-Password-HOWTO.sgml.gz
  9380.    | | |-- Sound-HOWTO.sgml.gz
  9381.    | | |-- Sound-Playing-HOWTO.sgml.gz
  9382.    | | |-- Spanish-HOWTO.sgml.gz
  9383.    | | |-- TRANS.TBL
  9384.    | | |-- Term-HOWTO.sgml.gz
  9385.    | | |-- Tips-HOWTO.sgml.gz
  9386.    | | |-- UMSDOS-HOWTO.sgml.gz
  9387.    | | |-- UPS-HOWTO.sgml.gz
  9388.    | | |-- UUCP-HOWTO.sgml.gz
  9389.    | | |-- XFree86-HOWTO.sgml.gz
  9390.    | | `-- mini
  9391.    | | |-- ADSM-Backup.sgml.gz
  9392.    | | =20 |-- Colour-ls.sgml.gz
  9393.    | | |-- Diskless.sgml.gz
  9394.    | | |-- HTML-Validation.sgml.gz
  9395.    | | |-- HTTP+Netware.sgml.gz
  9396.    | | |-- IP-Masquerade.sgml.gz
  9397.    | | |-- Java-WorkShop.sgml.gz
  9398.    | | |-- Large-Disk.sgml.gz
  9399.    | | |-- Locales.sgml.gz
  9400.    | | |-- NFS-Root.sgml.gz
  9401.    | | |-- README
  9402.    | | |-- TRANS.TBL
  9403.    | | |-- Upgrade.sgml.gz
  9404.    | | |-- Visual-Bell.sgml.gz
  9405.    | | |-- XFree86-XInside.sgml.gz
  9406.    | | `-- ZIP-Drive.sgml.gz
  9407.    | |-- HTML
  9408.    | | |-- TRANS.TBL
  9409.    | | |-- index.html
  9410.    | | |-- ldp
  9411.    | | | |-- BootPrompt-HOWTO-1.html
  9412.    | | | |-- BootPrompt-HOWTO-2.html
  9413.    | | | |-- BootPrompt-HOWTO-3.html
  9414.    | | | |-- BootPrompt-HOWTO-4.html
  9415.    | | | |-- BootPrompt-HOWTO-5.html
  9416.    | | | |-- BootPrompt-HOWTO-6.html
  9417.    | | | |-- BootPrompt-HOWTO-7.html
  9418.    | | | |-- BootPrompt-HOWTO-8.html
  9419.    | | | |-- BootPrompt-HOWTO.html
  9420.    | | | |-- Bootdisk-HOWTO-1.html
  9421.    | | | |-- Bootdisk-HOWTO-2.html
  9422.    | | | |-- Bootdisk-HOWTO-3.html
  9423.    | | | |-- Bootdisk-HOWTO-4.html
  9424.    | | | |-- Bootdisk-HOWTO-5.html
  9425.    | | | |-- Bootdisk-HOWTO-6.html
  9426.    | | | |-- Bootdisk-HOWTO.html
  9427.    | | | |-- Busmouse-HOWTO-1.html
  9428.    | | | |-- Busmouse-HOWTO-2.html
  9429.    | | | |-- Busmouse-HOWTO-3.html
  9430.    | | | |-- Busmouse-HOWTO-4.html
  9431.    | | | |-- Busmouse-HOWTO-5.html
  9432.    | | | |-- Busmouse-HOWTO.html
  9433.    | | | |-- CDROM-HOWTO-1.html
  9434.    | | | |-- CDROM-HOWTO-2.html
  9435.    | | | |-- CDROM-HOWTO-3.html
  9436.    | | | |-- CDROM-HOWTO-4.html
  9437.    | | | |-- CDROM-HOWTO-5.html
  9438.    | | | |-- CDROM-HOWTO-6.html
  9439.    | | | |-- CDROM-HOWTO-7.html
  9440.    | | | |-- CDROM-HOWTO.html
  9441.    | | | |-- Commercial-HOWTO-1.html
  9442.    | | | |-- Commercial-HOWTO-10.html
  9443.    | | | |-- Commercial-HOWTO-2.html
  9444.    | | | |-- Commercial-HOWTO-3.html
  9445.    | | | |-- Commercial-HOWTO-4.html
  9446.    | | | |-- Commercial-HOWTO-5.html
  9447.    | | | |-- Commercial-HOWTO-6.html
  9448.    | | | |-- Commercial-HOWTO-7.html
  9449.    | | | |-- Commercial-HOWTO-8.html
  9450.    | | | |-- Commercial-HOWTO-9.html
  9451.    | | | |-- Commercial-HOWTO.html
  9452.    | | | |-- Cyrillic-HOWTO-1.html
  9453.    | | | |-- Cyrillic-HOWTO-2.html
  9454.    | | | |-- Cyrillic-HOWTO-3.html
  9455.    | | | |-- Cyrillic-HOWTO-4.html
  9456.    | | | |-- Cyrillic-HOWTO-5.html
  9457.    | | | |-- Cyrillic-HOWTO-6.html
  9458.    | | | |-- Cyrillic-HOWTO-7.html
  9459.    | | | |-- Cyrillic-HOWTO-8.html
  9460.    | | | |-- Cyrillic-HOWTO-9.html
  9461.    | | | |-- Cyrillic-HOWTO.html
  9462.    | | | |-- DOSEMU-HOWTO-1.html
  9463.    | | | |-- DOSEMU-HOWTO-10.html
  9464.    | | | |-- DOSEMU-HOWTO-11.html
  9465.    | | | |-- DOSEMU-HOWTO-12.html
  9466.    | | | |-- DOSEMU-HOWTO-2.html
  9467.    | | | |-- DOSEMU-HOWTO-3.html
  9468.    | | | |-- DOSEMU-HOWTO-4.html
  9469.    | | | |-- DOSEMU-HOWTO-5.html
  9470.    | | | |-- DOSEMU-HOWTO-6.html
  9471.    | | | |-- DOSEMU-HOWTO-7.html
  9472.    | | | |-- DOSEMU-HOWTO-8.html
  9473.    | | | |-- DOSEMU-HOWTO-9.html
  9474.    | | | |-- DOSEMU-HOWTO.html
  9475.    | | | |-- Danish-HOWTO-1.html
  9476.    | | | |-- Danish-HOWTO-2.html
  9477.    | | | |-- Danish-HOWTO-3.html
  9478.    | | | |-- Danish-HOWTO-4.html
  9479.    | | | |-- Danish-HOWTO.html
  9480.    | | | |-- Distribution-HOWTO-1.html
  9481.    | | | |-- Distribution-HOWTO-2.html
  9482.    | | | |-- Distribution-HOWTO-3.html
  9483.    | | | |-- Distribution-HOWTO-4.html
  9484.    | | | |-- Distribution-HOWTO-5.html
  9485.    | | | |-- Distribution-HOWTO-6.html
  9486.    | | | |-- Distribution-HOWTO-7.html
  9487.    | | | |-- Distribution-HOWTO-8.html
  9488.    | | | |-- Distribution-HOWTO-9.html
  9489.    | | | |-- Distribution-HOWTO.html
  9490.    | | | |-- ELF-HOWTO-1.html
  9491.    | | | |-- ELF-HOWTO-2.html
  9492.    | | | |-- ELF-HOWTO-3.html
  9493.    | | | |-- ELF-HOWTO-4.html
  9494.    | | | |-- ELF-HOWTO-5.html
  9495.    | | | |-- ELF-HOWTO-6.html
  9496.    | | | |-- ELF-HOWTO.html
  9497.    | | | |-- Ethernet-HOWTO-1.html
  9498.    | | | |-- Ethernet-HOWTO-10.html
  9499.    | | | |-- Ethernet-HOWTO-2.html
  9500.    | | | |-- Ethernet-HOWTO-3.html
  9501.    | | | |-- Ethernet-HOWTO-4.html
  9502.    | | | |-- Ethernet-HOWTO-5.html
  9503.    | | | |-- Ethernet-HOWTO-6.html
  9504.    | | | |-- Ethernet-HOWTO-7.html
  9505.    | | | |-- Ethernet-HOWTO-8.html
  9506.    | | | |-- Ethernet-HOWTO-9.html
  9507.    | | | |-- Ethernet-HOWTO.html
  9508.    | | | |-- Firewall-HOWTO-1.html
  9509.    | | | |-- Firewall-HOWTO-2.html
  9510.    | | | |-- Firewall-HOWTO-3.html
  9511.    | | | |-- Firewall-HOWTO-4.html
  9512.    | | | |-- Firewall-HOWTO-5.html
  9513.    | | | |-- Firewall-HOWTO-6.html
  9514.    | | | |-- Firewall-HOWTO.html
  9515.    | | | |-- Ftape-HOWTO-1.html
  9516.    | | | |-- Ftape-HOWTO-2.html
  9517.    | | | |-- Ftape-HOWTO-3.html
  9518.    | | | |-- Ftape-HOWTO-4.html
  9519.    | | | |-- Ftape-HOWTO-5.html
  9520.    | | | |-- Ftape-HOWTO-6.html
  9521.    | | | |-- Ftape-HOWTO-7.html
  9522.    | | | |-- Ftape-HOWTO-8.html
  9523.    | | | |-- Ftape-HOWTO-9.html
  9524.    | | | |-- Ftape-HOWTO.html
  9525.    | | | |-- German-HOWTO-1.html
  9526.    | | | |-- German-HOWTO-10.html
  9527.    | | | |-- German-HOWTO-11.html
  9528.    | | | |-- German-HOWTO-12.html
  9529.    | | | |-- German-HOWTO-13.html
  9530.    | | | |-- German-HOWTO-14.html
  9531.    | | | |-- German-HOWTO-15.html
  9532.    | | | |-- German-HOWTO-2.html
  9533.    | | | |-- German-HOWTO-3.html
  9534.    | | | |-- German-HOWTO-4.html
  9535.    | | | |-- German-HOWTO-5.html
  9536.    | | | |-- German-HOWTO-6.html
  9537.    | | | |-- German-HOWTO-7.html
  9538.    | | | |-- German-HOWTO-8.html
  9539.    | | | |-- German-HOWTO-9.html
  9540.    | | | |-- German-HOWTO.html
  9541.    | | | |-- HAM-HOWTO-1.html
  9542.    | | | |-- HAM-HOWTO-10.html
  9543.    | | | |-- HAM-HOWTO-11.html
  9544.    | | | |-- HAM-HOWTO-12.html
  9545.    | | | |-- HAM-HOWTO-13.html
  9546.    | | | |-- HAM-HOWTO-14.html
  9547.    | | | |-- HAM-HOWTO-15.html
  9548.    | | | |-- HAM-HOWTO-16.html
  9549.    | | | |-- HAM-HOWTO-17.html
  9550.    | | | |-- HAM-HOWTO-2.html
  9551.    | | | |-- HAM-HOWTO-3.html
  9552.    | | | |-- HAM-HOWTO-4.html
  9553.    | | | |-- HAM-HOWTO-5.html
  9554.    | | | |-- HAM-HOWTO-6.html
  9555.    | | | |-- HAM-HOWTO-7.html
  9556.    | | | |-- HAM-HOWTO-8.html
  9557.    | | | |-- HAM-HOWTO-9.html
  9558.    | | | |-- HAM-HOWTO.html
  9559.    | | | |-- HOWTO-INDEX-1.html
  9560.    | | | |-- HOWTO-INDEX-2.html
  9561.    | | | |-- HOWTO-INDEX-3.html
  9562.    | | | |-- HOWTO-INDEX-4.html
  9563.    | | | |-- HOWTO-INDEX-5.html
  9564.    | | | |-- HOWTO-INDEX.html
  9565.    | | | |-- Hardware-HOWTO-1.html
  9566.    | | | |-- Hardware-HOWTO-10.html
  9567.    | | | |-- Hardware-HOWTO-11.html
  9568.    | | | |-- Hardware-HOWTO-12.html
  9569.    | | | |-- Hardware-HOWTO-13.html
  9570.    | | | |-- Hardware-HOWTO-14.html
  9571.    | | | |-- Hardware-HOWTO-15.html
  9572.    | | | |-- Hardware-HOWTO-16.html
  9573.    | | | |-- Hardware-HOWTO-17.html
  9574.    | | | |-- Hardware-HOWTO-18.html
  9575.    | | | |-- Hardware-HOWTO-19.html
  9576.    | | | |-- Hardware-HOWTO-2.html
  9577.    | | | |-- Hardware-HOWTO-20.html
  9578.    | | | |-- Hardware-HOWTO-21.html
  9579.    | | | |-- Hardware-HOWTO-22.html
  9580.    | | | |-- Hardware-HOWTO-23.html
  9581.    | | | |-- Hardware-HOWTO-24.html
  9582.    | | | |-- Hardware-HOWTO-3.html
  9583.    | | | |-- Hardware-HOWTO-4.html
  9584.    | | | |-- Hardware-HOWTO-5.html
  9585.    | | | |-- Hardware-HOWTO-6.html
  9586.    | | | |-- Hardware-HOWTO-7.html
  9587.    | | | |-- Hardware-HOWTO-8.html
  9588.    | | | |-- Hardware-HOWTO-9.html
  9589.    | | | |-- Hardware-HOWTO.html
  9590.    | | | |-- Hebrew-HOWTO-1.html
  9591.    | | | |-- Hebrew-HOWTO-2.html
  9592.    | | | |-- Hebrew-HOWTO-3.html
  9593.    | | | |-- Hebrew-HOWTO-4.html
  9594.    | | | |-- Hebrew-HOWTO-5.html
  9595.    | | | |-- Hebrew-HOWTO-6.html
  9596.    | | | |-- Hebrew-HOWTO-7.html
  9597.    | | | |-- Hebrew-HOWTO-8.html
  9598.    | | | |-- Hebrew-HOWTO-9.html
  9599.    | | | |-- Hebrew-HOWTO.html
  9600.    | | | |-- INFO-SHEET-1.html
  9601.    | | | |-- INFO-SHEET-10.html
  9602.    | | | |-- INFO-SHEET-11.html
  9603.    | | | |-- INFO-SHEET-12.html
  9604.    | | | |-- INFO-SHEET-2.html
  9605.    | | | |-- INFO-SHEET-3.html
  9606.    | | | |-- INFO-SHEET-4.html
  9607.    | | | |-- INFO-SHEET-5.html
  9608.    | | | |-- INFO-SHEET-6.html
  9609.    | | | |-- INFO-SHEET-7.html
  9610.    | | | |-- INFO-SHEET-8.html
  9611.    | | | |-- INFO-SHEET-9.html
  9612.    | | | |-- INFO-SHEET.html
  9613.    | | | |-- IPX-HOWTO-1.html
  9614.    | | | |-- IPX-HOWTO-10.html
  9615.    | | | |-- IPX-HOWTO-11.html
  9616.    | | | |-- IPX-HOWTO-12.html
  9617.    | | | |-- IPX-HOWTO-13.html
  9618.    | | | |-- IPX-HOWTO-2.html
  9619.    | | | |-- IPX-HOWTO-3.html
  9620.    | | | |-- IPX-HOWTO-4.html
  9621.    | | | |-- IPX-HOWTO-5.html
  9622.    | | | |-- IPX-HOWTO-6.html
  9623.    | | | |-- IPX-HOWTO-7.html
  9624.    | | | |-- IPX-HOWTO-8.html
  9625.    | | | |-- IPX-HOWTO-9.html
  9626.    | | | |-- IPX-HOWTO.html
  9627.    | | | |-- Installation-HOWTO-1.html
  9628.    | | | |-- Installation-HOWTO-2.html
  9629.    | | | |-- Installation-HOWTO-3.html
  9630.    | | | |-- Installation-HOWTO-4.html
  9631.    | | | |-- Installation-HOWTO-5.html
  9632.    | | | |-- Installation-HOWTO-6.html
  9633.    | | | |-- Installation-HOWTO.html
  9634.    | | | |-- Italian-HOWTO-1.html
  9635.    | | | |-- Italian-HOWTO-2.html
  9636.    | | | |-- Italian-HOWTO-3.html
  9637.    | | | |-- Italian-HOWTO-4.html
  9638.    | | | |-- Italian-HOWTO-5.html
  9639.    | | | |-- Italian-HOWTO-6.html
  9640.    | | | |-- Italian-HOWTO-7.html
  9641.    | | | |-- Italian-HOWTO-8.html
  9642.    | | | |-- Italian-HOWTO.html
  9643.    | | | |-- Java-HOWTO-1.html
  9644.    | | | |-- Java-HOWTO-10.html
  9645.    | | | |-- Java-HOWTO-2.html
  9646.    | | | |-- Java-HOWTO-3.html
  9647.    | | | |-- Java-HOWTO-4.html
  9648.    | | | |-- Java-HOWTO-5.html
  9649.    | | | |-- Java-HOWTO-6.html
  9650.    | | | |-- Java-HOWTO-7.html
  9651.    | | | |-- Java-HOWTO-8.html
  9652.    | | | |-- Java-HOWTO-9.html
  9653.    | | | |-- Java-HOWTO.html
  9654.    | | | |-- Jave-HOWTO-1.html
  9655.    | | | |-- Jave-HOWTO-2.html
  9656.    | | | |-- Jave-HOWTO-3.html
  9657.    | | | |-- Jave-HOWTO-4.html
  9658.    | | | |-- Jave-HOWTO-5.html
  9659.    | | | |-- Jave-HOWTO-6.html
  9660.    | | | |-- Jave-HOWTO-7.html
  9661.    | | | |-- Jave-HOWTO-8.html
  9662.    | | | |-- Jave-HOWTO-9.html
  9663.    | | | |-- Jave-HOWTO.html
  9664.    | | | |-- Kernel-HOWTO-1.html
  9665.    | | | |-- Kernel-HOWTO-10.html
  9666.    | | | |-- Kernel-HOWTO-11.html
  9667.    | | | |-- Kernel-HOWTO-2.html
  9668.    | | | |-- Kernel-HOWTO-3.html
  9669.    | | | |-- Kernel-HOWTO-4.html
  9670.    | | | |-- Kernel-HOWTO-5.html
  9671.    | | | |-- Kernel-HOWTO-6.html
  9672.    | | | |-- Kernel-HOWTO-7.html
  9673.    | | | |-- Kernel-HOWTO-8.html
  9674.    | | | |-- Kernel-HOWTO-9.html
  9675.    | | | |-- Kernel-HOWTO.html
  9676.    | | | |-- Keyboard-HOWTO-1.html
  9677.    | | | |-- Keyboard-HOWTO-10.html
  9678.    | | | |-- Keyboard-HOWTO-11.html
  9679.    | | | |-- Keyboard-HOWTO-12.html
  9680.    | | | |-- Keyboard-HOWTO-13.html
  9681.    | | | |-- Keyboard-HOWTO-14.html
  9682.    | | | |-- Keyboard-HOWTO-15.html
  9683.    | | | |-- Keyboard-HOWTO-16.html
  9684.    | | | |-- Keyboard-HOWTO-17.html
  9685.    | | | |-- Keyboard-HOWTO-18.html
  9686.    | | | |-- Keyboard-HOWTO-19.html
  9687.    | | | |-- Keyboard-HOWTO-2.html
  9688.    | | | |-- Keyboard-HOWTO-20.html
  9689.    | | | |-- Keyboard-HOWTO-3.html
  9690.    | | | |-- Keyboard-HOWTO-4.html
  9691.    | | | |-- Keyboard-HOWTO-5.html
  9692.    | | | |-- Keyboard-HOWTO-6.html
  9693.    | | | |-- Keyboard-HOWTO-7.html
  9694.    | | | |-- Keyboard-HOWTO-8.html
  9695.    | | | |-- Keyboard-HOWTO-9.html
  9696.    | | | |-- Keyboard-HOWTO.html
  9697.    | | | |-- META-FAQ-1.html
  9698.    | | | |-- META-FAQ-10.html
  9699.    | | | |-- META-FAQ-2.html
  9700.    | | | |-- META-FAQ-3.html
  9701.    | | | |-- META-FAQ-4.html
  9702.    | | | |-- META-FAQ-5.html
  9703.    | | | |-- META-FAQ-6.html
  9704.    | | | |-- META-FAQ-7.html
  9705.    | | | |-- META-FAQ-8.html
  9706.    | | | |-- META-FAQ-9.html
  9707.    | | | |-- META-FAQ.html
  9708.    | | | |-- MGR-HOWTO-1.html
  9709.    | | | |-- MGR-HOWTO-2.html
  9710.    | | | |-- MGR-HOWTO-3.html
  9711.    | | | |-- MGR-HOWTO-4.html
  9712.    | | | |-- MGR-HOWTO-5.html
  9713.    | | | |-- MGR-HOWTO-6.html
  9714.    | | | |-- MGR-HOWTO-7.html
  9715.    | | | |-- MGR-HOWTO.html
  9716.    | | | |-- Mail-HOWTO-1.html
  9717.    | | | |-- Mail-HOWTO-2.html
  9718.    | | | |-- Mail-HOWTO-3.html
  9719.    | | | |-- Mail-HOWTO-4.html
  9720.    | | | |-- Mail-HOWTO-5.html
  9721.    | | | |-- Mail-HOWTO-6.html
  9722.    | | | |-- Mail-HOWTO.html
  9723.    | | | |-- NET-2-HOWTO-1.html
  9724.    | | | |-- NET-2-HOWTO-10.html
  9725.    | | | |-- NET-2-HOWTO-11.html
  9726.    | | | |-- NET-2-HOWTO-12.html
  9727.    | | | |-- NET-2-HOWTO-13.html
  9728.    | | | |-- NET-2-HOWTO-14.html
  9729.    | | | |-- NET-2-HOWTO-15.html
  9730.    | | | |-- NET-2-HOWTO-16.html
  9731.    | | | |-- NET-2-HOWTO-17.html
  9732.    | | | |-- NET-2-HOWTO-18.html
  9733.    | | | |-- NET-2-HOWTO-19.html
  9734.    | | | |-- NET-2-HOWTO-2.html
  9735.    | | | |-- NET-2-HOWTO-3.html
  9736.    | | | |-- NET-2-HOWTO-4.html
  9737.    | | | |-- NET-2-HOWTO-5.html
  9738.    | | | |-- NET-2-HOWTO-6.html
  9739.    | | | |-- NET-2-HOWTO-7.html
  9740.    | | | |-- NET-2-HOWTO-8.html
  9741.    | | | |-- NET-2-HOWTO-9.html
  9742.    | | | |-- NET-2-HOWTO.html
  9743.    | | | |-- NIS-HOWTO-1.html
  9744.    | | | |-- NIS-HOWTO-10.html
  9745.    | | | |-- NIS-HOWTO-2.html
  9746.    | | | |-- NIS-HOWTO-3.html
  9747.    | | | |-- NIS-HOWTO-4.html
  9748.    | | | |-- NIS-HOWTO-5.html
  9749.    | | | |-- NIS-HOWTO-6.html
  9750.    | | | |-- NIS-HOWTO-7.html
  9751.    | | | |-- NIS-HOWTO-8.html
  9752.    | | | |-- NIS-HOWTO-9.html
  9753.    | | | |-- NIS-HOWTO.html
  9754.    | | | |-- News-HOWTO-1.html
  9755.    | | | |-- News-HOWTO-2.html
  9756.    | | | |-- News-HOWTO-3.html
  9757.    | | | |-- News-HOWTO-4.html
  9758.    | | | |-- News-HOWTO-5.html
  9759.    | | | |-- News-HOWTO-6.html
  9760.    | | | |-- News-HOWTO-7.html
  9761.    | | | |-- News-HOWTO.html
  9762.    | | | |-- PCI-HOWTO-1.html
  9763.    | | | |-- PCI-HOWTO-10.html
  9764.    | | | |-- PCI-HOWTO-11.html
  9765.    | | | |-- PCI-HOWTO-12.html
  9766.    | | | |-- PCI-HOWTO-13.html
  9767.    | | | |-- PCI-HOWTO-2.html
  9768.    | | | |-- PCI-HOWTO-3.html
  9769.    | | | |-- PCI-HOWTO-4.html
  9770.    | | | |-- PCI-HOWTO-5.html
  9771.    | | | |-- PCI-HOWTO-6.html
  9772.    | | | |-- PCI-HOWTO-7.html
  9773.    | | | |-- PCI-HOWTO-8.html
  9774.    | | | |-- PCI-HOWTO-9.html
  9775.    | | | |-- PCI-HOWTO.html
  9776.    | | | |-- PCMCIA-HOWTO-1.html
  9777.    | | | |-- PCMCIA-HOWTO-2.html
  9778.    | | | |-- PCMCIA-HOWTO-3.html
  9779.    | | | |-- PCMCIA-HOWTO-4.html
  9780.    | | | |-- PCMCIA-HOWTO-5.html
  9781.    | | | |-- PCMCIA-HOWTO.html
  9782.    | | | |-- PPP-HOWTO-1.html
  9783.    | | | |-- PPP-HOWTO-10.html
  9784.    | | | |-- PPP-HOWTO-11.html
  9785.    | | | |-- PPP-HOWTO-12.html
  9786.    | | | |-- PPP-HOWTO-13.html
  9787.    | | | |-- PPP-HOWTO-14.html
  9788.    | | | |-- PPP-HOWTO-15.html
  9789.    | | | |-- PPP-HOWTO-16.html
  9790.    | | | |-- PPP-HOWTO-17.html
  9791.    | | | |-- PPP-HOWTO-2.html
  9792.    | | | |-- PPP-HOWTO-3.html
  9793.    | | | |-- PPP-HOWTO-4.html
  9794.    | | | |-- PPP-HOWTO-5.html
  9795.    | | | |-- PPP-HOWTO-6.html
  9796.    | | | |-- PPP-HOWTO-7.html
  9797.    | | | |-- PPP-HOWTO-8.html
  9798.    | | | |-- PPP-HOWTO-9.html
  9799.    | | | |-- PPP-HOWTO.html
  9800.    | | | |-- Portuguese-HOWTO-1.html
  9801.    | | | |-- Portuguese-HOWTO-2.html
  9802.    | | | |-- Portuguese-HOWTO-3.html
  9803.    | | | |-- Portuguese-HOWTO-4.html
  9804.    | | | |-- Portuguese-HOWTO-5.html
  9805.    | | | |-- Portuguese-HOWTO-6.html
  9806.    | | | |-- Portuguese-HOWTO-7.html
  9807.    | | | |-- Portuguese-HOWTO.html
  9808.    | | | |-- Printing-HOWTO-1.html
  9809.    | | | |-- Printing-HOWTO-10.html
  9810.    | | | |-- Printing-HOWTO-11.html
  9811.    | | | |-- Printing-HOWTO-12.html
  9812.    | | | |-- Printing-HOWTO-2.html
  9813.    | | | |-- Printing-HOWTO-3.html
  9814.    | | | |-- Printing-HOWTO-4.html
  9815.    | | | |-- Printing-HOWTO-5.html
  9816.    | | | |-- Printing-HOWTO-6.html
  9817.    | | | |-- Printing-HOWTO-7.html
  9818.    | | | |-- Printing-HOWTO-8.html
  9819.    | | | |-- Printing-HOWTO-9.html
  9820.    | | | |-- Printing-HOWTO.html
  9821.    | | | |-- Printing-Usage-HOWTO-1.html
  9822.    | | | |-- Printing-Usage-HOWTO-2.html
  9823.    | | | |-- Printing-Usage-HOWTO-3.html
  9824.    | | | |-- Printing-Usage-HOWTO-4.html
  9825.    | | | |-- Printing-Usage-HOWTO-5.html
  9826.    | | | |-- Printing-Usage-HOWTO-6.html
  9827.    | | | |-- Printing-Usage-HOWTO-7.html
  9828.    | | | |-- Printing-Usage-HOWTO.html
  9829.    | | | |-- SCSI-Programming-HOWTO-1.html
  9830.    | | | |-- SCSI-Programming-HOWTO-10.html
  9831.    | | | |-- SCSI-Programming-HOWTO-11.html
  9832.    | | | |-- SCSI-Programming-HOWTO-12.html
  9833.    | | | |-- SCSI-Programming-HOWTO-13.html
  9834.    | | | |-- SCSI-Programming-HOWTO-14.html
  9835.    | | | |-- SCSI-Programming-HOWTO-15.html
  9836.    | | | |-- SCSI-Programming-HOWTO-16.html
  9837.    | | | |-- SCSI-Programming-HOWTO-17.html
  9838.    | | | |-- SCSI-Programming-HOWTO-18.html
  9839.    | | | |-- SCSI-Programming-HOWTO-19.html
  9840.    | | | |-- SCSI-Programming-HOWTO-2.html
  9841.    | | | |-- SCSI-Programming-HOWTO-20.html
  9842.    | | | |-- SCSI-Programming-HOWTO-21.html
  9843.    | | | |-- SCSI-Programming-HOWTO-22.html
  9844.    | | | |-- SCSI-Programming-HOWTO-23.html
  9845.    | | | |-- SCSI-Programming-HOWTO-3.html
  9846.    | | | |-- SCSI-Programming-HOWTO-4.html
  9847.    | | | |-- SCSI-Programming-HOWTO-5.html
  9848.    | | | |-- SCSI-Programming-HOWTO-6.html
  9849.    | | | |-- SCSI-Programming-HOWTO-7.html
  9850.    | | | |-- SCSI-Programming-HOWTO-8.html
  9851.    | | | |-- SCSI-Programming-HOWTO-9.html
  9852.    | | | |-- SCSI-Programming-HOWTO.html
  9853.    | | | |-- Serial-HOWTO-1.html
  9854.    | | | |-- Serial-HOWTO-10.html
  9855.    | | | |-- Serial-HOWTO-11.html
  9856.    | | | |-- Serial-HOWTO-12.html
  9857.    | | | |-- Serial-HOWTO-13.html
  9858.    | | | |-- Serial-HOWTO-14.html
  9859.    | | | |-- Serial-HOWTO-15.html
  9860.    | | | |-- Serial-HOWTO-16.html
  9861.    | | | |-- Serial-HOWTO-2.html
  9862.    | | | |-- Serial-HOWTO-3.html
  9863.    | | | |-- Serial-HOWTO-4.html
  9864.    | | | |-- Serial-HOWTO-5.html
  9865.    | | | |-- Serial-HOWTO-6.html
  9866.    | | | |-- Serial-HOWTO-7.html
  9867.    | | | |-- Serial-HOWTO-8.html
  9868.    | | | |-- Serial-HOWTO-9.html
  9869.    | | | |-- Serial-HOWTO.html
  9870.    | | | |-- Shadow-Password-HOWTO-1.html
  9871.    | | | |-- Shadow-Password-HOWTO-2.html
  9872.    | | | |-- Shadow-Password-HOWTO-3.html
  9873.    | | | |-- Shadow-Password-HOWTO-4.html
  9874.    | | | |-- Shadow-Password-HOWTO-5.html
  9875.    | | | |-- Shadow-Password-HOWTO-6.html
  9876.    | | | |-- Shadow-Password-HOWTO-7.html
  9877.    | | | |-- Shadow-Password-HOWTO-8.html
  9878.    | | | |-- Shadow-Password-HOWTO-9.html
  9879.    | | | |-- Shadow-Password-HOWTO.html
  9880.    | | | |-- Sound-HOWTO-1.html
  9881.    | | | |-- Sound-HOWTO-2.html
  9882.    | | | |-- Sound-HOWTO-3.html
  9883.    | | | |-- Sound-HOWTO-4.html
  9884.    | | | |-- Sound-HOWTO-5.html
  9885.    | | | |-- Sound-HOWTO-6.html
  9886.    | | | |-- Sound-HOWTO-7.html
  9887.    | | | |-- Sound-HOWTO.html
  9888.    | | | |-- Sound-Playing-HOWTO-1.html
  9889.    | | | |-- Sound-Playing-HOWTO-2.html
  9890.    | | | |-- Sound-Playing-HOWTO-3.html
  9891.    | | | |-- Sound-Playing-HOWTO-4.html
  9892.    | | | |-- Sound-Playing-HOWTO.html
  9893.    | | | |-- TRANS.TBL
  9894.    | | | |-- Term-HOWTO-1.html
  9895.    | | | |-- Term-HOWTO-10.html
  9896.    | | | |-- Term-HOWTO-11.html
  9897.    | | | |-- Term-HOWTO-12.html
  9898.    | | | |-- Term-HOWTO-13.html
  9899.    | | | |-- Term-HOWTO-14.html
  9900.    | | | |-- Term-HOWTO-15.html
  9901.    | | | |-- Term-HOWTO-16.html
  9902.    | | | |-- Term-HOWTO-17.html
  9903.    | | | |-- Term-HOWTO-18.html
  9904.    | | | |-- Term-HOWTO-2.html
  9905.    | | | |-- Term-HOWTO-3.html
  9906.    | | | |-- Term-HOWTO-4.html
  9907.    | | | |-- Term-HOWTO-5.html
  9908.    | | | |-- Term-HOWTO-6.html
  9909.    | | | |-- Term-HOWTO-7.html
  9910.    | | | |-- Term-HOWTO-8.html
  9911.    | | | |-- Term-HOWTO-9.html
  9912.    | | | |-- Term-HOWTO.html
  9913.    | | | |-- Tips-HOWTO-1.html
  9914.    | | | |-- Tips-HOWTO-2.html
  9915.    | | | |-- Tips-HOWTO-3.html
  9916.    | | | |-- Tips-HOWTO.html
  9917.    | | | |-- UMSDOS-HOWTO-1.html
  9918.    | | | |-- UMSDOS-HOWTO-2.html
  9919.    | | | |-- UMSDOS-HOWTO-3.html
  9920.    | | | |-- UMSDOS-HOWTO-4.html
  9921.    | | | |-- UMSDOS-HOWTO-5.html
  9922.    | | | |-- UMSDOS-HOWTO-6.html
  9923.    | | | |-- UMSDOS-HOWTO-7.html
  9924.    | | | |-- UMSDOS-HOWTO-8.html
  9925.    | | | |-- UMSDOS-HOWTO.html
  9926.    | | | |-- UPS-HOWTO-1.html
  9927.    | | | |-- UPS-HOWTO-10.html
  9928.    | | | |-- UPS-HOWTO-11.html
  9929.    | | | |-- UPS-HOWTO-12.html
  9930.    | | | |-- UPS-HOWTO-2.html
  9931.    | | | |-- UPS-HOWTO-3.html
  9932.    | | | |-- UPS-HOWTO-4.html
  9933.    | | | |-- UPS-HOWTO-5.html
  9934.    | | | |-- UPS-HOWTO-6.html
  9935.    | | | |-- UPS-HOWTO-7.html
  9936.    | | | |-- UPS-HOWTO-8.html
  9937.    | | | |-- UPS-HOWTO-9.html
  9938.    | | | |-- UPS-HOWTO.html
  9939.    | | | |-- UUCP-HOWTO-1.html
  9940.    | | | |-- UUCP-HOWTO-2.html
  9941.    | | | |-- UUCP-HOWTO-3.html
  9942.    | | | |-- UUCP-HOWTO-4.html
  9943.    | | | |-- UUCP-HOWTO-5.html
  9944.    | | | |-- UUCP-HOWTO-6.html
  9945.    | | | |-- UUCP-HOWTO.html
  9946.    | | | |-- XFree86-HOWTO-1.html
  9947.    | | | |-- XFree86-HOWTO-2.html
  9948.    | | | |-- XFree86-HOWTO-3.html
  9949.    | | | |-- XFree86-HOWTO-4.html
  9950.    | | | |-- XFree86-HOWTO-5.html
  9951.    | | | |-- XFree86-HOWTO-6.html
  9952.    | | | |-- XFree86-HOWTO-7.html
  9953.    | | | |-- XFree86-HOWTO-8.html
  9954.    | | | |-- XFree86-HOWTO.html
  9955.    | | | `-- install-guide-2.2.2.html
  9956.    | | | |-- .ID_MAP.dir
  9957.    | | | |-- .ID_MAP.pag
  9958.    | | | |-- .IMG_PARAMS.dir
  9959.    | | | |-- .IMG_PARAMS.pag
  9960.    | | | |-- .ORIG_MAP.dir
  9961.    | | | |-- .ORIG_MAP.pag
  9962.    | | | |-- TRANS.TBL
  9963.    | | | |-- bdt.gif
  9964.    | | | |-- change_begin.gif
  9965.    | | | |-- change_delete.gif
  9966.    | | | |-- change_end.gif
  9967.    | | | |-- contents.xbm
  9968.    | | | |-- contents_motif.gif
  9969.    | | | |-- cross_ref_motif.gif
  9970.    | | | |-- foot_motif.gif
  9971.    | | | |-- footnode.html
  9972.    | | | |-- gs.html
  9973.    | | | |-- icons.html
  9974.    | | | |-- image.gif
  9975.    | | | |-- images.aux
  9976.    | | | |-- images.idx
  9977.    | | | |-- images.log
  9978.    | | | |-- images.pl
  9979.    | | | |-- images.tex
  9980.    | | | |-- img1.gif
  9981.    | | | |-- img10.gif
  9982.    | | | |-- img100.gif
  9983.    | | | |-- img101.gif
  9984.    | | | |-- img102.gif
  9985.    | | | |-- img103.gif
  9986.    | | | |-- img104.gif
  9987.    | | | |-- img105.gif
  9988.    | | | |-- img106.gif
  9989.    | | | |-- img107.gif
  9990.    | | | |-- img108.gif
  9991.    | | | |-- img109.gif
  9992.    | | | |-- img11.gif
  9993.    | | | |-- img110.gif
  9994.    | | | |-- img111.gif
  9995.    | | | |-- img112.gif
  9996.    | | | |-- img113.gif
  9997.    | | | |-- img114.gif
  9998.    | | | |-- img115.gif
  9999.    | | | |-- img116.gif
  10000.    | | | |-- img117.gif
  10001.    | | | |-- img118.gif
  10002.    | | | |-- img119.gif
  10003.    | | | |-- img12.gif
  10004.    | | | |-- img120.gif
  10005.    | | | |-- img121.gif
  10006.    | | | |-- img122.gif
  10007.    | | | |-- img123.gif
  10008.    | | | |-- img124.gif
  10009.    | | | |-- img125.gif
  10010.    | | | |-- img126.gif
  10011.    | | | |-- img127.gif
  10012.    | | | |-- img128.gif
  10013.    | | | |-- img129.gif
  10014.    | | | |-- img13.gif
  10015.    | | | |-- img130.gif
  10016.    | | | |-- img131.gif
  10017.    | | | |-- img132.gif
  10018.    | | | |-- img133.gif
  10019.    | | | |-- img134.gif
  10020.    | | | |-- img135.gif
  10021.    | | | |-- img136.gif
  10022.    | | | |-- img137.gif
  10023.    | | | |-- img138.gif
  10024.    | | | |-- img139.gif
  10025.    | | | |-- img14.gif
  10026.    | | | |-- img140.gif
  10027.    | | | |-- img141.gif
  10028.    | | | |-- img142.gif
  10029.    | | | |-- img143.gif
  10030.    | | | |-- img144.gif
  10031.    | | | |-- img145.gif
  10032.    | | | |-- img146.gif
  10033.    | | | |-- img147.gif
  10034.    | | | |-- img148.gif
  10035.    | | | |-- img149.gif
  10036.    | | | |-- img15.gif
  10037.    | | | |-- img150.gif
  10038.    | | | |-- img151.gif
  10039.    | | | |-- img152.gif
  10040.    | | | |-- img153.gif
  10041.    | | | |-- img154.gif
  10042.    | | | |-- img155.gif
  10043.    | | | |-- img156.gif
  10044.    | | | |-- img157.gif
  10045.    | | | |-- img158.gif
  10046.    | | | |-- img159.gif
  10047.    | | | |-- img16.gif
  10048.    | | | |-- img160.gif
  10049.    | | | |-- img161.gif
  10050.    | | | |-- img162.gif
  10051.    | | | |-- img163.gif
  10052.    | | | |-- img164.gif
  10053.    | | | |-- img165.gif
  10054.    | | | |-- img166.gif
  10055.    | | | |-- img167.gif
  10056.    | | | |-- img168.gif
  10057.    | | | |-- img169.gif
  10058.    | | | |-- img17.gif
  10059.    | | | |-- img170.gif
  10060.    | | | |-- img171.gif
  10061.    | | | |-- img172.gif
  10062.    | | | |-- img173.gif
  10063.    | | | |-- img174.gif
  10064.    | | | |-- img175.gif
  10065.    | | | |-- img176.gif
  10066.    | | | |-- img177.gif
  10067.    | | | |-- img178.gif
  10068.    | | | |-- img179.gif
  10069.    | | | |-- img18.gif
  10070.    | | | |-- img180.gif
  10071.    | | | |-- img181.gif
  10072.    | | | |-- img182.gif
  10073.    | | | |-- img183.gif
  10074.    | | | |-- img184.gif
  10075.    | | | |-- img185.gif
  10076.    | | | |-- img186.gif
  10077.    | | | |-- img187.gif
  10078.    | | | |-- img188.gif
  10079.    | | | |-- img189.gif
  10080.    | | | |-- img19.gif
  10081.    | | | |-- img190.gif
  10082.    | | | |-- img191.gif
  10083.    | | | |-- img192.gif
  10084.    | | | |-- img193.gif
  10085.    | | | |-- img194.gif
  10086.    | | | |-- img195.gif
  10087.    | | | |-- img196.gif
  10088.    | | | |-- img197.gif
  10089.    | | | |-- img198.gif
  10090.    | | | |-- img199.gif
  10091.    | | | |-- img2.gif
  10092.    | | | |-- img20.gif
  10093.    | | | |-- img200.gif
  10094.    | | | |-- img201.gif
  10095.    | | | |-- img202.gif
  10096.    | | | |-- img203.gif
  10097.    | | | |-- img204.gif
  10098.    | | | |-- img205.gif
  10099.    | | | |-- img206.gif
  10100.    | | | |-- img207.gif
  10101.    | | | |-- img208.gif
  10102.    | | | |-- img209.gif
  10103.    | | | |-- img21.gif
  10104.    | | | |-- img210.gif
  10105.    | | | |-- img211.gif
  10106.    | | | |-- img212.gif
  10107.    | | | |-- img213.gif
  10108.    | | | |-- img214.gif
  10109.    | | | |-- img215.gif
  10110.    | | | |-- img216.gif
  10111.    | | | |-- img217.gif
  10112.    | | | |-- img218.gif
  10113.    | | | |-- img219.gif
  10114.    | | | |-- img22.gif
  10115.    | | | |-- img220.gif
  10116.    | | | |-- img221.gif
  10117.    | | | |-- img222.gif
  10118.    | | | |-- img223.gif
  10119.    | | | |-- img224.gif
  10120.    | | | |-- img225.gif
  10121.    | | | |-- img226.gif
  10122.    | | | |-- img227.gif
  10123.    | | | |-- img228.gif
  10124.    | | | |-- img229.gif
  10125.    | | | |-- img23.gif
  10126.    | | | |-- img230.gif
  10127.    | | | |-- img231.gif
  10128.    | | | |-- img232.gif
  10129.    | | | |-- img233.gif
  10130.    | | | |-- img234.gif
  10131.    | | | |-- img235.gif
  10132.    | | | |-- img236.gif
  10133.    | | | |-- img237.gif
  10134.    | | | |-- img238.gif
  10135.    | | | |-- img239.gif
  10136.    | | | |-- img24.gif
  10137.    | | | |-- img240.gif
  10138.    | | | |-- img241.gif
  10139.    | | | |-- img242.gif
  10140.    | | | |-- img243.gif
  10141.    | | | |-- img244.gif
  10142.    | | | |-- img245.gif
  10143.    | | | |-- img246.gif
  10144.    | | | |-- img247.gif
  10145.    | | | |-- img248.gif
  10146.    | | | |-- img249.gif
  10147.    | | | |-- img25.gif
  10148.    | | | |-- img250.gif
  10149.    | | | |-- img251.gif
  10150.    | | | |-- img252.gif
  10151.    | | | |-- img253.gif
  10152.    | | | |-- img254.gif
  10153.    | | | |-- img255.gif
  10154.    | | | |-- img256.gif
  10155.    | | | |-- img257.gif
  10156.    | | | |-- img258.gif
  10157.    | | | |-- img259.gif
  10158.    | | | |-- img26.gif
  10159.    | | | |-- img260.gif
  10160.    | | | |-- img261.gif
  10161.    | | | |-- img262.gif
  10162.    | | | |-- img263.gif
  10163.    | | | |-- img264.gif
  10164.    | | | |-- img265.gif
  10165.    | | | |-- img266.gif
  10166.    | | | |-- img267.gif
  10167.    | | | |-- img268.gif
  10168.    | | | |-- img269.gif
  10169.    | | | |-- img27.gif
  10170.    | | | |-- img270.gif
  10171.    | | | |-- img271.gif
  10172.    | | | |-- img272.gif
  10173.    | | | |-- img273.gif
  10174.    | | | |-- img274.gif
  10175.    | | | |-- img275.gif
  10176.    | | | |-- img276.gif
  10177.    | | | |-- img277.gif
  10178.    | | | |-- img278.gif
  10179.    | | | |-- img279.gif
  10180.    | | | |-- img28.gif
  10181.    | | | |-- img280.gif
  10182.    | | | |-- img281.gif
  10183.    | | | |-- img282.gif
  10184.    | | | |-- img283.gif
  10185.    | | | |-- img284.gif
  10186.    | | | |-- img285.gif
  10187.    | | | |-- img286.gif
  10188.    | | | |-- img287.gif
  10189.    | | | |-- img288.gif
  10190.    | | | |-- img289.gif
  10191.    | | | |-- img29.gif
  10192.    | | | |-- img290.gif
  10193.    | | | |-- img291.gif
  10194.    | | | |-- img292.gif
  10195.    | | | |-- img293.gif
  10196.    | | | |-- img294.gif
  10197.    | | | |-- img295.gif
  10198.    | | | |-- img296.gif
  10199.    | | | |-- img297.gif
  10200.    | | | |-- img298.gif
  10201.    | | | |-- img299.gif
  10202.    | | | |-- img3.gif
  10203.    | | | |-- img30.gif
  10204.    | | | |-- img300.gif
  10205.    | | | |-- img301.gif
  10206.    | | | |-- img302.gif
  10207.    | | | |-- img303.gif
  10208.    | | | |-- img304.gif
  10209.    | | | |-- img305.gif
  10210.    | | | |-- img306.gif
  10211.    | | | |-- img307.gif
  10212.    | | | |-- img308.gif
  10213.    | | | |-- img309.gif
  10214.    | | | |-- img31.gif
  10215.    | | | |-- img310.gif
  10216.    | | | |-- img311.gif
  10217.    | | | |-- img312.gif
  10218.    | | | |-- img313.gif
  10219.    | | | |-- img314.gif
  10220.    | | | |-- img315.gif
  10221.    | | | |-- img316.gif
  10222.    | | | |-- img317.gif
  10223.    | | | |-- img318.gif
  10224.    | | | |-- img319.gif
  10225.    | | | |-- img32.gif
  10226.    | | | |-- img320.gif
  10227.    | | | |-- img33.gif
  10228.    | | | |-- img34.gif
  10229.    | | | |-- img35.gif
  10230.    | | | |-- img36.gif
  10231.    | | | |-- img37.gif
  10232.    | | | |-- img38.gif
  10233.    | | | |-- img39.gif
  10234.    | | | |-- img4.gif
  10235.    | | | |-- img40.gif
  10236.    | | | |-- img41.gif
  10237.    | | | |-- img42.gif
  10238.    | | | |-- img43.gif
  10239.    | | | |-- img44.gif
  10240.    | | | |-- img45.gif
  10241.    | | | |-- img46.gif
  10242.    | | | |-- img47.gif
  10243.    | | | |-- img48.gif
  10244.    | | | |-- img49.gif
  10245.    | | | |-- img5.gif
  10246.    | | | |-- img50.gif
  10247.    | | | |-- img51.gif
  10248.    | | | |-- img52.gif
  10249.    | | | |-- img53.gif
  10250.    | | | |-- img54.gif
  10251.    | | | |-- img55.gif
  10252.    | | | |-- img56.gif
  10253.    | | | |-- img57.gif
  10254.    | | | |-- img58.gif
  10255.    | | | |-- img59.gif
  10256.    | | | |-- img6.gif
  10257.    | | | |-- img60.gif
  10258.    | | | |-- img61.gif
  10259.    | | | |-- img62.gif
  10260.    | | | |-- img63.gif
  10261.    | | | |-- img64.gif
  10262.    | | | |-- img65.gif
  10263.    | | | |-- img66.gif
  10264.    | | | |-- img67.gif
  10265.    | | | |-- img68.gif
  10266.    | | | |-- img69.gif
  10267.    | | | |-- img7.gif
  10268.    | | | |-- img70.gif
  10269.    | | | |-- img71.gif
  10270.    | | | |-- img72.gif
  10271.    | | | |-- img73.gif
  10272.    | | | |-- img74.gif
  10273.    | | | |-- img75.gif
  10274.    | | | |-- img76.gif
  10275.    | | | |-- img77.gif
  10276.    | | | |-- img78.gif
  10277.    | | | |-- img79.gif
  10278.    | | | |-- img8.gif
  10279.    | | | |-- img80.gif
  10280.    | | | |-- img81.gif
  10281.    | | | |-- img82.gif
  10282.    | | | |-- img83.gif
  10283.    | | | |-- img84.gif
  10284.    | | | |-- img85.gif
  10285.    | | | |-- img86.gif
  10286.    | | | |-- img87.gif
  10287.    | | | |-- img88.gif
  10288.    | | | |-- img89.gif
  10289.    | | | |-- img9.gif
  10290.    | | | |-- img90.gif
  10291.    | | | |-- img91.gif
  10292.    | | | |-- img92.gif
  10293.    | | | |-- img93.gif
  10294.    | | | |-- img94.gif
  10295.    | | | |-- img95.gif
  10296.    | | | |-- img96.gif
  10297.    | | | |-- img97.gif
  10298.    | | | |-- img98.gif
  10299.    | | | |-- img99.gif
  10300.    | | | |-- index_motif.gif
  10301.    | | | |-- invis_anchor.xbm
  10302.    | | | |-- labels.pl
  10303.    | | | |-- linux.gif
  10304.    | | | |-- next_group_motif.gif
  10305.    | | | |-- next_group_motif_gr.gif
  10306.    | | | |-- next_motif.gif
  10307.    | | | |-- next_motif_gr.gif
  10308.    | | | |-- node1.html
  10309.    | | | |-- node10.html
  10310.    | | | |-- node100.html
  10311.    | | | |-- node101.html
  10312.    | | | |-- node102.html
  10313.    | | | |-- node103.html
  10314.    | | | |-- node104.html
  10315.    | | | |-- node105.html
  10316.    | | | |-- node106.html
  10317.    | | | |-- node107.html
  10318.    | | | |-- node108.html
  10319.    | | | |-- node109.html
  10320.    | | | |-- node11.html
  10321.    | | | |-- node110.html
  10322.    | | | |-- node111.html
  10323.    | | | |-- node112.html
  10324.    | | | |-- node113.html
  10325.    | | | |-- node114.html
  10326.    | | | |-- node115.html
  10327.    | | | |-- node116.html
  10328.    | | | |-- node117.html
  10329.    | | | |-- node118.html
  10330.    | | | |-- node119.html
  10331.    | | | |-- node12.html
  10332.    | | | |-- node120.html
  10333.    | | | |-- node121.html
  10334.    | | | |-- node122.html
  10335.    | | | |-- node123.html
  10336.    | | | |-- node124.html
  10337.    | | | |-- node125.html
  10338.    | | | |-- node126.html
  10339.    | | | |-- node127.html
  10340.    | | | |-- node128.html
  10341.    | | | |-- node129.html
  10342.    | | | |-- node13.html
  10343.    | | | |-- node130.html
  10344.    | | | |-- node131.html
  10345.    | | | |-- node132.html
  10346.    | | | |-- node133.html
  10347.    | | | |-- node134.html
  10348.    | | | |-- node135.html
  10349.    | | | |-- node136.html
  10350.    | | | |-- node137.html
  10351.    | | | |-- node138.html
  10352.    | | | |-- node139.html
  10353.    | | | |-- node14.html
  10354.    | | | |-- node140.html
  10355.    | | | |-- node141.html
  10356.    | | | |-- node142.html
  10357.    | | | |-- node143.html
  10358.    | | | |-- node144.html
  10359.    | | | |-- node145.html
  10360.    | | | |-- node146.html
  10361.    | | | |-- node147.html
  10362.    | | | |-- node148.html
  10363.    | | | |-- node149.html
  10364.    | | | |-- node15.html
  10365.    | | | |-- node150.html
  10366.    | | | |-- node151.html
  10367.    | | | |-- node152.html
  10368.    | | | |-- node153.html
  10369.    | | | |-- node154.html
  10370.    | | | |-- node155.html
  10371.    | | | |-- node156.html
  10372.    | | | |-- node157.html
  10373.    | | | |-- node158.html
  10374.    | | | |-- node159.html
  10375.    | | | |-- node16.html
  10376.    | | | |-- node160.html
  10377.    | | | |-- node161.html
  10378.    | | | |-- node162.html
  10379.    | | | |-- node163.html
  10380.    | | | |-- node164.html
  10381.    | | | |-- node165.html
  10382.    | | | |-- node166.html
  10383.    | | | |-- node167.html
  10384.    | | | |-- node168.html
  10385.    | | | |-- node169.html
  10386.    | | | |-- node17.html
  10387.    | | | |-- node170.html
  10388.    | | | |-- node171.html
  10389.    | | | |-- node172.html
  10390.    | | | |-- node173.html
  10391.    | | | |-- node174.html
  10392.    | | | |-- node175.html
  10393.    | | | |-- node176.html
  10394.    | | | |-- node177.html
  10395.    | | | |-- node178.html
  10396.    | | | |-- node179.html
  10397.    | | | |-- node18.html
  10398.    | | | |-- node180.html
  10399.    | | | |-- node181.html
  10400.    | | | |-- node182.html
  10401.    | | | |-- node183.html
  10402.    | | | |-- node184.html
  10403.    | | | |-- node185.html
  10404.    | | | |-- node186.html
  10405.    | | | |-- node187.html
  10406.    | | | |-- node188.html
  10407.    | | | |-- node189.html
  10408.    | | | |-- node19.html
  10409.    | | | |-- node190.html
  10410.    | | | |-- node191.html
  10411.    | | | |-- node192.html
  10412.    | | | |-- node193.html
  10413.    | | | |-- node194.html
  10414.    | | | |-- node195.html
  10415.    | | | |-- node196.html
  10416.    | | | |-- node197.html
  10417.    | | | |-- node198.html
  10418.    | | | |-- node199.html
  10419.    | | | |-- node2.html
  10420.    | | | |-- node20.html
  10421.    | | | |-- node200.html
  10422.    | | | |-- node201.html
  10423.    | | | |-- node202.html
  10424.    | | | |-- node203.html
  10425.    | | | |-- node204.html
  10426.    | | | |-- node205.html
  10427.    | | | |-- node206.html
  10428.    | | | |-- node207.html
  10429.    | | | |-- node208.html
  10430.    | | | |-- node209.html
  10431.    | | | |-- node21.html
  10432.    | | | |-- node210.html
  10433.    | | | |-- node211.html
  10434.    | | | |-- node212.html
  10435.    | | | |-- node213.html
  10436.    | | | |-- node214.html
  10437.    | | | |-- node215.html
  10438.    | | | |-- node216.html
  10439.    | | | |-- node217.html
  10440.    | | | |-- node218.html
  10441.    | | | |-- node219.html
  10442.    | | | |-- node22.html
  10443.    | | | |-- node220.html
  10444.    | | | |-- node221.html
  10445.    | | | |-- node222.html
  10446.    | | | |-- node223.html
  10447.    | | | |-- node224.html
  10448.    | | | |-- node225.html
  10449.    | | | |-- node226.html
  10450.    | | | |-- node227.html
  10451.    | | | |-- node228.html
  10452.    | | | |-- node229.html
  10453.    | | | |-- node23.html
  10454.    | | | |-- node230.html
  10455.    | | | |-- node231.html
  10456.    | | | |-- node232.html
  10457.    | | | |-- node233.html
  10458.    | | | |-- node234.html
  10459.    | | | |-- node235.html
  10460.    | | | |-- node236.html
  10461.    | | | |-- node237.html
  10462.    | | | |-- node238.html
  10463.    | | | |-- node239.html
  10464.    | | | |-- node24.html
  10465.    | | | |-- node240.html
  10466.    | | | |-- node241.html
  10467.    | | | |-- node242.html
  10468.    | | | |-- node243.html
  10469.    | | | |-- node244.html
  10470.    | | | |-- node245.html
  10471.    | | | |-- node246.html
  10472.    | | | |-- node247.html
  10473.    | | | |-- node248.html
  10474.    | | | |-- node249.html
  10475.    | | | |-- node25.html
  10476.    | | | |-- node250.html
  10477.    | | | |-- node251.html
  10478.    | | | |-- node26.html
  10479.    | | | |-- node27.html
  10480.    | | | |-- node28.html
  10481.    | | | |-- node29.html
  10482.    | | | |-- node3.html
  10483.    | | | |-- node30.html
  10484.    | | | |-- node31.html
  10485.    | | | |-- node32.html
  10486.    | | | |-- node33.html
  10487.    | | | |-- node34.html
  10488.    | | | |-- node35.html
  10489.    | | | |-- node36.html
  10490.    | | | |-- node37.html
  10491.    | | | |-- node38.html
  10492.    | | | |-- node39.html
  10493.    | | | |-- node4.html
  10494.    | | | |-- node40.html
  10495.    | | | |-- node41.html
  10496.    | | | |-- node42.html
  10497.    | | | |-- node43.html
  10498.    | | | |-- node44.html
  10499.    | | | |-- node45.html
  10500.    | | | |-- node46.html
  10501.    | | | |-- node47.html
  10502.    | | | |-- node48.html
  10503.    | | | |-- node49.html
  10504.    | | | |-- node5.html
  10505.    | | | |-- node50.html
  10506.    | | | |-- node51.html
  10507.    | | | |-- node52.html
  10508.    | | | |-- node53.html
  10509.    | | | |-- node54.html
  10510.    | | | |-- node55.html
  10511.    | | | |-- node56.html
  10512.    | | | |-- node57.html
  10513.    | | | |-- node58.html
  10514.    | | | |-- node59.html
  10515.    | | | |-- node6.html
  10516.    | | | |-- node60.html
  10517.    | | | |-- node61.html
  10518.    | | | |-- node62.html
  10519.    | | | |-- node63.html
  10520.    | | | |-- node64.html
  10521.    | | | |-- node65.html
  10522.    | | | |-- node66.html
  10523.    | | | |-- node67.html
  10524.    | | | |-- node68.html
  10525.    | | | |-- node69.html
  10526.    | | | |-- node7.html
  10527.    | | | |-- node70.html
  10528.    | | | |-- node71.html
  10529.    | | | |-- node72.html
  10530.    | | | |-- node73.html
  10531.    | | | |-- node74.html
  10532.    | | | |-- node75.html
  10533.    | | | |-- node76.html
  10534.    | | | |-- node77.html
  10535.    | | | |-- node78.html
  10536.    | | | |-- node79.html
  10537.    | | | |-- node8.html
  10538.    | | | |-- node80.html
  10539.    | | | |-- node81.html
  10540.    | | | |-- node82.html
  10541.    | | | |-- node83.html
  10542.    | | | |-- node84.html
  10543.    | | | |-- node85.html
  10544.    | | | |-- node86.html
  10545.    | | | |-- node87.html
  10546.    | | | |-- node88.html
  10547.    | | | |-- node89.html
  10548.    | | | |-- node9.html
  10549.    | | | |-- node90.html
  10550.    | | | |-- node91.html
  10551.    | | | |-- node92.html
  10552.    | | | |-- node93.html
  10553.    | | | |-- node94.html
  10554.    | | | |-- node95.html
  10555.    | | | |-- node96.html
  10556.    | | | |-- node97.html
  10557.    | | | |-- node98.html
  10558.    | | | |-- node99.html
  10559.    | | | |-- notes.html
  10560.    | | | |-- previous_group_motif.gif
  10561.    | | | |-- previous_group_motif_gr.gif
  10562.    | | | |-- previous_motif.gif
  10563.    | | | |-- previous_motif_gr.gif
  10564.    | | | |-- up_motif.gif
  10565.    | | | `-- up_motif_gr.gif
  10566.    | | `-- rhcl_small.gif
  10567.    | |-- TRANS.TBL
  10568.    | |-- Users-Guide
  10569.    | | |-- RHL-4.1-Users-Guide-HTML.tar.gz
  10570.    | | |-- RHL-4.1-Users-Guide.a4.ps.gz
  10571.    | | |-- RHL-4.1-Users-Guide.ps.gz
  10572.    | | `-- TRANS.TBL
  10573.    | |-- misc
  10574.    | | |-- Boot-Process-Tips.txt
  10575.    | | |-- CD-Type-HOWTO.txt
  10576.    | | |-- Color-ls-Tips.txt
  10577.    | | |-- Compile-Tips.txt
  10578.    | | |-- Custom-X-Tips.txt
  10579.    | | |-- FAQ -> RedHat-FAQ.txt
  10580.    | | |-- FTP-Setup-Tips.txt
  10581.    | | |-- Help-Tips.txt
  10582.    | | |-- INN-Tips.txt
  10583.    | | |-- NFS-Tips.txt
  10584.    | | |-- NYS-Tips.txt
  10585.    | | |-- PPP-Client-HOWTO.txt
  10586.    | | |-- PPP-Tips.txt
  10587.    | | |-- RPM-HOWTO.txt
  10588.    | | |-- RPM-Tips.txt
  10589.    | | |-- RedHat-FAQ.txt
  10590.    | | |-- TRANS.TBL
  10591.    | | |-- UUCP-Tips.txt
  10592.    | | |-- WWW-Server-Tips.txt
  10593.    | | `-- other-formats
  10594.    | | |-- TRANS.TBL
  10595.    | | |-- dvi
  10596.    | | | |-- Boot-Process-Tips.dvi
  10597.    | | | |-- CD-Type-HOWTO.dvi
  10598.    | | | |-- Color-ls-Tips.dvi
  10599.    | | | |-- Compile-Tips.dvi
  10600.    | | | |-- Custom-X-Tips.dvi
  10601.    | | | |-- FTP-Setup-Tips.dvi
  10602.    | | | |-- Help-Tips.dvi
  10603.    | | | |-- INN-Tips.dvi
  10604.    | | | |-- NFS-Tips.dvi
  10605.    | | | |-- NYS-Tips.dvi
  10606.    | | | |-- PPP-Client-HOWTO.dvi
  10607.    | | | |-- PPP-Tips.dvi
  10608.    | | | |-- RPM-HOWTO.dvi
  10609.    | | | |-- RPM-Tips.dvi
  10610.    | | | |-- RedHat-FAQ.dvi
  10611.    | | | |-- TRANS.TBL
  10612.    | | | |-- UUCP-Tips.dvi
  10613.    | | | `-- WWW-Server-Tips.dvi
  10614.    | | |-- html.untarred
  10615.    | | | |-- Boot-Process-Tips-1.html
  10616.    | | | |-- Boot-Process-Tips-2.html
  10617.    | | | |-- Boot-Process-Tips-3.html
  10618.    | | | |-- Boot-Process-Tips.html
  10619.    | | | |-- CD-Type-HOWTO-1.html
  10620.    | | | |-- CD-Type-HOWTO-2.html
  10621.    | | | |-- CD-Type-HOWTO-3.html
  10622.    | | | |-- CD-Type-HOWTO-4.html
  10623.    | | | |-- CD-Type-HOWTO-5.html
  10624.    | | | |-- CD-Type-HOWTO-6.html
  10625.    | | | |-- CD-Type-HOWTO-7.html
  10626.    | | | |-- CD-Type-HOWTO-8.html
  10627.    | | | |-- CD-Type-HOWTO-9.html
  10628.    | | | |-- CD-Type-HOWTO.html
  10629.    | | | |-- CD-Type-HOWTO.sgml.html
  10630.    | | | |-- Color-ls-Tips.html
  10631.    | | | |-- Compile-Tips.html
  10632.    | | | |-- Custom-X-Tips.html
  10633.    | | | |-- FTP-Setup-Tips.html
  10634.    | | | |-- Help-Tips-1.html
  10635.    | | | |-- Help-Tips-2.html
  10636.    | | | |-- Help-Tips-3.html
  10637.    | | | |-- Help-Tips-4.html
  10638.    | | | |-- Help-Tips-5.html
  10639.    | | | |-- Help-Tips-6.html
  10640.    | | | |-- Help-Tips-7.html
  10641.    | | | |-- Help-Tips.html
  10642.    | | | |-- INN-Tips.html
  10643.    | | | |-- NFS-Tips.html
  10644.    | | | |-- NYS-Tips-1.html
  10645.    | | | |-- NYS-Tips-2.html
  10646.    | | | |-- NYS-Tips-3.html
  10647.    | | | |-- NYS-Tips.html
  10648.    | | | |-- PPP-Client-HOWTO-1.html
  10649.    | | | |-- PPP-Client-HOWTO-10.html
  10650.    | | | |-- PPP-Client-HOWTO-11.html
  10651.    | | | |-- PPP-Client-HOWTO-12.html
  10652.    | | | |-- PPP-Client-HOWTO-13.html
  10653.    | | | |-- PPP-Client-HOWTO-14.html
  10654.    | | | |-- PPP-Client-HOWTO-15.html
  10655.    | | | |-- PPP-Client-HOWTO-16.html
  10656.    | | | |-- PPP-Client-HOWTO-17.html
  10657.    | | | |-- PPP-Client-HOWTO-18.html
  10658.    | | | |-- PPP-Client-HOWTO-19.html
  10659.    | | | |-- PPP-Client-HOWTO-2.html
  10660.    | | | |-- PPP-Client-HOWTO-20.html
  10661.    | | | |-- PPP-Client-HOWTO-21.html
  10662.    | | | |-- PPP-Client-HOWTO-22.html
  10663.    | | | |-- PPP-Client-HOWTO-23.html
  10664.    | | | |-- PPP-Client-HOWTO-24.html
  10665.    | | | |-- PPP-Client-HOWTO-3.html
  10666.    | | | |-- PPP-Client-HOWTO-4.html
  10667.    | | | |-- PPP-Client-HOWTO-5.html
  10668.    | | | |-- PPP-Client-HOWTO-6.html
  10669.    | | | |-- PPP-Client-HOWTO-7.html
  10670.    | | | |-- PPP-Client-HOWTO-8.html
  10671.    | | | |-- PPP-Client-HOWTO-9.html
  10672.    | | | |-- PPP-Client-HOWTO.html
  10673.    | | | |-- PPP-Tips.html
  10674.    | | | |-- RH-2.0-Manual.sgml-1.html
  10675.    | | | |-- RH-2.0-Manual.sgml-2.html
  10676.    | | | |-- RH-2.0-Manual.sgml-3.html
  10677.    | | | |-- RH-2.0-Manual.sgml-4.html
  10678.    | | | |-- RH-2.0-Manual.sgml-5.html
  10679.    | | | |-- RH-2.0-Manual.sgml-6.html
  10680.    | | | |-- RH-2.0-Manual.sgml.html
  10681.    | | | |-- RHCL-Installation-HOWTO.sgml-1.html
  10682.    | | | |-- RHCL-Installation-HOWTO.sgml-2.html
  10683.    | | | |-- RHCL-Installation-HOWTO.sgml-3.html
  10684.    | | | |-- RHCL-Installation-HOWTO.sgml-4.html
  10685.    | | | |-- RHCL-Installation-HOWTO.sgml-5.html
  10686.    | | | |-- RHCL-Installation-HOWTO.sgml-6.html
  10687.    | | | |-- RHCL-Installation-HOWTO.sgml-7.html
  10688.    | | | |-- RHCL-Installation-HOWTO.sgml-8.html
  10689.    | | | |-- RHCL-Installation-HOWTO.sgml-9.html
  10690.    | | | |-- RHCL-Installation-HOWTO.sgml.html
  10691.    | | | |-- RPM-HOWTO-1.html
  10692.    | | | |-- RPM-HOWTO-2.html
  10693.    | | | |-- RPM-HOWTO-3.html
  10694.    | | | |-- RPM-HOWTO-4.html
  10695.    | | | |-- RPM-HOWTO-5.html
  10696.    | | | |-- RPM-HOWTO-6.html
  10697.    | | | |-- RPM-HOWTO-7.html
  10698.    | | | |-- RPM-HOWTO-8.html
  10699.    | | | |-- RPM-HOWTO-9.html
  10700.    | | | |-- RPM-HOWTO.html
  10701.    | | | |-- RPM-HOWTO.sgml-1.html
  10702.    | | | |-- RPM-HOWTO.sgml-2.html
  10703.    | | | |-- RPM-HOWTO.sgml-3.html
  10704.    | | | |-- RPM-HOWTO.sgml-4.html
  10705.    | | | |-- RPM-HOWTO.sgml-5.html
  10706.    | | | |-- RPM-HOWTO.sgml-6.html
  10707.    | | | |-- RPM-HOWTO.sgml-7.html
  10708.    | | | |-- RPM-HOWTO.sgml-8.html
  10709.    | | | |-- RPM-HOWTO.sgml.html
  10710.    | | | |-- RPM-Tips.html
  10711.    | | | |-- RedHat-FAQ-1.html
  10712.    | | | |-- RedHat-FAQ-2.html
  10713.    | | | |-- RedHat-FAQ-3.html
  10714.    | | | |-- RedHat-FAQ-4.html
  10715.    | | | |-- RedHat-FAQ-5.html
  10716.    | | | |-- RedHat-FAQ-6.html
  10717.    | | | |-- RedHat-FAQ.html
  10718.    | | | |-- RedHat-FAQ.sgml-1.html
  10719.    | | | |-- RedHat-FAQ.sgml-2.html
  10720.    | | | |-- RedHat-FAQ.sgml-3.html
  10721.    | | | |-- RedHat-FAQ.sgml-4.html
  10722.    | | | |-- RedHat-FAQ.sgml-5.html
  10723.    | | | |-- RedHat-FAQ.sgml-6.html
  10724.    | | | |-- RedHat-FAQ.sgml-7.html
  10725.    | | | |-- RedHat-FAQ.sgml.html
  10726.    | | | |-- RedHat-HOWTO-1.html
  10727.    | | | |-- RedHat-HOWTO-2.html
  10728.    | | | |-- RedHat-HOWTO-3.html
  10729.    | | | |-- RedHat-HOWTO-4.html
  10730.    | | | |-- RedHat-HOWTO-5.html
  10731.    | | | |-- RedHat-HOWTO-6.html
  10732.    | | | |-- RedHat-HOWTO-7.html
  10733.    | | | |-- RedHat-HOWTO-8.html
  10734.    | | | |-- RedHat-HOWTO.html
  10735.    | | | |-- RedHat-HOWTO.sgml-1.html
  10736.    | | | |-- RedHat-HOWTO.sgml-2.html
  10737.    | | | |-- RedHat-HOWTO.sgml-3.html
  10738.    | | | |-- RedHat-HOWTO.sgml-4.html
  10739.    | | | |-- RedHat-HOWTO.sgml-5.html
  10740.    | | | |-- RedHat-HOWTO.sgml-6.html
  10741.    | | | |-- RedHat-HOWTO.sgml-7.html
  10742.    | | | |-- RedHat-HOWTO.sgml-8.html
  10743.    | | | |-- RedHat-HOWTO.sgml.html
  10744.    | | | |-- SparcLinux-HOWTO-1.html
  10745.    | | | |-- SparcLinux-HOWTO-2.html
  10746.    | | | |-- SparcLinux-HOWTO-3.html
  10747.    | | | |-- SparcLinux-HOWTO-4.html
  10748.    | | | |-- SparcLinux-HOWTO-5.html
  10749.    | | | |-- SparcLinux-HOWTO-6.html
  10750.    | | | |-- SparcLinux-HOWTO.html
  10751.    | | | |-- SparcLinux-HOWTO.sgml.html
  10752.    | | | |-- TRANS.TBL
  10753.    | | | |-- Test-HOWTO-1.html
  10754.    | | | |-- Test-HOWTO.html
  10755.    | | | |-- UUCP-Tips-1.html
  10756.    | | | |-- UUCP-Tips-2.html
  10757.    | | | |-- UUCP-Tips-3.html
  10758.    | | | |-- UUCP-Tips-4.html
  10759.    | | | |-- UUCP-Tips-5.html
  10760.    | | | |-- UUCP-Tips-6.html
  10761.    | | | |-- UUCP-Tips.html
  10762.    | | | |-- WWW-Server-Tips.html
  10763.    | | | `-- tar.gz
  10764.    | | | |-- Boot-Process-Tips.html.tar.gz
  10765.    | | | |-- CD-Type-HOWTO.html.tar.gz
  10766.    | | | |-- Color-ls-Tips.html.tar.gz
  10767.    | | | |-- Compile-Tips.html.tar.gz
  10768.    | | | |-- Custom-X-Tips.html.tar.gz
  10769.    | | | |-- FTP-Setup-Tips.html.tar.gz
  10770.    | | | |-- Help-Tips.html.tar.gz
  10771.    | | | |-- INN-Tips.html.tar.gz
  10772.    | | | |-- NFS-Tips.html.tar.gz
  10773.    | | | |-- NYS-Tips.html.tar.gz
  10774.    | | | |-- PPP-Client-HOWTO.html.tar.gz
  10775.    | | | |-- PPP-Tips.html.tar.gz
  10776.    | | | |-- RPM-HOWTO.html.tar.gz
  10777.    | | | |-- RPM-Tips.html.tar.gz
  10778.    | | | |-- RedHat-FAQ.html.tar.gz
  10779.    | | | |-- TRANS.TBL
  10780.    | | | |-- UUCP-Tips.html.tar.gz
  10781.    | | | `-- WWW-Server-Tips.html.tar.gz
  10782.    | | `-- ps
  10783.    | | |-- Boot-Process-Tips.ps
  10784.    | | |-- CD-Type-HOWTO.ps
  10785.    | | |-- Color-ls-Tips.ps
  10786.    | | |-- Compile-Tips.ps
  10787.    | | |-- Custom-X-Tips.ps
  10788.    | | |-- FTP-Setup-Tips.ps
  10789.    | | |-- Help-Tips.ps
  10790.    | | |-- INN-Tips.ps
  10791.    | | |-- NFS-Tips.ps
  10792.    | | |-- NYS-Tips.ps
  10793.    | | |-- PPP-Client-HOWTO.ps
  10794.    | | |-- PPP-Tips.ps
  10795.    | | |-- RPM-HOWTO.ps
  10796.    | | |-- RPM-Tips.ps
  10797.    | | |-- RedHat-FAQ.ps
  10798.    | | |-- TRANS.TBL
  10799.    | | |-- UUCP-Tips.ps
  10800.    | | `-- WWW-Server-Tips.ps
  10801.    | `-- redhat-digest
  10802.    | |-- TRANS.TBL
  10803.    | |-- volume95
  10804.    | | |-- TRANS.TBL
  10805.    | | |-- issue-1.gz
  10806.    | | |-- issue-10.gz
  10807.    | | |-- issue-100.gz
  10808.    | | |-- issue-101.gz
  10809.    | | |-- issue-102.gz
  10810.    | | |-- issue-103.gz
  10811.    | | |-- issue-104.gz
  10812.    | | |-- issue-105.gz
  10813.    | | |-- issue-106.gz
  10814.    | | |-- issue-107.gz
  10815.    | | |-- issue-108.gz
  10816.    | | |-- issue-109.gz
  10817.    | | |-- issue-11.gz
  10818.    | | |-- issue-110.gz
  10819.    | | |-- issue-111.gz
  10820.    | | |-- issue-112.gz
  10821.    | | |-- issue-113.gz
  10822.    | | |-- issue-114.gz
  10823.    | | |-- issue-115.gz
  10824.    | | |-- issue-116.gz
  10825.    | | |-- issue-117.gz
  10826.    | | |-- issue-118.gz
  10827.    | | |-- issue-119.gz
  10828.    | | |-- issue-12.gz
  10829.    | | |-- issue-120.gz
  10830.    | | |-- issue-121.gz
  10831.    | | |-- issue-122.gz
  10832.    | | |-- issue-123.gz
  10833.    | | |-- issue-124.gz
  10834.    | | |-- issue-125.gz
  10835.    | | |-- issue-126.gz
  10836.    | | |-- issue-127.gz
  10837.    | | |-- issue-128.gz
  10838.    | | |-- issue-129.gz
  10839.    | | |-- issue-13.gz
  10840.    | | |-- issue-130.gz
  10841.    | | |-- issue-131.gz
  10842.    | | |-- issue-132.gz
  10843.    | | |-- issue-133.gz
  10844.    | | |-- issue-134.gz
  10845.    | | |-- issue-135.gz
  10846.    | | |-- issue-136.gz
  10847.    | | |-- issue-137.gz
  10848.    | | |-- issue-138.gz
  10849.    | | |-- issue-139.gz
  10850.    | | |-- issue-14.gz
  10851.    | | |-- issue-140.gz
  10852.    | | |-- issue-141.gz
  10853.    | | |-- issue-142.gz
  10854.    | | |-- issue-143.gz
  10855.    | | |-- issue-144.gz
  10856.    | | |-- issue-145.gz
  10857.    | | |-- issue-146.gz
  10858.    | | |-- issue-147.gz
  10859.    | | |-- issue-148.gz
  10860.    | | |-- issue-149.gz
  10861.    | | |-- issue-15.gz
  10862.    | | |-- issue-150.gz
  10863.    | | |-- issue-151.gz
  10864.    | | |-- issue-152.gz
  10865.    | | |-- issue-153.gz
  10866.    | | |-- issue-154.gz
  10867.    | | |-- issue-155.gz
  10868.    | | |-- issue-156.gz
  10869.    | | |-- issue-157.gz
  10870.    | | |-- issue-158.gz
  10871.    | | |-- issue-159.gz
  10872.    | | |-- issue-16.gz
  10873.    | | |-- issue-160.gz
  10874.    | | |-- issue-161.gz
  10875.    | | |-- issue-162.gz
  10876.    | | |-- issue-163.gz
  10877.    | | |-- issue-164.gz
  10878.    | | |-- issue-165.gz
  10879.    | | |-- issue-166.gz
  10880.    | | |-- issue-167.gz
  10881.    | | |-- issue-168.gz
  10882.    | | |-- issue-169.gz
  10883.    | | |-- issue-17.gz
  10884.    | | |-- issue-170.gz
  10885.    | | |-- issue-171.gz
  10886.    | | |-- issue-18.gz
  10887.    | | |-- issue-19.gz
  10888.    | | |-- issue-2.gz
  10889.    | | |-- issue-20.gz
  10890.    | | |-- issue-21.gz
  10891.    | | |-- issue-22.gz
  10892.    | | |-- issue-23.gz
  10893.    | | |-- issue-24.gz
  10894.    | | |-- issue-25.gz
  10895.    | | |-- issue-26.gz
  10896.    | | |-- issue-27.gz
  10897.    | | |-- issue-28.gz
  10898.    | | |-- issue-29.gz
  10899.    | | |-- issue-3.gz
  10900.    | | |-- issue-30.gz
  10901.    | | |-- issue-31.gz
  10902.    | | |-- issue-32.gz
  10903.    | | |-- issue-33.gz
  10904.    | | |-- issue-34.gz
  10905.    | | |-- issue-35.gz
  10906.    | | |-- issue-36.gz
  10907.    | | |-- issue-37.gz
  10908.    | | |-- issue-38.gz
  10909.    | | |-- issue-39.gz
  10910.    | | |-- issue-4.gz
  10911.    | | |-- issue-40.gz
  10912.    | | |-- issue-41.gz
  10913.    | | |-- issue-42.gz
  10914.    | | |-- issue-43.gz
  10915.    | | |-- issue-44.gz
  10916.    | | |-- issue-45.gz
  10917.    | | |-- issue-46.gz
  10918.    | | |-- issue-47.gz
  10919.    | | |-- issue-48.gz
  10920.    | | |-- issue-49.gz
  10921.    | | |-- issue-5.gz
  10922.    | | |-- issue-50.gz
  10923.    | | |-- issue-51.gz
  10924.    | | |-- issue-52.gz
  10925.    | | |-- issue-53.gz
  10926.    | | |-- issue-54.gz
  10927.    | | |-- issue-55.gz
  10928.    | | |-- issue-56.gz
  10929.    | | |-- issue-57.gz
  10930.    | | |-- issue-58.gz
  10931.    | | |-- issue-59.gz
  10932.    | | |-- issue-6.gz
  10933.    | | |-- issue-60.gz
  10934.    | | |-- issue-61.gz
  10935.    | | |-- issue-62.gz
  10936.    | | |-- issue-63.gz
  10937.    | | |-- issue-64.gz
  10938.    | | |-- issue-65.gz
  10939.    | | |-- issue-66.gz
  10940.    | | |-- issue-67.gz
  10941.    | | |-- issue-68.gz
  10942.    | | |-- issue-69.gz
  10943.    | | |-- issue-7.gz
  10944.    | | |-- issue-70.gz
  10945.    | | |-- issue-71.gz
  10946.    | | |-- issue-72.gz
  10947.    | | |-- issue-73.gz
  10948.    | | |-- issue-74.gz
  10949.    | | |-- issue-75.gz
  10950.    | | |-- issue-76.gz
  10951.    | | |-- issue-77.gz
  10952.    | | |-- issue-78.gz
  10953.    | | |-- issue-79.gz
  10954.    | | |-- issue-8.gz
  10955.    | | |-- issue-80.gz
  10956.    | | |-- issue-81.gz
  10957.    | | |-- issue-82.gz
  10958.    | | |-- issue-83.gz
  10959.    | | |-- issue-84.gz
  10960.    | | |-- issue-85.gz
  10961.    | | |-- issue-86.gz
  10962.    | | |-- issue-87.gz
  10963.    | | |-- issue-88.gz
  10964.    | | |-- issue-89.gz
  10965.    | | |-- issue-9.gz
  10966.    | | |-- issue-90.gz
  10967.    | | |-- issue-91.gz
  10968.    | | |-- issue-92.gz
  10969.    | | |-- issue-93.gz
  10970.    | | |-- issue-94.gz
  10971.    | | |-- issue-95.gz
  10972.    | | |-- issue-96.gz
  10973.    | | |-- issue-97.gz
  10974.    | | |-- issue-98.gz
  10975.    | | `-- issue-99.gz
  10976.    | `-- volume96
  10977.    | |-- TRANS.TBL
  10978.    | |-- issue-1.gz
  10979.    | |-- issue-10.gz
  10980.    | |-- issue-100.gz
  10981.    | |-- issue-101.gz
  10982.    | |-- issue-102.gz
  10983.    | |-- issue-103.gz
  10984.    | |-- issue-104.gz
  10985.    | |-- issue-105.gz
  10986.    | |-- issue-106.gz
  10987.    | |-- issue-107.gz
  10988.    | |-- issue-108.gz
  10989.    | |-- issue-109.gz
  10990.    | |-- issue-11.gz
  10991.    | |-- issue-110.gz
  10992.    | |-- issue-111.gz
  10993.    | |-- issue-112.gz
  10994.    | |-- issue-113.gz
  10995.    | |-- issue-114.gz
  10996.    | |-- issue-115.gz
  10997.    | |-- issue-116.gz
  10998.    | |-- issue-117.gz
  10999.    | |-- issue-118.gz
  11000.    | |-- issue-119.gz
  11001.    | |-- issue-12.gz
  11002.    | |-- issue-120.gz
  11003.    | |-- issue-121.gz
  11004.    | |-- issue-122.gz
  11005.    | |-- issue-123.gz
  11006.    | |-- issue-124.gz
  11007.    | |-- issue-125.gz
  11008.    | |-- issue-126.gz
  11009.    | |-- issue-127.gz
  11010.    | |-- issue-128.gz
  11011.    | |-- issue-129.gz
  11012.    | |-- issue-13.gz
  11013.    | |-- issue-130.gz
  11014.    | |-- issue-131.gz
  11015.    | |-- issue-132.gz
  11016.    | |-- issue-133.gz
  11017.    | |-- issue-134.gz
  11018.    | |-- issue-135.gz
  11019.    | |-- issue-136.gz
  11020.    | |-- issue-137.gz
  11021.    | |-- issue-138.gz
  11022.    | |-- issue-139.gz
  11023.    | |-- issue-14.gz
  11024.    | |-- issue-140.gz
  11025.    | |-- issue-141.gz
  11026.    | |-- issue-142.gz
  11027.    | |-- issue-143.gz
  11028.    | |-- issue-144.gz
  11029.    | |-- issue-145.gz
  11030.    | |-- issue-146.gz
  11031.    | |-- issue-147.gz
  11032.    | |-- issue-148.gz
  11033.    | |-- issue-149.gz
  11034.    | |-- issue-15.gz
  11035.    | |-- issue-150.gz
  11036.    | |-- issue-151.gz
  11037.    | |-- issue-152.gz
  11038.    | |-- issue-153.gz
  11039.    | |-- issue-154.gz
  11040.    | |-- issue-155.gz
  11041.    | |-- issue-156.gz
  11042.    | |-- issue-157.gz
  11043.    | |-- issue-158.gz
  11044.    | |-- issue-159.gz
  11045.    | |-- issue-16.gz
  11046.    | |-- issue-160.gz
  11047.    | |-- issue-161.gz
  11048.    | |-- issue-162.gz
  11049.    | |-- issue-163.gz
  11050.    | |-- issue-164.gz
  11051.    | |-- issue-165.gz
  11052.    | |-- issue-166.gz
  11053.    | |-- issue-167.gz
  11054.    | |-- issue-168.gz
  11055.    | |-- issue-169.gz
  11056.    | |-- issue-17.gz
  11057.    | |-- issue-170.gz
  11058.    | |-- issue-171.gz
  11059.    | |-- issue-172.gz
  11060.    | |-- issue-173.gz
  11061.    | |-- issue-174.gz
  11062.    | |-- issue-175.gz
  11063.    | |-- issue-176.gz
  11064.    | |-- issue-177.gz
  11065.    | |-- issue-178.gz
  11066.    | |-- issue-179.gz
  11067.    | |-- issue-18.gz
  11068.    | |-- issue-180.gz
  11069.    | |-- issue-181.gz
  11070.    | |-- issue-182.gz
  11071.    | |-- issue-183.gz
  11072.    | |-- issue-184.gz
  11073.    | |-- issue-185.gz
  11074.    | |-- issue-186.gz
  11075.    | |-- issue-187.gz
  11076.    | |-- issue-188.gz
  11077.    | |-- issue-189.gz
  11078.    | |-- issue-19.gz
  11079.    | |-- issue-190.gz
  11080.    | |-- issue-191.gz
  11081.    | |-- issue-192.gz
  11082.    | |-- issue-2.gz
  11083.    | |-- issue-20.gz
  11084.    | |-- issue-21.gz
  11085.    | |-- issue-22.gz
  11086.    | |-- issue-23.gz
  11087.    | |-- issue-24.gz
  11088.    | |-- issue-25.gz
  11089.    | |-- issue-26.gz
  11090.    | |-- issue-27.gz
  11091.    | |-- issue-28.gz
  11092.    | |-- issue-29.gz
  11093.    | |-- issue-3.gz
  11094.    | |-- issue-30.gz
  11095.    | |-- issue-31.gz
  11096.    | |-- issue-32.gz
  11097.    | |-- issue-33.gz
  11098.    | |-- issue-34.gz
  11099.    | |-- issue-35.gz
  11100.    | |-- issue-36.gz
  11101.    | |-- issue-37.gz
  11102.    | |-- issue-38.gz
  11103.    | |-- issue-39.gz
  11104.    | |-- issue-4.gz
  11105.    | |-- issue-40.gz
  11106.    | |-- issue-41.gz
  11107.    | |-- issue-42.gz
  11108.    | |-- issue-43.gz
  11109.    | |-- issue-44.gz
  11110.    | |-- issue-45.gz
  11111.    | |-- issue-46.gz
  11112.    | |-- issue-47.gz
  11113.    | |-- issue-48.gz
  11114.    | |-- issue-49.gz
  11115.    | |-- issue-5.gz
  11116.    | |-- issue-50.gz
  11117.    | |-- issue-51.gz
  11118.    | |-- issue-52.gz
  11119.    | |-- issue-53.gz
  11120.    | |-- issue-54.gz
  11121.    | |-- issue-55.gz
  11122.    | |-- issue-56.gz
  11123.    | |-- issue-57.gz
  11124.    | |-- issue-58.gz
  11125.    | |-- issue-59.gz
  11126.    | |-- issue-6.gz
  11127.    | |-- issue-60.gz
  11128.    | |-- issue-61.gz
  11129.    | |-- issue-62.gz
  11130.    | |-- issue-63.gz
  11131.    | |-- issue-64.gz
  11132.    | |-- issue-65.gz
  11133.    | |-- issue-66.gz
  11134.    | |-- issue-67.gz
  11135.    | |-- issue-68.gz
  11136.    | |-- issue-69.gz
  11137.    | |-- issue-7.gz
  11138.    | |-- issue-70.gz
  11139.    | |-- issue-71.gz
  11140.    | |-- issue-72.gz
  11141.    | |-- issue-73.gz
  11142.    | |-- issue-74.gz
  11143.    | |-- issue-75.gz
  11144.    | |-- issue-76.gz
  11145.    | |-- issue-77.gz
  11146.    | |-- issue-78.gz
  11147.    | |-- issue-79.gz
  11148.    | |-- issue-8.gz
  11149.    | |-- issue-80.gz
  11150.    | |-- issue-81.gz
  11151.    | |-- issue-82.gz
  11152.    | |-- issue-83.gz
  11153.    | |-- issue-84.gz
  11154.    | |-- issue-85.gz
  11155.    | |-- issue-86.gz
  11156.    | |-- issue-87.gz
  11157.    | |-- issue-88.gz
  11158.    | |-- issue-89.gz
  11159.    | |-- issue-9.gz
  11160.    | |-- issue-90.gz
  11161.    | |-- issue-91.gz
  11162.    | |-- issue-92.gz
  11163.    | |-- issue-93.gz
  11164.    | |-- issue-94.gz
  11165.    | |-- issue-95.gz
  11166.    | |-- issue-96.gz
  11167.    | |-- issue-97.gz
  11168.    | |-- issue-98.gz
  11169.    | `-- issue-99.gz
  11170.    |-- dosutils
  11171.    | |-- TRANS.TBL
  11172.    | |-- autoboot
  11173.    | | |-- TRANS.TBL
  11174.    | | |-- initrd.img
  11175.    | | |-- kernel-2.013
  11176.    | | `-- vmlinuz
  11177.    | |-- autoboot.bat
  11178.    | |-- copying
  11179.    | |-- dos2unix
  11180.    | | |-- TRANS.TBL
  11181.    | | |-- dos2unix.c
  11182.    | | |-- dos2unix.com
  11183.    | | |-- dos2unix.msg
  11184.    | | |-- file_id.diz
  11185.    | | |-- makefile.msc
  11186.    | | |-- makefile.unx
  11187.    | | |-- makefile.ztc
  11188.    | | |-- unix2dos.c
  11189.    | | `-- unix2dos.com
  11190.    | |-- fips.15
  11191.    | | |-- TRANS.TBL
  11192.    | | |-- copying
  11193.    | | |-- errors.txt
  11194.    | | |-- fips.doc
  11195.    | | |-- fips.exe
  11196.    | | |-- fips.faq
  11197.    | | |-- fips15.zip
  11198.    | | |-- history.txt
  11199.    | | |-- manuelfr.txt
  11200.    | | |-- readme.1st
  11201.    | | |-- restorrb
  11202.    | | | |-- TRANS.TBL
  11203.    | | | |-- restorrb.c
  11204.    | | | |-- rtypes.h
  11205.    | | | `-- rversion.h
  11206.    | | |-- restorrb.exe
  11207.    | | |-- source
  11208.    | | | |-- TRANS.TBL
  11209.    | | | |-- calculat.cpp
  11210.    | | | |-- check.cpp
  11211.    | | | |-- cmdl_arg.cpp
  11212.    | | | |-- disk_io.cpp
  11213.    | | | |-- disk_io.h
  11214.    | | | |-- fat.cpp
  11215.    | | | |-- fat.h
  11216.    | | | |-- fipsspec.cpp
  11217.    | | | |-- fipsspec.h
  11218.    | | | |-- getopt.c
  11219.    | | | |-- getopt.h
  11220.    | | | |-- global.cpp
  11221.    | | | |-- global.h
  11222.    | | | |-- hdstruct.cpp
  11223.    | | | |-- hdstruct.h
  11224.    | | | |-- host_os.cpp
  11225.    | | | |-- host_os.h
  11226.    | | | |-- input.cpp
  11227.    | | | |-- input.h
  11228.    | | | |-- logdr_st.cpp
  11229.    | | | |-- logdr_st.h
  11230.    | | | |-- main.cpp
  11231.    | | | |-- primpart.h
  11232.    | | | |-- save.cpp
  11233.    | | | |-- types.h
  11234.    | | | `-- version.h
  11235.    | | |-- special.doc
  11236.    | | `-- techinfo.txt
  11237.    | |-- gzip124
  11238.    | | |-- TRANS.TBL
  11239.    | | |-- copying
  11240.    | | |-- file_id.diz
  11241.    | | |-- gzip.doc
  11242.    | | |-- gzip.exe
  11243.    | | |-- gzip386.exe
  11244.    | | |-- readme
  11245.    | | `-- readme.dos
  11246.    | |-- loadlin.exe
  11247.    | |-- lodlin16
  11248.    | | |-- TRANS.TBL
  11249.    | | |-- copying
  11250.    | | |-- doc
  11251.    | | | |-- TRANS.TBL
  11252.    | | | |-- announce.txt
  11253.    | | | |-- changes
  11254.    | | | |-- initrd.txt
  11255.    | | | |-- lodlin16.lsm
  11256.    | | | |-- manual.txt
  11257.    | | | |-- params.doc
  11258.    | | | `-- quicksta.rt
  11259.    | | |-- doc.fr
  11260.    | | | |-- TRANS.TBL
  11261.    | | | |-- initrd.txt
  11262.    | | | |-- manuel.txt
  11263.    | | | `-- params.doc
  11264.    | | |-- files
  11265.    | | |-- initrd
  11266.    | | | |-- TRANS.TBL
  11267.    | | | |-- freeramd.c
  11268.    | | | |-- linuxrc.c
  11269.    | | | |-- makefile
  11270.    | | | `-- mkdisk
  11271.    | | |-- initrd.tgz
  11272.    | | |-- initrd.txt
  11273.    | | |-- linux.bat
  11274.    | | |-- loadlin.exe
  11275.    | | |-- manuel.txt
  11276.    | | |-- params.doc
  11277.    | | |-- readme.1st
  11278.    | | |-- src
  11279.    | | | |-- TRANS.TBL
  11280.    | | | |-- loadlin.asm
  11281.    | | | |-- loadlina.asm
  11282.    | | | |-- loadlini.asm
  11283.    | | | |-- loadlinj.asm
  11284.    | | | |-- loadlinm.asm
  11285.    | | | |-- makefile
  11286.    | | | |-- pgadjust.asm
  11287.    | | | |-- srclinux
  11288.    | | | | |-- TRANS.TBL
  11289.    | | | | |-- loadlinh.s
  11290.    | | | | |-- makefile
  11291.    | | | | `-- pgadjust.c
  11292.    | | | `-- srclinux.tgz
  11293.    | | `-- test.par
  11294.    | |-- rawrite3
  11295.    | | |-- TRANS.TBL
  11296.    | | |-- rawrite.exe
  11297.    | | `-- rawrite3.doc
  11298.    | |-- rdev
  11299.    | | |-- TRANS.TBL
  11300.    | | `-- rdev.exe
  11301.    | |-- readme
  11302.    | |-- restorrb
  11303.    | | |-- TRANS.TBL
  11304.    | | `-- restorrb.exe
  11305.    | |-- tar320c
  11306.    | | |-- TRANS.TBL
  11307.    | | |-- file_id.diz
  11308.    | | |-- license.txt
  11309.    | | |-- read.me
  11310.    | | |-- sources
  11311.    | | | |-- !compile.bat
  11312.    | | | |-- TRANS.TBL
  11313.    | | | |-- aspi.c
  11314.    | | | |-- aspient.asm
  11315.    | | | |-- bits.c
  11316.    | | | |-- compress.c
  11317.    | | | |-- compress.h
  11318.    | | | |-- crc32.c
  11319.    | | | |-- crc32.h
  11320.    | | | |-- cthandle.asm
  11321.    | | | |-- ctquirks.asm
  11322.    | | | |-- define.h
  11323.    | | | |-- deflate.c
  11324.    | | | |-- disk.c
  11325.    | | | |-- diszip.c
  11326.    | | | |-- extract.c
  11327.    | | | |-- farnear.inc
  11328.    | | | |-- fmatch.c
  11329.    | | | |-- lzpack.c
  11330.    | | | |-- lzpack.h
  11331.    | | | |-- lzwbits.h
  11332.    | | | |-- lzwhead.h
  11333.    | | | |-- makefile
  11334.    | | | |-- makefile.ix
  11335.    | | | |-- match.asm
  11336.    | | | |-- match.s
  11337.    | | | |-- modern.h
  11338.    | | | |-- nodedef.h
  11339.    | | | |-- pclevel.asm
  11340.    | | | |-- pctimer.asm
  11341.    | | | |-- pctimer.h
  11342.    | | | |-- percent.c
  11343.    | | | |-- qic02.h
  11344.    | | | |-- qicface.c
  11345.    | | | |-- readopt.c
  11346.    | | | |-- restore.c
  11347.    | | | |-- roll.c
  11348.    | | | |-- roll.h
  11349.    | | | |-- savefile.c
  11350.    | | | |-- stdinc.h
  11351.    | | | |-- store.c
  11352.    | | | |-- streamer.c
  11353.    | | | |-- sysup.h
  11354.    | | | |-- tape.c
  11355.    | | | |-- tar.c
  11356.    | | | |-- tar.prj
  11357.    | | | |-- trees.c
  11358.    | | | |-- unlzw.c
  11359.    | | | |-- zalloc.h
  11360.    | | | |-- zipdefs.h
  11361.    | | | |-- ziperror.c
  11362.    | | | |-- zipguts.h
  11363.    | | | |-- ziposcod.h
  11364.    | | | |-- zippipe.c
  11365.    | | | `-- zippipe.h
  11366.    | | |-- tar.exe
  11367.    | | |-- tar.txt
  11368.    | | `-- to.do
  11369.    | `-- unz512x3
  11370.    | |-- TRANS.TBL
  11371.    | |-- copying
  11372.    | |-- file_id.diz
  11373.    | |-- funzip.doc
  11374.    | |-- funzip.exe
  11375.    | |-- readme
  11376.    | |-- readme.dos
  11377.    | |-- unzip.doc
  11378.    | |-- unzip.exe
  11379.    | |-- unzip386.exe
  11380.    | |-- unzipsfx.doc
  11381.    | |-- unzipsfx.exe
  11382.    | |-- where
  11383.    | `-- zipinfo.doc
  11384.    |-- images
  11385.    | |-- TRANS.TBL
  11386.    | |-- boot.img
  11387.    | |-- other
  11388.    | | |-- README.FlashPoint
  11389.    | | |-- TRANS.TBL
  11390.    | | `-- bootFlashPoint.img
  11391.    | `-- supp.img
  11392.    |-- install.bat
  11393.    |-- ls-lR
  11394.    |-- man-rh41.txt
  11395.    |-- misc
  11396.    | |-- TRANS.TBL
  11397.    | |-- boot
  11398.    | | |-- TRANS.TBL
  11399.    | | |-- autoboot.img
  11400.    | | `-- boot.cat
  11401.    | `-- src
  11402.    | |-- TRANS.TBL
  11403.    | |-- init
  11404.    | | |-- Makefile
  11405.    | | |-- TRANS.TBL
  11406.    | | |-- init
  11407.    | | |-- init.c
  11408.    | | `-- init.o
  11409.    | |-- install
  11410.    | | |-- .depend
  11411.    | | |-- Makefile
  11412.    | | |-- TRANS.TBL
  11413.    | | |-- bootp.h
  11414.    | | |-- bootpc.c
  11415.    | | |-- bootpc.h
  11416.    | | |-- bootpc.o
  11417.    | | |-- bptypes.h
  11418.    | | |-- cdrom.c
  11419.    | | |-- cdrom.o
  11420.    | | |-- commands.c
  11421.    | | |-- commands.h
  11422.    | | |-- commands.o
  11423.    | | |-- config.c
  11424.    | | |-- config.h
  11425.    | | |-- config.o
  11426.    | | |-- debug.log
  11427.    | | |-- devices.c
  11428.    | | |-- devices.c.ewt
  11429.    | | |-- devices.h
  11430.    | | |-- devices.o
  11431.    | | |-- dmphdlist
  11432.    | | |-- dmphdlist.c
  11433.    | | |-- doit.c
  11434.    | | |-- doit.h
  11435.    | | |-- doit.o
  11436.    | | |-- earlymethods.c
  11437.    | | |-- earlymethods.o
  11438.    | | |-- entry.c
  11439.    | | |-- entry.o
  11440.    | | |-- fs.c
  11441.    | | |-- fs.h
  11442.    | | |-- fs.o
  11443.    | | |-- ftp.c
  11444.    | | |-- ftp.h
  11445.    | | |-- ftp.o
  11446.    | | |-- genhdlist
  11447.    | | |-- genhdlist.c
  11448.    | | |-- hash.c
  11449.    | | |-- hash.h
  11450.    | | |-- hash.o
  11451.    | | |-- hd.c
  11452.    | | |-- hd.h
  11453.    | | |-- hd.o
  11454.    | | |-- inet_aton.h
  11455.    | | |-- install
  11456.    | | |-- install.c
  11457.    | | |-- install.h
  11458.    | | |-- install.o
  11459.    | | |-- install2
  11460.    | | |-- install2.c
  11461.    | | |-- install2.o
  11462.    | | |-- kernel.c
  11463.    | | |-- kernel.h
  11464.    | | |-- latemethods.c
  11465.    | | |-- latemethods.o
  11466.    | | |-- lilo.c
  11467.    | | |-- lilo.h
  11468.    | | |-- lilo.o
  11469.    | | |-- log.c
  11470.    | | |-- log.h
  11471.    | | |-- log.o
  11472.    | | |-- methods.h
  11473.    | | |-- mkswap.c
  11474.    | | |-- mkswap.h
  11475.    | | |-- mkswap.o
  11476.    | | |-- modules.c
  11477.    | | |-- mono.c
  11478.    | | |-- mono.h
  11479.    | | |-- mono.o
  11480.    | | |-- mount.h
  11481.    | | |-- mount.x
  11482.    | | |-- mount_clnt.c
  11483.    | | |-- mount_svc.c
  11484.    | | |-- mount_xdr.c
  11485.    | | |-- mount_xdr.o
  11486.    | | |-- mtab.c
  11487.    | | |-- mtab.o
  11488.    | | |-- net.c
  11489.    | | |-- net.h
  11490.    | | |-- net.o
  11491.    | | |-- nfsmount.c
  11492.    | | |-- nfsmount.o
  11493.    | | |-- perror.c
  11494.    | | |-- perror.h
  11495.    | | |-- perror.o
  11496.    | | |-- pkgs.c
  11497.    | | |-- pkgs.h
  11498.    | | |-- pkgs.o
  11499.    | | |-- run.c
  11500.    | | |-- run.h
  11501.    | | |-- run.o
  11502.    | | |-- scsi.c
  11503.    | | |-- scsi.h
  11504.    | | |-- scsi.o
  11505.    | | |-- upgrade.c
  11506.    | | |-- upgrade.h
  11507.    | | |-- upgrade.o
  11508.    | | |-- windows.c
  11509.    | | |-- windows.h
  11510.    | | `-- windows.o
  11511.    | |-- trees
  11512.    | | |-- TRANS.TBL
  11513.    | | |-- boot1
  11514.    | | | |-- TRANS.TBL
  11515.    | | | |-- boot
  11516.    | | | | |-- TRANS.TBL
  11517.    | | | | |-- boot.0200
  11518.    | | | | |-- boot.b
  11519.    | | | | `-- map
  11520.    | | | |-- dev
  11521.    | | | | |-- TRANS.TBL
  11522.    | | | | `-- fd0
  11523.    | | | |-- etc
  11524.    | | | | |-- TRANS.TBL
  11525.    | | | | |-- boot.msg
  11526.    | | | | |-- lilo.conf
  11527.    | | | | `-- mtab -> /proc/mounts
  11528.    | | | `-- vmlinuz
  11529.    | | |-- boot1.img
  11530.    | | |-- boot2
  11531.    | | | |-- .profile
  11532.    | | | |-- TRANS.TBL
  11533.    | | | |-- bin -> sbin
  11534.    | | | |-- dev
  11535.    | | | | |-- TRANS.TBL
  11536.    | | | | |-- console
  11537.    | | | | |-- null
  11538.    | | | | |-- ram
  11539.    | | | | |-- systty
  11540.    | | | | |-- tty1
  11541.    | | | | |-- tty2
  11542.    | | | | |-- tty3
  11543.    | | | | |-- tty4
  11544.    | | | | `-- tty5
  11545.    | | | |-- etc
  11546.    | | | | |-- TRANS.TBL
  11547.    | | | | |-- ld.so.cache
  11548.    | | | | |-- nsswitch.conf
  11549.    | | | | `-- pcmcia
  11550.    | | | | |-- TRANS.TBL
  11551.    | | | | |-- config
  11552.    | | | | |-- network
  11553.    | | | | |-- pcmem
  11554.    | | | | |-- scsi
  11555.    | | | | `-- serial
  11556.    | | | |-- linuxrc -> /sbin/init
  11557.    | | | |-- modules
  11558.    | | | | |-- 3c501.o
  11559.    | | | | |-- 3c503.o
  11560.    | | | | |-- 3c509.o
  11561.    | | | | |-- 3c59x.o
  11562.    | | | | |-- 53c7,8xx.o
  11563.    | | | | |-- 8390.o
  11564.    | | | | |-- BusLogic.o
  11565.    | | | | |-- NCR53c406a.o
  11566.    | | | | |-- TRANS.TBL
  11567.    | | | | |-- advansys.o
  11568.    | | | | |-- aha152x.o
  11569.    | | | | |-- aha1542.o
  11570.    | | | | |-- aha1740.o
  11571.    | | | | |-- aic7xxx.o
  11572.    | | | | |-- apricot.o
  11573.    | | | | |-- arcnet.o
  11574.    | | | | |-- aztcd.o
  11575.    | | | | |-- bpcd.o
  11576.    | | | | |-- cdrom.o
  11577.    | | | | |-- cdu31a.o
  11578.    | | | | |-- cm206.o
  11579.    | | | | |-- de4x5.o
  11580.    | | | | |--=20de600.o
  11581.    | | | | |-- de620.o
  11582.    | | | | |-- depca.o
  11583.    | | | | |-- dtc.o
  11584.    | | | | |-- e2100.o
  11585.    | | | | |-- eata_dma.o
  11586.    | | | | |-- eata_pio.o
  11587.    | | | | |-- eexpress.o
  11588.    | | | | |-- ewrk3.o
  11589.    | | | | |-- fdomain.o
  11590.    | | | | |-- g_NCR5380.o
  11591.    | | | | |-- gscd.o
  11592.    | | | | |-- hp-plus.o
  11593.    | | | | |-- hp.o
  11594.    | | | | |-- hp100.o
  11595.    | | | | |-- ibmtr.o
  11596.    | | | | |-- in2000.o
  11597.    | | | | |-- isp16.o
  11598.    | | | | |-- loop.o
  11599.    | | | | |-- mcd.o
  11600.    | | | | |-- mcdx.o
  11601.    | | | | |-- ncr53c8xx.o
  11602.    | | | | |-- ne.o
  11603.    | | | | |-- optcd.o
  11604.    | | | | |-- pas16.o
  11605.    | | | | |-- plip.o
  11606.    | | | | |-- ppa.o
  11607.    | | | | |-- qlogicfas.o
  11608.    | | | | |-- qlogicisp.o
  11609.    | | | | |-- sbpcd.o
  11610.    | | | | |-- seagate.o
  11611.    | | | | |-- sjcd.o
  11612.    | | | | |-- smc-ultra.o
  11613.    | | | | |-- smc9194.o
  11614.    | | | | |-- sonycd535.o
  11615.    | | | | |-- t128.o
  11616.    | | | | |-- tulip.o
  11617.    | | | | |-- u14-34f.o
  11618.    | | | | |-- ultrastor.o
  11619.    | | | | |-- wd.o
  11620.    | | | | `-- wd7000.o
  11621.    | | | |-- proc
  11622.    | | | | `-- TRANS.TBL
  11623.    | | | |-- sbin
  11624.    | | | | |-- TRANS.TBL
  11625.    | | | | |-- e2fsck
  11626.    | | | | |-- init
  11627.    | | | | |-- insmod
  11628.    | | | | |-- install
  11629.    | | | | `-- rmmod -> insmod
  11630.    | | | |-- tmp
  11631.    | | | | `-- TRANS.TBL
  11632.    | | | `-- usr
  11633.    | | | |-- TRANS.TBL
  11634.    | | | `-- lib
  11635.    | | | |-- TRANS.TBL
  11636.    | | | |-- rpmrc
  11637.    | | | `-- terminfo
  11638.    | | | |-- TRANS.TBL
  11639.    | | | `-- l
  11640.    | | | |-- TRANS.TBL
  11641.    | | | `-- linux
  11642.    | | |-- boot2.img
  11643.    | | |-- boot2.img.back
  11644.    | | |-- boot2.img.gz
  11645.    | | |-- boot2.img.nogz
  11646.    | | |-- debug.log
  11647.    | | |-- mkboot1
  11648.    | | |-- mkboot2
  11649.    | | |-- mkskel
  11650.    | | |-- mksupp
  11651.    | | |-- pcmcia
  11652.    | | | |-- TRANS.TBL
  11653.    | | | |-- etc
  11654.    | | | | |-- TRANS.TBL
  11655.    | | | | `-- pcmcia
  11656.    | | | | |-- TRANS.TBL
  11657.    | | | | |-- config
  11658.    | | | | |-- config.opts
  11659.    | | | | |-- fixed
  11660.    | | | | |-- fixed.opts
  11661.    | | | | |-- network
  11662.    | | | | |-- scsi
  11663.    | | | | `-- scsi.opts
  11664.    | | | |-- lib
  11665.    | | | | |-- TRANS.TBL
  11666.    | | | | `-- modules
  11667.    | | | | |-- 2.0.27
  11668.    | | | | | |-- TRANS.TBL
  11669.    | | | | | `-- pcmcia
  11670.    | | | | | |-- 3c589_cs.o
  11671.    | | | | | |-- TRANS.TBL
  11672.    | | | | | |-- aha152x_cs.o
  11673.    | | | | | |-- ds.o
  11674.    | | | | | |-- fdomain_cs.o
  11675.    | | | | | |-- fixed_cs.o
  11676.    | | | | | |-- fmvj18x_cs.o
  11677.    | | | | | |-- ftl_cs.o
  11678.    | | | | | |-- i82365.o
  11679.    | | | | | |-- ibmtr_cs.o
  11680.    | | | | | |-- iflash2+_mtd.o
  11681.    | | | | | |-- iflash2_mtd.o
  11682.    | | | | | |-- memory_cs.o
  11683.    | | | | | |-- nmclan_cs.o
  11684.    | | | | | |-- pcmcia_core.o
  11685.    | | | | | |-- pcmem_cs.o
  11686.    | | | | | |-- pcnet_cs.o
  11687.    | | | | | |-- qlogic_cs.o
  11688.    | | | | | |-- serial_cs.o
  11689.    | | | | | |-- smc91c92_cs.o
  11690.    | | | | | |-- sram_mtd.o
  11691.    | | | | | |-- tcic.o
  11692.    | | | | | |-- wavelan_cs.o
  11693.    | | | | | `-- xircnw_cs.o
  11694.    | | | | `-- TRANS.TBL
  11695.    | | | `-- sbin
  11696.    | | | |-- TRANS.TBL
  11697.    | | | |-- cardmgr
  11698.    | | | `-- probe
  11699.    | | |-- skeleton
  11700.    | | | |-- TRANS.TBL
  11701.    | | | |-- bin
  11702.    | | | | |-- TRANS.TBL
  11703.    | | | | |-- awk -> gawk
  11704.    | | | | |-- bash
  11705.    | | | | |-- cp
  11706.    | | | | |-- cpio
  11707.    | | | | |-- gawk
  11708.    | | | | |-- gunzip -> gzip
  11709.    | | | | |-- gzip
  11710.    | | | | |-- hostname
  11711.    | | | | |-- ln
  11712.    | | | | |-- mv
  11713.    | | | | |-- rm
  11714.    | | | | |-- sed
  11715.    | | | | |-- sh -> bash
  11716.    | | | | `-- uname
  11717.    | | | |-- dev
  11718.    | | | | |-- TRANS.TBL
  11719.    | | | | |-- null
  11720.    | | | | `-- zero
  11721.    | | | |-- etc
  11722.    | | | | |-- TRANS.TBL
  11723.    | | | | |-- ld.so.cache
  11724.    | | | | |-- ld.so.conf
  11725.    | | | | `-- mtab
  11726.    | | | |-- lib
  11727.    | | | | |-- TRANS.TBL
  11728.    | | | | |-- ld-linux.so.1 -> ld-linux.so.1.7.14
  11729.    | | | | |-- ld-linux.so.1.7.14
  11730.    | | | | |-- ld.so -> ld.so.1.7.14
  11731.    | | | | |-- ld.so.1.7.14
  11732.    | | | | |-- libc.so.5 -> libc.so.5.3.12
  11733.    | | | | |-- libc.so.5.3.12
  11734.    | | | | |-- libm.so.5 -> libm.so.5.0.6
  11735.    | | | | |-- libm.so.5.0.6
  11736.    | | | | |-- libtermcap.so.2 -> libtermcap.so.2.0.5
  11737.    | | | | `-- libtermcap.so.2.0.5
  11738.    | | | |-- sbin
  11739.    | | | | |-- TRANS.TBL
  11740.    | | | | `-- ldconfig
  11741.    | | | `-- usr
  11742.    | | | |-- TRANS.TBL
  11743.    | | | `-- bin
  11744.    | | | |-- TRANS.TBL
  11745.    | | | |-- egrep
  11746.    | | | |-- grep
  11747.    | | | `-- md5sum
  11748.    | | |-- supp
  11749.    | | | |-- TRANS.TBL
  11750.    | | | |-- lib
  11751.    | | | | |-- TRANS.TBL
  11752.    | | | | |-- ld-linux.so.1
  11753.    | | | | |-- ld-linux.so.1.7.14
  11754.    | | | | |-- ld-linux.so.1.8.5
  11755.    | | | | |-- libc.so.5 -> libc.so.5.3.12
  11756.    | | | | |-- libc.so.5.3.12
  11757.    | | | | |-- libcom_err.so -> /lib/libcom_err.so.2.0
  11758.    | | | | |-- libcom_err.so.2 -> libcom_err.so.2.0
  11759.    | | | | |-- libcom_err.so.2.0
  11760.    | | | | |-- libe2p.so.2 -> libe2p.so.2.1
  11761.    | | | | |-- libe2p.so.2.1
  11762.    | | | | |-- libext2fs.so.2 -> libext2fs.so.2.0
  11763.    | | | | |-- libext2fs.so.2.0
  11764.    | | | | `-- modules -> /tmp
  11765.    | | | |-- pcmcia.cgz
  11766.    | | | `-- usr
  11767.    | | | |-- TRANS.TBL
  11768.    | | | `-- bin
  11769.    | | | |-- TRANS.TBL
  11770.    | | | |-- ash
  11771.    | | | |-- badblocks
  11772.    | | | |-- cpio
  11773.    | | | |-- fdisk
  11774.    | | | |-- gunzip -> gzip
  11775.    | | | |-- gzip
  11776.    | | | |-- insmod
  11777.    | | | |-- install2
  11778.    | | | |-- ls
  11779.    | | | |-- mke2fs
  11780.    | | | |-- open
  11781.    | | | |-- runinstall2
  11782.    | | | `-- sh -> ash
  11783.    | | |-- updboots
  11784.    | | `-- updsupp
  11785.    | `-- upgrade
  11786.    | |-- Makefile
  11787.    | |-- TRANS.TBL
  11788.    | |-- hash.c
  11789.    | |-- hash.h
  11790.    | |-- mkugdb.c
  11791.    | `-- upgrade.c
  11792.    `-- updates
  11793.    |-- 00README.errata
  11794.    |-- SRPMS
  11795.    | |-- NetKit-B-0.09-1.src.rpm
  11796.    | |-- TRANS.TBL
  11797.    | |-- XFree86-3.2-5.src.rpm
  11798.    | |-- adduser-1.3-1.src.rpm
  11799.    | |-- amd-920824upl102-8.src.rpm
  11800.    | |-- apache-1.1.3-3.src.rpm
  11801.    | |-- bind-4.9.5p1-1.src.rpm
  11802.    | |-- cmu-snmp-3.3-1.src.rpm
  11803.    | |-- dosemu-0.64.1-3.src.rpm
  11804.    | |-- efax-0.8a-2.src.rpm
  11805.    | |-- gdb-4.16-6.src.rpm
  11806.    | |-- glibc-0.961212-4.src.rpm
  11807.    | |-- imap-4.1.BETA-3.src.rpm
  11808.    | |-- initscripts-2.91-1.src.rpm
  11809.    | |-- inn-1.5.1-6.src.rpm
  11810.    | |-- jed-0.97.14-4.src.rpm
  11811.    | |-- ld.so-sparc-1.8.3-3.src.rpm
  11812.    | |-- logrotate-2.1-1.src.rpm
  11813.    | |-- lpr-0.14-2.src.rpm
  11814.    | |-- netcfg-2.15-1.src.rpm
  11815.    | |-- printtool-3.0-14.src.rpm
  11816.    | |-- python-1.4-4.src.rpm
  11817.    | |-- pythonlib-1.16-1.src.rpm
  11818.    | |-- rpm-2.3.2-1.src.rpm
  11819.    | |-- rxvt-2.19-2.src.rpm
  11820.    | |-- samba-1.9.16p9-8.src.rpm
  11821.    | |-- screen-3.7.1-4.src.rpm
  11822.    | |-- sendmail-8.8.5-2.src.rpm
  11823.    | |-- sliplogin-2.1.0-6.src.rpm
  11824.    | |-- tetex-0.4pl6-1.src.rpm
  11825.    | |-- timeconfig-1.7-1.src.rpm
  11826.    | |-- tmpwatch-1.1-2.src.rpm
  11827.    | |-- usercfg-3.3-1.src.rpm
  11828.    | |-- util-linux-2.5-34.src.rpm
  11829.    | |-- wu-ftpd-2.4.2b12-4.src.rpm
  11830.    | `-- ypbind-3.0-1.src.rpm
  11831.    |-- TRANS.TBL
  11832.    |-- i386
  11833.    | |-- 00README.errata
  11834.    | |-- NetKit-B-0.09-1.i386.rpm
  11835.    | |-- TRANS.TBL
  11836.    | |-- XFree86-3.2-5.i386.rpm
  11837.    | |-- adduser-1.3-1.i386.rpm
  11838.    | |-- amd-920824upl102-8.i386.rpm
  11839.    | |-- apache-1.1.3-3.i386.rpm
  11840.    | |-- bind-4.9.5p1-1.i386.rpm
  11841.    | |-- cmu-snmp-3.3-1.i386.rpm
  11842.    | |-- cmu-snmp-devel-3.3-1.i386.rpm
  11843.    | |-- cmu-snmp-utils-3.3-1.i386.rpm
  11844.    | |-- dosemu-0.64.1-3.i386.rpm
  11845.    | |-- efax-0.8a-2.i386.rpm
  11846.    | |-- imap-4.1.BETA-3.i386.rpm
  11847.    | |-- initscripts-2.91-1.i386.rpm
  11848.    | |-- inn-1.5.1-6.i386.rpm
  11849.    | |-- inn-devel-1.5.1-6.i386.rpm
  11850.    | |-- jed-0.97.14-4.i386.rpm
  11851.    | |-- jed-xjed-0.97.14-4.i386.rpm
  11852.    | |-- logrotate-2.1-1.i386.rpm
  11853.    | |-- lpr-0.14-2.i386.rpm
  11854.    | |-- netcfg-2.15-1.i386.rpm
  11855.    | |-- printtool-3.0-14.i386.rpm
  11856.    | |-- pythonlib-1.16-1.i386.rpm
  11857.    | |-- rpm-2.3.2-1.i386.rpm
  11858.    | |-- rxvt-2.19-2.i386.rpm
  11859.    | |-- samba-1.9.16p9-8.i386.rpm
  11860.    | |-- sendmail-8.8.5-2.i386.rpm
  11861.    | |-- sendmail-cf-8.8.5-2.i386.rpm
  11862.    | |-- sendmail-doc-8.8.5-2.i386.rpm
  11863.    | |-- sliplogin-2.1.0-6.i386.rpm
  11864.    | |-- tetex-0.4pl6-1.i386.rpm
  11865.    | |-- tetex-afm-0.4pl6-1.i386.rpm
  11866.    | |-- tetex-dvilj-0.4pl6-1.i386.rpm
  11867.    | |-- tetex-dvips-0.4pl6-1.i386.rpm
  11868.    | |-- tetex-latex-0.4pl6-1.i386.rpm
  11869.    | |-- tetex-xdvi-0.4pl6-1.i386.rpm
  11870.    | |-- timeconfig-1.7-1.i386.rpm
  11871.    | |-- usercfg-3.3-1.i386.rpm
  11872.    | |-- util-linux-2.5-34.i386.rpm
  11873.    | |-- wu-ftpd-2.4.2b12-4.i386.rpm
  11874.    | `-- xdosemu-0.64.1-3.i386.rpm
  11875.    |-- images
  11876.    | |-- TRANS.TBL
  11877.    | `-- i386
  11878.    | |-- README
  11879.    | |-- TRANS.TBL
  11880.    | |-- scsi
  11881.    | | |-- README
  11882.    | | |-- TRANS.TBL
  11883.    | | |-- bootBusLogic.img
  11884.    | | |-- bootaha1540.img
  11885.    | | |-- bootaha1740.img
  11886.    | | |-- bootaic7xxx.img
  11887.    | | |-- booteata_dma.img
  11888.    | | |-- bootultrastor.img
  11889.    | | |-- config.BusLogic
  11890.    | | |-- config.aha1540
  11891.    | | |-- config.aha1740
  11892.    | | |-- config.aic7xxx
  11893.    | | |-- config.eata_dma
  11894.    | | `-- config.ultrastor
  11895.    | `-- supp.img
  11896.    `-- scripts
  11897.    |-- TRANS.TBL
  11898.    |-- fix-shadow.sh
  11899.    |-- i386
  11900.    | |-- TRANS.TBL
  11901.    | `-- lilo-dos.sh
  11902.    `-- jed-xterm.Xdefaults
  11903.    
  11904.    180 directories, 6606 files
  11905.      _________________________________________________________________
  11906.    
  11907.                         Copyright ⌐ 1998, Eric Canal
  11908.             Published in Issue 31 of Linux Gazette, August 1998
  11909.      _________________________________________________________________
  11910.    
  11911.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  11912.      _________________________________________________________________
  11913.    
  11914.     "Linux Gazette...making Linux just a little more fun!"
  11915.      _________________________________________________________________
  11916.    
  11917.                                 EMACSulation
  11918.                                       
  11919.                   by Eric Marsden, emarsden@mail.dotcom.fr
  11920.                                       
  11921.      This column is devoted to making the best use of Emacs, text editor
  11922.      extraordinaire. Each issue I plan to present an Emacs extension
  11923.      which can improve your productivity, make the sun shine more
  11924.      brightly and the grass greener.
  11925.      _________________________________________________________________
  11926.    
  11927.                                Customizing Emacs
  11928.                                        
  11929.    Typical applications have a configuration file which allows you to set
  11930.    the value of a few variables. Emacs goes a lot further, since the user
  11931.    can customize pretty much any feature of the system. This flexibility
  11932.    is due to a majority of the system being written in its extension
  11933.    language. The first implementations of Emacs used a cryptic string
  11934.    processing language named TECO (you thought Perl was cryptic? Look at
  11935.    TECO), with support code in PDP-10 assembly; later versions use Emacs
  11936.    Lisp as an extension language, with some components (the Lisp
  11937.    interpreter and the display code) written in C.
  11938.    
  11939.    This extensibility is fundamental to Emacs. Users can experiment with
  11940.    modifications and improvements to the system and pass them on to
  11941.    friends if they work well; ideas which catch on can be integrated in
  11942.    the core distribution. The now defunct Lisp Machines at MIT extended
  11943.    this openness to the level of the operating system, which was written
  11944.    in Lisp (and ran on custom hardware, specially designed to run Lisp
  11945.    efficiently). Lisp Machine users had a far greater degree of control
  11946.    over their machine than Linux users today. The Smalltalk systems at
  11947.    Xerox Parc provided a similarly deep level of customization.
  11948.    
  11949.    Indeed, there is a profound difference between the development
  11950.    philosophy which led to Emacs (the MIT approach), and that which led
  11951.    to Unix and C (the New Jersey approach). These are compared in an
  11952.    excellent paper by Richard Gabriel called Worse is Better, from which
  11953.    I have extracted the following:
  11954.    
  11955.      Two famous people, one from MIT and another from Berkeley (but
  11956.      working on Unix) once met to discuss operating system issues. The
  11957.      person from MIT was knowledgeable about ITS (the MIT AI Lab
  11958.      operating system) and had been reading the Unix sources. He was
  11959.      interested in how Unix solved the PC loser-ing problem. The PC
  11960.      loser-ing problem occurs when a user program invokes a system
  11961.      routine to perform a lengthy operation that might have significant
  11962.      state, such as IO buffers. If an interrupt occurs during the
  11963.      operation, the state of the user program must be saved. Because the
  11964.      invocation of the system routine is usually a single instruction,
  11965.      the PC of the user program does not adequately capture the state of
  11966.      the process. The system routine must either back out or press
  11967.      forward. The right thing is to back out and restore the user
  11968.      program PC to the instruction that invoked the system routine so
  11969.      that resumption of the user program after the interrupt, for
  11970.      example, re-enters the system routine. It is called PC loser-ing
  11971.      because the PC is being coerced into loser mode, where loser is the
  11972.      affectionate name for user at MIT.
  11973.      
  11974.      The MIT guy did not see any code that handled this case and asked
  11975.      the New Jersey guy how the problem was handled. The New Jersey guy
  11976.      said that the Unix folks were aware of the problem, but the
  11977.      solution was for the system routine to always finish, but sometimes
  11978.      an error code would be returned that signaled that the system
  11979.      routine had failed to complete its action. A correct user program,
  11980.      then, had to check the error code to determine whether to simply
  11981.      try the system routine again. The MIT guy did not like this
  11982.      solution because it was not the right thing.
  11983.      
  11984.      The New Jersey guy said that the Unix solution was right because
  11985.      the design philosophy of Unix was simplicity and that the right
  11986.      thing was too complex. Besides, programmers could easily insert
  11987.      this extra test and loop. The MIT guy pointed out that the
  11988.      implementation was simple but the interface to the functionality
  11989.      was complex. The New Jersey guy said that the right tradeoff has
  11990.      been selected in Unix: namely, implementation simplicity was more
  11991.      important than interface simplicity.
  11992.      
  11993.    Let me come back to more concrete issues. The traditional way of
  11994.    customizing [X]Emacs is to write simple Emacs Lisp expressions in a
  11995.    file called .emacs in your home directory. These expressions can
  11996.    either set the value of a variable, or call a function, or load a
  11997.    library :
  11998.    
  11999.  
  12000.     ;; set the values of a few variables. `t' stands for true and `nil' for
  12001.     ;; false
  12002.     (setq dired-listing-switches "-alF")
  12003.     (setq tab-width 4)
  12004.     (setq line-number-mode t)
  12005.     (setq global-font-lock-mode t)
  12006.     (setq next-line-add-newlines nil)
  12007.  
  12008.  
  12009.     ;; call a function which will organize to have the time displayed in
  12010.     ;; the modeline
  12011.     (display-time)
  12012.  
  12013.  
  12014.     ;; load an Emacs Lisp library and call its initialization function
  12015.     (require 'jka-compr)
  12016.     (auto-compression-mode 1)
  12017.  
  12018.    The syntax tends to irritate people (who deride the presence of ``Lots
  12019.    of irritating spurious parentheses''), but using a fully-featured
  12020.    programming language in a configuration file has genuine and
  12021.    significant advantages. It allows you to test for features of the
  12022.    local setup, for example :
  12023.    
  12024.  
  12025.     (if (file-exists-p "/bin/bash")
  12026.        (setq explicit-shell-file-name "/bin/bash"))
  12027.  
  12028.    which makes Emacs use the bash in *shell* buffers if it exists on the
  12029.    machine. Another reason for using a real language for setup files is
  12030.    that it avoids the endless proliferation of configuration files, each
  12031.    with its own ideosyntractic syntax (think ~/.Xdefaults, window manager
  12032.    setup files, ~/.inputrc, ~/.procmailrc, etc). Hopefully the spreading
  12033.    use of Guile as an embedded scripting language will resolve this
  12034.    problem. A last advantage is that a genuine programming language
  12035.    empowers the user. Indeed, in one of the first technical reports about
  12036.    Emacs, Richard Stallman presents this as an important goal:
  12037.    
  12038.      When large numbers of nontechnical workers are using a programmable
  12039.      editor, they will be tempted constantly to begin programming in the
  12040.      course of their day-to-day lives. This should contribute greatly to
  12041.      computer literacy, especially because many of the people thus
  12042.      exposed will be secretaries taught by society that they are
  12043.      incapable of doing mathematics, and unable to imagine for a moment
  12044.      that they can learn to program. But that won't stop them from
  12045.      learning it if they don't know that it is programming that they are
  12046.      learning!
  12047.      
  12048. Customize
  12049.  
  12050.    Recent versions of [X]Emacs include a package called Customize, which
  12051.    helps you adapt Emacs to your liking without writing any Lisp.
  12052.    Customize is written by Per Abrahamsen, also the author of the popular
  12053.    Auc-TeX package for TeXnical typists. It allows users to visualize the
  12054.    list of all the user-configurable variables in Emacs, and to modify
  12055.    them to their liking. You can reach Customize (it only exists on
  12056.    recent Emacsen) from the Help -> Customize menubar. In XEmacs it looks
  12057.    like this:
  12058.    
  12059.                             Customize screenshot
  12060.                                       
  12061.    Customize requires each Emacs Lisp library to declare the
  12062.    user-modifiable variables it exports. The type of the variable is
  12063.    specified, whether boolean or integer or string or selection from
  12064.    several options, and several variables can be put in the same group,
  12065.    which allows a hierarchical presentation of information. The
  12066.    modification screens are then generated automatically on demand. It's
  12067.    an elegant design, since programming the thousands of dialog boxes
  12068.    manually would be a huge job, and require large amounts of storage.
  12069.    The modifications made by the user are stored in a file which is read
  12070.    by [X]Emacs at initialization time.
  12071.    
  12072.    An unfortunate aspect of Customize is that it introduces two methods
  12073.    of doing the same thing. Users wanting to go beyond the simple
  12074.    customizations possible with the graphical interface will be
  12075.    confronted with an entirely new way of doing things, and may be put
  12076.    off. There is a difficult path to tread between making simple things
  12077.    simple and complex things possible and the old adage Build a system
  12078.    that a fool can use, and only a fool will use it.
  12079.    
  12080. Keybindings
  12081.  
  12082.    Keybindings are a particularly treacherous field for customization,
  12083.    the principal problems comings from differences between X11 and
  12084.    console operation (particularly with the backspace key), and between
  12085.    the syntax used by Emacs and XEmacs. One of the first things you might
  12086.    want to do is set the Delete, Home and EndOfLine keys to their
  12087.    standard meanings in the PC world :
  12088.    
  12089.  
  12090.     (pc-selection-mode)         ; pc-select.el
  12091.  
  12092.    This will also allow you to select regions of text with shift and the
  12093.    cursor keys, and Cut/Copy/Paste with Shift-Delete, Control-Insert and
  12094.    Shift-Insert respectively. You can bind function keys as follows (this
  12095.    syntax should work equally well with Emacs and XEmacs) :
  12096.    
  12097.  
  12098.     (define-key global-map [(f2)]  'save-buffer)
  12099.     (define-key global-map [(f4)]  (lambda () (interactive) (kill-buffer nil)))
  12100.  
  12101.    The first line makes the F2 key save the current buffer (by binding to
  12102.    the built-in function save-buffer), and the second shows how to bind
  12103.    to your own function: the lambda introduces an anonymous function in
  12104.    Lisp; the (interactive) means that you will be able to access the
  12105.    function interactively, the rest kills the current buffer without
  12106.    asking confirmation. The global-map means that these bindings apply
  12107.    everywhere in Emacs, whether you're reading email or composing some
  12108.    HTML. You can also define local key bindings, which apply only to
  12109.    buffers which are in specific modes :
  12110.    
  12111.  
  12112.     (define-key emacs-lisp-mode-map [(control c) (control e)] 'eval-buffer)
  12113.     (define-key c-mode-map [(f5)] 'compile)
  12114.  
  12115.    The Emacs FAQ (available online by saying C-h F) presents another
  12116.    method of binding keys, which may not work across Emacs versions. Jari
  12117.    Aalto has written a long guide to keybindings which describes many
  12118.    different ways of rebinding keys.
  12119.    
  12120.    If you are lucky enough to have a Windows 95 keyboard you can put
  12121.    those lovely keys to use in X11 with a little xmodmapping. The X
  12122.    Window System has five possible key modifiers, the first three being
  12123.    Shift, Control and Alt on PC keyboards. You can set the windows keys
  12124.    to Super and Hyper modifiers as follows (this is for a French
  12125.    keyboard; use xev to work out the keycodes for your keyboard) :
  12126.    
  12127.  
  12128.     (shell-command (concat  "xmodmap "
  12129.                             "-e 'keycode 115 = Hyper_L' "
  12130.                             "-e 'keycode 116 = Hyper_R' "
  12131.                             "-e 'keycode 117 = Super_L' "
  12132.                             "-e 'add mod4 = Hyper_L' "
  12133.                             "-e 'add mod4 = Hyper_R' "
  12134.                             "-e 'add mod3 = Super_L' "))
  12135.     (message "Setting up Hyper and Super keys")
  12136.     (define-key global-map [(hyper tab)] 'complete-tag)
  12137.     (define-key global-map [(super !)]   'speedbar-get-focus)
  12138.  
  12139. Backups
  12140.  
  12141.    In its default configuration, Emacs makes backups with a tilde
  12142.    appended to the filename, in the same directory as the original file.
  12143.    If you would prefer having all backups in one spot, try the following
  12144.    code. Emacs can also keep a series of numbered backups α la VMS; look
  12145.    at the variable version-control.
  12146.    
  12147.  
  12148.     ;; make backup files in ~/.backups/ rather than scattered around all
  12149.     ;; over the filesystem.
  12150.     (defun make-backup-file-name (file-name)
  12151.       "Create the non-numeric backup file name for `file-name'."
  12152.       (require 'dired)
  12153.       (if (file-exists-p "~/.backups")
  12154.           (concat (expand-file-name "~/.backups/")
  12155.                   (dired-replace-in-string "/" "|" file-name))
  12156.         (concat file-name "~")))
  12157.  
  12158.  
  12159.     ;; disable backups for files in /tmp or in my Mail or News directories.
  12160.     (defun ecm-backup-enable-predicate (filename)
  12161.       (and (not (string= "/tmp/" (substring filename 0 5)))
  12162.            (not (string-match "/Mail/" filename))
  12163.            (not (string-match "/News/" filename))))
  12164.  
  12165.     (setq backup-enable-predicate 'ecm-backup-enable-predicate)
  12166.  
  12167. Further information
  12168.  
  12169.    These are only a few examples of things which can be customized in
  12170.    [X]Emacs. Here are a few pointers to further sources of inspiration :
  12171.      * The online manuals contain extensive, well-written explanations
  12172.        which can be browsed from within [X]Emacs (type C-h i), and
  12173.        include a page of examples to put in your ~/.emacs.
  12174.      * The Emacs Lisp manual describes the details and ideosyncraties of
  12175.        Emacs' extension language.
  12176.      * The Emacs FAQ.
  12177.      * The XEmacs FAQ.
  12178.      * The newsgroup gnu.emacs.help for GNU Emacs-specific questions,
  12179.        comp.emacs.xemacs for XEmacs users, comp.emacs for general
  12180.        questions, and alt.religion.emacs for questions regarding the
  12181.        Church of Emacs.
  12182.      * Typically a new package you can pick up will include comments near
  12183.        the beginning of the source code explaining which variables may
  12184.        usefully be modified.
  12185.      * XEmacs is distributed with a sample ~/.emacs file.
  12186.      * Erik Sundermann's XEmacs Customization Page is mentioned in the
  12187.        XEmacs FAQ.
  12188.        
  12189. Feedback
  12190.  
  12191.    Vincent Zweije wrote to me regarding my gnuserv column, where I
  12192.    suggested using cat /etc/passwd | md5sum as a means of generating a
  12193.    cookie for xauth.
  12194.      _________________________________________________________________
  12195.    
  12196.    In <URL:http://www.linuxgazette.com/issue29/marsden.html>, you wrote:
  12197.    
  12198.      [...]
  12199.      
  12200.      While allowing access to your X display is bad enough (someone
  12201.      could capture all your keystrokes, for example), giving remote
  12202.      access to your Emacs process is much more worrying, since Emacs can
  12203.      execute arbitrary commands under your id, delete files, send
  12204.      insulting email to the President of the United States, etc.
  12205.      
  12206.    Or maybe more dangerous, send insulting email to the president of an
  12207.    arbitrary banana republic. :-)
  12208.    
  12209.      Since release 2.1, gnuserv is able to use MIT-MAGIC-COOKIE-1
  12210.      authentication for remote requests. This protocol uses the contents
  12211.      of your ~/.Xauthority file, as described in the xauth(1) man page.
  12212.      Gnuserv requires a cookie for display number 999, which you can
  12213.      create as follows (blade is the name of the machine) :
  12214.  
  12215.       ~$ xauth add blade:999 . `cat /etc/passwd | md5sum`
  12216.       ~$ xauth list
  12217.       blade/unix:0  MIT-MAGIC-COOKIE-1  bc1d627babdbabe9d1f288d2b57c348f
  12218.       blade:999  MIT-MAGIC-COOKIE-1  d89570b20925d401c05a79be67159cae
  12219.  
  12220.    You have picked an unlucky example. There is a real danger that
  12221.    /etc/passwd is stable over a long period. This means that it will
  12222.    generate the same magic cookie for many times.
  12223.    
  12224.    This is a problem when you have given a cookie away (either
  12225.    voluntarily or involuntarily), and intend to revoke permissions by
  12226.    generating a new cookie.
  12227.    
  12228.    Best is to select a source of data that is volatile such as the output
  12229.    of ps -al or /proc/interrupts, or use mcookie, as you indicated later.
  12230.      _________________________________________________________________
  12231.    
  12232.    These remarks are particularly important if the site is using shadow
  12233.    passwords. Vincent noted that security issues are too important to be
  12234.    left to ordinary users :
  12235.      _________________________________________________________________
  12236.    
  12237.    Come to think of it, it's probably just a bad idea to let ordinary
  12238.    users arrange their own security, as with magic cookies. They're just
  12239.    not enough concerned with security - they want to get their job done.
  12240.    
  12241.    You'd be amazed at how many times on usenet I've seen suggested to do
  12242.    "xhost +" to allow X connections from anywhere. Such people often
  12243.    don't even realise that they're dealing with security. They see
  12244.    disallowing X (gnuserv) connections as a hindrance, and just want a
  12245.    magic incantation to remove it. It's a perception thing.
  12246.    
  12247.    Someone who deals with security simply has to know what he's doing.
  12248.    However, first you have to realise that it is security that you're
  12249.    playing with.
  12250.      _________________________________________________________________
  12251.    
  12252. Next time ...
  12253.  
  12254.    Next month I'll look at the different abbreviation facilities in
  12255.    Emacs. Don't hesitate to contact me at <emarsden@mail.dotcom.fr> with
  12256.    comments, corrections or suggestions (what's your favorite
  12257.    couldn't-do-without Emacs extension package?). C-u 1000 M-x hail-emacs
  12258.    !
  12259.    
  12260.    PS : Emacs isn't in any way limited to Linux, since implementations
  12261.    exist for many other operating systems (and some systems which only
  12262.    halfway operate). However, as one of the leading bits of free
  12263.    software, one of the most powerful, complex and customizable, I feel
  12264.    it has its place in the Linux Gazette.
  12265.      _________________________________________________________________
  12266.    
  12267.                        Copyright ⌐ 1998, Eric Marsden
  12268.             Published in Issue 31 of Linux Gazette, August 1998
  12269.      _________________________________________________________________
  12270.    
  12271.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  12272.      _________________________________________________________________
  12273.    
  12274.     "Linux Gazette...making Linux just a little more fun!"
  12275.      _________________________________________________________________
  12276.    
  12277.    A Linux Journal Preview: This article will appear in the October issue
  12278.    of Linux Journal.
  12279.      _________________________________________________________________
  12280.    
  12281.    [Don't Fear the Penguins.]
  12282.    
  12283.                      The Future of Linux, 14 July 1998
  12284.                                       
  12285.                               By Greg Roelofs
  12286.      _________________________________________________________________
  12287.    
  12288.    Photo Album
  12289.      _________________________________________________________________
  12290.    
  12291.    The Future of Linux was set up as a panel discussion and was held at
  12292.    the Santa Clara Convention Center (in the heart of Silicon Valley) on
  12293.    the evening of 14 July 1998. It was hosted by Taos Mountain and the
  12294.    Silicon Valley Linux Users Group (SVLUG), and it was sponsored by
  12295.    them, Intel, Red Hat, Linux Journal, and VA Research. Apparently it
  12296.    was considerably more popular than Taos expected; people stood in line
  12297.    between 40 and 60 minutes to register, and the free food and free VA
  12298.    Research/Linux t-shirts ran out. I didn't get a firm count, but Taos
  12299.    said 850 people had RSVP'd, and it appeared that at least 700 chairs
  12300.    were occupied, possibly upwards of 900 or more. (Other reports have
  12301.    claimed ``more than 850'' and ``more than 1000''; apparently quite a
  12302.    few people chose to stand near the front rather than sit in back.)
  12303.    
  12304.    The panel was a distinguished group: Jeremy Allison, one of the lead
  12305.    Samba developers; Larry Augustin, founder of VA Research and member of
  12306.    the Linux International (LI) Board of Directors; Robert Hart, from Red
  12307.    Hat Software; Sunil Saxena, from Intel's Unix Performance Lab; and, of
  12308.    course, The Man himself, Linus Torvalds. [And while I know there are a
  12309.    lot of Linux fans who like to pronounce ``Linux'' with a long `i'
  12310.    sound (LYE-nucks), and despite the fact that Linus himself doesn't
  12311.    care how anyone else pronounces it, he unquestionably did so with a
  12312.    short `i' as in ``linen'' (LINN-ucks). In Swedish he presumably still
  12313.    pronounces it the third way, roughly ``LEE-nooks.'']* It was moderated
  12314.    by Michael Masterson of Taos, who traded off questioning duties with
  12315.    Phil Hughes, all-around hairy guy and the publisher of Linux Journal.
  12316.    
  12317.    The panelists were given a pair of questions ahead of time and five
  12318.    minutes (per panelist) to respond to each. The evening progressed more
  12319.    or less as follows:
  12320.    
  12321.        wait in line...keep waiting...trade RSVP form for name sticker
  12322.       get free t-shirt / whimper about missing food and lack of dinner
  12323.                               demos / sit down
  12324.              panel's semi-prepared responses to first question
  12325.                                audience Q & A
  12326.                               moderator Q & A
  12327.              panel's semi-prepared responses to second question
  12328.                             more audience Q & A
  12329.                                 door prizes
  12330.         demos / schmoozing / fall-on-knees-and-worship-Linus / etc.
  12331.                                       
  12332.    Note that in each section I've included various editorial comments in
  12333.    [green brackets], usually [italicized].
  12334.    
  12335.    Thanks to the following people for their corrections and additional
  12336.    info; any remaining errors or omissions are solely my fault:
  12337.    
  12338.      * Jeffrey Chapman
  12339.      * Michael Cope
  12340.      * Michael Hicks
  12341.      * Dan Kaminsky
  12342.        
  12343.      * Joe Klemmer
  12344.      * Ian Kluft
  12345.      * Anas Nashif
  12346.      * Brent J. Nordquist
  12347.        
  12348.      * Alexandre Petit-Bianco
  12349.      * Jason Riedy
  12350.      * David Sundqvist
  12351.        
  12352.    See also Taos Mountain's announcement (including a streaming video of
  12353.    highlights), SVLUG's summary/reviews page, EE Times' article and
  12354.    Slashdot's discussion of it, InfoWorld's article, Rafael Skodlar's
  12355.    report at the Tasty Bits archive, Forbes' cover story, Mark Tebbe's
  12356.    InfoWorld column, and, of course, Slashdot's discussion of this very
  12357.    report.
  12358.    
  12359.    Finally, here are some interesting developments from the week
  12360.    following the event:
  12361.    
  12362.      * Informix's Linux press release (Informix-SE and free developer's
  12363.        kit)
  12364.      * Oracle's Linux press release (Oracle8) and feature article
  12365.      * Netscape's Linux press release (Netscape Messaging Server and
  12366.        Netscape Directory Server)
  12367.      * IBM's fast Java compiler and debugger (Jikes, just ported to
  12368.        Linux, and JikesDebugger)
  12369.      * Dean Olson's Slashdot article on Linux and Corporations
  12370.        
  12371.    Note that a number of other relational databases, including Computer
  12372.    Associates' Ingres II, have already been ported to Linux. And, of
  12373.    course, the most popular web server in the world (Apache) has run on
  12374.    Linux for years and happens to be freely available as well.
  12375.      _________________________________________________________________
  12376.    
  12377.    * Oh yeah, and vi rules, too. Here, take two of these :-) :-) and
  12378.    don't flame me in the morning... We all love Linux regardless of how
  12379.    it's pronounced, right??
  12380.      _________________________________________________________________
  12381.    
  12382.    Last modified 28 July 1998 by newt@pobox.com , you betcha.
  12383.    
  12384.    Copyright ⌐ 1998 Greg Roelofs.
  12385.      _________________________________________________________________
  12386.    
  12387.                        Copyright ⌐ 1998, Greg Roelofs
  12388.             Published in Issue 31 of Linux Gazette, August 1998
  12389.      _________________________________________________________________
  12390.    
  12391.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  12392.      _________________________________________________________________
  12393.    
  12394.     "Linux Gazette...making Linux just a little more fun!"
  12395.      _________________________________________________________________
  12396.    
  12397.    
  12398.    Welcome to the Graphics Muse
  12399.    
  12400.     Set your browser as wide as you'd like now.  I've fixed the Muse to
  12401.                     expand to fill the aviailable space!
  12402.                                       
  12403.                                ⌐ 1998 by mjh
  12404.                                       
  12405.    
  12406.    ______________________________________________________________________
  12407.    
  12408.    Button Bar muse:
  12409.     1. v; to become absorbed in thought
  12410.     2. n; [ fr. Any of the nine sister goddesses of learning and the arts
  12411.        in Greek Mythology ]: a source of inspiration
  12412.        
  12413.      W elcome to the Graphics Muse! Why a "muse"? Well, except for the
  12414.    sisters aspect, the above definitions are pretty much the way I'd
  12415.    describe my own interest in computer graphics: it keeps me deep in
  12416.    thought and it is a daily source of inspiration.
  12417.    
  12418.             [Graphics Mews][WebWonderings][Musings] [Resources]
  12419.                                       
  12420.    
  12421.    T his column is dedicated to the use, creation, distribution, and
  12422.    discussion of computer graphics tools for Linux systems.
  12423.    
  12424.    [INLINE] Well, its been a couple of months since we last spoke.  I've
  12425.    been working on a major project for the past year and the last 3
  12426.    months have been exceptionally busy.  But the project is done, or very
  12427.    nearly so (a few minor details left to handle) - and that project is a
  12428.    book on the Gimp.  Its called The Artists Guide to the Gimp and should
  12429.    hit the shelves sometime in September.  All I can say is, I hope you
  12430.    like it.   Writing a technical book is harder than I thought.  My next
  12431.    one is going to be fictional novel.  You don't have to do a CD, tons
  12432.    of images, or 2nd editions for those.
  12433.    
  12434.    There were plenty of graphics related news announcements since the
  12435.    last Muse.  Unfortunately, I just didn't keep up with them and they've
  12436.    expired from my news feed.  So what I've got this month is pretty
  12437.    recent info.  I did hang onto a few tidbits from mailing lists I've
  12438.    been scanning, plus email from a few readers.  Its funny - I get email
  12439.    about really old versions of the Muse every now and then.  I think
  12440.    people are still just finding out about it.
  12441.    
  12442.    In this months column I'll be covering ...
  12443.      * creating dynamic web pages with msql and CGI.pm
  12444.      * Gimp 1.0 - well, just a little.
  12445.        
  12446.    I'll have more for next month, but I just finished the book with only
  12447.    3 days to get the Muse done.
  12448.    
  12449.    
  12450.    Graphics Mews       Disclaimer: Before I get too far into this I
  12451.    should note that any of the news items I post in this section are just
  12452.    that - news. Either I happened to run across them via some mailing
  12453.    list I was on, via some Usenet newsgroup, or via email from someone.
  12454.    I'm not necessarily endorsing these products (some of which may be
  12455.    commercial), I'm just letting you know I'd heard about them in the
  12456.    past month.
  12457.    
  12458.    indent
  12459.    
  12460. Xi Graphics releases fully integrated Linux distribution
  12461.  
  12462.    This isn't really graphics related, but Xi is an X server vendor.  And
  12463.    X server vendors are pretty important to the Linux graphics world.
  12464.    So, here it is.
  12465.    
  12466.    Xi Graphics is now providing a commercial Linux distribution which
  12467.    includes their Accelerated X server and their maximum/CDE desktop
  12468.    product.  Unit price is $214.95 for the Executive Edition and $364.95
  12469.    for the Developers Edition.
  12470.    
  12471.    For more details:
  12472.    Kyle Fink
  12473.    Xi Graphics
  12474.    (303) 298-7478
  12475.    kyle@xig.com indent
  12476.    
  12477. Panasonic PalmCam utility
  12478.  
  12479.    Fredrik Roubert has released a very early version (v0.3) of a driver
  12480.    for the Panasonic PalmCam, an NV-DC1000 digital camera.  According to
  12481.    Robert a couple of the features include the ability to specify ranges
  12482.    to download and to preview or delete several images in one session.
  12483.    
  12484.    For more information, check out his web page at
  12485.    http://www.df.lth.se/~roubert /NV-DC1000.html
  12486.    
  12487.    The package is available from the following sites:
  12488.    ftp://ftp.df.lth.se/ pub/users/roubert/Linux
  12489.    ftp://sunsite.unc.edu/ pub/Linux/apps/graphics/capture
  12490.    
  12491.    [INLINE] [INLINE]
  12492.    
  12493. Linux / 3-D SIGGRAPH Report
  12494.  
  12495.    At SIGGRAPH '98 in Orlando, Florida Daryll Strauss and Brian Paul
  12496.    organized a special interest group (SIG) session to talk
  12497.    about Linux, 3-D hardware acceleration, and related topics.
  12498.    
  12499.    Attendence was greater than expected with 100-150 people attending.
  12500.    
  12501.    A summary of presentations taken by Brian Paul, author of the Mesa
  12502.    package, can be found at
  12503.    http://glide.xxedgexx.com/ SIGNotes.html
  12504.    ______________________________________________________________________
  12505.    
  12506. Blender News
  12507.  
  12508.    There were a number of updates to Blender, the 3D modelling page from
  12509.    NeoGeo.  Here is a snapshot of annoucements from their News page:
  12510.    
  12511.    Blender manual (1998-07-10)
  12512.    All information you need, packed in cool design at paper: the Blender
  12513.        1.5 manual is scheduled to ship in October. Information about
  12514.        pricing and pre-ordering will be available in August.
  12515.        
  12516.    The Unofficial Blender Mailing list (1998-06-16)
  12517.    To subscribe: send mail to majordomo@iqm.unicamp.br with the text
  12518.        
  12519.                    subscribe blender3d your@email.address
  12520.        To post, send your message to blender3d@iqm.unicamp.br
  12521.        
  12522.    Version 1.34 for Linux/FreeBSD available today. (1998-06-04)
  12523.    Many bugs fixed and included some features: Play (flipbook). Use it
  12524.        for playback test animations (Hamx) Frame counter during anim
  12525.        playback.  Read the BlenderBeta page for more.
  12526.        
  12527. Linux IEEE-1394 (FireWire) Subsystem - Status report
  12528.  
  12529.    Emanuel Pirker is working on the Linux IEEE-1394 (FireWire) Subsystem
  12530.    for a while now and thought it would be a good idea to give a small
  12531.    status report.
  12532.    
  12533.    IEEE-1394 is the name of a high-speed but low-cost serial bus. Apple
  12534.    has trademarked it as "FireWire". Current implementations reach 200
  12535.    Mbit/s, soon we will have 400 and then 800 and so on. FireWire is
  12536.    designed for consumer multimedia (e. g. connecting a digital video
  12537.    camera to your PC) and high-speed peripherals (hard disks, CD ROMs,
  12538.    but also scanners, printers). Since it provides quality of service
  12539.    (guaranteed bandwith and bounded latency) it can also be used in
  12540.    industrial real-time applications.
  12541.    
  12542.    Support for Windows (NT) and Rhapsody is coming (some items are
  12543.    already operational) but Linux users also want to benefit from this
  12544.    technology - so Emanual started the development as a university
  12545.    project last winter.
  12546.    
  12547.    He now has a clearly designed subsystem, an Adaptec AIC-5800 driver
  12548.    and some code to test it. Not all FireWire functions can be used now
  12549.    but he has reached a point where the API is stable and other people
  12550.    can also contribute work (e.g. a video camera driver).
  12551.    
  12552.    So if you are interested in this, just email Emanual - more
  12553.    (wo)manpower is desperately needed.
  12554.    
  12555.    Contact addresses:
  12556.    WWW:  http://www.edu.uni-klu.ac.at/ ~epirker/ieee1394/
  12557.    E-Mail: epirker@edu.uni-klu.ac.at 
  12558.    
  12559.    
  12560.    ______________________________________________________________________
  12561.    
  12562.    Some late entries:
  12563.    
  12564.    ImageMagick 4.0.8
  12565.    Panard Vision - Portable Real-time 3D Engine for Linux
  12566.    Mesa 3.0 beta 7
  12567.    SANE 0.74
  12568.    FreeWRL 0.14
  12569.    
  12570.    For more details on these, check out Freshmeat.net.
  12571.    [INLINE]
  12572.    
  12573. XVScan 1.80 Scanning software
  12574.  
  12575.    tummy.com, ltd. is pleased to announce XVScan Version 1.80, which now
  12576.    includes support for Microtek ScanMaker E3 and E6 scanners as well as
  12577.    HP SCSI ScanJet scanners.  Currently the Microtek support is available
  12578.    on Linux and Solaris, but our other platforms will include that
  12579.    support shortly.
  12580.    
  12581.    XVScan is based on the popular xv image manipulation software for X
  12582.    Windows and includes a fully licensed copy of xv. It is source
  12583.    available commercial software.
  12584.    
  12585.    If you've never used John Bradley's XV image manipulation software,
  12586.    it's difficult to describe how powerful it is. XV reads and writes
  12587.    files in a dozen different formats, provides powerful color-map
  12588.    editing, window capture, color-space conversion, cropping, image
  12589.    manipulation algorithms, and the list goes on.
  12590.    
  12591.    XV gives you powerful image and color-map manipulation, support for
  12592.    over a dozen image formats, as well as the Visual Schnauzer, and an
  12593.    easy to use graphical interface to view and catalog your scanned
  12594.    images.  Supported images formats include: PNG, GIF, JPEG, progressive
  12595.    JPEG, TIFF (compressed and uncompressed), PostScript (requires
  12596.    ghostscript), PBM/PGM/PPM (raw and ascii), X11 Bitmap, XPM (X PixMap),
  12597.    Sun Rasterfile,
  12598.    
  12599.    With XVScan, you now have the ability to scan directly into XV in a
  12600.    very cost efficient (and more importantly time efficient) manner.
  12601.    
  12602.    See our website http://www.tummy.com/xvscan/ for a full list of
  12603.    supported scanners.
  12604.    
  12605.    What's New in Version 1.80
  12606.     1. Microtek ScanMaker E3 and E6 support
  12607.     2. HP ScanJet 5P push button scanning
  12608.     3. Updated JPEG and TIFF conversions
  12609.        
  12610.    The Linux version requires working generic SCSI driver. It has been
  12611.    tested with versions 1.2.7 and higher of the kernel.
  12612.    
  12613.    The current version of XVScan is 1.80 dated 1998-06-11 based upon XV
  12614.    version 3.10a dated 12/29/94.
  12615.    
  12616.    XVScan is $US50 for Linux, HP-UX, FreeBSD and BSD/OS for free ftp
  12617.    delivery. XVScan is $US80 for Solaris bundled with SGLite SCSI
  12618.    driver.  CD-ROM Media $US20. Contact xvscan@tummy.com to order or
  12619.    order on the web at https://www.tummy.com/ordering/onlineorder.phtml.
  12620.    Payment accepted via check, Visa/Mastercard/Discover/AMEX cards.
  12621.    
  12622.    Contact tummy.com, ltd, phone: (970) 223-8215, fax: (408) 490-2728,
  12623.    URL: <http://www.tummy.com/xvscan/>
  12624.    email: <xvscan@tummy.com>
  12625.    ______________________________________________________________________
  12626.    
  12627. S.u.S.E. releases new X servers for Rendition, Cyrix, SiS and 3DLabs
  12628.  
  12629.    S.u.S.E. is proud to announce the release of a new set of X servers
  12630.    for several popular graphic chipsets.
  12631.    
  12632.    To avoid confusion and to clearly state that these servers are part of
  12633.    XFree86, S.u.S.E. has changed the naming scheme of its servers.
  12634.    Instead of the XSuSE prefix, they now use XFCom, which is short for
  12635.    XFree86 Compliant.  XFree86 compliance is intended to mean that the
  12636.    sources for these servers are ALREADY part of the XFree86 development
  12637.    sources and will be released as part of one of the next XFree86
  12638.    releases.  This is the major difference to servers with the XBF
  12639.    prefix, which stands for X Binary Free and means that sources for
  12640.    these servers are only available under NDA and therefore cannot be
  12641.    included in XFree86.
  12642.    
  12643.    Following this naming scheme, we have renamed the XSuSE_Elsa_GLoria
  12644.    server to XFCom_3DLabs and XSuSE_SiS to XFCom_SiS. Additionally, we
  12645.    have added to new servers that support the very popular Rendition
  12646.    Verite chipsets and the all-in-one Cyrix MediaGX CPU that includes
  12647.    graphics functionality.
  12648.    
  12649.    XFCom_Rendition supports the Rendition Verite V1000, V2100 and V2200
  12650.    chips.  Among the boards supported are
  12651.      * miroCRYSTAL VRX
  12652.      * Diamond Stealth II S220
  12653.      * Hercules Thriller3D
  12654.      * Creative Labs 3D Blaster PCI
  12655.      * Canopus Total-3D
  12656.      * Sierra Screaming 3D
  12657.        
  12658.    XFCom_Cyrix supports the Cyrix MediaGX CPU
  12659.    
  12660.    XFCom_SiS supports
  12661.      * SiS 6201
  12662.      * SiS 6202
  12663.      * SiS 6205
  12664.      * SiS 5597
  12665.      * SiS 5598
  12666.        
  12667.    XFCom_3DLabs supports
  12668.      * GLINT 500TX + GLINT Delta + IBM RGB 526DB
  12669.           + Elsa GLoria L
  12670.           + Diamond Fire GL 3000
  12671.      * GLINT MX + GLINT Delta + IBM RGB 526DB
  12672.           + Elsa GLoria L/MX
  12673.      * Permedia + GLINT Delta + IBM RGB 526DB
  12674.           + Elsa GLoria S
  12675.           + Diamond Fire GL 1000
  12676.      * Permedia 2
  12677.           + Elsa GLoria Synergy
  12678.           + Elsa Winner 2000/Office
  12679.           + Diamond Fire GL 1000 PRO
  12680.           + Creative Blaster Exxtreme
  12681.           + Leadtek WinFast 2300
  12682.           + Accelstar Permedia II
  12683.        
  12684.    All these servers are available as Linux x86 libc5 binaries at
  12685.    http://www.suse.de/ XSuSE/XSuSE_E.html.
  12686.    
  12687.    Binaries for other operating systems as well as glibc binaries will be
  12688.    released, soon.  For all questions and support concerning these
  12689.    servers please do NOT contact XFree86 but send email to x@suse.de
  12690.    instead.
  12691.    ______________________________________________________________________
  12692.    
  12693.    
  12694.    
  12695.     Did You Know?
  12696.     
  12697.    A comment on IRTC-L stated:
  12698.    As I understand, in a cinema, the width is twice as long as the
  12699.        height.
  12700.        
  12701.    Bernd Sieker, regular contributer to the IRTC list, offered the
  12702.    following responses:
  12703.    No, that's not really true.  The most commonly used formats are:
  12704.        
  12705.    
  12706.    Name Aspect Ratio
  12707.    Super 35 1:1.33
  12708.    Academy 1:1.37
  12709.    Wide Screen 1:1.66
  12710.    Wide Screen 1:1.85
  12711.    16:9 1:1.77
  12712.    Cinemascope 1:2.35
  12713.    So most common cinama formats are not twice as wide as high, only
  12714.        Cinemascope is more than twice as wide as it is high. But this
  12715.        format is not as common as some people think. It requires a
  12716.        special aspherical distortion lens on both the projector and the
  12717.        camera.
  12718.        As far as I remember the scenes for Jurassic Park were rendered in
  12719.        8000x6000 (1:1.33), but often much less is sufficient, like
  12720.        4000x3000.
  12721.        
  12722.    Another question from the same list:  What are NTSC and PAL?
  12723.    
  12724.    Again, Bernd Sieker supplies an answer:
  12725.    These are the two most common colour encoding stamdards for
  12726.        television. NTSC is used in the United States and, I think, Japan,
  12727.        PAL is used in most parts of Western Europe (except France. There
  12728.        is a third standard, called SECAM, which is used in France and
  12729.        parts of Eastern Europe.
  12730.        
  12731.    PAL and SECAM use 50 fields/s (a field is half a frame), NTSC uses 60
  12732.        fields/s and fewer lines, so the bandwidth of the signals is
  12733.        almost equal in all formats (Something on the order of 5 MHz).
  12734.        For TV the horizontal resolution is not fixed, whereas the number
  12735.        of lines is; use the following for sqaure pixel aspect ratio:
  12736.        PAL:  768x576
  12737.        NTSC: 640x480
  12738.        Note that the number of lines are fixed and should not be altered,
  12739.        all systems work with these values.
  12740.        
  12741.        
  12742.     Q and A
  12743.     
  12744.    Q:  Anyone know how to set up an Wacom Artpad for use with Gimp, or if
  12745.    this is possible. I think I have to use XInput or something.
  12746.    
  12747.    
  12748.    A:  Juergen Schlag responded:
  12749.    A few months ago I tried to set up my Wacom PenPartner with X11.  You
  12750.        need to configure your system like the following:
  12751.        
  12752.      * run Linux with a X11 server which supports the Xinput Extension
  12753.        (my old S3-Board running under the XFree-Server works well, but
  12754.        the XSuSE-Server for PERMEDIA2-Boards doesn't work).
  12755.        
  12756.      * install the Xinput driver for the Artpad (see the docs). I used a
  12757.        patched driver for the PenPartner.
  12758.        
  12759.    Muse:  What driver and what docs?  Anyone know what he meant by this?
  12760.      * edit the Xinput-Section of your /etc/XF86Config to load the driver
  12761.        when X11 starts (see the man-pages for XF86Config and your
  12762.        X-server)
  12763.        
  12764.      * recompile the GTK toolkit with the Xinput-support enabled. see the
  12765.        README and INSTALL file for the command switch to do this.
  12766.        
  12767.      * restart your computer, start X11 and Gimp. if no error message
  12768.        occured your artpad should work well
  12769.        
  12770.    
  12771.    [INLINE]
  12772.    
  12773. Reader Mail
  12774.  
  12775.    Dan Schmitt wrote:
  12776.    The polyray site seems to have moved.  It now seems to live at:
  12777.        http://www.inf.fu-berlin.de/tec/software/
  12778.        public/public_html/grafik/polyray.html
  12779.        
  12780.    Michael B. East wrote:
  12781.    Check out the new home page for sceda, now called sceda II! Let me
  12782.        know what you think!
  12783.        It's at www.tls.com/mbeast.
  12784.        
  12785.    Scott Manley wrote:
  12786.    You might be interested to add this little programm to your list of
  12787.        Unix 3D graphics utilities - it generates fractal asteroids using
  12788.        a few parameters given to it on the command line.
  12789.        http://star.arm.ac.uk/~spm/ asteroid_impact/gen_asteroid.c
  12790.        
  12791.    'Muse:  Thanks for the pointers guys!
  12792.    
  12793.    Steve Martin wrote me about some information in the Linux Graphics
  12794.    mini-Howto:
  12795.    Regarding the page http://www.graphics-muse.org/linux/lgh.html, in the
  12796.        section Creation Tools, you mention that:
  12797.        
  12798.         "If you wish to write shaders in BMRT, you really need The
  12799.             Renderman Companion book by Steve Upstill which is available
  12800.             from Addison Wesley.  This text also describes the RIB
  12801.             format.  Shaders in BMRT are just text files written in the
  12802.             Renderman Shading Language (described in the book - it's a
  12803.             subset of C); the shader is run through the BMRT shader
  12804.             compiler "slc" and then it can be used in your renderings."
  12805.        I would point out a couple of inaccuracies if I may.  First, Mr.
  12806.        Upstill's book completely ignores the RIB format; he concentrates
  12807.        exclusively on the procedural binding (i.e. the C-language API).
  12808.        Secondly, regarding the Renderman Shading Language, Mr. Upstill
  12809.        writes:
  12810.        
  12811.         "The most obvious characteristic of this shader is a superficial
  12812.             resemblance to a function in the C programming language."...
  12813.             "This makes the shading language easier to learn, but one
  12814.             must beware of assuming the shading language is C."
  12815.        
  12816.    The text makes it clear that, while there are some syntactic
  12817.        similarities between the two languages, the RSL is *not* a "subset
  12818.        of C".
  12819.        
  12820.    'Muse:  You are completely correct.  I stand corrected.
  12821.    Finally, I would recommend that anyone wanting to learn to write
  12822.        shaders for Renderman read, in addition to the Renderman
  12823.        Companion, Texturing and Modelling:  A Procedural Approach by
  12824.        David S. Ebert et al. It is a much more thorough and intensive
  12825.        work on procedural texturing than is RC, and uses examples written
  12826.        almost exclusively in the Renderman Shading Language.
  12827.        
  12828.    'Muse:  It is indeed.  I've got that text.  Its not an easy read, but
  12829.    its certainly a thorough coverage of the subject.
  12830.    Hope this helps. Keep up the good work.
  12831.        
  12832.    'Muse:  It does help.  Thanks for clearing this up.  I intend on doing
  12833.    a complete rewrite of the LGH soon, but I don't know when it will be
  12834.    complete.
  12835.    
  12836.    Roderick A. Anderson asked about converting GIF's to interlaced GIF's.
  12837.    Are there any programs that run on a Linux platform to convert GIFs to
  12838.        an interlaced format?  Free first (of course),then commercial,
  12839.        then
  12840.        
  12841.    'Muse:  NetPBM, I think.  ImageMagick may also do so.  A commercial
  12842.    package is Image Alchemy, but its priced for corporate use and not so
  12843.    much for individual use (I think - its been awhile since I checked).
  12844.    hostageware or some variation.  I've been too busy to upgrade my
  12845.        system to RedHat Linux 5.0 (semester is almost over soon) so I
  12846.        haven't been able to try a recent version of gimp. (The version I
  12847.        have is less powerful then xpaint.)
  12848.        
  12849.    'Muse:  Boy, thats an old version.  If you have time try the 1.0
  12850.    version from www.gimp.org.  You'll need to grab the GTK 1.0 libs first
  12851.    - www.gtk.org.  The Gimp can read in non-interlaced GIF's and convert
  12852.    them to interlaced.  Its pretty easy to do.
  12853.    ______________________________________________________________________
  12854.    
  12855.    [INLINE]
  12856.    
  12857.                           Building dynamic web pages
  12858.                                        
  12859.    Recently I started a complete rewrite of my web site,
  12860.    graphics-muse.org.  This is the 5th time I've done this over the past
  12861.    5 years although I haven't had my own domain that long.  This rewrite
  12862.    comes from the obvious need to make the my graphics resources
  12863.    searchable and easier to update.  So, I've had to add a database and
  12864.    learn to create dynamic pages.  The database part is easy - I'm going
  12865.    to use msql.  I've used it for a few simple databases at home and its
  12866.    quite sufficient for my relatively simple needs.  Dynamic pages are
  12867.    something new, however.  And for this, I need to step into the world
  12868.    of Perl.
  12869.    
  12870.    I used to pride myself on the number of languages I had taught myself
  12871.    over the years.  In recent times, however, I've found myself falling
  12872.    behind the curve, having grown comfortable and satisfied with C.
  12873.    Although I still think C suffices for most projects I realize that I
  12874.    need to move on to newer, object oriented, languages.  I hate C++.
  12875.    I've done a little work with it and its just a perversion of C in my
  12876.    eyes.  Java is my long term goal, primarily because I make a living
  12877.    doing graphical interfaces and Java is the future for people like me.
  12878.    Perl, on the other hand, is simply the tool of choice for the Web.  I
  12879.    didn't want to learn yet another scripting language, but its hard to
  12880.    avoid if I'm going to try to do Web developement.  So, Perl it is.
  12881.    
  12882.    Fortunately, creating dynamic Web pages with Perl turns out to be
  12883.    pretty simple.  A perl module called, conveniently, Msql allows me
  12884.    easy access to my databases and the CGI.pm module makes generation of
  12885.    HTML a breeze.  Both the msql database and CGI.pm have printed texts
  12886.    available so learning both is a bit easier than the traditional
  12887.    man-page browsing with which I've grown up.  We'll take a look at how
  12888.    we can use both the Msql and CGI.pm modules to create a very simple
  12889.    dynamic page.
  12890.    
  12891.    This discussion does not expect you to understand how to program in
  12892.    perl, but it would help.  We're going to step through the process
  12893.    without going into huge detail here.  Also, when I talk about the
  12894.    database I'll use lowercase - msql - but when I talk about the perl
  12895.    module I'll use uppercase - Msql.  You should, however, be a little
  12896.    familiar with how SQL statements look, or at least not be afraid of
  12897.    looking at them.  What we'll use in this example is pretty basic and
  12898.    you should be able to interpret whats going on from the code and the
  12899.    explanations.
  12900.    
  12901.    First, what tools do you need for this experiment?
  12902.    Perl 5.003 patchlevel 7 or higher
  12903.        msql 1.0.x
  12904.        CGI.pm 2.38
  12905.        The Msql module
  12906.        
  12907.    These just happen to be the versions I installed on the server that
  12908.    hosts my domain.  I don't know what the version of the Msql module is,
  12909.    but you can find it on a CPAN mirror.  Apparently if you have perl
  12910.    5.004 you already have CGI.pm (its part of the standard distribution
  12911.    since 5.004).  If not you'll need to grab the module from one of the
  12912.    CPAN mirrors.  CPAN is the Comprehensive Perl Archive Network and is
  12913.    where you can find all sorts of modules for use with Perl.  Modules
  12914.    are extensions to perl.  The CGI.pm module allows you to use methods
  12915.    and functions to generate HTML output in a CGI script.  Similarly, the
  12916.    Msql module allows you methods for accessing an msql database.  The
  12917.    current version of the msql database is 2.0.x, but this seemed to have
  12918.    some problems when I tested simple inserts on a Solaris box, so I'm
  12919.    working with the more stable 1.0.x version, which happens to be whats
  12920.    on my server anyway.
  12921.    
  12922.    Ok, now lets create a simple database.  Make sure the msql database is
  12923.    installed properly (follow the directions with the package - its
  12924.    pretty straightforward to build and install).  Start the database
  12925.    daemon:
  12926.    % msqld&
  12927.        
  12928.    Next you need to create an empty database, which we'll call "muse".
  12929.    Use the msqladmin command for this:
  12930.    % msqladmin create muse
  12931.        
  12932.    We can now use the msql monitor to interactively add a table and
  12933.    populate the table, but lets do this the easy way.  We'll create a
  12934.    text file with the commands and then feed it to the monitor in batch
  12935.    mode.  The text file looks like this (including comments):
  12936.    # drop existing table.  If it doesn't exist, msql will basically
  12937.        ignore this.
  12938.        drop table tools
  12939.        \g
  12940.        # Create a new table in the database
  12941.        create table tools (
  12942.           tooltype     int not null,                 # 0: hand tool;  1:
  12943.        power tool
  12944.           toolname     char(255) not null            # name of the tool
  12945.        )
  12946.        \p\g
  12947.        # Insert a few entries into the table
  12948.        insert into tools values (0, 'hammer') \g
  12949.        insert into tools values (0, 'screwdriver') \g
  12950.        insert into tools values (1, 'table saw') \g
  12951.        
  12952.    Save this to a file called "tools.msql".  The filename is arbitrary.
  12953.    The "\p" and "\g" tell the monitor to print the command as its run and
  12954.    to actually run the command, respectively.  Note that the text names
  12955.    are enclosed in single, not double, quotes!  You can feed this to the
  12956.    monitor using the following command:
  12957.    % msql muse < tools.msql
  12958.        
  12959.    Its a simple database, but this is a simple example.  Now lets build a
  12960.    CGI script using perl that will display a couple of tables, one of
  12961.    which will contain the entries from the database.  The first thing is
  12962.    to tell the script to use perl5 and to load the Msql and CGI.pm
  12963.    modules:
  12964.    #!/usr/bin/perl5
  12965.        # Import modules of interst.
  12966.        use CGI qw/:standard :html3 :netscape/;
  12967.        use Msql;
  12968.        
  12969.    The location of your perl5 binary may be different, so check that
  12970.    first.  The stuff after "use CGI" tells perl which functions from CGI
  12971.    to load.  In this case we're loading the standard functions, plus the
  12972.    HTML3 and netscape extensions.  There are multiple methods for
  12973.    specifying these extensions.  You'll need to check the Perl or CGI.pm
  12974.    documentation (see end of this article) for details on how to use a
  12975.    different syntax.
  12976.    # print out the HTML HEAD section
  12977.        print header,
  12978.           start_html(
  12979.              -author=>'webmaster@graphics-muse.org',
  12980.              -title=>'My Little Tools',
  12981.              -bgcolor=>'#FFFFFF', -text=>'#000000'
  12982.              );
  12983.        
  12984.    This prints out the <HEAD> section for you.  Just modify the author
  12985.    and title lines to suite your needs.  Next comes our connection to the
  12986.    msql database:
  12987.    # Open the Msql connections and select the databases of interest.
  12988.        my $dbh1 = Msql->connect();
  12989.        $dbh1->selectdb('muse');
  12990.        
  12991.    The first line after the comment assigns a database handle to the
  12992.    variable dbh.  The next line use the selectdb() method to access the
  12993.    database named "muse".  Pretty simple, eh?  You can specify a remote
  12994.    host in the connect() method in the first line.  You can also specify
  12995.    the name of the database there.  But I think explicitly calling them
  12996.    out like this makes the code a little easier to maintain for someone
  12997.    who might come along later and not quite understand what was going on.
  12998.    
  12999.    Ok, you've opened the connection to the database.  Lets grab the tools
  13000.    table entries.
  13001.    my $sth = $dbh1->query("SELECT * from tools");
  13002.        my @rows;
  13003.        my @result;
  13004.        while (@result = $sth->fetchrow)
  13005.        {
  13006.           push( @rows, td({-align=>'CENTER', -valign=>'CENTER'},
  13007.        $result[1]) );
  13008.        }
  13009.        my $tools_list =
  13010.           table( {-border=>1, -cellpadding=>'1', -cellspacing=>'5'},
  13011.              Tr(@rows)
  13012.           );
  13013.        
  13014.    Looks a little confusing, but its not really.  The first line assigns
  13015.    a handle from the SELECT statement to the variable sth.  The handle is
  13016.    used to access each row of the table that matched the SELECT query.
  13017.    In this case, the query() method selected all rows from the table
  13018.    "tools".  If we had opened another database (besides the "muse"
  13019.    database) we would have used a different database handle, such as
  13020.    dbh2, instead.  Of course we would have had to selected that database
  13021.    with the selectdb() method like we did with dbh1 earlier.
  13022.    
  13023.    The next two lines just define the variables rows and result to be
  13024.    local.  However, these variables will both be list variables.  Lists
  13025.    are special in perl - you can access all the entries in the list using
  13026.    the @ symbol as a prefix, or you can access individual elements of the
  13027.    list by prefixing the variable name with a $ symbol and using an array
  13028.    element number.  We'll see examples of both in a moment.
  13029.    
  13030.    The next 4 lines are a while() loop that process each row returned
  13031.    from our SELECT query.  The fetchrow() method is used to assign the
  13032.    current row to the @result list.  A row, of course, consists of two
  13033.    entries:  the tooltype and the toolname.   The push() line says to
  13034.    append the following to the @rows list:
  13035.    td({-align=>'CENTER', -valign=>'CENTER'}, $result[1])
  13036.        
  13037.    The @rows list is empty to start, so each time through we're adding a
  13038.    new entry to the list.  Each entry is the CGI.pm modules code for
  13039.    specifying a table element.  The stuff between the curly braces are
  13040.    the table element arguments.  After that comes a list of what goes
  13041.    into the element.  In this case, you get the tools name - $result[1].
  13042.    Remember we assigned the current table row to the @result list, and
  13043.    we're accessing an element of that list by using the $ prefix and an
  13044.    array index.  The index always starts at 0, so an index of 1 means the
  13045.    second element of the list.  What happens after this while() loop is
  13046.    run is that you have a list of table elements with all the tools names
  13047.    in them.  We'll be using these when we create a table in just a
  13048.    moment.
  13049.    
  13050.    Below the while() loop is another local variable, tools_list.  This
  13051.    variable will be used to output a table in our page.  The table()
  13052.    function comes from CGI.pm and is used to generate a table.  Note that
  13053.    neither this nor the td() functions in the while() loop have actually
  13054.    been output yet.  We're just storing these in variables for later
  13055.    output.  Again, the curly braces enclose arguments for the table HTML
  13056.    tag.  After that is another embedded CGI.pm function - Tr().  This
  13057.    function has an uppercase first letter only because perl has its own
  13058.    "tr" function and there needs to be a distinction between the two.  In
  13059.    most cases, the CGI.pm functions will use lowercase only.  The Tr()
  13060.    function creates a table row.  Embedded within this is are all the
  13061.    table elements we stuffed into the @rows list.  Still with me?
  13062.    Great!  All thats left is to output this back to the browser.
  13063.    # Now print the complete table
  13064.        print
  13065.           center(
  13066.           table(
  13067.              {-border=>1, -width=>'100%', -cellpadding=>1,
  13068.        -cellspacing=>5},
  13069.              Tr(
  13070.                 td({-align=>'CENTER', -valign=>'CENTER'}, $tools_list),
  13071.              )
  13072.           )
  13073.        );
  13074.        # End of HTML output.
  13075.        print end_html;
  13076.        
  13077.    The print() command is from perl.  It just prints to standard output,
  13078.    which is what you want for CGI scripts.  The center() function comes
  13079.    from CGI.pm and will center the following table.  The table() function
  13080.    comes from CGI.pm also.  We've already created a table earlier, in our
  13081.    $tools_list variable.  Now we're going to embed that earlier table
  13082.    inside another table.  We define the new tables arguments, followed by
  13083.    a single table row (Tr()) and a single element in which we add the
  13084.    $tools_list table.
  13085.    
  13086.    Save all this to a file called web.pl in your cgi-bin directory on
  13087.    your web server.  Make sure the script has execute permissions.  You
  13088.    can see this little scripts output by accessing
  13089.    www.graphics-muse.org/cgi-bin/web.pl.  Its not much, but it shows how
  13090.    easy it is to integrate a little bit of database info into a web
  13091.    page.  For what its worth, it only took me about 2 days to get all
  13092.    this down, mostly by experimenting with examples in the printed
  13093.    texts.   It would have been quicker, but I did it at work and ducking
  13094.    from coworkers took most of my time.
  13095.    
  13096.    Speaking of documentation, the texts you want are
  13097.      * Offical Guide to Programming with CGI.pm by Lincoln Stein,
  13098.        published by Wiley Press.
  13099.      * Official Guide to MiniSQL 2.0 by Briand Jepson and David J.
  13100.        Hughes, by Wiley Press.
  13101.        
  13102.    The msql guide is applicable to the 2.0 release, but I found it useful
  13103.    for a refresher on using msql.  If you need 1.0.x documentation, you
  13104.    can check out the msql web site.
  13105.    
  13106.    ______________________________________________________________________
  13107.    
  13108.    
  13109.    Musings
  13110.    [INLINE]
  13111.    
  13112. Gimp 1.0
  13113.  
  13114.    For those of you who have been
  13115.     1. living under a rock
  13116.     2. tied up and held captive by aliens
  13117.     3. or changing your oil for the past 3 months
  13118.        
  13119.    I have news for you:  Gimp 1.0 has been released.  The announcement
  13120.    came back on June 5th.  Since I haven't done a 'Muse column since
  13121.    April perhaps you missed it.  For some reason the trumpets didn't seem
  13122.    to blare as loud as I expected they might when the announcement hit
  13123.    the mailing lists and comp.os.linux.announce.  I guess I expected more
  13124.    fanfare.  Maybe there was and I missed it.  I was changing my oil for
  13125.    a while back then, too.  Or maybe that was the month I was with the
  13126.    aliens.  Its been a long summer.
  13127.    
  13128.    As I mentioned at the top of this column (you know, the part you
  13129.    probably don't read each month), I've spent the last year working on a
  13130.    book on the Gimp.  SSC, the publishers of the Linux Journal and the
  13131.    host of the Linux Gazette, had contacted me in June of 1997 about the
  13132.    possibility of doing the book.  I thought it was a great idea, so I
  13133.    jumped into it.  The hard part has been trying to keep the work up to
  13134.    date.  Much of the writing had to wait till there was some light at
  13135.    the end of the 1.0 development tunnel.  Not suprisingly, the past 3
  13136.    months I've been buried in updates and last minute details.  This has
  13137.    been the longest last minue of my life.
  13138.    
  13139.    But I'm fairly happy about the book.  It will be printed in 4-color on
  13140.    glossy paper and there are lots of images and examples.  There is also
  13141.    a CD which will include all the images from the book, plus lots of
  13142.    other good stuff.  There are some things I didn't get in because there
  13143.    just wasn't any time left.  They'll have to wait for the next edition
  13144.    or for articles in the Linux Journal.  Or maybe in the 'Muse.  Anyway,
  13145.    one year is plenty for the first edition.
  13146.    
  13147.    Gimp 1.0 source actually comes in three packages:  the core
  13148.    distribution, the extras package, and the unstable package.  The core
  13149.    and extras package build and install fairly easy.  The unstable
  13150.    package includes a number of very handy plug-ins but you have to
  13151.    understand how to build them a little more than the core and extras
  13152.    packages.
  13153.    
  13154.    Some of the more interesting features of the 1.0 release include a
  13155.    rather good Print plug-in that can work with a number of HP and Epson
  13156.    printers directly and also supports Postscript output.  So you can
  13157.    print directly to a postscript capable printer or run the output
  13158.    through Ghostscript.
  13159.    
  13160.                             -Top of next column-
  13161.                                       
  13162.    [INLINE]
  13163.    
  13164.     More Musings...
  13165.    
  13166.    No more musing this month.
  13167.    [INLINE] [INLINE]
  13168.    Another great Plug-in is the GFig plug-in, which allows you some
  13169.    limited drawing capabilities.  You can draw circles, curves, boxes and
  13170.    other shapes, repositions them, render them on separate layers using
  13171.    any brush shape and color.  The interface is a bit clunky, but its
  13172.    still an improvement on the default drawing tools.
  13173.    
  13174.    Other recent improvements over older development releases include:
  13175.      * runtime configuration via the Preferences dialog
  13176.      * a Netscape interface to access online resources
  13177.      * a better menu organization
  13178.      * frequently used layer functions accessible via buttons now
  13179.      * lots of Script-Fu scripts
  13180.        
  13181.    The Gimp has gotten quite a bit of press recently, including some
  13182.    blurbs in the online version of Publish magazine and on NPR (National
  13183.    Public Radio).  Check Zach's Gimp News site for more information on
  13184.    these.
  13185.    
  13186.    There are still a few things that need work, not the least of which is
  13187.    support for more color models.  But this has been discussed at length
  13188.    on the developers list and a few people appear to be working on it, at
  13189.    least to some extent, for the 1.2 release.  The Gimp will have a
  13190.    numbering scheme like the Linux kernel, where even numbers are public
  13191.    releases and odd numbers are developers releases.  Currently, the
  13192.    1.0.4 version is the latest public release.  There is a 1.1
  13193.    
  13194.    I intend to focus more of my energies towards the Gimp from now on.
  13195.    The 'Muse columns future depends on some discussions I'm having with
  13196.    SSC about another project, but for now its just discussion.  In any
  13197.    case, after all this time, I finally plan on working on some plug-ins
  13198.    and scripts.  Since 1.0 is out, I can't whine about not having a
  13199.    stable version anymore.   I'll be hanging out on the Gimp-User mailing
  13200.    list trying to help out there.  With 1.0 out, its time for the user
  13201.    community to show what can be done with the tools.
  13202.    
  13203.    Besides, maybe we have another Gimp-based Diane Fenster out there.
  13204.    
  13205.    
  13206.    [INLINE]
  13207.    Resources The following links are just starting points for finding
  13208.    more information about computer graphics and multimedia in general for
  13209.    Linux systems. If you have some application specific information for
  13210.    me, I'll add them to my other pages or you can contact the maintainer
  13211.    of some other web site. I'll consider adding other general references
  13212.    here, but application or site specific information needs to go into
  13213.    one of the following general references and not listed here.
  13214.    
  13215.    Online Magazines and News sources
  13216.    C|Net Tech News
  13217.    Linux Weekly News
  13218.    Slashdot.org
  13219.    
  13220.    General Web Sites
  13221.    Linux Graphics mini-Howto
  13222.    Unix Graphics Utilities
  13223.    Linux Multimedia Page
  13224.    
  13225.    Some of the Mailing Lists and Newsgroups I keep an eye on and where I
  13226.    get much of the information in this column
  13227.    The Gimp User and Gimp Developer Mailing Lists.
  13228.    The IRTC-L discussion list
  13229.    comp.graphics.rendering.raytracing
  13230.    comp.graphics.rendering.renderman
  13231.    comp.graphics.api.opengl
  13232.    comp.os.linux.announce  [INLINE]
  13233.    
  13234. Future Directions
  13235.  
  13236.    Next month:
  13237.    As usual, I'm not sure exactly what will be covered next month.  My
  13238.    next major project is a rewrite of my graphics-muse.org web site so
  13239.    you can expect I'll probably have something for Web Wonderings.
  13240.    POV-Ray 3.0 is out in beta, I hear.  Anyway, we'll see which way the
  13241.    winds blow by the end of August.
  13242.    
  13243.    Let me know what you'd like to hear about!
  13244.    ______________________________________________________________________
  13245.    
  13246.                                                  ⌐ 1998 Michael J. Hammel
  13247.      _________________________________________________________________
  13248.    
  13249.                     Copyright ⌐ 1998, Michael J. Hammel
  13250.             Published in Issue 31 of Linux Gazette, August 1998
  13251.      _________________________________________________________________
  13252.    
  13253.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  13254.      _________________________________________________________________
  13255.    
  13256.     "Linux Gazette...making Linux just a little more fun!"
  13257.      _________________________________________________________________
  13258.    
  13259.    A Linux Journal Preview: This article will appear in the October issue
  13260.    of Linux Journal.
  13261.      _________________________________________________________________
  13262.    
  13263.                        The Great Linux Revolt of 1998
  13264.                                       
  13265.                               By Chris Dibona
  13266.      _________________________________________________________________
  13267.    
  13268.    Photo Album
  13269.      _________________________________________________________________
  13270.    
  13271.    Sam Ockman's notice hit Slashdot (http://www.slashdot.org/) at 6:21PM,
  13272.    it read:
  13273.    
  13274.      The 500 members of SVLUG are going to have a big rally tonight at
  13275.      the largest/most prestigious computer store in Silicon Valley,
  13276.      Fry's, when they stay open until 1AM to distribute Windows 98.
  13277.      We're going to hand out Linux CDs and stuff like that as well. We'd
  13278.      like to have more people at the rally then go to buy Windows 98.
  13279.      
  13280.    While it was obvious that the entire membership of the LUG was not
  13281.    planning on showing up for a midnight rally, it was clear that this
  13282.    was an idea with great potential. A little after 10PM, Sam and I
  13283.    arrived at the Chili's restaurant near the rally site to meet with
  13284.    people beforehand. We were hopeful that we were not going to be alone
  13285.    at the table.
  13286.    
  13287.    We were not disappointed. There were about 15 people waiting for Sam
  13288.    to arrive. Some we recognized from the SVLUG, and some that had seen
  13289.    the notice on Slashdot. Remember only four hours had gone by since the
  13290.    original posting. By the time we left, the crowd had grown to 25
  13291.    people.
  13292.    
  13293.    After consuming some munchies and a stout or two, we headed out for
  13294.    Fry's electronics in Sunnyvale. For those of you who aren't familiar
  13295.    with Fry's, they are a warehouse-sized electronics, software,
  13296.    hardware, test equipment, junk food, books and magazine retailer out
  13297.    here on the west coast. Picture Price-Costco except with resistors.
  13298.    Most people have a love hate relationship with Fry's, mainly for
  13299.    customer service issues. It's important to note that this rally was
  13300.    not a protest against Fry's, but a rally for Linux on MS Windows 98's
  13301.    birthday.
  13302.    
  13303.    We arrived at the Fry's around 11:30PM. The 500 compact discs hadn't
  13304.    arrived from the generous folks from S.u.S.E. yet, and we were a
  13305.    little nervous they would be late. At Fry's our numbers had doubled to
  13306.    a little over 50 people. By now, our signs had been pulled out and we
  13307.    were actively agitating for Linux. This was a peaceful gathering, we
  13308.    made a point of not being too annoying and staying out of the way of
  13309.    cars.
  13310.    
  13311.    The CDs arrived around midnight, coinciding with the beginning of the
  13312.    sale of the Windows 98 CDs. We started handing them out along with
  13313.    pamphlets designed by Adam Richter (of Yggdrasil) to people who were
  13314.    coming into and out of Fry's. At this point we had two reporters show
  13315.    up to document the event (see links below).
  13316.    
  13317.    Also, at this point we started noticing worried looking guys with
  13318.    walkie-talkies watching us from the parking lot, and some Fry's
  13319.    managerial types talking into their cell phones. One of the protestors
  13320.    overheard one of their managers call the police, and then frustratedly
  13321.    say to another Fry's guy, ``Why can't we just go over there and rip
  13322.    those signs out of their geek hands?'' When we heard that, we were
  13323.    taken aback, but it did consolidate our desire to continue.
  13324.    
  13325.    A few minutes later the Sunnyvale police began to arrive in numbers.
  13326.    Four police cars pulled forward into the lot. I offered myself up as
  13327.    their contact, while Sam controlled the Linux people.
  13328.    
  13329.    The police officer asked us what we were doing there, I described
  13330.    Linux and how we were trying to get the word out about it. The police
  13331.    officer was cool about it, telling me that we'd have to wait for his
  13332.    Lieutenant to arrive to find out what to do. We were on Fry's private
  13333.    property, their parking lot. It turns out there are certain situations
  13334.    where it's okay to protest on someone's private property. It's pretty
  13335.    much always okay to protest on the sidewalk. We had been expecting to
  13336.    be asked to move to the sidewalk eventually.
  13337.    
  13338.    Before his Lieutenant arrived, one of the other police officers asked
  13339.    more about Linux, the word is one of the Linux people got a CD into
  13340.    his hands on his way out of the lot. He did say, ``Hey, good luck with
  13341.    your system'' to me.
  13342.    
  13343.    Additionally, the manager of Fry's came up to me (the same one that
  13344.    wanted to rip the signs out of our ``geek hands'') and asked me why I
  13345.    was doing this, as Fry's sold Linux in their book section. I pointed
  13346.    out that we knew this and indeed had a sign showing people which aisle
  13347.    to go to for the book. He then asked why I had not had the Linux
  13348.    marketing people or my (as if I'm in charge of Linux!) vendor
  13349.    relations people, contact Fry's management to arrange a similar event
  13350.    to the Windows 98 launch. Needless to say I was like a deer in the
  13351.    headlights, I told him that, in fact, Linux was a free operating
  13352.    system, and that this was one way we saw to market it (not to mention
  13353.    the fact that no company could match a MS launch when it comes down to
  13354.    the checkbook).
  13355.    
  13356.    He was visibly upset, so I thought it was best to stop talking with
  13357.    him at this point. I told him any further communication between us
  13358.    would come to no good end, and we should only talk through the police.
  13359.    (His brains were melting out his ears at this point.)
  13360.    
  13361.    The Lieutenant arrived and said we should move to the sidewalk, so we
  13362.    did, and it was just as cool, cars were actually pulling over and
  13363.    picking up a copy of the Linux CD.
  13364.    
  13365.    After about 15 minutes of this, we decided to hit the CompUSA, a few
  13366.    miles away. When we arrived, there were still a lot of people in line
  13367.    there. It turns out CompUSA was not only promoting Windows 98, but
  13368.    they were also doing all kinds of things to bring people into the
  13369.    store. They were selling the first 10 people in line computers for
  13370.    $98, and paying people $4 to take away 32MB of RAM. (Actually, the RAM
  13371.    was $32, but there was a $38 rebate--or something like that, it was
  13372.    weird.) This also meant that there were a lot of people to promote
  13373.    Linux to. CompUSA's management were cool, they just took the rally in
  13374.    stride, telling Sam the rally was okay, as that was what the first
  13375.    amendment was all about. Fry's had sent one of their security drones
  13376.    to CompUSA to warn them of our existence, but CompUSA just let us do
  13377.    our thing.
  13378.    
  13379.    After CompUSA petered out, we converged on a local Denny's to nosh.
  13380.    Denny's flipped when they saw all the people, so we moved to a braver
  13381.    restaurant down the street. I got home around 3AM to find people were
  13382.    already uploading pictures to the web.
  13383.    
  13384.    By the end of the night we had given out 500 CDs, and hundreds of
  13385.    pamphlets. A total of six press people showed up and there were over a
  13386.    half-dozen mentions in major newspapers. This is not counting the
  13387.    coverage we received from other on-line sources such as CNN and the
  13388.    BBC. Everyone involved had a rocking good time promoting Linux.
  13389.    
  13390.    Whether or not you agree with this direct action model of Linux
  13391.    marketing, we feel confident that we passed the Linux Message to many
  13392.    thousands of people who otherwise had no real knowledge about the
  13393.    Linux revolution. Viva El Revolution!
  13394.    
  13395.   Resources
  13396.   
  13397.    SVLUG: http://www.svlug.org/
  13398.    SVLUG Rally: http://www.penguincomputing.com/svlug-rally.html
  13399.    Slashdot: http://www.slashdot.org/
  13400.    SuSE: http://www.suse.com/
  13401.      _________________________________________________________________
  13402.    
  13403.                        Copyright ⌐ 1998, Chris DiBona
  13404.             Published in Issue 31 of Linux Gazette, August 1998
  13405.      _________________________________________________________________
  13406.    
  13407.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  13408.      _________________________________________________________________
  13409.    
  13410.     "Linux Gazette...making Linux just a little more fun!"
  13411.      _________________________________________________________________
  13412.    
  13413.     How I got my Adaptec AVA 1502 SCSI card to work with Linux and SANE
  13414.                                       
  13415.                              By James M. Rogers
  13416.      _________________________________________________________________
  13417.    
  13418.    I have a Microtek ScanMaker E3 that I have ran under windows for a few
  13419.    years to allow me to convert from hard copy to digital.  I have never
  13420.    been satisfied with the performance of this scanner under windows
  13421.    because I was so limited in the size of the images that I could
  13422.    process.  I won't bore you with the details, suffice it to say that it
  13423.    was slow, tedious and the results were only adequate.
  13424.    
  13425.    I have heard about Scanner Access Now Easy (SANE) for a few years.  It
  13426.    is a project to implement a consistent scanner interface across all
  13427.    scanners, digital cameras, and other items.  It only works with SCSI
  13428.    scanners at this time.
  13429.    
  13430.    It took me three tries to get the program to work for me.
  13431.    
  13432.    Try one:
  13433.    
  13434.    The SCSI driver card that came with my scanner claimed to be an
  13435.    AVA-1502E.  I couldn't find a driver to work with this under Linux.
  13436.    
  13437.    Try two:
  13438.    
  13439.    I thought that this card is an Adaptec card so I tried to load the
  13440.    Adaptec modules, concentrating on the aha152x.o  The most I got was
  13441.    the insmod program seeming to lock up.  At no point in this process
  13442.    did it recognize my card.
  13443.    
  13444.    Try three:
  13445.    
  13446.    I peeled the sticker off of the main chip and saw that it was an 6360
  13447.    chip (Doing this probably voids the warranty.)  So I dug into the
  13448.    Linux source code. In /usr/src/linux-2.0.32/drivers/scsi/  there is a
  13449.    file called aha152x.c.  I read this file several times and got a
  13450.    general picture of how this file worked.  I then modified the file
  13451.    /usr/src/linux-2.0.32/drivers/scsi/Makefile and commented out the line
  13452.    following line:
  13453.    
  13454.        AHA152X = -DDEBUG_AHA152X -DAUTOCONF
  13455.    
  13456.    turns to:
  13457.    
  13458.        #AHA152X = -DDEBUG_AHA152X -DAUTOCONF
  13459.    
  13460.    I then added this line right below the commented line:
  13461.    
  13462.        AHA152X = -DDEBUG_AHA152X -DSKIP_BIOSTEST -DSETUP0="{ 0x140, 11,
  13463.    7, 0, 0, 0, 100, 0 }"
  13464.    
  13465.    Basically we are telling the module to stop trying to autoconfigure
  13466.    the card, don't try to see which card it is and to use the given
  13467.    settings.  I will contact the maintainers of this code and work with
  13468.    them on getting this driver to autorecognize this card, if possible.
  13469.    
  13470.    The first two numbers are the ones that you care about.  These numbers
  13471.    correspond to the the jumpers on the card.  The first number is 0x140
  13472.    if the jumper is on the card , or 0x340 if the jumper is removed.  The
  13473.    11 corresponded to the irq setting on my card.  This number can be 9,
  13474.    10, 11 or 12 depending on how the jumper was set.
  13475.    
  13476.    If you want to know more about these other settings look in the source
  13477.    code and
  13478.    
  13479.    I then changed to /usr/src/linux-2.0.32/  put a floppy disk in the
  13480.    drive and did a
  13481.    
  13482.        make dep ; make clean ; make zdisk
  13483.    
  13484.    Once the disk had been made I put the disk in my Linux box with the
  13485.    scanner attached and rebooted.  It came up and saw my card and told me
  13486.    that the card was device /dev/sga.  When I looked in /dev/ for a
  13487.    device called sga I couldn't find one.  So I made a link from
  13488.    /dev/scanner to /dev/sg0 instead with the following command:
  13489.    
  13490.        cd /dev
  13491.        ln -s sg0 scanner
  13492.    
  13493.    I then configured my /etc/sane.d/dll.conf to look like this:
  13494.    
  13495.    # enable the next line if you want to allow access through the
  13496.    network:
  13497.    #net
  13498.    microtek
  13499.    pnm
  13500.    
  13501.    I configured my /etc/sane.d/microtek.conf to look like this:
  13502.    
  13503.    #Uncomment the following if you are tired of seeing the dump of the
  13504.    # scanner INQUIRY every time the backend starts up...
  13505.    nodump
  13506.    /dev/scanner
  13507.    
  13508.    Then I ran the following command and it worked!!!:
  13509.    
  13510.        scanimage --help -d microtek
  13511.    
  13512.    This tells you the other commands that will work with the scanner.
  13513.    
  13514.    I then scanned in stuff with the command line command and with
  13515.    xscanner
  13516.    
  13517.        scanimage -dmicrotek -x214 -y296 --resolution 97 > test.pnm
  13518.    
  13519.    The above command is a full scan of the entire page at 200dpi. The
  13520.    output of these programs is pnm format which allows you access to
  13521.    hundreds of filters to process and convert your output to the exact
  13522.    format that you desire.  See the man pnm page for more details.
  13523.    
  13524.    I have already done some 11MB graphics files and used some pnm
  13525.    utilities to filter them, edited them with gimp, cut out the area that
  13526.    I wanted and saved them as jpg's.  The neat thing is that I am testing
  13527.    out SANE by running it on a machine with only 16MB of memory and no
  13528.    swap.  (I am processing the files on a different, faster machine) So
  13529.    far SANE has only failed on full screen images above 200dpi which is
  13530.    not bad.  Once I have a baseline I will put this machine to 32MB RAM
  13531.    and 32MB swap space.
  13532.    
  13533.    I love the ability of Linux to get in there and let me really control
  13534.    my hardware configuration.  With Microsoft the only option that I
  13535.    would have had would have been to buy a "compatible" product and
  13536.    install one of the manufactures full featured (bloated), buggy driver
  13537.    programs.  The support tech would have probably sneered at me as he
  13538.    said this.  This is the first time that I have "dug into" the kernel
  13539.    driver code, researched a problem and found a solution.  Just the
  13540.    satisfaction of being able to fix the kernel to recognize the hardware
  13541.    that I have already paid for is very rewarding.
  13542.    
  13543.    Next month I will talk about getting the networking portion of SANE up
  13544.    and running.
  13545.    
  13546.      _________________________________________________________________
  13547.    
  13548.                      Copyright ⌐ 1998, James M. Rogers
  13549.             Published in Issue 31 of Linux Gazette, August 1998
  13550.      _________________________________________________________________
  13551.    
  13552.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  13553.      _________________________________________________________________
  13554.    
  13555.     "Linux Gazette...making Linux just a little more fun!"
  13556.      _________________________________________________________________
  13557.    
  13558.                            Debian GNU-Linux image
  13559.                                       
  13560.                        A New Stable Release of Debian
  13561.      _________________________________________________________________
  13562.    
  13563.                                by Larry Ayers
  13564.      _________________________________________________________________
  13565.    
  13566.                                 Introduction
  13567.                                       
  13568.    In 1993 Ian Murdock created the Debian Linux distribution, initially
  13569.    under the auspices of the Free Software Foundation's GNU project.
  13570.    Although the direct connection with FSF/GNU is a thing of the past,
  13571.    Debian is still the only major distribution which is not connected
  13572.    with a commercial entity and which is maintained solely by a
  13573.    loosely-knit band of volunteers. The parallels with Linux itself make
  13574.    this distribution appealing to Linux users who value the ideals of the
  13575.    free-software world, including those who may disagree with the purist
  13576.    views of the FSF.
  13577.    
  13578.    Debian hasn't exactly swept the Linux world by storm. The installation
  13579.    procedure in the past has relied on the creation of several floppy
  13580.    disk images, and due to the idiosyncrasies of the floppy medium at
  13581.    least one disk in the set would be bad (in my experience), forcing the
  13582.    irritated user to recreate the faulty disk and start over from the
  13583.    beginning. Debian 2.0 thankfully doesn't require starting over if
  13584.    (say) disk 5 is bad; it just starts the installation again from where
  13585.    it left off. Luckily machines with BIOS support for booting from a
  13586.    CDROM are becoming common and cheap, and Debian CDs are set up so they
  13587.    can be booted directly. Once the base system was installed the dselect
  13588.    package installer, a functional but unintuitive and visually
  13589.    unappealing application, would further discourage new users.
  13590.    
  13591.    Once these hurdles were overcome, the user would find that the Debian
  13592.    system was very well thought out. As an example, the configuration of
  13593.    sendmail has been a stumbling block for many new Linux users. In my
  13594.    Slackware days I had a painfully developed sendmail configuration
  13595.    which sort of worked, but even getting it to that point involved a lot
  13596.    of FAQ-reading and searching of usenet messages. The first time I
  13597.    installed the Debian sendmail package, I was asked a few pertinent
  13598.    questions about my system and its relationship to my mail-server. The
  13599.    result was a sendmail configuration which works flawlessly, due to the
  13600.    invocation of some obscure options which I'd never heard of. The
  13601.    printer configuration, as a final step of installing the magicfilter
  13602.    package, also has worked very well for me. These installations may not
  13603.    have the fancy graphical interfaces found in some other distributions,
  13604.    but they work well and don't require a working X Windows set-up along
  13605.    with various X toolkit libraries.
  13606.    
  13607.    The core of Debian's strength is in the exceptionally versatile *.deb
  13608.    package format. This format, comparable in many ways to Redhat's RPM,
  13609.    does everything possible to prevent a new package from conflicting
  13610.    with others or rendering a system unstable. The dependencies (i.e,
  13611.    what other packages are required for a new one to function) are
  13612.    enforced in a flexible manner and can be over-ridden by the user.
  13613.    Pre-install and post-install scripts are automatically run when a
  13614.    package is installed. These scripts will update default configuration
  13615.    files, delete obsolete files from earlier package versions, and prompt
  13616.    the user if choices need to be made.
  13617.    
  13618.    The dpkg command-line program can be used to install, update, or
  13619.    remove packages. Dselect, a full-screen front-end for dpkg, can
  13620.    automatically fetch and install entire dependency hierarchies; in
  13621.    other words if you select a package with dselect it can determine what
  13622.    other packages are needed and install them as well. I have to confess
  13623.    that I rarely use dselect if I can help it. I usually obtain packages
  13624.    as I need them and install them by hand with dpkg. The problem with
  13625.    dselect is that it is usually used in an installation from scratch; by
  13626.    the time a system needs a major upgrade most users have forgotten the
  13627.    keystrokes. It's not a tool which is used often enough to justify
  13628.    really learning how to use efficiently, and toggling back and forth
  13629.    between the main screen and the help pages is cumbersome. My
  13630.    seventeen-year-old son first installed Linux because of the Gimp
  13631.    graphics program. I installed Debian 1.3 for him, but he's a hardware
  13632.    junky and is continually changing hard disks and video-cards. The
  13633.    second time he had to reinstall Linux I tried to get him to run
  13634.    dselect himself but he hated it. By this time he had convinced some
  13635.    friends to try Linux, and after several lengthy sessions on the phone
  13636.    attempting to walk these kids through package installation with
  13637.    dselect, I gave up and ordered a Redhat 5.0 CD, which they are all
  13638.    running now. Debian has a ways to go before a non-technical novice can
  13639.    easily install it without assistance.
  13640.    
  13641.                                  Debian 2.0
  13642.                                       
  13643.    Debian 2.0 has been delayed for several months, due to the existence
  13644.    of unresolved bugs in several packages. This is probably inevitable
  13645.    given the volunteer nature of the work, as well as the difficulties
  13646.    involved in the transition to the glibc libraries upon which all
  13647.    programs depend. Redhat 5.0 was the first glibc-based distribution,
  13648.    released last year. The release had several major problems, many but
  13649.    not all of which have been fixed with the release of version 5.1 this
  13650.    year. I surmise that the Debian developers resolved to forgo haste in
  13651.    order to avoid similar problems with Debian 2.0.
  13652.    
  13653.    The Debian community was somewhat demoralized earlier this year when
  13654.    Bruce Perens, Debian's leader and spokesman, resigned. It seems that
  13655.    Perens thought Debian wasn't moving quickly enough towards
  13656.    user-friendliness. There is some truth to this opinion, as Debian
  13657.    seems to appeal to many seasoned Linux users who aren't put off by the
  13658.    lack of graphical administration tools. This illustrates on a smaller
  13659.    scale a problem Linux itself has: to gain a larger user-base easier
  13660.    configuration and installation is helpful, but the very people
  13661.    qualified to develop the necessary tools tend not to need or even want
  13662.    them. Linuxconf and COAS, two projects which attempt to address this
  13663.    need, may eventually fill this void.
  13664.    
  13665.                               Libc5 and Libc6
  13666.                                       
  13667.    This release is noteworthy for its skillful and painless handling of
  13668.    the lib5/libc6 issue. Both versions of the essential libraries and
  13669.    support files can be installed and used simultaneously in a manner
  13670.    which is transparent to the user. This is important because most
  13671.    commercial, binary-only Linux applications are compiled to use libc5.
  13672.    This also allows incremental upgrading of an existing Debian 1.3
  13673.    system; the minimal base files to upgrade from 1.3 to 2.0 can be
  13674.    downloaded in a couple of hours while further packages can be obtained
  13675.    and installed as time permits (or when the CD comes in the mail!). The
  13676.    old libc5 packages will continue to function normally until they are
  13677.    upgraded.
  13678.    
  13679.    Libc5 itself isn't sufficient to run any but the most basic
  13680.    applications. Other shared libraries are needed; under Debian they are
  13681.    installed in /usr/lib/libc5-compat . Ldd, the shared library loader,
  13682.    is smart enough to use these libraries for libc5 executables. You will
  13683.    probably need the libc5 XFree86 libraries as well as libXpm in order
  13684.    to run the older binaries. It's easy to determine which libraries are
  13685.    needed by a libc5 executable. Just look at the output of ldd (i.e.,
  13686.    run ldd netscape, substituting the name of the program for
  13687.    "netscape"). If both libc.so.5 and libc.so.6 are shown don't even try
  13688.    starting the program, as it will die immediately. If only libc.so.5 is
  13689.    shown, and the remainder of the shared libs are located in
  13690.    /usr/lib/libc5-compat then the program should run. Here is the output
  13691.    of ldd when run on libc5 version of Netscape:
  13692.  
  13693.  
  13694.               libXt.so.6 => /usr/lib/libc5-compat/libXt.so.6 (0x4000c000)
  13695.               libSM.so.6 => /usr/lib/libc5-compat/libSM.so.6 (0x4004e000)
  13696.               libICE.so.6 => /usr/lib/libc5-compat/libICE.so.6 (0x40057000)
  13697.               libXmu.so.6 => /usr/lib/libc5-compat/libXmu.so.6 (0x4006c000)
  13698.               libXpm.so.4 => /usr/lib/libc5-compat/libXpm.so.4 (0x4007e000)
  13699.               libXext.so.6 => /usr/lib/libc5-compat/libXext.so.6 (0x4008c000)
  13700.               libX11.so.6 => /usr/lib/libc5-compat/libX11.so.6 (0x40097000)
  13701.               libdl.so.1 => /lib/libdl.so.1 (0x40135000)
  13702.               libc.so.5 => /lib/libc.so.5 (0x40138000)
  13703.  
  13704.    And here is the ldd output when run on a libc6 version of Netscape:
  13705.  
  13706.  
  13707.               libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40010000)
  13708.               libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40052000)
  13709.               libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x4005b000)
  13710.               libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x40070000)
  13711.               libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x40084000)
  13712.               libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40092000)
  13713.               libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4009d000)
  13714.               libdl.so.2 => /lib/libdl.so.2 (0x4013b000)
  13715.               libc.so.6 => /lib/libc.so.6 (0x4013e000)
  13716.               /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
  13717.               libg++.so.2.7.2 => /usr/lib/libg++.so.2.7.2 (0x401e3000)
  13718.               libstdc++.so.2.7.2 => /usr/lib/libstdc++.so.2.7.2 (0x4021b000)
  13719.               libm.so.6 => /lib/libm.so.6 (0x40258000)
  13720.  
  13721.    Of course if you install from scratch (and don't have any old programs
  13722.    you need to run) everything will be libc6-based and the above won't be
  13723.    necessary.
  13724.    
  13725.                                 Installation
  13726.                                       
  13727.    Debian 2.0 CDs should be available by the time this issue of LG is on
  13728.    the net, and for everyone but the fortunate few with fast and
  13729.    unlimited net connections a CD is the easiest installation method.
  13730.    Since my installation was an upgrade (done over the course of a couple
  13731.    of weeks) from a Debian 1.3 set-up, I didn't get to see if the
  13732.    installation process had improved until the other day, when I happened
  13733.    to notice that my wife's laptop had several hundred megabytes of free
  13734.    disk space. Unfortunately the machine (a 486 Thinkpad) lacks a CDROM
  13735.    drive and its modem is slow. After splitting off half of the single
  13736.    disk partition with Partition Magic I had two hundred megabytes to
  13737.    work with. Back at my machine, I proceeded to download seven disk
  13738.    image files from a mirror of ftp.debian.org, a total of nine and
  13739.    one-half megabytes. This may seem like a lot, but those seven disks
  13740.    provide a minimal but functional Linux system complete with internet
  13741.    access.
  13742.    
  13743.    Once the tedious job of transferring the disk images to floppy was
  13744.    completed, I booted the Thinkpad from the first disk and began the
  13745.    installation. Like Redhat's, Debian's installation interface is
  13746.    full-screen and menu-driven, though it's not as fancy. One major
  13747.    difference is that while Redhat's installation segues right into
  13748.    package installation and X configuration, Debian is more of a
  13749.    two-stage process. After the base installation is complete, the user
  13750.    reboots the machine; once the new Debian system has booted up (either
  13751.    from a custom boot-disk created during installation or directly from
  13752.    the hard disk) the user is prompted to set the root password and
  13753.    create a user account. The dselect package installer/manager then
  13754.    starts up, but selecting and installing packages can be postponed,
  13755.    which is what I decided to do.
  13756.    
  13757.    Debian's two-stage installation method makes sense to me. Why mess
  13758.    with packages before ascertaining that the installation is truly
  13759.    bootable and error-free? Another reason for waiting to run dselect
  13760.    involves network connections. Although both Redhat and Debian have PPP
  13761.    configuration tools, neither has ever worked flawlessly for me. I
  13762.    always have to do some fine-tuning of the /etc/ppp files, though
  13763.    Debian's pppconfig utility came the closest to getting my
  13764.    configuration right. My ISP is a particularly difficult one to connect
  13765.    to using Linux; I'm certain that for many other providers these net
  13766.    configuration tools work without the necessity of file-tweaking
  13767.    afterwards.
  13768.    
  13769.    Once a PPP connection can be established, dselect can be used to
  13770.    retrieve via FTP any of the distribution's numerous packages. Dselect
  13771.    can also install packages from an NFS-mounted filesystem, a local
  13772.    disk, or a mounted CDROM.
  13773.    
  13774.    Eventually there will be some sort of graphical interface to dselect
  13775.    and dpkg, but this task has proven to be a difficult one. As a first
  13776.    step, an application called apt is under development; in its current
  13777.    state it enable a user to install packages from a combination of
  13778.    remote and local sources in one operation. If a package from the
  13779.    remote server is more recent than the local one the remote package
  13780.    will be installed instead. In effect apt allows installation primarily
  13781.    from a CDROM, with any superseded packages downloaded from a remote
  13782.    server.
  13783.    
  13784.    The Debian developers are very careful to keep the main distribution
  13785.    packages completely free in the GNU sense of the word. The least bit
  13786.    of restrictive licensing, even if source is available, causes the
  13787.    package to be placed in a separate directory, /nonfree. These packages
  13788.    are still freely available, but licensing restrictions prevent some
  13789.    from being included on CDROMs.
  13790.      _________________________________________________________________
  13791.    
  13792.                                  Conclusion
  13793.                                       
  13794.    I predict that even with the installation improvements in Debian 2.0,
  13795.    it will continue to be a technical user's distribution. This may
  13796.    change when the proposed replacement for dselect is finished. The
  13797.    Debian community nonetheless continues to grow, with over four hundred
  13798.    developers maintaining packages. The selection of available packages
  13799.    is immense, with at least as many pieces of software available in
  13800.    *.deb format as there are in *.rpm format. I would recommend Debian
  13801.    for users who have cut their teeth on another distribution, but for
  13802.    beginners I still will recommend Redhat. Just remember, if you can get
  13803.    past the unintuitiveness of dselect package installation, the rest is
  13804.    a breeze!
  13805.      _________________________________________________________________
  13806.    
  13807.    Last modified: Mon 27 Jul 1998
  13808.      _________________________________________________________________
  13809.    
  13810.                        Copyright ⌐ 1998, Larry Ayers
  13811.             Published in Issue 31 of Linux Gazette, August 1998
  13812.      _________________________________________________________________
  13813.    
  13814.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  13815.      _________________________________________________________________
  13816.    
  13817.     "Linux Gazette...making Linux just a little more fun!"
  13818.      _________________________________________________________________
  13819.    
  13820.                        A Somewhat Far-Fetched Analogy
  13821.                                       
  13822.                                by Larry Ayers
  13823.      _________________________________________________________________
  13824.    
  13825.    Lately I've been musing about the effects Linux and free software in
  13826.    general have had upon my world-view. It occurred to me that analogies
  13827.    can be drawn between the realm of free software and another unrelated
  13828.    pursuit which intermittently occupies my attention. Growing plants may
  13829.    seem about as far from the realm of software and computers as it is
  13830.    possible to get, but I've noticed some parallels.
  13831.    
  13832.    First, I'll ask why running Linux (and using free software in general)
  13833.    is satisfying for so many computer users. These factors come to mind:
  13834.      * It frees the user from reliance upon unpredictable corporate
  13835.        entities.
  13836.      * It's efficient, modifiable, and develops rapidly.
  13837.      * There is a strong community spirit.
  13838.      * Linux adheres to truly open standards.
  13839.      * Networks well "out of the box", no additional components
  13840.        necessary.
  13841.      * Bugs are usually fixed quickly, partly because
  13842.      * the developers are accessible, responsive, and interested.
  13843.        
  13844.    Open pollinated seeds are seeds which can be planted and yield a plant
  13845.    very similar to its parents. Hybrid seeds are crosses between species
  13846.    or strains of plants. Planting a seed from a hybrid plant will give
  13847.    unpredictable and generally undesirable results. Large seed companies
  13848.    prefer marketing hybrids, as the customer will have to buy new seed
  13849.    year after year, rather than saving seeds from productive plants to
  13850.    plant in subsequent years. Beginning to see where this is headed?
  13851.    
  13852.    In contrast, a grower who saves seed from open-pollinated plants can
  13853.    exert an influence on the variety by selecting seed from especially
  13854.    healthy and productive plants. This evolving strain will eventually
  13855.    become better adapted to the local soil and climate. Coincidentally
  13856.    enough, someone who keeps a plant variety alive through the years is
  13857.    referred to as the maintainer of the variety, and like a maintainer of
  13858.    a free software package, attempts to pass the responsibility on when
  13859.    he or she is unable to continue the effort.
  13860.    
  13861.    All too often a favorite vegetable or flower variety is discontinued
  13862.    by a large seed company; if the plant was a hybrid it's probably gone
  13863.    forever, but even if the variety comes true from seed it won't survive
  13864.    unless someone happened to save seed. Ever seen a favorite piece of
  13865.    commercial software become abandoned by the company which supported
  13866.    it?
  13867.    
  13868.    If the multinational seed houses have points in common with the large
  13869.    commercial software firms, there is also a parallel between vendors of
  13870.    Linux distributions and the growing number of small seed companies
  13871.    which sell open-pollinated and heirloom seeds. Both of these types of
  13872.    companies service a niche market, and their customers can duplicate
  13873.    and redistribute the products sold. The potential for great profit is
  13874.    less than when selling proprietary and unreproducible goods, but the
  13875.    customer-base in both instances is growing.
  13876.    
  13877.    Both the free-software and non-hybrid seed communities exist rather
  13878.    quietly in society. There is little advertising, especially in the
  13879.    mass media, because large commercial interests who can afford such
  13880.    publicity aren't involved. The free software and Linux communities
  13881.    have benefited greatly from the ubiquity of internet access, while the
  13882.    heirloom plant growers network through such organizations as the Seed
  13883.    Savers Exchange.
  13884.    
  13885.    What's really at stake here is the ability to control and mold one
  13886.    segment of a person's environment, whether that segment is composed of
  13887.    bits or genes. I think that as society becomes more complex,
  13888.    heavily-populated, and bureaucratic, the areas of individual autonomy
  13889.    dwindle. These two fringe realms discussed above, as well as others
  13890.    with similar characteristics, will surely increase in prominence as
  13891.    time passes.
  13892.      _________________________________________________________________
  13893.    
  13894.    Last modified: Mon 27 Jul 1998
  13895.      _________________________________________________________________
  13896.    
  13897.                        Copyright ⌐ 1998, Larry Ayers
  13898.             Published in Issue 31 of Linux Gazette, August 1998
  13899.      _________________________________________________________________
  13900.    
  13901.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  13902.      _________________________________________________________________
  13903.    
  13904.     "Linux Gazette...making Linux just a little more fun!"
  13905.      _________________________________________________________________
  13906.    
  13907.    A Linux Journal Preview: This article will appear in the November
  13908.    issue of Linux Journal.
  13909.      _________________________________________________________________
  13910.    
  13911.                        Open Source's First Six Months
  13912.                                       
  13913.                               By Eric Raymond
  13914.      _________________________________________________________________
  13915.    
  13916.    Six months ago yesterday as I write, Netscape announced their
  13917.    intention to release the source code of Navigator. In that time, we've
  13918.    seen once again that there are very few things as powerful as an idea
  13919.    whose time has come.
  13920.    
  13921.    I'm reminded of this every time I surf the Web these days. The Open
  13922.    Source meme is everywhere. It seems you can't open a technical or
  13923.    business magazine these days without tripping over an admiring article
  13924.    about Linux. Or an interview with Linus Torvalds. Or an interview
  13925.    with...er...me.
  13926.    
  13927.    I've ended up near the center of the crazy and wonderful things
  13928.    happening now half by accident. When I composed The Cathedral and the
  13929.    Bazaar a bit more than a year ago, I was aiming to explain the Linux
  13930.    culture to itself, and explore some interesting and somewhat heterodox
  13931.    ideas about software development. If anybody had suggested to me then
  13932.    that the paper was going to motivate something like the Netscape
  13933.    source release, I would have wondered what drugs they'd been smoking.
  13934.    
  13935.    But that's what happened, and I found myself thrust into the role of
  13936.    leading advocate and semi-official speaker-to-journalists for a hacker
  13937.    community suddenly feeling its oats. I decided to take that job
  13938.    seriously, because somebody needed to do it and I knew how and nobody
  13939.    else was really trying very hard. (I had the advantage of experience;
  13940.    I'd been in this role before, for lesser stakes, after the New
  13941.    Hacker's Dictionary came out in 1991.)
  13942.    
  13943.    The point of all this personal stuff is that I've had an almost
  13944.    uniquely privileged view of the early days of the open-source
  13945.    revolution -- as an observer, as a theorist, as a communicator, and as
  13946.    an active player in helping shape some of the major events.
  13947.    
  13948.                         We've come a long way, baby...
  13949.                                        
  13950.    In this essay, I intend to do three things. One: celebrate the
  13951.    incredible victories of the last six months. Two: share my thinking
  13952.    about the battles being fought right now. And three: consider where we
  13953.    need to go in the future and what we need to do, to ensure that open
  13954.    source is no mere fad but a genuine transformative revolution that
  13955.    changes the rules of the software industry forever.
  13956.    
  13957.    When you're living on Internet time, I know it can be hard to remember
  13958.    last week, let alone last year. But take a moment to think back to New
  13959.    Year's Day 1998. Before the Netscape announcement. Before Corel.
  13960.    Before IBM got behind Apache. Before Oracle and Informix and Interbase
  13961.    announced they'd be porting their flagship database projects to Linux.
  13962.    We've come a long way, baby!
  13963.    
  13964.    In fact, we've come an astonishingly long way in a short time. Six
  13965.    months ago `free software' was barely a blip on the radar screens of
  13966.    the computer trade press and the corporate world -- and what they
  13967.    thought they knew, they didn't like. Today, `open source' is a hot
  13968.    topic not just in the trade press but in the most influential of the
  13969.    business-news magazines that shape corporate thinking.
  13970.    
  13971.    The Economist's July 10 article was a milestone; another is coming up
  13972.    August 10th, when I'm told Forbes will run an explanation of the
  13973.    concept as their cover story.
  13974.    
  13975.    The campaign also went after corporate endorsement of open-source
  13976.    software. We've got it, in spades. IBM -- IBM! -- is in our corner
  13977.    now. The symbolism and the substance of that fact alone is astounding.
  13978.    
  13979.                    We haven't shot ourselves in the foot...
  13980.                                        
  13981.    The last six months are also notable for some things I feared early on
  13982.    that did not happen. Despite initially sharp debate and continuing
  13983.    objections in some quarters, the hacker community did not get bogged
  13984.    down in a loud and divisive factional fight over the new tactics and
  13985.    terminology. Bruce Perens and I and the other front-line participants
  13986.    in the Open Source campaign did not get publically savaged for trying
  13987.    to gently lead the community in a new direction. And nobody burnt us
  13988.    in effigy for actually succeeding!
  13989.    
  13990.    The maturity and pragmatism with which the community backed our play
  13991.    made a critical difference. It has meant that the story stayed
  13992.    positive, that we have been able to present open source as the product
  13993.    of a coherent and effective engineering tradition, one able to sustain
  13994.    the momentum and meet the challenge of what the corporate word
  13995.    considers "real support". It has denied the would-be bashers and
  13996.    Gates-worshippers among the press the easy option to dismiss us all as
  13997.    a bunch of fractious flakes.
  13998.    
  13999.    We've all done well. We've gotten our message out and we've kept our
  14000.    own house in order -- and all this while continuing to crank out key
  14001.    advances that undermine the case for closed software and increase our
  14002.    leverage, like Kaffe 1.0. What comes next?
  14003.    
  14004.                           Towards world domination...
  14005.                                        
  14006.    I see several challenges before us:
  14007.    
  14008.    First: the press campaign isn't over by any means. When I first
  14009.    conceived it back in February, I already knew where I wanted to see
  14010.    positive stories about open source. The Wall Street Journal, the
  14011.    Economist, Forbes, Barron, and the New York Times.
  14012.    
  14013.    Why those? Because if we truly desire world domination, we've got to
  14014.    get our LSD into the corporate elite's conceptual water supply and
  14015.    alter the beast's consciousness. That means we need to co-opt the
  14016.    media that shape decision-making at the highest corporate levels of
  14017.    the Fortune 500. Personally, all the press interviews and stuff I've
  14018.    done have been aimed towards the one goal of becoming visible enough
  14019.    to those guys that they would come to us wanting to know the open
  14020.    source community's story.
  14021.    
  14022.    This has begun to happen (besides the Forbes interview, I was a
  14023.    background source for the Economist coverage) -- but it's nowhere near
  14024.    finished. It won't be finished until they have all gotten and spread
  14025.    the message, and the superior reliability/quality/cost advantages of
  14026.    open source have become diffused common knowledge among the CEOs,
  14027.    CTOs, and CIOs who read them.
  14028.    
  14029.    Second: When I first wrote my analysis of business models, one of my
  14030.    conclusions was that we'd have our best short-term chances of
  14031.    converting established `name' vendors by pushing the clear advantages
  14032.    of widget frosting. Therefore my master plan included concerted
  14033.    attempts to persuade hardware makers to open up their software.
  14034.    
  14035.    Though my personal approaches to a couple of vendors were
  14036.    unsuccessful, then-president of Corel Computer's speech at UniForum
  14037.    made it clear that CatB and the Netscape example had tipped them over
  14038.    the edge. Subsequently Leonard Zuboff scored big working from the
  14039.    inside with Adaptec (one of the companies I had originally targeted
  14040.    but never got to). So we know this path can be fruitful.
  14041.    
  14042.    A lot more evangelizing remains to be done here. Any of you who work
  14043.    on with vendors of network cards, graphics cards, disk controllers and
  14044.    other peripherals should be helping us push from the inside. Write
  14045.    Bruce Perens or me about this if you think you might be positioned to
  14046.    help; combination Mister-Inside/Mister-Outside approaches are known to
  14047.    work well here.
  14048.    
  14049.    Third: The Oracle/Informix/Interbase announcements and SGI's official
  14050.    backing for Samba open up another front. (Actually we're ahead of my
  14051.    projections here; I wasn't expecting the big database vendors to roll
  14052.    over for another three months or so.) That third front is the ability
  14053.    to get open-source software into large corporate networks and data
  14054.    centers in roles outside of its traditional territory in Internet
  14055.    sevices and development.
  14056.    
  14057.    One of the biggest roadblocks in our way was the people who said ``OK,
  14058.    so maybe Linux is technically better, but we can't get real enterprise
  14059.    applications for it.'' Well, somehow I don't think we'll be hearing
  14060.    that song anymore! The big-database announcements should put the `no
  14061.    real apps' shibboleth permanently to rest.
  14062.    
  14063.    So our next challenge is to actually get some Fortune 500 companies to
  14064.    cut over from NT to Linux or *BSD-based enterprise servers for their
  14065.    critical corporate databases, and go public about doing that.
  14066.    
  14067.    Getting them to switch shouldn't be very hard, given the dog's-vomit
  14068.    reliability level of NT (waving a copy of John Kirch's white paper at
  14069.    a techie should often be sufficient). In fact, I expect this will
  14070.    swiftly begin to happen even without any nudging from us.
  14071.    
  14072.    But that will only be half the battle. Because the ugly political
  14073.    reality is this: The techies with day-to-day operational
  14074.    responsibility that are doing the actual switching are quite likely to
  14075.    feel pressure to hide the switch from their NT-brainwashed bosses.
  14076.    Samba is a huge win for these beleaguered techies; it enables
  14077.    open-source fans to stealth their Linux boxes so they look like
  14078.    Microsoft servers that somehow miraculously fail to suck.
  14079.    
  14080.    There's a problem with this, however, that's almost serious enough to
  14081.    make me wish Samba didn't exist. While stealthing open-source boxes
  14082.    will solve a lot of individual problems, it won't give us what we need
  14083.    to counteract the attack marketing and FUD-mongering that we are going
  14084.    to start seeing big-time (count on it) as soon as Microsoft wakes up
  14085.    to the magnitude of the threat we actually pose. It won't be enough to
  14086.    have a presence; we'll need a visible presence, visibly succeeding.
  14087.    
  14088.    So I have a challenge for anybody reading this with a job in a Fortune
  14089.    500 data-center; start laying the groundwork now. Pass around the
  14090.    Kirch paper to your colleagues and bosses. Start whatever process you
  14091.    need to get an Oracle- or Informix- or Interbase-over-Linux pilot
  14092.    approved -- or get prepared to just go ahead and do it on the
  14093.    forgiveness-is-easier-than-permission principle. Some of these vendors
  14094.    say they're planning to offer cheap evaluation copies; grab them and
  14095.    go!
  14096.    
  14097.    I and the other front-line participants in the Open Source campaign
  14098.    will be doing our damnedest to smooth your path, working the media to
  14099.    convince your bosses that everybody's doing it and it's a safe, soft
  14100.    option that will look good on their performance reports. This, of
  14101.    course, will be a self-fulfilling prophecy...
  14102.    
  14103.    Fourth: Finally, of course, there's the battle for the desktop --
  14104.    Linus's original focus in the master plan for world domination.
  14105.    
  14106.    Yes, we still need to take the desktop. And the most fundamental thing
  14107.    we still need for that is a zero-administration desktop environment.
  14108.    Either GNOME or KDE will give us most of that; the other must-have,
  14109.    for the typical non-techie user, is absolutely painless setup of
  14110.    Ethernet, SLIP, and PPP connections.
  14111.    
  14112.    Beyond that, we need a rock-solid office suite, integrated with the
  14113.    winning environment, that includes the Big Three applications --
  14114.    spreadsheet, light-duty database and a word processor. I guess Applix
  14115.    and StarOffice come close, but neither are GNOME- or KDE-aware yet.
  14116.    Corel's port of WordPerfect will certainly help.
  14117.    
  14118.    Beyond repeating these obvious things there's not much else I'll say
  14119.    about this, because there's little the Open Source campaign can do to
  14120.    remedy the problem directly. Everybody knows that native office
  14121.    applications, well documented and usable by non-techies, are among the
  14122.    few things we're still missing. Looking around Sunsite, I'd say there
  14123.    might be a couple of promising candidates out there, like Maxwell and
  14124.    Xxl. What they mainly need, I'd guess, is documentation and testing.
  14125.    Would somebody with tech-writing please volunteer?
  14126.    
  14127.    But this is probably getting into too much detail. The important
  14128.    thought I'd like to leave you with is this:
  14129.    
  14130.                                 We're winning!
  14131.                                        
  14132.    Yes, we're winning. We're on a roll. The Linux user base is doubling
  14133.    every year. The big software vendors are being forced to take notice
  14134.    by their customers. Datapro even says Linux gets the best overall
  14135.    satisfaction ratings from managers and directors of information
  14136.    systems in large organizations. I guess that means not all of them are
  14137.    pointy-haired bosses...
  14138.    
  14139.    The explosive growth of the Internet and the staggering complexity of
  14140.    modern software development have clearly revealed the fatal weaknesses
  14141.    of the closed-source model. The people who get paid big bucks to worry
  14142.    about these things for Fortune 500 have understood for a while that
  14143.    something is deeply wrong with the conventional development process.
  14144.    They've seen the problem become acute as the complexity of software
  14145.    requirements has escalated. But they've been unable to imagine any
  14146.    alternative.
  14147.    
  14148.    We are offering that alternative. I believe this is why the Open
  14149.    Source campaign has been able to make such remarkable progress in
  14150.    changing the terms of debate over the last six months. It's because
  14151.    we're moving into a conceptual vacuum with a simple but powerful
  14152.    demonstration -- that hierarchy and closure and secrecy are weak,
  14153.    losing strategies in a complex and rapidly-changing environment. The
  14154.    rising complexity of software requirements has reached a level such
  14155.    that only open source and peer review have any prayer of being
  14156.    effective tactics in the future.
  14157.    
  14158.    The Economist article was titled ``Revenge of the Hackers'', and
  14159.    that's appropriate -- because we are now re-making the software
  14160.    industry in the image of the hacker culture. We are proving every day
  14161.    that we are the people with the drive and the vision that will lead
  14162.    the software industry into the next century.
  14163.    
  14164.    
  14165.     Eric S. Raymond <esr@thyrsus.com>
  14166.      _________________________________________________________________
  14167.    
  14168.                        Copyright ⌐ 1998, Eric Raymond
  14169.             Published in Issue 31 of Linux Gazette, August 1998
  14170.      _________________________________________________________________
  14171.    
  14172.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  14173.      _________________________________________________________________
  14174.    
  14175.     "Linux Gazette...making Linux just a little more fun!"
  14176.      _________________________________________________________________
  14177.    
  14178.            A PERSONAL LINUX/ALPHA SYSTEM: 64 BITS FOR UNDER $500
  14179.                                       
  14180.                            by Russell C. Pavlicek
  14181.      _________________________________________________________________
  14182.    
  14183.   BACKGROUND
  14184.   
  14185.    This article is the result of my efforts to build a personal Digital
  14186.    Alpha workstation to run Linux/Alpha. For under $500 (US), I assembled
  14187.    a 166 MHz Universal Desktop Box (often called a UDB or Multia) with a
  14188.    half gigabyte of disk space, 32 megabytes of memory, 2x CD ROM drive,
  14189.    ethernet port, 2 serial ports, and a parallel port. For a few dollars
  14190.    more, this could easily be expanded with more disk and RAM.
  14191.    
  14192.    Rather than engage in a lengthy discourse on how I went about building
  14193.    my particular Linux/Alpha workstation, I'd like to share my
  14194.    observations regarding the Alpha-specific peculiarities I encountered.
  14195.    I had used Linux/x86 for years, but I found that there were some Alpha
  14196.    installation issues which were brand new to me. Once I understood
  14197.    these few issues, it was simple to construct a useful Linux/Alpha
  14198.    system.
  14199.    
  14200.   WHY MAKE AN INEXPENSIVE ALPHA SYSTEM?
  14201.   
  14202.    Why indeed? When the usual x86 offerings are inexpensive and
  14203.    omnipresent, why bother constructing a low-end Linux/Alpha box?
  14204.     1. It makes a decent, inexpensive 64-bit development and testing
  14205.        platform. 
  14206.        There's lots of talk today about running 64-bit applications. But
  14207.        much of the discussion is nothing more than that -- talk. If you
  14208.        want to find out if your application will survive and thrive in 64
  14209.        bits, here is a very low cost opportunity to try it out. A low
  14210.        cost Linux/Alpha platform represents an excellent opportunity for
  14211.        porting and testing software in a true 64-bit environment.
  14212.     2. It is an excellent proof-of-concept system for faster Alpha
  14213.        systems. 
  14214.        Just as many organizations are beginning to see that Linux can be
  14215.        used to their competitive advantage, others are beginning to see
  14216.        that the Linux/Alpha combination can be used in environments where
  14217.        extreme horsepower is required for certain tasks. However, those
  14218.        who hold the purse strings are wary of pouring money into a
  14219.        different hardware architecture until they have concrete proof
  14220.        that the new system will do the job (and rightfully so). An
  14221.        inexpensive Linux/Alpha system becomes an ideal prototype that can
  14222.        demonstrate the possible effectiveness of the proposed solution
  14223.        without incurring high costs. Once the concept is validated, it
  14224.        may be possible to secure management backing for a full-blown
  14225.        Linux/Alpha solution.
  14226.     3. It is a development tool for Linux/IA64. 
  14227.        The Intel IA64 architecture is coming with the expected release of
  14228.        Intel's "Merced" processor around the year 2000. Many UNIX vendors
  14229.        are lining up to make sure that their particular UNIX
  14230.        implementation becomes the standard UNIX for the new architecture.
  14231.        Many Linux folks, of course, would like to see Linux/IA64 enter
  14232.        the fray early so that early adopters of the IA64 architecture
  14233.        might find themselves looking at Linux/IA64 as a viable first
  14234.        64-bit operating system.
  14235.        So what does Linux/Alpha have to do with this? Well, some programs
  14236.        in the mountain of Open Source code that we find in the Linux
  14237.        world are not currently functional in the 64 bit world of
  14238.        Linux/Alpha. And many new programs have to be tested on a 64-bit
  14239.        environment to make sure they will make the jump to Linux/IA64. We
  14240.        need to make sure that all those programs that add value to Linux
  14241.        are 64-bit friendly when IA64 hits the streets. An excellent way
  14242.        of doing that is through porting the code to the 64-bit
  14243.        Linux/Alpha platform. Not only will the Linux world be ready to
  14244.        invade the IA64 space when it is birthed, but this will also serve
  14245.        to further solidify the Linux/Alpha offering.
  14246.     4. Linux/Alpha solutions are becoming more cost effective 
  14247.        I've met many people over the past few years who desired to use
  14248.        Linux/Alpha, but could not afford the price tag. Now, however, it
  14249.        is clear that falling hardware prices and the availability of used
  14250.        Alpha machines is clearing the way for people to use Linux/Alpha.
  14251.        Just recently, retailers like Linux Systems Labs began selling
  14252.        low-priced Red Hat Linux/Alpha CDs (GPL distribution). And the
  14253.        long-awaited Debian V2 will support the Alpha platform as well.
  14254.        There has never been a better time to take a look at Linux/Alpha.
  14255.     5. Experience, experience, experience! 
  14256.        It never hurts to add more current technical expertise to your
  14257.        resume. And experience in a 64-bit UNIX implementation could look
  14258.        awfully nice on the resume when many companies begin employing
  14259.        64-bit architectures like Alpha and IA64.
  14260.     6. My reason... 
  14261.        I work for Compaq Computer Corporation (in the part of Compaq
  14262.        which used to be Digital Equipment Corporation) as a Technical
  14263.        Consultant in the Networks and Systems Integration Services (NSIS)
  14264.        organization in the US Federal Government Region. It is my desire
  14265.        to be ready to serve Linux/Alpha customers in the Federal
  14266.        Government, so I decided to prepare myself by personally
  14267.        purchasing, installing, and using a Linux/Alpha system.
  14268.        I have already used Linux/x86 successfully as a part of two
  14269.        customer engagements within the past year. A few of my coworkers
  14270.        locally have also used Linux/x86 in customer engagements during
  14271.        that timeframe. I haven't seen any Linux/Alpha work yet, but I
  14272.        intend to be ready when it comes!
  14273.     7. My other reason... 
  14274.        And let's not forget the big reason: Linux/Alpha is a blast! If
  14275.        you thought Linux was fun to work with on the x86 architecture,
  14276.        wait until you have 64 bits to play with!
  14277.        
  14278.   THE COSTS:
  14279.   
  14280.    As the sole breadwinner for a family of four in the greater Washington
  14281.    DC area, I do not have great sums of money to pour into development of
  14282.    a computer system of any sort. I've built several PCs over the years
  14283.    and I've always followed the same basic rules: stay well behind the
  14284.    technology curve and keep it CHEAP! Quality is a concern (building
  14285.    junk is a total waste of money; you lose more by building garbage than
  14286.    by building something that is more expensive but functional), but
  14287.    financial limitations are quite real. So, by buying good used products
  14288.    and/or non-current unused products, I can shave the price down to
  14289.    acceptable levels without sacrificing usability. Sure, I'd like to run
  14290.    dual 600 MHz Alpha processors with 50 gigabytes of disk and a gigabyte
  14291.    of RAM -- but I'd prefer to stay married, thank you!
  14292.    
  14293.    With these guidelines in mind, I purchased all of the following pieces
  14294.    through on-line auctions (I used eBay, Haggle, and Onsale) and local
  14295.    computer shows in the first few months of 1998.
  14296.    
  14297.    Here is what I assembled:
  14298.    
  14299.    1. DEC Universal Desktop Box (UDB; aka Multia) $189
  14300.    2. TI 16 MB 72 Pin Parity Memory $29
  14301.    3. 16 MB 72 Pin Parity Memory $38
  14302.    4. IBM 540 MB SCSI Disk $44
  14303.    5. Toshiba SCSI 2x CD $25
  14304.    6. Generic SCSI Cable $16
  14305.    7. Generic Internal SCSI Cable $13
  14306.    8. Mitsumi Keyboard (PS/2 style) $13
  14307.    9. NEC SVGA Monitor $94
  14308.    10. DEC Mouse (PS/2 style) (free; included with UDB)
  14309.    11. Generic SCSI Case (free; had this already)
  14310.    12. Red Hat Powertools 5.0 $19
  14311.    
  14312.      *** TOTAL *** $480
  14313.    
  14314.   THE GOTCHAS:
  14315.   
  14316.    As a user of Linux/x86 since 1995, I've grown accustomed to the
  14317.    capabilities and methodologies of the Linux/x86 world. I found a
  14318.    handful of differences in the Linux/Alpha world which are worth noting
  14319.    to someone who wants to make the jump to 64 bits:
  14320.     1. A Linux/Alpha system with a single hard drive uses at least three
  14321.        partitions 
  14322.        The Alpha system needs to load the initial boot code from a
  14323.        partition that the Alpha console (in ROM) understands. So, a
  14324.        single disk Linux/Alpha system is likely to have at least three
  14325.        partitions:
  14326.          1. /dev/sda1 tiny DOS FAT partition containing the loader
  14327.          2. /dev/sda2 root partition
  14328.          3. /dev/sda3 swap partition
  14329.        Linux/x86 folks will obviously be used to the need for root and
  14330.        swap partitions, but the floppy-sized FAT partition containing
  14331.        LINLOAD.EXE and MILO is a different concept.
  14332.     2. MILO instead of LILO 
  14333.        Linux/x86 has the simple, yet highly useful, LILO (LInux LOader)
  14334.        to boot Linux from the hard drive. Linux/Alpha has MILO (MIni
  14335.        LOader) to accomplish the same task, but using a slightly
  14336.        different methodology. Rather than residing in a boot block, MILO
  14337.        resides in the tiny DOS-formatted partition on the SCSI drive
  14338.        (normally /dev/sda1). The Alpha console boots MILO from the DOS
  14339.        FAT partition, then MILO boots Linux/Alpha from the Ext2 partition
  14340.        (/dev/sda2).
  14341.     3. Multiple kernels 
  14342.        Since there are often differences between the hardware standardly
  14343.        found on different Alpha machines, you are given a choice of
  14344.        pre-built kernels to use when installing the operating system. It
  14345.        is generally quite easy to select the appropriate kernel for your
  14346.        machine, since the documentation very clearly maps the available
  14347.        kernels to most common Alpha models. But it is still different
  14348.        than most Linux/x86 installation procedures.
  14349.     4. Different processor architecture 
  14350.        The Alpha processor family and the x86 processor family are two
  14351.        different animals. As one might expect, a 64-bit RISC processor
  14352.        and a 32-bit CISC processor go about their respective tasks in
  14353.        very different ways. What does this mean to someone who wants to
  14354.        build a Linux/Alpha workstation? Don't be stingy with memory or
  14355.        processor speed if you can help it. In particular, I've found that
  14356.        my Linux/Alpha system performs much better with additional memory.
  14357.        There is quite a noticeable improvement in speed when running at
  14358.        32 megabytes as opposed to 16 megabytes. In fact, the first real
  14359.        upgrade I hope to perform is to add more memory to the system.
  14360.        Thankfully, memory is much more affordable than it was at the
  14361.        beginning of the decade, so adding a few more megabytes isn't a
  14362.        particularly expensive proposition.
  14363.     5. Check out the limitations of the Alpha you intend to purchase 
  14364.        It is important to remember that some Alpha machines (notably the
  14365.        older Turbochannel bus machines) do not currently run Linux. Make
  14366.        certain that the Alpha system you intend to purchase is listed on
  14367.        the Linux/Alpha Home Page. Also, if you select the UDB, be aware
  14368.        that it is a bounded box -- there is essentially no room for an
  14369.        internal disk drive (yes, you can use a 2.5 inch SCSI drive, but
  14370.        that is expensive compared to a 3.5 inch SCSI drive), there is
  14371.        absolutely no room for a CDROM drive in the box, and the processor
  14372.        speed is relatively slow. If you intend to upgrade the system to a
  14373.        faster Alpha processor in the future, you'd probably be better off
  14374.        with an Alpha with a more standard case and motherboard. I chose
  14375.        the UDB because it was available very cheaply and I already owned
  14376.        an external drive cabinet that I could use to mount the hard drive
  14377.        and CDROM drive. I found some excellent technical information
  14378.        online provided by Annex Technology.
  14379.     6. Use an installation "cookbook", if available 
  14380.        While the Red Hat 5.0 Linux/Alpha installation is quite good, it
  14381.        is not quite as simple as the Linux/x86 installation. As I've
  14382.        already mentioned, you'll need to select a kernel for your
  14383.        machine, create a small FAT boot partition, as well as a few other
  14384.        simple steps which you didn't need to perform on a Linux/x86
  14385.        install. It is helpful, then, to locate and use a "cookbook" or
  14386.        "cheat sheet" to help you during the installation.
  14387.        The UDB I purchased was originally sold by Starship Computer via
  14388.        one of the Internet auctions. I purchased the UDB used from the
  14389.        original buyer who no longer needed the unit. This person included
  14390.        the original installation instructions supplied by Starship in the
  14391.        box. The instructions were quite good and very detailed. I have
  14392.        already seen similar documents circulating in the newsgroups
  14393.        pertaining to the installation of Red Hat 5.1 for Alpha. If you
  14394.        can obtain such an installation guide, it can save you time and
  14395.        keep you from forgetting small Alpha-specific details.
  14396.     7. Beware unmatched memory 
  14397.        For the UDB, at least, matched memory SIMMs are critical. The
  14398.        first set I obtained from an auction which advertised new SIMMs
  14399.        shipped together. They did not specifically say that they were
  14400.        matched. They were not. That's one mistake I will not make again.
  14401.        The SIMMs did work together for a while, but once the machine ran
  14402.        for a while, it began to generate memory errors. I replaced them
  14403.        with a set of matched SIMMs and all memory problems ceased.
  14404.     8. Thinwire Ethernet problem for UDB kernel ("noname") for Red Hat
  14405.        5.0 
  14406.        I found out that the kernel supplied in Red Hat 5.0 for the UDB
  14407.        (noname.img) had a bug that prevented it from using the thinwire
  14408.        ethernet adapter. I simply downloaded the kernel supplied with Red
  14409.        Hat 4.2 and I was back in business.
  14410.        This was a problem that took much longer to identify than to fix.
  14411.        The Red Hat errata page
  14412.        (http://www.redhat.com/support/docs/errata.html), one of the first
  14413.        places to turn with possible distribution errors, was silent on
  14414.        this subject at the time. As there are less Linux/Alpha users in
  14415.        the world than Linux/x86, the newsgroups were not spilling over
  14416.        with information on this problem as one would expect if there was
  14417.        a kernel problem in a Linux/x86 distribution. Yet the newsgroups
  14418.        held the answer nonetheless; it just took a little longer to
  14419.        locate the message which gave me the key to the problem.
  14420.     9. PPP was broken in Red Hat 5.0 
  14421.        The pppd package supplied in Red Hat 5.0 didn't work properly on
  14422.        Alpha. I consulted the Red Hat errata on the Red Hat homepage and
  14423.        downloaded the corrected PPP kit. One rpm command later, I had a
  14424.        working PPP protocol. Again, it took longer to identify the
  14425.        problem than it did to correct it.
  14426.    10. X Windows 
  14427.        While X Windows is usable with only 16 MB of memory, it will need
  14428.        to swap out jobs just to start up. 32 MB will yield a much faster
  14429.        X Windows system, as it will be able to load without swapping. If
  14430.        you can afford more memory, it is to your benefit.
  14431.    11. Where's the browser? 
  14432.        Perhaps my greatest frustration was the lack of a
  14433.        fully-functional, native, graphical, 64-bit web browser. Lynx, a
  14434.        character-cell browser, is useful for downloading software
  14435.        upgrades, if needed, such as the kernel and PPP kits mentioned
  14436.        above. Unfortunately, it is not as helpful for general browsing,
  14437.        due to its non-graphical nature. There is Grail, which is written
  14438.        in Python, but the current version (0.4) seems too flaky for
  14439.        normal use. One common solution seems to be to use Netscape for
  14440.        x86 under the EM86 emulator (below), but it's not a "native" Alpha
  14441.        solution.
  14442.        As of this writing, the best native solution I've found is
  14443.        QtMozilla, Mozilla compiled using the Qt libraries. It was created
  14444.        as a demonstration of Troll Tech's Qt libraries, but it is quite
  14445.        usable. I have also seen reports of other Linux/Alpha Mozilla
  14446.        implementations, so I hope that we will see a stable,
  14447.        full-featured Mozilla for Alpha before very long.
  14448.    12. EM86 
  14449.        Don't forget about EM86, Digital's software for running Linux/x86
  14450.        binaries on Linux/Alpha. You can find the latest kits at Digital's
  14451.        FTP location. Red Hat kernels included in the 5.0 and 5.1
  14452.        distributions now support EM86 right out of the box (no longer any
  14453.        need to rebuild the kernel). Also, kernels starting with 2.0.34
  14454.        (as well as the latest 2.1.x development kernel) have integrated
  14455.        EM86 support without requiring the use of patches before building.
  14456.        Be aware, though, that you may not find the emulation speed
  14457.        acceptable on older, slower Alpha boxes.
  14458.    13. Always read the documentation 
  14459.        Make sure you read the FAQ
  14460.        (http://www.azstarnet.com/~axplinux/FAQ.html) and the chapter on
  14461.        the Alpha installation in the Red Hat Installation Guide. And
  14462.        don't forget to check the Red Hat errata page
  14463.        (http://www.redhat.com/support/docs/errata.html) for any known
  14464.        problems in the distribution.
  14465.        
  14466.   CONCLUSION:
  14467.   
  14468.    I found that building the UDB was an enlightening experience, as was
  14469.    installing Red Hat Linux for Alpha 5.0. I have already used the system
  14470.    to port 32-bit applications to a 64-bit platform. Even if it is not
  14471.    exactly a whirlwind by current system standards, my inexpensive
  14472.    Linux/Alpha UDB system has been a very worthwhile (and fun)
  14473.    acquisition.
  14474.      _________________________________________________________________
  14475.    
  14476.                    Copyright ⌐ 1998, Russell C. Pavlicek
  14477.             Published in Issue 31 of Linux Gazette, August 1998
  14478.      _________________________________________________________________
  14479.    
  14480.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  14481.      _________________________________________________________________
  14482.    
  14483.     "Linux Gazette...making Linux just a little more fun!"
  14484.      _________________________________________________________________
  14485.    
  14486.    A Linux Journal Preview: This article will appear in the November
  14487.    issue of Linux Journal.
  14488.      _________________________________________________________________
  14489.    
  14490.               Product Review: The Roxen Challenger Web Server
  14491.                                       
  14492.                             By Michael Pelletier
  14493.      _________________________________________________________________
  14494.    
  14495.      * Manufacturer: Idonex
  14496.      * E-mail: info@idonex.com
  14497.      * URL: http://www.roxen.com/
  14498.      * Price: $795 US for Idonex License Free download of 1.2 beta (GPL)
  14499.      * Reviewer:
  14500.      _________________________________________________________________
  14501.    
  14502.    The Roxen Challenger HTTP Web Server is a marvel ahead of it's time.
  14503.    That's a bold, hard-to-prove statement for a web server when compared
  14504.    to the amazing success of the Apache HTTP Server. Before you stop
  14505.    reading this, you should consider that there is nothing wrong with
  14506.    having two subtly different, but very good tools.
  14507.    
  14508.    Apache is designed from the ground up to be a simple, open, secure,
  14509.    high-performance HTTP server, and it pays up in spades. Apache is the
  14510.    natural choice for almost all web administrators weaned on NCSA CERN
  14511.    or a commercial HTTP server like Netscape. However, Apache is not
  14512.    exactly intuitive to configure, the configuration in question being
  14513.    three flat text files. Apache also suffers from a monolithic structure
  14514.    (albeit plug-in modularity is a new option if you compile it in) which
  14515.    requires recompiling the source code when making changes or adding
  14516.    modules (such as proxy, database access, etc.).
  14517.    
  14518.    Roxen takes a different approach to HTTP server design. Roxen is
  14519.    easily installed and configured. The user need only do the normal
  14520.    ./configure and make sequences after unpacking the tar file and
  14521.    reading the README file. This has worked flawlessly for me a dozen
  14522.    times on Intel Red Hat 4.2 and 5.0 machines. After compiling the Pike
  14523.    interpreter (we'll get to that), the installation script tells you to
  14524.    point your browser to http://localhost:x/, x being some random
  14525.    unassigned port. Where the configuration interface server listens for
  14526.    your browser.
  14527.    
  14528.    Pointing a browser to that URL brings up the on-line, web-centric
  14529.    configuration interface. The first screen sets the configuration user
  14530.    and password information for subsequent configuration sessions.
  14531.    Immediately, virtual servers can be added, and adding a virtual server
  14532.    is a snap. My usual sequence is to find a free IP and bind the
  14533.    hostname.domain to it. Create the aliased Ethernet interface with
  14534.    netcfg specifying the chosen IP, switch to the Roxen configuration
  14535.    interface and add a new server binding it (using simple, point and
  14536.    click menus) to the interface just created, which Roxen automatically
  14537.    detects and reverse looks up for me. Voil, I have an instant virtual
  14538.    server; the whole process taking less time than making a cup of
  14539.    coffee.
  14540.    
  14541.    When creating the server, Roxen asks questions about what kind of
  14542.    server is desired. The choices of Bare Bones, Standard, IPP (Internet
  14543.    Presence Provider), Proxy or a copy of the configurations for any
  14544.    current servers in the system. This gives lots of flexibility when
  14545.    working with more than just a few virtual servers.
  14546.    
  14547.    Each of the four choices is a certain set of loaded modules for each
  14548.    server. Modules can be mixed and matched to make custom servers.
  14549.    Modules, also written in Pike, can be loaded and unloaded on the fly,
  14550.    and all Modules have a standard configuration interface that plugs
  14551.    into the server configuration interface. Modules include the file
  14552.    system, authentication, database access, CGI and FCGI execution,
  14553.    on-the-fly graphics manipulation and more.
  14554.    
  14555.    So how is this marvelous server put together? Roxen is written in the
  14556.    Pike language. Pike is an interpreted, threaded C-like language based
  14557.    on an older programming language for MUD systems. Pike is full blown
  14558.    and has a graceful, clean style so much like C that any C programmer
  14559.    can pick it up in minutes. This makes writing custom Roxen modules a
  14560.    snap. Pike's home page has excellent, intelligently written
  14561.    documentation that is completely cross-referenced, and includes a
  14562.    handy function index where many old familiar buddies from the ANSI C
  14563.    libraries can be found.
  14564.    
  14565.    The downside is that Pike, being a byte code interpreted language, is
  14566.    slower than compiled and optimized C by a noticeable margin. Roxen 1.1
  14567.    is also a bit buggy, and Roxen 1.2 is still in beta. Having dabbled in
  14568.    1.2 (which installed just as cleanly as 1.1), I found it very cool
  14569.    with many new modules, some of which are not available for Apache,
  14570.    such as on-the-fly wizard generators and automatic table-formatting of
  14571.    SQL retrieved data. A new update module contacts the Roxen central
  14572.    server in Sweden and upgrades the server and all the modules to the
  14573.    newest debugged versions, as well as offering to download any new
  14574.    modules Idonex has created. 1.2 also uses the new threading built into
  14575.    the latest version of Pike, increasing its performance for high or
  14576.    eccentric load systems and allowing it to take advantage of
  14577.    multi-processor systems.
  14578.    
  14579.    The most powerful module in the Roxen set is the Roxen Mark-up
  14580.    Language (RXML). RXML looks like HTML and is written directly into the
  14581.    HTML code. When a client retrieves a document from the server, the
  14582.    server first parses the document for RXML tags, changing the HTML
  14583.    output based on the tags used. This is basically server side scripting
  14584.    ala server side Includes, in the Apache parlance, but cleaner. For
  14585.    example:
  14586.    
  14587. <html>
  14588. <head>
  14589. <body>
  14590. <if user=jane>
  14591. <gtext scale=0.5 nfont="arial" fg="blue"
  14592. bg="white">Hi there Jane.</gtext><br>
  14593. <else>
  14594. <h1>Hey get outta here!</h1>
  14595. </if>
  14596. </body></head></html>
  14597.  
  14598.    The <if><else></if> construct outputs different HTML depending on
  14599.    whether the client fetching the page has authenticated itself as the
  14600.    user jane. The <gtext> tag takes the text and renders a gif image of
  14601.    it, on the fly, replacing the <gtext> tag with an <img> tag whose src
  14602.    is the generated image. Many options to gtext are available including
  14603.    transparency, sizes, bevels, automatic Javascript mouse responses and
  14604.    more. Check out Roxen's home page for an example, or the American
  14605.    Association for the Surgery of Trauma web page, where I used gtext and
  14606.    RXML extensively.
  14607.    
  14608.    Roxen's extreme ease of use and modularity make it a powerful tool for
  14609.    web managers of all needs. The GNU GPL license for Roxen and Pike make
  14610.    the price just right. Like all good GPL software, Pike and Roxen are
  14611.    backed by an active, sharp Internet crowd of Pike programmers and
  14612.    Roxen-heads eager to help you with your questions. Idonex also offers
  14613.    various levels of support for very reasonable prices. The Roxen Server
  14614.    comes pre-packaged with a manual and other non-GPL goodies (like
  14615.    128bit SSL) from Idonex.
  14616.    
  14617.   Resources
  14618.   
  14619.    Pike Home Page: http://pike.idonex.se/
  14620.    Idonex Home Page: http://www.idonex.se/
  14621.    Roxen Module Source: http://www.riverweb.com/source/
  14622.    American Association for the Surgery of Trauma: http://www.aast.org/
  14623.      _________________________________________________________________
  14624.    
  14625.                     Copyright ⌐ 1998, Michael Pelletier
  14626.             Published in Issue 31 of Linux Gazette, August 1998
  14627.      _________________________________________________________________
  14628.    
  14629.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  14630.      _________________________________________________________________
  14631.    
  14632.     "Linux Gazette...making Linux just a little more fun!"
  14633.      _________________________________________________________________
  14634.    
  14635.    A Linux Journal Review: This article appeared in the August issue of
  14636.    Linux Journal.
  14637.      _________________________________________________________________
  14638.    
  14639.                        Selecting a Linux Distribution
  14640.                                       
  14641.                                By Phil Hughes
  14642.      _________________________________________________________________
  14643.    
  14644.    Any current Linux distribution most likely contains the software
  14645.    needed to do your job, including kernel and drivers, libraries,
  14646.    utilities and applications programs. Still, one of the most common
  14647.    questions I hear is ``which distribution should I get?'' This question
  14648.    is answered by an assortment of people, each proclaiming their
  14649.    favorite distribution is better than all the rest.
  14650.    
  14651.    My new theory is that most people favor the first distribution they
  14652.    successfully installed. Or, if they had problems with the first, they
  14653.    favor the next distribution they install which addresses the problems
  14654.    of the first.
  14655.    
  14656.    Let's use me as an example. SLS was my first Linux installation.
  14657.    Unfortunately, SLS had a few bugs--in both the installation and the
  14658.    running system. This, of course, isn't a surprise since this
  14659.    installation took place five years ago.
  14660.    
  14661.    Now, about this time, Patrick Volkerding came along and created
  14662.    Slackware. Pat took the SLS distribution and fixed some problems. The
  14663.    result looked the same as SLS and worked the same, but without bugs.
  14664.    To this day, I find Slackware the easiest distribution to install.
  14665.    
  14666.    I have, however, progressed beyond installation problems and found
  14667.    some serious shortcomings in Slackware which have been addressed by
  14668.    other distributions. Before I get into specifics, here is a rough
  14669.    estimate of the number of times I have installed various
  14670.    distributions, in order of first installation. I give you this
  14671.    information to help you understand the basis of my opinions.
  14672.    
  14673.      * 100+ SLS/Slackware
  14674.      * 5 MCC (a small distribution done for university students)
  14675.      * 5 Yggdrasil
  14676.      * 20 Red Hat
  14677.      * 10 Caldera
  14678.      * 20 Debian
  14679.      * 5 S.u.S.E.
  14680.        
  14681.    That said, here is my blow-by-blow analysis of what is right and wrong
  14682.    with each distribution. Note that this is my personal opinion--your
  14683.    mileage will vary.
  14684.    
  14685.   SLS/Slackware/MCC
  14686.   
  14687.    All these distributions are easy to install and understand. They were
  14688.    all designed to install from floppy disk, and packages were in
  14689.    floppy-sized chunks. At one time, I could successfully install
  14690.    Slackware without even having a monitor on the computer.
  14691.    
  14692.    There are, however, costs associated with this simplicity. Software is
  14693.    saved in compressed tar files. There is no information within the
  14694.    distribution that shows how files interrelate, no dependencies and no
  14695.    good path for upgrades. Not a problem if you just want to try
  14696.    something, but for a multi-computer shop with long-term plans, this
  14697.    initial simplicity can have unforeseen costs in the long run.
  14698.    
  14699.   Yggdrasil
  14700.   
  14701.    Yggdrasil offered the most promise with a GUI-based configuration.
  14702.    Unfortunately, development stopped (or at least vanished from the
  14703.    public eye), and it no longer offers anything vaguely current.
  14704.    
  14705.   Red Hat
  14706.   
  14707.    When I first looked at Marc Ewing's creation, I was impressed. It had
  14708.    some GUI-based configuration tools and showed a lot of promise. Over
  14709.    the years, Red Hat has continued to evolve and is easy to install and
  14710.    configure. Red Hat introduced the RPM packaging system that offers
  14711.    dependencies to help ensure loaded applications work with each other
  14712.    and updating is easy. RPMs also offer pre- and post-install and remove
  14713.    scripts which appear to be underutilized.
  14714.    
  14715.    Version 4.2 has proven to be quite stable. The current release is 5.0,
  14716.    and a 5.1 release with bug fixes is expected to again produce a stable
  14717.    product.
  14718.    
  14719.    The install sequence is streamlined to make it easy to do a standard
  14720.    install. I see two things missing that, while making the install
  14721.    appear easier, detract from what is actually needed:
  14722.    
  14723.     1. The ability to save the desired configuration to floppy disk
  14724.        during the installation process (something that both Caldera and
  14725.        S.u.S.E. offer) would simplify subsequent installations on the
  14726.        same or other machines.
  14727.     2. The ability to create a boot floppy disk during installation.
  14728.        
  14729.    Red Hat has evolved into the most ``retailed'' distribution. First it
  14730.    was in books by O'Reilly, then MacMillan and now IDG Books Worldwide.
  14731.    It also appears to have a large retail shrink-wrap distribution in the
  14732.    U.S.
  14733.    
  14734.    Versions of Red Hat are available for Digital Alpha and SunSPARC, as
  14735.    well as Intel.
  14736.    
  14737.   Caldera
  14738.   
  14739.    The Caldera distribution was assembled by the Linux Support Team (LST)
  14740.    in Germany--now a part of Caldera. Caldera, like Red Hat, uses the RPM
  14741.    package format. Installation is similar to Red Hat with the addition
  14742.    of the configuration save/restore option.
  14743.    
  14744.    Caldera is different from other distributions at this time in that it
  14745.    offers a series of systems including various commercial packages such
  14746.    as a secure web server and an office suite. Caldera is also the most
  14747.    ``commercial feeling'' as far as packaging and presentation.
  14748.    
  14749.    One complaint I received from a reviewer of my original version of
  14750.    this article is that you cannot perform an upgrade. That is, you must
  14751.    save your configuration files and then re-install.
  14752.    
  14753.   Debian
  14754.   
  14755.    Debian is one of the oldest distributions, but because development is
  14756.    strictly by a team of volunteers, it has tended to evolve more slowly.
  14757.    Since development is performed by a geographically diverse group, the
  14758.    ability to manage and integrate upgrades is of primary importance. To
  14759.    that end, you can always upgrade a system by pointing it at an FTP
  14760.    site and instructing it to get the latest versions of all the packages
  14761.    currently installed. In some cases, a service needs to be stopped.
  14762.    (For example, to upgrade sendmail, you would need to stop it, replace
  14763.    the program and then restart it.) This is all done automatically.
  14764.    
  14765.    Debian deviates from the common RPM packaging format (although it can
  14766.    install RPMs) by using its own .deb format. The .deb format is the
  14767.    most versatile and includes dependency checking as well as pre- and
  14768.    post-install and remove scripts. This is why the sendmail example in
  14769.    the previous paragraph can be handled automatically.
  14770.    
  14771.    The most difficult thing about Debian is the initial installation. Or,
  14772.    put another way, fear of dselect, the installer program. The design of
  14773.    dselect is old, and while it made sense when there were only 50-100
  14774.    packages in a Linux install, it is out of control now that there are
  14775.    around 1000. A replacement for dselect is being developed and will be
  14776.    available in Debian 2.1.
  14777.    
  14778.    Versions of Debian (with limited applications/utilities) are available
  14779.    for Digital Alpha and M68k.
  14780.    
  14781.   S.u.S.E.
  14782.   
  14783.    S.u.S.E. is a German distribution with an installation ``look and
  14784.    feel'' similar to Caldera. It also uses the RPM package format and
  14785.    offers a save/restore configuration option during installation.
  14786.    
  14787.    Two things make S.u.S.E. stand out from the others. First, XFree86
  14788.    support tends to be better than other distributions because S.u.S.E.
  14789.    works closely with the XFree86 team. Second, there are more
  14790.    applications and utility programs in this distribution. A full
  14791.    installation takes over 2GB of disk space.
  14792.    
  14793.    YAST, the install/administration tool, can handle .deb and .tgz
  14794.    packages as well as RPMs. Also, upgrades are quite easy and can be
  14795.    performed by putting in a new CD or pointing YAST at the files and
  14796.    telling it to perform the upgrade.
  14797.    
  14798.   Which Do I Choose?
  14799.   
  14800.    It depends. I have one system running Caldera, three running Red Hat
  14801.    (a PC, a Digital Alpha and a SunSPARC), two running Slackware, one
  14802.    running S.u.S.E. (a laptop) and quite a few running Debian. (Yes, I
  14803.    personally own too many computers.)
  14804.    
  14805.    Further, there are problems with all the distributions--not the same
  14806.    problems, but problems nevertheless. As a result, I don't see a
  14807.    perfect answer--yet. This is not to say they don't work--just that
  14808.    each has its inconsistencies and limitations. They all suffer from the
  14809.    lack of a common administration tool.
  14810.    
  14811.    At USENIX in 1997, Caldera announced a project called COAS (Caldera
  14812.    Open Administration System). The discussion at the conference showed
  14813.    there were more concepts to consider and a lot of implementation work
  14814.    before COAS could offer a uniform installation system that would meet
  14815.    the needs of the majority of Linux users.
  14816.    
  14817.    Today, for a general-purpose system I tend to install Debian. I do,
  14818.    however, install other systems for other purposes. For example, I have
  14819.    S.u.S.E. on a new laptop because the volume of software included makes
  14820.    a more impressive demo system.
  14821.    
  14822.    A better question is, ``which one should you choose?'' The answer is
  14823.    still, ``it depends.'' Here are some hints to help you along the way:
  14824.    
  14825.      * If everyone you know is running a particular distribution and you
  14826.        are a newcomer, use the same one they do.
  14827.      * If you like to roll your own--that is, you expect to compile and
  14828.        install everything yourself--Slackware is probably for you.
  14829.      * If you want to ``go with the crowd'' today, install Red Hat.
  14830.      * If you want ``everything'', install S.u.S.E.
  14831.      * If you need the most ``commercial'' looking product or you are a
  14832.        VAR (value-added reseller), pick Caldera.
  14833.      * If the politics of free software is important to you and/or you
  14834.        want to get involved in development of a distribution, pick
  14835.        Debian.
  14836.      * If you have a bunch of systems you need to interconnect and
  14837.        upgrade, pick Debian or hope Caldera gets COAS completed.
  14838.        
  14839.   Conclusion
  14840.   
  14841.    There is my input. Ask any other Linux user, and you will probably get
  14842.    a different opinion from mine. If you are not sure you have the right
  14843.    answer, there are some things you can do to make it possible to change
  14844.    distributions in the future with minimal impact.
  14845.    
  14846.      * Make /home a separate file system. Then, if you change
  14847.        distributions, you don't have to save and restore your files. This
  14848.        also means you could have multiple distributions on one computer
  14849.        and share /home between them.
  14850.      * Select hardware supported by most distributions.
  14851.      * If you need to add applications that don't come with the Linux
  14852.        distribution, try to get ones that come with source code so you
  14853.        can upgrade them and port them to different distributions.
  14854.      * Start with a Linux archive CD set (such as InfoMagic's Developer's
  14855.        Resource). That will give you at least three distributions
  14856.        (Slackware, Debian and Red Hat) with which to play.
  14857.        
  14858.    Good luck and happy Linuxing.
  14859.      _________________________________________________________________
  14860.    
  14861.                        Copyright ⌐ 1998, Phil Hughes
  14862.             Published in Issue 31 of Linux Gazette, August 1998
  14863.      _________________________________________________________________
  14864.    
  14865.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  14866.      _________________________________________________________________
  14867.    
  14868.     "Linux Gazette...making Linux just a little more fun!"
  14869.      _________________________________________________________________
  14870.    
  14871.                        Some History and Other Things
  14872.                                       
  14873.                            By Marjorie Richardson
  14874.      _________________________________________________________________
  14875.    
  14876.    I am often asked about the history of Linux Journal and Linux Gazette
  14877.    and how I think Linux has changed over the year. Here's the scoop.
  14878.    
  14879.    Back in 1993, Phil Hughes saw the enormous potential for the Linux
  14880.    operating system and its creator Linus Torvalds. Being a firm believer
  14881.    in open software, he decided to start a magazine dedicated to Linux to
  14882.    encourage the growth of this fledgling operating system. That magazine
  14883.    is Linux Journal. Phil founded the magazine and acted as Editor for
  14884.    the first two issues.
  14885.    
  14886.    The first issue was published in March 1994 and had 48 pages. It
  14887.    contained an interview with Linus and articles by many now familiar
  14888.    names: Michael Johnson, Mark Komarinski, Ian Murdock, Arnold Robbins,
  14889.    Matt Welsh and Robert Young. The first issue was primarily given away
  14890.    at trade shows and sent to mailing lists; the second had over 900
  14891.    subscribers. The subscriber base and newsstand presence of the
  14892.    magazine has steadily increased to over 60,000 since that time, and we
  14893.    are currently at 100 pages.
  14894.    
  14895.    The first two issues of Linux Journal were published by Robert Young.
  14896.    After the second issue, Robert decided to start up Red Hat Software,
  14897.    and Specialized Systems Consultants took over as publisher. Also with
  14898.    the third issue, Michael Johnson took on the role of Editor and
  14899.    continued in that role through the September 1996 issue. I became
  14900.    Editor on February 1, 1997 and began work on the May issue.
  14901.    
  14902.    I had begun work for SSC in April 1996 and the project I had the most
  14903.    fun with was Linux Gazette. John Fisk had decided he just didn't have
  14904.    the time to devote to the Gazette--what he had started as a learning
  14905.    experience had blossomed into a very popular webzine. He posted issues
  14906.    whenever he had time and in between got mail from people requesting he
  14907.    put it out on a more regular basis. At any rate, he approached Phil
  14908.    requesting that Linux Journal take over the Gazette. Phil said yes and
  14909.    gave the project to me in August. This turned out to be a shrewd move
  14910.    on his part as taking care of the Gazette gave me the necessary
  14911.    confidence to say yes when he asked me to be Editor of Linux Journal
  14912.    the following February. Although I tried for a while to outsource LG,
  14913.    it didn't work out and it is still in my hands. Good thing I love it,
  14914.    since I do most of the work on it on my own time--outside working
  14915.    hours.
  14916.    
  14917.   Linux Gazette
  14918.   
  14919.    Linux Gazette is the most popular page on our web site, helping to
  14920.    generate over 150,000 hits a day. All the authors are volunteer, and I
  14921.    am constantly amazed at how much great content people are willing to
  14922.    spend their time generating and then give it away. We have mirror
  14923.    sites worldwide and three translation sites in Italy, France and
  14924.    Russia.
  14925.    
  14926.    When I first began work at Linux Journal and people asked me where I
  14927.    worked, the usual response was "What's Linux?" Today, not only do
  14928.    people know what Linux is, they approach me to tell me how much they
  14929.    love it and the magazine--this mainly happens when I am wearing a
  14930.    Linux T-shirt.
  14931.    
  14932.   A Bit About Linux
  14933.   
  14934.    This year has been a banner year for Linux in terms of market
  14935.    expansion with two block-buster announcements. The first was
  14936.    Netscape's decision to make Mozilla open source. Linux Journal had a
  14937.    great interview with Marc Andreessen and Tom Paquin of Netscape in our
  14938.    August issue and the second part of the interview is exclusively in
  14939.    this issue of LG. With Netscape Navigator going Open Source, can Sun's
  14940.    Java be far behind? Second, Corel and Corel Computer announced they
  14941.    would be porting all their software to Linux and that the new
  14942.    NetWinder would be sold with Linux installed. This announcement came
  14943.    in May after our April issue which contained an interview with Corel
  14944.    Computer's Eid Eid. I'm sure there was a direct correlation between
  14945.    our interview and their decision. (smile)
  14946.    
  14947.    Actually, it seems like we get a press release each week from someone
  14948.    announcing their product will be supporting Linux. About two months
  14949.    ago, one of these was from Interbase telling us about the recent port
  14950.    of its popular database to Linux. Now, on July 22, Informix has
  14951.    announced that they now support Linux, and that it is available with
  14952.    both S.u.S.E. and Caldera. An announcement from Oracle that they will
  14953.    be porting to Linux was made July 21. In my opinion, sooner or later,
  14954.    Sybase will be following suit. Cobalt's Qube microserver is yet
  14955.    another coup for Linux.
  14956.    
  14957.    With companies like these supporting Linux, Linux will continue to
  14958.    expand across the globe and, perhaps, even reach Linus' stated goal of
  14959.    world domination.
  14960.    
  14961.    While I was not able to attend the recent Linux Expo put on by Red Hat
  14962.    in North Carolina, I have heard glowing reports. The vi editor won
  14963.    again over Emacs in the "editor war". This year the war was a held as
  14964.    a paintball tournament with vi winning three out of four games.
  14965.    
  14966.    Linus' talk was well attended as usual. In it, he announced a code
  14967.    freeze will be coming for the 2.2 kernel in the next month, with the
  14968.    release due in late July or early August. This is good news indeed.
  14969.    The addition of symmetrical multi-processing (SMP) has been a feature
  14970.    eagerly awaited by many.
  14971.      _________________________________________________________________
  14972.    
  14973.                    Copyright ⌐ 1998, Marjorie Richardson
  14974.             Published in Issue 31 of Linux Gazette, August 1998
  14975.      _________________________________________________________________
  14976.    
  14977.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  14978.      _________________________________________________________________
  14979.    
  14980.     "Linux Gazette...making Linux just a little more fun!"
  14981.      _________________________________________________________________
  14982.    
  14983.    Hello, I wrote the first of these articles in January.  I am planning
  14984.    on many more articles in the future but have just finished moving my
  14985.    family to the Olympic Peninsula from Ohio after having been hired to
  14986.    work as a systems programmer for the University of Washington.
  14987.      _________________________________________________________________
  14988.    
  14989.                       The Standard C Library for Linux
  14990.                                       
  14991.                  Part Two: <stdio.h> character input/output
  14992.                                       
  14993.                              By James M. Rogers
  14994.      _________________________________________________________________
  14995.    
  14996.    The last article was on file operations in the standard input/output
  14997.    library <stdio.h>.  This article is on reading and writing characters,
  14998.    strings and arrays to and from a stream.   I am assuming a knowledge
  14999.    of c programming on the part of the reader.  There is no guarantee of
  15000.    accuracy in any of this information nor suitability for any purpose.
  15001.    
  15002.    As an example of character based processing we will use a program that
  15003.    reads the number of characters, words and lines of a file from
  15004.    standard input and prints the results out to standard out.  Any errors
  15005.    encountered will be printed to standard error.  This will be a weak
  15006.    version of  wc.  (type `man wc` for more information on this UNIX
  15007.    utility program.
  15008.    
  15009.    The code examples given for each function will typically not run
  15010.    unless the the <angle bracked> items are replaced with real code.
  15011.    Normally these are things that have to be treated differently
  15012.    depending on what you are trying to do.  As always, if you see an
  15013.    error in my documentation please tell me and I will correct myself in
  15014.    a later document.
  15015.    
  15016.    -----------------------------------------------------------------
  15017.    
  15018.    #include <stdio.h>     /* include the proper headers */
  15019.    
  15020.    #define  IN 1          /* looking inside a word */
  15021.    #define OUT 0          /* looking at white space */
  15022.    
  15023.    /* count the number of lines, words and characters in standard input
  15024.    */
  15025.    
  15026.    main() {
  15027.    
  15028.        int c,             /* holds the character returned by getchar */
  15029.            characters,    /* the number of characters */
  15030.            lines,         /* the number of lines */
  15031.            words,         /* the number of words */
  15032.            state;         /* are we currently in or out of a word */
  15033.    
  15034.        /* initialize the count and set the state to outside a word */
  15035.        state=OUT;
  15036.        characters = words = lines = 0;
  15037.    
  15038.        /* get one character at a time from standard in, until EOF */
  15039.        while ((c = getchar()) != EOF) {
  15040.            characters++;        /* increment the count of characters */
  15041.            switch(c) {
  15042.            case '\n' :
  15043.                lines++;         /* increment the count of lines */
  15044.                state = OUT;     /* new-line is white space, outside word
  15045.    */
  15046.                break;
  15047.            case ' ' :
  15048.                state = OUT;     /* space is white space, outside word */
  15049.                break;
  15050.            case '\t':
  15051.                state = OUT;     /* tab is white space, outsides word */
  15052.                break;
  15053.            default :            /* otherwise we are in a word */
  15054.                if (state == OUT) {
  15055.                                 /* if state is still out and we are in a
  15056.    word */
  15057.                                 /* then we are at the first letter of the
  15058.    word */
  15059.                state = IN;      /* set the state to in */
  15060.                words++;         /* increment the count of words */
  15061.                }
  15062.                break;
  15063.            }
  15064.        }
  15065.        /*  print the results with a formatted print statement */
  15066.        printf("%d %d %d\n", characters, words, lines);
  15067.    }
  15068.    
  15069.    -----------------------------------------------------------------
  15070.    
  15071.    
  15072.    To read a character from a stream,
  15073.    
  15074.        int   getchar (void);
  15075.        int   getc(FILE *stream);
  15076.        int  fgetc(FILE *stream);
  15077.        int ungetc(int c, FILE *stream);
  15078.    
  15079.    void this is left blank.
  15080.    FILE *stream is an already existing stream.
  15081.    int c is a character to be pushed back into the stream.
  15082.    
  15083.    These functions return an int with the value of the next character
  15084.    from the stream.  If there are no more characters then the end-of-file
  15085.    indicator is set for the stream and the function returns EOF.  If
  15086.    there was a read error then the error indicator is set for the stream
  15087.    and the function returns EOF.
  15088.    
  15089.    getchar is used to read a single character from standard input.
  15090.    
  15091.        int c;
  15092.        while((c = getchar()) != EOF) {
  15093.             <while not the end of file read and process each character>
  15094.        }
  15095.    
  15096.    getc is used to read a single character from a stream.
  15097.    
  15098.        int c;
  15099.        FILE *stream;
  15100.        if((stream = fopen ("filename", "r")) != (FILE *)0) {
  15101.           while((c = getc(stream)) != EOF) {
  15102.             <process each character>
  15103.           }
  15104.        } else {
  15105.            <do error handling>
  15106.        }
  15107.    
  15108.    fgetc is used to read a single character from a stream.  getchar and
  15109.    getc are written in terms of fgetc: getchar() is the same as
  15110.    fgetc(STDIN) and getc(x) is the same as fgetc(x).
  15111.    
  15112.        int c;
  15113.        FILE *stream;
  15114.        if((stream = fopen ("filename", "r")) != (FILE *)0) {
  15115.           while((c = fgetc(stream)) != EOF) {
  15116.             <process each character>
  15117.           }
  15118.        } else {
  15119.            <do error handling>
  15120.        }
  15121.    
  15122.    ungetc is used to push a character back into the stream when you have
  15123.    read one character too many.  This is a common problem for compilers
  15124.    and pattern scanners.  It is possible to push back more than one
  15125.    character but this is not recommended as it is not portable.  An
  15126.    ungetc should follow a read and only push back a single character.
  15127.    
  15128.        int c;
  15129.        FILE *stream;
  15130.        if((stream = fopen ("filename", "r")) != (FILE *)0) {
  15131.           while((c = fgetc(stream)) != EOF) {
  15132.             <process each character>
  15133.             if (some_condition) {
  15134.                ungetc(c,stream);
  15135.                break;
  15136.             }
  15137.           }
  15138.        } else {
  15139.            do error handling
  15140.        }
  15141.    
  15142.    To write a character to a stream,
  15143.    
  15144.        int  putchar(int c);
  15145.        int  putc(int c, FILE *stream);
  15146.        int fputc(int c, FILE *stream);
  15147.    
  15148.    FILE *stream is an already existing stream.
  15149.    int c is the character to be written to the stream.
  15150.    
  15151.    These functions return the character written upon success.  If a write
  15152.    error occurs the error indicator is set for the stream and the
  15153.    function returns an EOF.
  15154.    
  15155.    putchar writes a character to standard out.  putchar(x) is the same as
  15156.    fputc(x, STDIN)
  15157.    
  15158.        putchar('x');
  15159.    
  15160.    putc writes a character to the stream.  putc(x,y) is the same as
  15161.    fputc(x,y)
  15162.    
  15163.        int c;
  15164.        FILE *stream;
  15165.        c='x';
  15166.        if((stream = fopen ("filename", "w")) != (FILE *)0) {
  15167.            putc(c, stream);
  15168.        } else {
  15169.            <error handling>
  15170.        }
  15171.    
  15172.    fputc writes a character to the stream.
  15173.    
  15174.        int c;
  15175.        FILE *stream;
  15176.        c='y';
  15177.        if((stream = fopen ("filename", "w")) != (FILE *)0) {
  15178.            fputc(c, stream);
  15179.        } else {
  15180.            <error handling>
  15181.        }
  15182.    
  15183.    To read a string from a stream,
  15184.    
  15185.        char  *gets(char *s);
  15186.        char *fgets(char *s, int n, FILE *stream);
  15187.    
  15188.    char *s the string that will hold the result.
  15189.    int n the maximum number of characters to read.
  15190.    FILE *stream is an already existing stream.
  15191.    
  15192.    If the read is successful then the pointer to s is returned.  If EOF
  15193.    is encountered and no characters have been read into the string then
  15194.    the string remains unchanged and a null pointer is returned.  If a
  15195.    read error occurs then the string contents are possibly changed in an
  15196.    undefined manner and a null pointer is returned.
  15197.    
  15198.    gets reads from the stream into the string until the new line
  15199.    character or end-of-file marker is reached.  Never use this function.
  15200.    Use fgets instead.  There is no bounds checking to see if the returned
  15201.    string fits into the space allowcated for it.  Many applications have
  15202.    been used as security holes in the past based on overwriting the end
  15203.    of a string.
  15204.    
  15205.    fgets reads at most n characters from the stream into the string.
  15206.    
  15207.        char s[1024];
  15208.        FILE *stream;
  15209.        if((stream = fopen ("filename", "r")) != (FILE *)0) {
  15210.           while((fgets(s, 1023, stream)) != (char *)0 ) {
  15211.             <process each line>
  15212.           }
  15213.        } else {
  15214.            <do fopen error handling>
  15215.        }
  15216.    
  15217.    To write a string to a stream,
  15218.    
  15219.        int  puts(const char *s);
  15220.        int fputs(const char *s, FILE *stream);
  15221.    
  15222.    const char *s
  15223.    FILE *stream is an already existing stream.
  15224.    
  15225.    Returns a non-negative value upon success.  Returns an EOF on a write
  15226.    error.
  15227.    
  15228.    puts writes the string pointed to by s to the stream STDIO and appends
  15229.    a new-line to the end.  The terminating null character is not written
  15230.    to the stream.
  15231.    
  15232.        char s[1024];
  15233.        FILE *stream;
  15234.        strcpy(s,"a typical string");
  15235.        if((stream = fopen ("filename", "w")) != (FILE *)0) {
  15236.           if(puts(s, stream) == EOF ) {
  15237.             <handle error on write>
  15238.           }
  15239.        } else {
  15240.            <handle error on open>
  15241.        }
  15242.    
  15243.    fputs writes the string pointed to by s to the named stream.  The
  15244.    terminating null character is not written to the stream.
  15245.    
  15246.        char s[1024];
  15247.        FILE *stream;
  15248.        strcpy(s,"a typical string");
  15249.        if((stream = fopen ("filename", "w")) != (FILE *)0) {
  15250.           if(fputs(s, stream) == EOF ) {
  15251.             <handle error on write>
  15252.           }
  15253.        } else {
  15254.            <handle error on open>
  15255.        }
  15256.    
  15257.    To read/write between arrays and streams,
  15258.    
  15259.        size_t fread(const void *ptr, size_t size, size_t nmemb, FILE
  15260.    *stream);
  15261.        size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE
  15262.    *stream);
  15263.    
  15264.    const void *ptr is a pointer to the array.
  15265.    size_t size is the size of each element of the array
  15266.    size_t nmemb is the number of elements to be processed.
  15267.    FILE *stream is an already existing stream.
  15268.    
  15269.    fread reads into the array pointed to by ptr, no more than nmemb
  15270.    elements of the size size, from the stream.  The function returns the
  15271.    number of elements that were successfully read, this value can be less
  15272.    than what was requested, if the function encounters a read failure or
  15273.    an EOF.  A read failure leaves the element that failed in an undefine
  15274.    state. If size or nmemb are zero then the function returns a zero.
  15275.    
  15276.        int a[10];
  15277.        FILE *stream;
  15278.        if((stream = fopen ("filename", "r")) != (FILE *)0) {
  15279.            if (fread(a, sizeof(a), 10, stream) < 10){
  15280.                <handle a read error>
  15281.            }
  15282.        } else {
  15283.            <handle a file open error>
  15284.        }
  15285.    
  15286.    fwrite writes from the array pointed to by ptr, no more than nmeb
  15287.    elements of the size size, to the stream.  The function returns the
  15288.    number of elements successfully written, which should match nmemb only
  15289.    if no write errors were encountered.
  15290.    
  15291.        int a[10];
  15292.        FILE *stream;
  15293.        if((stream = fopen ("filename", "w")) != (FILE *)0) {
  15294.            if (fwrite(a, sizeof(a), 10, stream) < 10){
  15295.                <handle a write error>
  15296.            }
  15297.        } else {
  15298.            <handle a file open error>
  15299.        }
  15300.      _________________________________________________________________
  15301.    
  15302.     Bibilography:
  15303.     
  15304.    The ANSI C Programming Language, Second Edition, Brian W. Kernighan,
  15305.    Dennis M. Ritchie, Printice Hall Software Series, 1988
  15306.    
  15307.    The Standard C Library, P. J. Plauger, Printice Hall P T R, 1992
  15308.    
  15309.    The Standard C Library, Parts 1, 2, and 3, Chuck Allison, C/C++ Users
  15310.    Journal, January, February, March 1995
  15311.    
  15312.    STDIO(3), BSD MANPAGE, Linux Programmer's Manual, 29 November 1993
  15313.    
  15314.    The Standard C Library for Linux, Part One, James M. Rogers, January
  15315.    1998
  15316.      _________________________________________________________________
  15317.    
  15318.                      Copyright ⌐ 1998, James M. Rogers
  15319.             Published in Issue 31 of Linux Gazette, August 1998
  15320.      _________________________________________________________________
  15321.    
  15322.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next 
  15323.    
  15324.                           Linux Gazette Back Page
  15325.                                       
  15326.            Copyright ⌐ 1998 Specialized Systems Consultants, Inc.
  15327. For information regarding copying and distribution of this material see the
  15328.                               Copying License.
  15329.      _________________________________________________________________
  15330.    
  15331.   Contents:
  15332.   
  15333.      * About This Month's Authors
  15334.      * Not Linux
  15335.      _________________________________________________________________
  15336.    
  15337.                          About This Month's Authors
  15338.      _________________________________________________________________
  15339.    
  15340.     Larry Ayers
  15341.     
  15342.    Larry lives on a small farm in northern Missouri, where he is
  15343.    currently engaged in building a timber-frame house for his family. He
  15344.    operates a portable band-saw mill, does general woodworking, plays the
  15345.    fiddle and searches for rare prairie plants, as well as growing
  15346.    shiitake mushrooms. He is also struggling with configuring a Usenet
  15347.    news server for his local ISP.
  15348.    
  15349.     Jim Dennis
  15350.     
  15351.    Jim is the proprietor of Starshine Technical Services. His
  15352.    professional experience includes work in the technical support,
  15353.    quality assurance, and information services (MIS) departments of
  15354.    software companies like Quarterdeck, Symantec/ Peter Norton Group, and
  15355.    McAfee Associates -- as well as positions (field service rep) with
  15356.    smaller VAR's. He's been using Linux since version 0.99p10 and is an
  15357.    active participant on an ever-changing list of mailing lists and
  15358.    newsgroups. He's just started collaborating on the 2nd Edition for a
  15359.    book on Unix systems administration. Jim is an avid science fiction
  15360.    fan -- and was married at the World Science Fiction Convention in
  15361.    Anaheim.
  15362.    
  15363.     Chris DiBona
  15364.     
  15365.    Chris (chris@dibona.com) is a computer security consultant and is the
  15366.    Vice President of the Silicon Valley Linux User's Group.
  15367.    (http://www.svlug.org/). He enjoys Linux, studying terrorism and
  15368.    population statistics. He also grooves on a good Pale Ale. His
  15369.    personal web page can be found at http://www.dibona.com/.
  15370.    
  15371.     Michael J. Hammel
  15372.     
  15373.    Michael is a transient software engineer with a background in
  15374.    everything from data communications to GUI development to Interactive
  15375.    Cable systems--all based in Unix. His interests outside of computers
  15376.    include 5K/10K races, skiing, Thai food and gardening. He suggests if
  15377.    you have any serious interest in finding out more about him, you visit
  15378.    his home pages at http://www.csn.net/~mjhammel. You'll find out more
  15379.    there than you really wanted to know.
  15380.    
  15381.     Phil Hughes
  15382.     
  15383.    Phil Hughes is the publisher of Linux Journal, and thereby Linux
  15384.    Gazette. He dreams of permanently tele-commuting from his home on the
  15385.    Pacific coast of the Olympic Peninsula. As an employer, he is
  15386.    "Vicious, Evil, Mean, & Nasty, but kind of mellow" as a boss should
  15387.    be.
  15388.    
  15389.     Mike List
  15390.     
  15391.    Mike is a father of four teenagers, musician, and recently reformed
  15392.    technophobe, who has been into computers since April,1996, and Linux
  15393.    since July, 1997.
  15394.    
  15395.     Eric Marsden
  15396.     
  15397.    Eric is studying computer science in Toulouse, France, and is a member
  15398.    of the local Linux Users Group. He enjoys programming, cycling and Led
  15399.    Zeppelin. He admits to once having owned a Macintosh, but denies any
  15400.    connection with the the Eric Conspiracy Secret Labs.
  15401.    
  15402.     Russell C. Pavlicek
  15403.     
  15404.    Russell is employed by Compaq Computer Corporation (formerly with
  15405.    Digital Equipment Corporation) as a software consultant serving US
  15406.    Federal Government customers in the Washington D.C. area. He runs the
  15407.    Corporate Linux Advocate Homepage and can be reached at
  15408.    pavlicek@altavista.net. He lives with his lovely wife and wonderful
  15409.    children in rural Maryland where they serve Yeshua and surround
  15410.    themselves with a variety of furry creatures. His opinions are
  15411.    entirely his own (but he will allow you to adopt one or two if you ask
  15412.    nicely).
  15413.    
  15414.     Michel Pelletier
  15415.     
  15416.    Michel has been breaking Linux machines in the ISP business for years.
  15417.    His idols are K&R, Godel and Duke Ellington. When not in the mountains
  15418.    Michel can be found at michel@colint.com.
  15419.    
  15420.     Eric S. Raymond
  15421.     
  15422.    Eric is a semi-regular contributor to Linux Journal. You can find more
  15423.    of his writings, including his paper ``The Cathedral and the Bazaar'',
  15424.    at http://www.ccil.org/~esr/.
  15425.    
  15426.     Greg Roelofs
  15427.     
  15428.    Greg Roelofs escaped from the University of Chicago with a degree in
  15429.    astrophysics and fled screaming to Silicon Valley, where he now does
  15430.    outrageously cool graphics, 3D and compression stuff for Philips
  15431.    Research. He is a member of Info-ZIP and the PNG group, and he not
  15432.    only maintains web pages for both of those but also for himself and
  15433.    for the Cutest Baby in the Known Universe. He can be reached by e-mail
  15434.    at newt@pobox.com, or on the web at http://pobox.com/~newt/.
  15435.    
  15436.     James M. Rogers
  15437.     
  15438.    James, his wife, and their pets have moved to a new home on the
  15439.    Olympic Peninsula In Washington State. I am now a Systems Programmer
  15440.    for the University of Washington Medical Center and Harbor View
  15441.    Medical Center. I work on the interfaces between medical computer
  15442.    systems.
  15443.    
  15444.     Doc Searls
  15445.     
  15446.    Doc is President of The Searls Group, a Silicon Valley consultancy,
  15447.    and a co-founder of Hodskins Simone and Searls. He has been writing on
  15448.    technology and other issues for most of his life. The Flack Jacket
  15449.    series of essays is collected in Reality 2.0,
  15450.    http://www.batnet.com/searls/docworks.html). Other series are
  15451.    Positions and Milleniana. He can be reached via e-mail at
  15452.    searls@batnet.com.
  15453.      _________________________________________________________________
  15454.    
  15455.                                  Not Linux
  15456.      _________________________________________________________________
  15457.    
  15458.    Thanks to all our authors, not just the ones above, but also those who
  15459.    wrote giving us their tips and tricks and making suggestions. Thanks
  15460.    also to our new mirror sites.
  15461.    
  15462.    My grandaughter, Rebecca is visiting me this week. We've been having a
  15463.    good time going to all the fun places around Seattle and have a lot
  15464.    more to visit. Her sister Sarah will be arriving on Friday to visit a
  15465.    week with me too. I feel very fortunate to have 2 such wonderful
  15466.    granddaughters. Rebecca loves to dance and is taking ballet, jazz and tap.
  15467.    Sarah is a Tae Kwon Do student. Pictures of both can be found on my
  15468.    home page.
  15469.    
  15470.    Have fun!
  15471.      _________________________________________________________________
  15472.    
  15473.    Marjorie L. Richardson
  15474.    Editor, Linux Gazette, gazette@ssc.com
  15475.      _________________________________________________________________
  15476.    
  15477.    [ TABLE OF CONTENTS ] [ FRONT PAGE ] Back 
  15478.      _________________________________________________________________
  15479.    
  15480.    Linux Gazette Issue 31, August 1998, http://www.linuxgazette.com
  15481.    This page written and maintained by the Editor of Linux Gazette,
  15482.    gazette@ssc.com
  15483.