以root身份运行sudo时的环境不同?

时间:2013-04-03 15:22:38

标签: linux sudo opensuse intel-mic

我正在尝试安装Xeon Phi协处理器。具体行为可能与所涉及的工具有关 - 我的问题更具一般性。

当我以root身份执行命令时,出现分段错误。当我以root身份执行它但(我认为不必要)使用sudo时,它可以工作:

i72:~ # whoami
root
i72:~ # micctrl -s
Segmentation fault
i72:~ # sudo micctrl -s
[no segfault]

正在运行的环境micctrl有什么不同?

(编辑:)我认为我们在下面排除了环境变量。

该系统是SLES 11.2。

谢谢!

2 个答案:

答案 0 :(得分:2)

sudo从环境中删除了LD_LIBRARY_PATH,LD_PRELOAD(我怀疑它是为root用户和普通用户做的)。 这可能会导致为程序加载不同的库。

sudo可以配置它重置/清除的变量 - 请参阅http://brandonhutchinson.com/wiki/Sudo_and_environment_variables

答案 1 :(得分:1)

原来,sudo只是隐藏了“Segmentation fault”消息。它仍然会发生,但不会显示在终端上。我们发现因为micctrl从未给过我们任何输出,即使它应该有。

编辑:此外,如果某人遇到micctrl问题:在我们的案例中,系统无法正确识别Phi。 lspci找到了它,但未在/sys/class/mic中列出。