Now that you have the lsof distribution, I suggest:

*  If you're unfamiliar with lsof, read 00README for information on
   Configuring and building lsof, 00QUICKSTART for tips on using lsof.

   If you're too impatient for that, do this:

      $ ./Configure <put your UNIX dialect's abbreviation here>
        (Do the inventory step, as you prefer.)
        (Do the customization step, as you prefer.)
      $ make
      $ ./lsof -h

   To get a list of UNIX dialect abbreviations:

      $ Configure -h

   Please don't be impatient -- read the documentation first.

*  Read the current distribution's details in 00DIST.

*  If you want technical details, read 00DCACHE and 00PORTING.

*  If you want to cross-configure, read 00XCONFIG.

*  Use the test suite, described in 00TEST, by:

	$ cd tests
	$ make

   and possibly:

	$ make opt

*  If you're having trouble, read 00FAQ.  (Please read 00FAQ before
   you send a bug report.)

*  Lsof contributors may find their names in 00CREDITS.  (Thanks, again.)

*  Read the lsof.man page file.  Its nroff source is in lsof.8.

*  Consider subscribing to the lsof-l mailing list -- read 00LSOF-L
   for details.


Vic Abell <abe@purdue.edu>
April 19, 2002
