rsync の概要
rsync パッケージは rsync ユーティリティを提供します。
これはネットワーク越しに、大容量のファイルアーカイブの同期をとることができます。
注記
LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS
開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。
パッケージ情報
rsync の依存パッケージ
推奨
popt-1.19
任意
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 の設定
設定情報
クライアントがリモートファイルにアクセスできるようにするためには、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.