lsof (LiSt Open Files) version 4 (revision 4.78) ******************************************************************** | The latest release of lsof is always available via anonymous ftp | | from lsof.itap.purdue.edu. Look in pub/tools/unix/lsof. | ******************************************************************** ****************************************************************************** | CHECK THE PATCHES/ SUBDIRECTORY FOR FIXES TO THE LATEST LSOF DISTRIBUTION. | ****************************************************************************** ************************************************************************** | AVOID USING PRE-BUILT LSOF BINARIES: SEE THE "PRE-BUILT LSOF BINARIES" | | SECTION IN 00README FOR AN EXPLANATION. | ************************************************************************** ********************************************************************** | READ 00LSOF-L FOR INFORMATION ON THE LSOF-L LISTSERV MAILING LIST. | ********************************************************************** ********************************************************************* | CHECK 00FAQ BEFORE REPORTING BUGS TO . | | 00FAQ ALSO AT: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ | ********************************************************************* ******************************************************************** | IMPORTANT! This README file explains how the lsof tar archive | | is assembled -- it's a "wrapper" tar archive. Please read the | | explanation of its naming and construction, immediately | | following the initial list of supported dialects. | ******************************************************************** Lsof version 4 lists open files for running UNIX processes. It is a descendent of ofiles, fstat, and lsof versions 1, 2, and 3. It has been tested recently on these UNIX dialects. AIX 5.[12] and 5.3-ML1 Apple Darwin 7.x and 8.x for Power Macintosh Systems FreeBSD 4.9 for x86-based systems FreeBSD 7.0 for AMD64-based systems Linux 2.1.72 and above for x86-based systems NetBSD 1.[456], 2.x and 3.x for Alpha, x86, and SPARC-based systems NEXTSTEP 3.[13] for NEXTSTEP architectures SCO OpenServer Release 5.0.6 for x86-based systems Solaris 2.6, 8, 9 and 10 Lsof 4 may work on other versions of these dialects, but hasn't been tested there recently. Lsof versions 2 and 3 are still available and may provide older dialect version support. See the notes on them in this file. The pub/tools/unix/lsof/contrib directory on lsof.itap.purdue.edu also contains information on other ports. Version 4 of lsof is distributed as bzip2'd, gzip'd and compressed tar archives in the files: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof.tar.bz2 and ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof.tar.gz and ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof.tar.Z These files are links to the current distribution, whose name includes the revision number: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof_.tar.bz2 and ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof_.tar.gz and ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof_.tar.Z is the revision number -- e.g., 4.78. These archives are called wrappers, because the lsof source tar archive, its GPG certificate (lsof__src.tar.sig), and some documentation files are wrapped together inside them. (The GPG certificate authenticates the source tar archive.) A tar archive with: a ``.bz2'' suffix has been compressed with bzip2; ``.gz'', with gzip; and ``.Z'', with compress. When the wrapper tar is gunzip'd or uncompressed, and its tar archive contents are extracted, an lsof_4.78 subdirectory is created in the directory where the extraction was performed. The lsof_4.78 subdirectory contains these files: 00.README.FIRST contains introductory distribution information. README.lsof_4.78 contains instructions for the security-conscious on how to be sure that no one has tampered with the distribution. RELEASE_SUMMARY_4.78 is this file. lsof_4.78_src.tar is a tar archive, containing the lsof sources. When extracted with tar it creates a subdirectory named lsof_4.78_src in the directory where the extraction was performed. The lsof source files will be found in lsof_4.78_src. lsof_4.78_src.tar.sig is a GPG certificate, authenticating the lsof_4.78_src.tar archive. See the README.lsof_4.78 file for more information on GPG authentication of lsof_4.78_src.tar. If you've obtained this file and an lsof distribution from a mirror site, please be aware that THE LATEST VERSION OF LSOF IS AVAILABLE VIA ANONYMOUS FTP FROM LSOF.ITAP.PURDUE.EDU IN THE PUB/TOOLS/UNIX/LSOF DIRECTORY. Patches to lsof distributions may be found in the patches/ sub- directory where you found lsof.tar.bz2, lsof.tar.gz or lsof.tar.Z. If there are any patches to the current distribution, they will be found in the patches/4.78/ branch. (If you need a copy of gunzip, look for it at prep.ai.mit.edu in pub/gnu/gzip*.) * The April 10, 2006 revision (4.77): adds Solaris 10 and above -X option selection of the display of unlinked file cached paths; improved reporting of Solaris 10 cached path names of questionable accuracy; has FreeBSD 7.0-CURRENT update; fixes name addition spacing bug; has limited SAMFS support for Solaris 10; fixes an HP-UX 11 file "chunk" size problem; updates for FreeBSD 6.0; updates scripts/sort_res.perl5; corrects +|-M man page error; improves FreeBSD user device random seed generation; documents in 00FAQ bundled C and gcc compilation failures on HP-UX 11.23 dated May 2005 or later; corrects bugs and eliminates compiler warnings in PSTAT-based HP-UX lsof and in the lsof test suite; changed the method of reporting unknown file types; dropped the *claim* that lsof works on BSDI BSD/OS; enables compilation on Solaris 10 1/06; adjusts to FreeBSD 5.5-PRELELEASE and 6.1-PRERELEASE; fixes locating AIX ATI sockets by their associated TCP/IP addresses; adjusts to OpenBSD 3.[89]; ends 32 bit Solaris 8 testing (testing on 64 bit Solaris 8 continues.) * The April 24, 2007 revision: adds FAQ information about missing link counts and sizes for Linux files; simplifies Linux stat() and lstat() usage; fixes an OpenBSD compilation problem; skips Linux maps file entries with zero device and node numbers; adds SELinux security context support; enables compilation on Solaris 10 6/06; upgrades AIX JFS2 support; enables OpenAFS 1.4.1 support for Solaris; adds Solaris 10 ZFS support; corrects a man page typo; corrects macros spelling error; drops tested support for 32 bit AIX 5.2, OPENSTEP 4.2, Solaris 2.6 and 8, True Unix 64 and UnixWare 7.1.4; ends support for OpenBSD at its version 3.9 for lack of interest in the port. Read the 00.README.FIRST in the lsof distribution first. Read the 00DIST distribution file for more details on feature additions and bug fixes. The 00README distribution file has build instructions, dialect descriptions, special feature discussions, and installation hints. The 00FAQ file contains a list of frequently asked questions and their answers. The 00DCACHE file explains device cache file path formation. The 00PORTING file contains information on porting lsof to other UNIX dialects. The 00QUICKSTART file gives a quick introduction to using lsof. The distribution files lsof.8 (nroff source) and lsof.man (nroff formatted output) contain the manual page for lsof; it is the only other documentation besides the source code (it's included). Version 4 Binaries ================== Version 4 binaries for some revisions, dialects, and platforms may be found in pub/tools/unix/lsof/binaries. Check the README files for exact descriptions. Check the dialect-specific Makefiles for installation instructions. CHECKSUMS and GPG certificates are provided for authentication. Please think very carefully before you decide to use a pre-built binary instead of making your own from the sources. Here are some points to consider: 1. Lsof must run setgid or setuid. Are you willing to trust that power to a binary you didn't construct yourself? 2. Lsof binaries may be generated on a system whose configuration header files differ from yours. Under Digital UNIX (DEC OSF/1), for example, lsof includes header files from the machine's configuration directory, /sys/. Are you willing to gamble that your configuration directory's header files match the ones used to compile lsof? 3. Lsof is often configured with specific options that are determined from the configuration of the system on which it is configured -- e.g., Solaris patch level, dynamic loader libraries, etc. Are you sure that the lsof binary you retrieve will have been configured for your system? If you get a binary that is misconfigured for you, it may not work at all. If you haven't already guessed, I believe firmly that you should retrieve sources and build your own binary. If you still want to use the distribution binaries, please authenticate what you retrieved with the GPG certificates; please compare checksums, too. Version 4 Checksums =================== Security checksums -- both MD5 and sum(1) -- for revisions of lsof version 4 are contained in the README.lsof_ files in the wrapper tar archives of pub/tools/unix/lsof. The CHECKSUMS file, found with the distribution archives, contains information on validating the archives with external MD5 checksums and external GPG certificates. GPG Certificates ================ The lsof wrapper tar archive includes a GPG certificate file in its contained lsof_4.71_src.tar.sig file. Binary files have detached GPG certificates that may be found in their directories with ".sig" extensions. The certificates are signed with my GPG public key, which may be found in the file: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/Victor_A_Abell.gpg My key may also be available at some public key servers, There is also authentication information in the CHECKSUMS file (a link to CHECKSUMS_), found with the lsof distribution files. CHECKSUMS contains external MD5 checksums for the distribution files and information on using the external GPG certificates, found with the lsof distribution files. Old Dialect Support =================== Remnants of source code and binaries for dialects for which lsof once provided support may be obtained by request. Send the request to abe@purdue.edu. Dialects no longer supported include: CDC EP/IX MIPS RISC/os Motorola V/88 Pyramid DC/OSx Pyramid Reliant UNIX Sequent DYNIX SGI IRIX SunOS 4.1.x Ultrix Generally I drop support for a dialect when I no longer have access to a test system. Lsof Version 2 ============== The version 3 predecessor, revision 36 of version 2, is also available upon request. Send the request to abe@purdue.edu. I recommend you avoid lsof version 2. It's out of date and I no longer provide support for it. (Versions 3 and 4 support more dialects, and have many enhancements, bug fixes, and improvements.) Version 2 was tested on the following UNIX dialects: AIX 3.2.[1234] for the IBM RISC/System 6000 DEC OSF/1 1.[23] and 2.0 for the DEC Alpha EP/IX 1.4.3 and 2.1.1 for the CDC 4680 ETAV 1.17 for the ETA-10P* FreeBSD 1.0e for x86-based systems HP-UX [789].x for HP systems IRIX 4.0.5 and 5.1.1 for SGI systems NEXTSTEP 2.1, 3.0, 3.1 for NeXT systems Sequent Dynix 3.0.12 for Sequent Symmetry systems SunOS 4.1.[123] for Sun 3 and 4 systems SunOS 5.[13] (Solaris 2.[13]) for Sun 4 systems Ultrix 2.2 and 4.2 for DEC systems (If you need a copy of gunzip, look for it at prep.ai.mit.edu in pub/gnu.) Version 2 Checksums =================== MD5: (OLD/lsof236tar.gz) = f8a1ab3971ea2f6a3ea16752f84409e8 sum(1): 39996 106 OLD/lsof236tar.gz The file OLD/lsof236tar.gz.asc is a detached PGP certificate that may be used to authenticate OLD/lsof236tar.gz with my PGP public key. You may find my PGP public key at: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/Victor_A_Abell.pgp Lsof Version 3 ============== The last revision of lsof version 3, 3.88, may obtained by request. Send the request to abe@purdue.edu. I recommend version 4 over version 3. It is the version I actively support. Lsof version 3 was tested on these UNIX dialects: AIX 3.2.5, 4.1[.[1234]], and 4.2 BSDI BSD/OS 2.0, 2.0.1, and 2.1 for x86-based systems DC/OSx 1.1 for Pyramid systems Digital UNIX (DEC OSF/1) 2.0, 3.0, 3.2, and 4.0 EP/IX 2.1.1 for the CDC 4680 FreeBSD 1.1.5.1, 2.0, 2.0.5, 2.1, 2.1.5 for x86-based systems HP-UX 8.x, 9.x, 10.01, 10.10, and 10.20 IRIX 5.2, 5.3, 6.0, 6.0.1, and 6.[124] Linux 2.0.3[01] and 2.1.57 for x86-based systems NetBSD 1.0, 1.1, and 1.2 for x86 and SPARC-based systems NEXTSTEP 2.1 and 3.[0123] for NEXTSTEP architectures OpenBSD 1.2 and 2.0 for x86-based systems Reliant UNIX 5.43 for Pyramid systems RISC/os 4.52 for MIPS R2000-based systems SCO OpenServer 1.1, 3.0, and 5.0.[024] for x86-based systems SCO UnixWare 2.1 and 2.1.1 for x86-based systems Sequent PTX 2.1.[1569], 4.0.[23], 4.1.[024], 4.2[.1], and 4.3 Solaris 2.[12345], 2.5.1, and 2.6-Beta SunOS 4.1.x Ultrix 4.2, 4.3, 4.4, and 4.5 Vic Abell April 24, 2007