Это старая тема, но я уверен, что она до сих пор встречается с сотнями людей, и, поскольку этот вопрос 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
Это довольно сложно.
Решение, предложенное в 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