rsync-3.2.7

rsync の概要

rsync パッケージは rsync ユーティリティを提供します。 これはネットワーク越しに、大容量のファイルアーカイブの同期をとることができます。

[注記]

注記

LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS 開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。

パッケージ情報

  • ダウンロード (HTTP): https://www.samba.org/ftp/rsync/src/rsync-3.2.7.tar.gz

  • ダウンロード MD5 sum: f216f350ef56b9ba61bc313cb6ec2ed6

  • ダウンロードサイズ: 1.1 MB

  • 必要ディスク容量: 9.6 MB (with tests; add 24 MB for HTML API documentation)

  • 概算ビルド時間: 0.7 SBU (with tests)

rsync の依存パッケージ

推奨

任意

Doxygen-1.9.8, lz4, xxhash

rsync のインストール

セキュリティ観点から rsync サーバーは、非特権のユーザーおよびグループにて実行することが推奨されています。 rsync をデーモンとして実行する場合、rsyncd ユーザーおよびグループを作成します。 これは root ユーザーになって以下のコマンドにより実現します。

groupadd -g 48 rsyncd &&
useradd -c "rsyncd Daemon" -m -d /home/rsync -g rsyncd \
    -s /bin/false -u 48 rsyncd

以下のコマンドを実行して rsync をビルドします。

./configure --prefix=/usr    \
            --disable-lz4    \
            --disable-xxhash \
            --without-included-zlib &&
make

Doxygen-1.9.8 をインストールしていて、HTML API ドキュメントをビルドしたい場合は以下を実行します。

doxygen

ビルド結果をテストする場合は make check を実行します。

root ユーザーになって以下を実行します。

make install

ドキュメントをビルドした場合は、root ユーザーになって以下のコマンドを実行して、各ドキュメントをインストールします。

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

コマンド説明

--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.

rsync の設定

設定ファイル

/etc/rsyncd.conf

設定情報

クライアントがリモートファイルにアクセスできるようにするためには、OpenSSH-9.5p1 パッケージをインストールしてリモートサーバーへ接続できるようにする必要があります。

以下は、rsync をサーバーにて起動させて、ダウンロードだけができるようにする設定例です。 詳細なオプション (ユーザー認証など) については man ページの rsyncd.conf(5) を参照してください。

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

rsync における、より詳細な設定情報は https://rsync.samba.org/documentation.html を参照してください。

Systemd Unit

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 unit to run the rsync client.

Install the rsyncd.service unit included in the blfs-systemd-units-20231205 package.

make install-rsyncd
[注記]

注記

This package comes with two types of units: A service file and a socket file. The service file will start rsync daemon once at boot and it will keep running until the system shuts down. The socket file will make systemd listen on rsync port (Default 873, needs to be edited for anything else) and will start rsync daemon when something tries to connect to that port and stop the daemon when the connection is terminated. This is called socket activation and is analogous to using {,x}inetd on a SysVinit based system.

By default, the first method is used - rsync daemon is started at boot and stopped at shutdown. If the socket method is desired, you need to run as the root user:

systemctl stop rsyncd &&
systemctl disable rsyncd &&
systemctl enable rsyncd.socket &&
systemctl start rsyncd.socket

Note that socket method is only useful for remote backups. For local backups you'll need the service method.

パッケージ構成

インストールプログラム: rsync, rsync-ssl
インストールライブラリ: なし
インストールディレクトリ: 任意インストールとして /usr/share/doc/rsync-3.2.7

概略説明

rsync

is a replacement for rcp (and scp) that has many more features. It uses the rsync algorithm which provides a very fast method of syncing remote files. 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 end of the link beforehand

rsync-ssl

is a helper script used when connecting to an rsync daemon that has SSL support built in