Introduction to rsync
The rsync package contains the rsync utility. This is useful for synchronizing large file archives over a network.
Note
Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
Package Information
-
Download (HTTP): https://www.samba.org/ftp/rsync/src/rsync-3.2.7.tar.gz
-
Download MD5 sum: f216f350ef56b9ba61bc313cb6ec2ed6
-
Download size: 1.1 MB
-
Estimated disk space required: 9.6 MB (with tests; add 24 MB for HTML API documentation)
-
Estimated build time: 0.7 SBU (with tests)
rsync Dependencies
Recommended
popt-1.19
Optional
Doxygen-1.10.0, lz4, and xxhash
Installation of rsync
For security reasons, running the rsync server as an unprivileged user and group is encouraged. If you intend to run rsync as a daemon, create the rsyncd
user and group with the following commands issued by the root
user:
groupadd -g 48 rsyncd &&
useradd -c "rsyncd Daemon" -m -d /home/rsync -g rsyncd \
-s /bin/false -u 48 rsyncd
Install rsync by running the following commands:
./configure --prefix=/usr \
--disable-lz4 \
--disable-xxhash \
--without-included-zlib &&
make
If you have Doxygen-1.10.0 installed and wish to build HTML API documentation, issue:
doxygen
To test the results, issue: make check.
Now, as the root
user:
make install
If you built the documentation, install it using the following commands as the root
user:
install -v -m755 -d /usr/share/doc/rsync-3.2.7/api &&
install -v -m644 dox/html/* /usr/share/doc/rsync-3.2.7/api
Command Explanations
--disable-lz4
: This switch disables LZ4 compression support. Note that it uses the superior 'zstd' algorithm when this switch is in use, and zstd is provided in LFS.
--disable-xxhash
: This switch disables advanced xxhash checksum support. Remove this switch if you have installed xxhash.
--without-included-zlib
: This switch enables compilation with the system-installed zlib library.
Configuring rsync
Config Files
/etc/rsyncd.conf
Configuration Information
For client access to remote files, you may need to install the OpenSSH-9.6p1 package to connect to the remote server.
This is a simple download-only configuration to set up running rsync as a server. See the rsyncd.conf(5) man-page for additional options (i.e., user authentication).
cat > /etc/rsyncd.conf << "EOF"
# This is a basic rsync configuration file
# It exports a single module without user authentication.
motd file = /home/rsync/welcome.msg
use chroot = yes
[localhost]
path = /home/rsync
comment = Default rsync module
read only = yes
list = yes
uid = rsyncd
gid = rsyncd
EOF
You can find additional configuration information and general documentation about rsync at https://rsync.samba.org/documentation.html.
Boot Script
Note that you only need to start the rsync server if you want to provide an rsync archive on your local machine. You don't need this script to run the rsync client.
Install the /etc/rc.d/init.d/rsyncd
init script included in the blfs-bootscripts-20231119 package.
make install-rsyncd