Некоторые программы не найдены при использовании с sudo

Я только что установил , перейдите с на /usr/local/go и в ~/.bashrc добавили эту строку:

export PATH=$PATH:/usr/local/go/bin

Теперь go работает из командной строки, но sudo go дает мне:

$ sudo go
sudo: go: command not found
~
$ sudo echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/benjamin/algs4/bin:/usr/local/go/bin
9
задан 2 April 2012 в 21:38

4 ответа

Просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду ниже.

sudo ln -s /usr/local/go/bin/go /usr/bin/go
0
ответ дан 2 April 2012 в 21:38

Проверьте, настроили ли вы политику безопасности для своего PATH, с помощью следующей команды:

$ sudo sudo -V | grep PATH
Value to override user's $PATH with: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Если это так, либо отключите ее, либо добавьте ее с помощью sudo visudo.

См .: Почему переменные PATH отличаются при работе через sudo и su? в Unix SE

0
ответ дан 2 April 2012 в 21:38

Команда sudo имеет параметры env_keep и env_reset в файле sudoers.

Вы должны либо отредактировать настройку env_keep, либо использовать sudo -E.

0
ответ дан 2 April 2012 в 21:38

Отредактируйте файл/etc/sudoers. Добавьте желаемые пути к следующей строке:

Значения по умолчанию secure_path =/sbin:/bin:/usr/sbin:/usr/bin

пример:

Значения по умолчанию secure_path =/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin

3
ответ дан 2 April 2012 в 21:38

Другие вопросы по тегам:

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