Use seteuid() (if available) when using setuid().
[rsync.git] / README
diff --git a/README b/README
index 4934a90bc4091b639cb6e66ece191a2e185c64ef..9007a25b48e6c7a05d1c7120f7ee7a85e3d47061 100644 (file)
--- a/README
+++ b/README
 WHAT IS RSYNC?
 --------------
 
-rsync is a replacement for rcp that has many more features.
+Rsync is a fast and extraordinarily versatile file copying tool for
+both remote and local files.
 
-rsync uses the "rsync algorithm" which provides a very fast method for
-bringing remote files into sync. It does this by sending just the
+Rsync uses a delta-transfer algorithm which provides a very fast method
+for bringing remote files into sync.  It does this by sending just the
 differences in the files across the link, without requiring that both
-sets of files are present at one of the ends of the link beforehand.
-At first glance this may seem impossible because the calculation of
-diffs between two files normally requires local access to both
-files. 
+sets of files are present at one of the ends of the link beforehand.  At
+first glance this may seem impossible because the calculation of diffs
+between two files normally requires local access to both files.
 
-A technical report describing the rsync algorithm is included with
-this package. 
+A technical report describing the rsync algorithm is included with this
+package.
 
 
 USAGE
 -----
 
-Basically you use rsync just like rcp, but rsync has many additional options.
-
-Here is a brief description of rsync usage:
-
-Usage: rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
-  or   rsync [OPTION]... [USER@]HOST:SRC DEST
-  or   rsync [OPTION]... SRC [SRC]... DEST
-  or   rsync [OPTION]... [USER@]HOST::SRC [DEST]
-  or   rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
-  or   rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
-SRC on single-colon remote HOST will be expanded by remote shell
-SRC on server remote HOST may contain shell wildcards or multiple
-  sources separated by space as long as they have same top-level
-
-Options
- -v, --verbose               increase verbosity
- -q, --quiet                 decrease verbosity
- -c, --checksum              always checksum
- -a, --archive               archive mode
- -r, --recursive             recurse into directories
- -R, --relative              use relative path names
- -b, --backup                make backups (default ~ suffix)
-     --suffix=SUFFIX         override backup suffix
- -u, --update                update only (don't overwrite newer files)
- -l, --links                 preserve soft links
- -L, --copy-links            treat soft links like regular files
-     --copy-unsafe-links     copy links outside the source tree
-     --safe-links            ignore links outside the destination tree
- -H, --hard-links            preserve hard links
- -p, --perms                 preserve permissions
- -o, --owner                 preserve owner (root only)
- -g, --group                 preserve group
- -D, --devices               preserve devices (root only)
- -t, --times                 preserve times
- -S, --sparse                handle sparse files efficiently
- -n, --dry-run               show what would have been transferred
- -W, --whole-file            copy whole files, no incremental checks
- -x, --one-file-system       don't cross filesystem boundaries
- -B, --block-size=SIZE       checksum blocking size (default 700)
- -e, --rsh=COMMAND           specify rsh replacement
-     --rsync-path=PATH       specify path to rsync on the remote machine
- -C, --cvs-exclude           auto ignore files in the same way CVS does
-     --delete                delete files that don't exist on the sending side
-     --delete-excluded       also delete excluded files on the receiving side
-     --partial               keep partially transferred files
-     --force                 force deletion of directories even if not empty
-     --numeric-ids           don't map uid/gid values by user/group name
-     --timeout=TIME          set IO timeout in seconds
- -I, --ignore-times          don't exclude files that match length and time
-     --size-only             only use file size when determining if a file should be transferred
- -T  --temp-dir=DIR          create temporary files in directory DIR
-     --compare-dest=DIR      also compare destination files relative to DIR
- -z, --compress              compress file data
-     --exclude=PATTERN       exclude files matching PATTERN
-     --exclude-from=FILE     exclude patterns listed in FILE
-     --include=PATTERN       don't exclude files matching PATTERN
-     --include-from=FILE     don't exclude patterns listed in FILE
-     --version               print version number
-     --daemon                run as a rsync daemon
-     --config=FILE           specify alternate rsyncd.conf file
-     --port=PORT             specify alternate rsyncd port number
-     --stats                 give some file transfer stats
-     --progress              show progress during transfer
-     --log-format=FORMAT     log file transfers using specified format
-     --password-file=FILE    get password from FILE
- -h, --help                  show this help screen
+Basically you use rsync just like scp, but rsync has many additional
+options.  To get a complete list of supported options type:
 
+    rsync --help
+
+See the manpage for more detailed information.
 
 
 SETUP
 -----
 
-Rsync uses rsh or ssh for communication. It does not need to be setuid
-and requires no special privileges for installation. It does not
-require a inetd entry or a daemon. You must, however, have a working
-rsh or ssh system. Using ssh is recommended for its security
-features. 
+Rsync normally uses ssh or rsh for communication with remote systems.
+It does not need to be setuid and requires no special privileges for
+installation.  You must, however, have a working ssh or rsh system.
+Using ssh is recommended for its security features.
+
+Alternatively, rsync can run in `daemon' mode, listening on a socket.
+This is generally used for public file distribution, although
+authentication and access control are available.
 
-To install rsync, first run the "configure" script. This will create a
-Makefile and config.h appropriate for your system. Then type
-"make". 
+To install rsync, first run the "configure" script.  This will create a
+Makefile and config.h appropriate for your system.  Then type "make".
 
 Note that on some systems you will have to force configure not to use
 gcc because gcc may not support some features (such as 64 bit file
-offsets) that your system may support. Set the environment variable CC
+offsets) that your system may support.  Set the environment variable CC
 to the name of your native compiler before running configure in this
-case. 
+case.
 
 Once built put a copy of rsync in your search path on the local and
-remote systems (or use "make install"). That's it!
+remote systems (or use "make install").  That's it!
 
-RSYNC SERVERS
+
+RSYNC DAEMONS
 -------------
 
-rsync can also talk to "rsync servers" which can provide anonymous or
-authenticated rsync. See the rsyncd.conf(5) man page for details on how
-to setup a rsync server. See the rsync(1) man page for info on how to
-connect to a rsync server.
+Rsync can also talk to "rsync daemons" which can provide anonymous or
+authenticated rsync.  See the rsyncd.conf(5) man page for details on how
+to setup an rsync daemon.  See the rsync(1) man page for info on how to
+connect to an rsync daemon.
 
 
-MAILING LIST
-------------
+WEB SITE
+--------
+
+The main rsync web site is here:
+
+    http://rsync.samba.org/
+
+You'll find a FAQ list, downloads, resources, HTML versions of the
+manpages, etc.
 
-There is a mailing list for the discussion of rsync and its
-applications. It is open to anyone to join. I will announce new
-versions on this list. 
 
-To join the mailing list send mail to listproc@samba.org with
-no subject and a body of "subscribe rsync Your Name".
+MAILING LISTS
+-------------
+
+There is a mailing list for the discussion of rsync and its applications
+that is open to anyone to join.  New releases are announced on this
+list, and there is also an announcement-only mailing list for those that
+want official announcements.  See the mailing-list page for full
+details:
 
-To send mail to everyone on the list send it to rsync@samba.org
+    http://rsync.samba.org/lists.html
 
 
 BUG REPORTS
 -----------
 
-If you have web access then please look at
-http://rsync.samba.org/rsync/ 
+To visit this web page for full the details on bug reporting:
 
-This will give you access to the bug tracking system used by the
-developers of rsync and will allow you to look at other bug reports or
-submit a new bug report.
+    http://rsync.samba.org/bugzilla.html
 
-If you don't have web access then mail bug reports to
-rsync-bugs@samba.org or (if you think it will be of interest to lots
-of people) send it to rsync@samba.org
+That page contains links to the current bug list, and information on how
+to report a bug well.  You might also like to try searching the Internet
+for the error message you've received, or looking in the mailing list
+archives at:
 
+    http://mail-archive.com/rsync@lists.samba.org/
 
-CVS TREE
---------
+To send a bug report, follow the instructions on the bug-tracking
+page of the web site.
+
+Alternately, email your bug report to rsync@lists.samba.org .
+
+
+GIT REPOSITORY
+--------------
 
 If you want to get the very latest version of rsync direct from the
-source code repository then you can use anonymous cvs. You will need a
-recent version of cvs then use the following commands:
+source code repository then you can use git:
 
-       cvs -d :pserver:cvs@cvs.samba.org:/cvsroot login
-       Password: cvs
+    git clone git://git.samba.org/rsync.git
 
-       cvs -d :pserver:cvs@cvs.samba.org:/cvsroot co rsync
+See the download page for full details on all the ways to grab the
+source, including nightly tar files, web-browsing of the git repository,
+etc.:
 
-Look at the cvs documentation for more details.
+    http://rsync.samba.org/download.html
 
 
 COPYRIGHT
 ---------
 
-Rsync was written by Andrew Tridgell and Paul Mackerras, and is
-available under the Gnu Public License.
+Rsync was originally written by Andrew Tridgell and is currently
+maintained by Wayne Davison.   It has been improved by many developers
+from around the world.
+
+Rsync may be used, modified and redistributed only under the terms of
+the GNU General Public License, found in the file COPYING in this
+distribution, or at:
 
-tridge@samba.org
-paulus@cs.anu.edu.au
+    http://www.fsf.org/licenses/gpl.html
 
 
 AVAILABILITY