XTAL.NET
Icon  Name                                     Last modified      Size  Description
[PARENTDIR] Parent Directory - [TXT] README 2019-01-29 15:41 8.3K [   ] rfind.tar.Z 2019-01-29 15:41 236K
This software is provided without support and without any obligation on the
part of Silicon Graphics, Inc. to assist in its use, correction, modification 
or enhancement. 

THIS SOFTWARE IS PROVIDED "AS IS" WITH NO WARRANTIES OF ANY KIND INCLUDING THE
WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.

Note: This is for IRIX 4.0.x. rfind is included in IRIX 5.x.

Description:

    Rfind is a fast client-server adaption of the find(1)
    command.  It has been in heavy use inside Silicon Graphics
    since August, 1991.  The rfind(1) command allows rapid search
    of network accessible file systems using a streamlined
    find(1) like syntax.  Typical searches over multi-GByte
    filesystems take a few seconds, or less!

    The server side utility fsdump collects data (inode contents
    and pathnames) from all the specified file systems on a
    server, typically once an hour.  It uses internal knowledge
    of the EFS file system layout to collect and update a
    separate database quickly and with minimum load on the
    server, at typical rates of roughly 1 GByte of inuse space
    per minute.

    The executable fsdump must be installed with setuid or setgid
    permissions sufficient to allow it to open the raw disk
    slices under the specified file systems read-only.
    Typically, this means that fsdump must be setuid root.
    Fsdump is invoked via the crontab entry for a synthetic user
    called "rfindd".  It gathers inode contents using its
    setuid/gid priviledges, but it gathers pathnames using
    whatever priviledges are granted to the user "rfindd".  This
    for example, keeps my boss for noticing that I have a file
    named "resume" under a mode 700 directory.

    The collected data resides in /usr/lib/rfindd (which can be a
    symbolic link to a directory on some other disk), and
    typically requires 100 to 140 bytes per inuse inode, or
    perhaps 1% to 2% of the inuse space on the specified file
    systems.

    The rfind daemon also runs on the server, and answers
    requests from clients received via RPC, using the data
    collected.

    The small rfind client (102K) is installed on each client
    workstation.  It uses an improved find(1) like syntax to
    issue requests to any rfind daemon available on the network.
    Multiple clients can efficiently search large server file
    systems in seconds for files matching a Boolean expression.

    The most common request, to find a file by name, for
    example:

	rfind serverx foobar

    completes in 1 to 3 seconds, listing all files named "foobar"
    on the system called "serverx".

    The rfind command uses a find(1) like syntax, and the above
    example could also have been entered as:

	rfind serverx -name foobar -print

    But rfind supports various defaults to make entering such
    commands easier.  Difficult requests on multi-GByte file
    systems sometimes take 30 seconds or a minute.

    The first argument to rfind is always a specifier of the
    file-system (machine name and pathname, or equivalent) to be
    searched, and each invocation of rfind will only search a
    single file system.

Comparison to find(1)

    The rfind(1) command has the following new options that are
    not available in the find(1) command:  -root, -ls, -printf,
    -none, -ncheck, -showdots, -stcount, -stsize, -sttotal,
    -changed and -exit.

    The following find(1) options are not available in rfind(1):
    -cpio, -ok, -exec, -local and -mount.  Since the preferred
    way to create cpio archives is to use the cpio(1) command
    itself, perhaps receiving filenames via a pipe from the
    find(1) command, it did not seem worthwhile to maintain the
    obsolete variant of cpio that is embedded in the find(1)
    command.  Since the rfind(1) uses rpc(3R) with minimal
    authentication, the -ok and -exec options would have
    presented unacceptable security compromises.  Since the
    rfind(1) command only works on a single file-system, the
    -local and -mount options are effectively always on.

    The find(1) searches in realtime on multiple file systems,
    whereas rfind(1) searches the previously created data file of
    a single file system.

    The find(1) command is a single process utility, whereas the
    rfind(1) command is the frontend of client-server utility.

    Searching a large file system is many times faster with
    rfind(1) than with find(1).

    The -name file option of rfind(1) supports multiple
    components in the pattern file.

    The command line defaults simplify the use of rfind(1).

Distribution:

    rfind.tar.Z - Client and server commands and configuration
                  Compiled and intended to be used on IRIX 4.0.5
                  based systems.

Installation:

    As super-user, unpack the binaries and data files from
    rfind.tar.Z, using the following command:
    
	zcat rfind.tar.Z | tar xvf -
    
    This will create a directory ./rfind, and unpack the rfind.tar.Z
    archive into that subdirectory, resulting in files using an
    additional 405 KBytes.
    
    Then add the following line to your /etc/passwd (if installing
    the server)

	rfindd:*LK*:66:1:Rfind Daemon and Fsdump:/usr/lib/rfindd:/bin/sh
    
    Next run the Makefile to install the files in the appropriate
    location:
    
	su

	make both	# installs both client and server
      OR
	make client	# to just install the small client
      OR
	make server	# to just install the large server

Files installed:

    (showing: type, mode, uid, gid, installed path, local path)
    
	d 755 rfindd daemon usr/lib/rfindd
	f 4111 root sys usr/lib/rfindd/fsdump rfind/fsdump/fsdump
	f 644 rfindd daemon usr/spool/cron/crontabs/rfindd rfind/fsdump/crontab
	f 755 bin bin usr/lib/rfindd/fslist.build rfind/fsdump/fslist.build
	f 755 rfindd daemon usr/lib/rfindd/runfsdump rfind/fsdump/runfsdump
	f 644 rfindd daemon usr/lib/rfindd/fslist rfind/fsdump/fslist
	f 644 rfindd daemon usr/lib/rfindd/fsoptions rfind/fsdump/fsoptions
	f 755 bin bin usr/local/bin/rfind rfind/rfind/rfind
	f 644 bin bin usr/lib/rfind.aliases rfind/rfind/rfind.aliases
	f 755 rfindd daemon usr/lib/rfindd/rfindd rfind/rfindd/rfindd
	f 755 bin bin usr/lib/rfindd/start.server rfind/rfindd/start.server
	f 644 rfindd daemon usr/lib/rfindd/.forward rfind/rfindd/forward
	f 644 rfindd daemon usr/lib/rfindd/README rfind/rfindd/README
	f 644 bin bin usr/man/u_man/man1/rfind.1 rfind/man/rfind.1
	f 644 bin bin usr/man/u_man/man1/rfindd.1m rfind/man/rfindd.1m
	f 644 bin bin usr/man/u_man/man1/fsdump.1m rfind/man/fsdump.1m
	f 644 bin bin usr/cat/u_man/cat1/rfind.z rfind/man/rfind.z
	f 644 bin bin usr/cat/u_man/cat1/rfindd.z rfind/man/rfindd.z
	f 644 bin bin usr/cat/u_man/cat1/fsdump.z rfind/man/fsdump.z
	f 644 root sys etc/config/rfindd rfind/config/rfindd
	f 755 rfindd daemon etc/init.d/rfindd rfind/init.d/rfindd
	l 0 root sys etc/rc2.d/S98rfindd rfind/init.d/rfindd
	l 0 root sys etc/rc0.d/K98rfindd rfind/init.d/rfindd
	f 755 rfindd daemon usr/lib/rfindd/rotatelogs rfind/rotatelogs/rotatelogs

    (showing: local path, comment)
    
	rfind/fsdump/fsdump		setuid root: main data collector
	rfind/fsdump/crontab		invokes "runfsdump" script periodically
	rfind/fsdump/fslist.build	first time setup of /usr/lib/rfindd/fslist
	rfind/fsdump/runfsdump		runs fsdump from cron on filesystems in fslist
	rfind/fsdump/fslist		list of local efs file systems to run fsdump on
	rfind/fsdump/fsoptions		options to specify on each fsdump invocation
	rfind/rfind/rfind		client command - put on each clients $PATH
	rfind/rfind/rfind.aliases	maps server nicknames to network host names
	rfind/rfindd/rfindd		daemon on server to answer queries
	rfind/rfindd/start.server	script to start rfindd and fsdump
	rfind/rfindd/forward		causes email to rfindd to go to postmaster
	rfind/rfindd/README		little roadmap, goes in /usr/lib/rfindd
	rfind/man/rfind.1		end user man page (long)
	rfind/man/rfindd.1m		simply identifies rfindd
	rfind/man/fsdump.1m		server installation/configuration
	rfind/man/rfind.z		(packed) end user man page (long)
	rfind/man/rfindd.z		(packed) simply identifies rfindd
	rfind/man/fsdump.z		(packed) server installation/configuration
	rfind/config/rfindd		/etc/chkconfig control of rfindd/fsdump
	rfind/init.d/rfindd		system startup/shutdown for rfindd/fsdump
	rfind/rotatelogs/rotatelogs	utility to rotate /usr/lib/rfindd/*.log files

Comments:

    email to [email protected]