Я не думаю, что вы можете сделать это непосредственно в rsync
. Параметр--keep-dirlinks
(-K
)оставит каталоги с символическими ссылками нетронутыми, но файлы с символическими ссылками все равно будут перезаписаны.
Самое близкое решение, которое я могу найти для этого, это небольшой(bash
)скрипт
( cd TARGET && find. -type f -print0 | sed 's!^./!!' ) |
while IFS= read -d $'\0' -r f
do
s=$(readlink -f SOURCE/"$f")
rsync -a TARGET/"$f" "${s:-f}"
done
Это берет каждый файл в TARGET
по одному, проверяет цель символической ссылки в SOURCE
и применяет rsync
к ней напрямую.
У меня была точно такая же проблема на компьютере с CentOS 6. У меня сработала переустановка:
sudo yum remove python-pip
sudo yum install python-pip
, затем я смог убедиться, что он работает через:
python --version
Python 2.6.6
pip --version
pip 7.1.0 from /usr/lib/python2.6/site-packages (python 2.6)