あるサーバーから別のサーバーにいくつかのrpmをコピーするrsyncがありますが、問題は受信サーバーでシンボリックリンクが正しく生成されないことです。
私のrsyncオプションはrsyncd.confで設定した-avz --force --delete
ものです。munge symlinks = no
私がここで正確に何を見逃しているのかわかりません。
たとえば、server-1-rsync-senderでは、
test.rpm -> /var/www/html/repo/Package/test.rpm
Server-2-rsync-receiver rsycnで作成
test.rpm -> var/www/html/repo/Package/test.rpm
編集#1 rsyncコマンドの完了
RSYNC_OPTIONS='-lavz --force --delete'
rsync $RSYNC_OPTIONS * rsync://${RSYNC_USER}@${rpm_server}:/yum >>/var/log/rsync_sync.log 2>&1
ログを見ると、正しいシンボリックリンクがあることがわかります。
#2 rsyncd.conf 編集
[yum]
path = /var/www/html/repo
use chroot = no
max connections = 100
auth users = rpms
hosts allow = ***********
secrets file = ***********
uid = apache
gid = nobody
list = yes
read only = no
munge symlinks = no
私は両方とも閉じているので、mungeシンボリックリンクとchrootの組み合わせだと思います。どちらもrsyncなしに設定すると、最初のエントリが削除されるようです/
答え1
この問題の解決策を見つけました。 rsyncd.confからmunge linkオプションを削除してからchroot = yesを変更すると、シンボリックリンクがシームレスに移行されます。
これはセキュリティホールを開く可能性がありますが、何でもシンボリックリンクすることができ、mungeリンクとchrootが保護するように設計された保護装置はありません。したがって、このソリューションの使用は環境によって非常に異なります。