Как rsync различает, является ли пункт назначения локальным каталогом с ' :' и '@' в имени каталога или удаленным SSH?

Это старая тема, но я уверен, что она до сих пор встречается с сотнями людей, и, поскольку этот вопрос StackExchange по-прежнему занимает высокие позиции в результатах Google, я делюсь ответом, найденным на StackOverflow, который сработал для меня:https://stackoverflow.com/questions/33137543/linux-perf-top-kernel-symbol-not-found

В основном:

Перед началом перф.записи

echo 0 > /proc/sys/kernel/kptr_restrict

Также может потребоваться настроить эти

Для RHEL/CentOS/Fedora и т. д.

yum install -y elfutils-libelf-devel libunwind-devel audit-libs-devel slang-devel

Или для Debian/Ubuntu/и др.

apt-get install libelf-dev libunwind-dev libaudit-dev libslang-dev

0
22.11.2020, 23:16
1 ответ

Это довольно сложно.

Решение, предложенное в rsync :двоеточие в именах файлов , похоже, работает в целом, но существует множество возможных угловых случаев.

Пример :Как rsync узнает с помощью rsync src./hello@b.com:/test/, является ли пункт назначения удаленным или локальным?
Это может быть локальный путь ./hello@b.com:/test/с :и @в имени каталога.
Или это может быть удаленный пользователь с именем./hello(странное имя пользователя Unix, но возможно! попробуй с useradd! ), хост b.comи путь /test/.

Здесь — код, анализирующий URI в реализации OpenSSH scp, и его стоит прочитать.

Правила объясняются в проекте IETFhttps://datatracker.ietf.org/doc/html/draft-ietf-secsh-scp-sftp-ssh-uri-04

0
18.03.2021, 22:47

Теги

Похожие вопросы