- Getting the code (full description from the homepage)
- Git
- git clone git://git.samba.org/rsync.git
- Git
- Note taken on [2011-05-15 N 15:18]
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 to the name of your native compiler before running configure in this case.
- Note taken on [2011-05-15 N 15:32]
A recent copy is included in the rsync code base and used if the system doesn’t have it installed. Using the bundled lib is possible by passing the –with-included-popt option passed to `./configure’.
- Note taken on [2011-05-15 N 15:46]
Specific patched version bundled with the code base. Building with a generic zlib will probably result in problems with rsync. Registered in the TODO file as a task ‘Use generic zlib’.
- Probably several modes of operation
- Daemon (TCP 873)
- Writable
- Readonly?
- Client
- xattr-enabled (Extended file attributes)
- Daemon (TCP 873)
- Protocols
- native rsync
- RSH
- SSH
- Replaces
- rcp
- scp
- Synchronization of files and directories
- Delta encoding to minimize data transfer
- Only one trasmission in each direction while mirroring
- Supports compression and recursion
- Scriptable
- Can update whole directory trees and filesystems
- Optionally preserves symbolic links, hard links, file ownership, permissions, devices and times
requires no special privileges to install
- Does not require setuid
- Internal pipelining reduces latency for multiple files
- Can use rsh, ssh or direct sockets as the transport
- Supports anonymous rsync which is ideal for mirroring
- Mostly written in C (~38k LoC)
- Mature, well-established codebase
- Small development team
- Decreasing year-over-year development activity
- librsync - possibly a different implementation of the rsync algorithm