Подтвердить что ты не робот

Dyld: переменные среды DYLD_ игнорируются, поскольку основной исполняемый файл (/usr/bin/sudo) - setuid или setgid

так как обновление до 10.8, я получаю следующую ошибку при попытке выполнить команду sudo, что довольно раздражает.

dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/sudo) is setuid or setgid

Что это значит? Я надеюсь, что кто-то может помочь.

4b9b3361

Ответ 1

Кажется, это ошибка, введенная в 10.8, см. этот отчет. Насколько я могу судить, единственным обходным решением является установка DYLD_LIBRARY_PATH или LD_LIBRARY_PATH по умолчанию, но только при необходимости.

Ответ 2

В zsh:

sudo () { ( unset LD_LIBRARY_PATH DYLD_LIBRARY_PATH; exec command sudo $* ) }

Это порождает суб-оболочку, в которую сбрасываются SOWO-среды, из-за которых SOHO не отвечает, и затем выполняет sudo (через exec, так что теперь ненужная родительская оболочка немедленно выходит).

Я оставлю это как упражнение для чтения для порта bash и др.

Ответ 3

Не знаю, где официальный вопрос для этого, но я решил это с помощью этого bashrc-хака, потому что я больше не мог видеть это проклятое предупреждение.

поместите это в /etc/bashrc или где бы вы ни жили.

# set DYLD_* for my normal programs
DYLD_LIBRARY_PATH='..'

# set an alternative sudo
thesudo()
{
# back up the DYLD_* variables
local BACK=$DYLD_LIBRARY_PATH
# unset DYLD_*
unset DYLD_LIBRARY_PATH
# calling sudo
/usr/bin/sudo "[email protected]"
# restore DYLD_* after sudo finished
export DYLD_LIBRARY_PATH=$BACK
}

# redirect sudo
alias sudo=thesudo

Ответ 4

Те, кто использует django (python для Интернета), с mysql через MySQLdb (модуль Mysql-Python), нуждаются в этой переменной. Поэтому я просто предупреждаю об этом.

Ответ 5

Кажется, что уже упомянутые "исправления" - это обходные пути, которые могут не работать для всех пользователей. Это известная ошибка, о которой Apple (по крайней мере) знает: http://openradar.appspot.com/11894054

Ответ 6

Эта проблема окончательно исправлена ​​в OS X Mavericks (10.9), сообщение больше не появляется на sudo.