4 root bashrc sudo environment-variables
我做 Rails 开发。在这个应用程序中,我需要指定环境变量LD_LIBRARY_PATH = /usr/local/oracle/lib
,但是当我使用 sudo 脚本/服务器运行应用程序时,它不会运行,因为该库路径不在 root 的 env 中。
我该怎么做才能让它发挥作用?我试图将路径放在根目录下./bashrc
,但没有用。
小智 6
我有一个类似的问题。我查看了我的/etc/sudoers
文件,看到了以下几行:
默认值 env_reset 默认值 env_keep = "颜色显示主机名 HISTSIZE INPUTRC KDEDIR \ LS_COLORS 邮件 PS1 PS2 QTDIR 用户名 \ LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \ LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \ _XKB_CHARSET XAUTHORITY”
为了让我的环境变量在那里,我必须在“XAUTHORITY”之后添加它的名字。在您的情况下,您将拥有:
默认值 env_keep = "颜色显示主机名 HISTSIZE INPUTRC KDEDIR \ LS_COLORS 邮件 PS1 PS2 QTDIR 用户名 \ LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \ LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \ _XKB_CHARSET XAUTHORITY LD_LIBRARY_PATH"
试一试吧。
还要确保您BASH_ENV="~/.bashrc"
在/etc/environment
.
有多种方法可以将其添加到脚本中,但我建议更简单、更可靠的方法是将路径直接添加到动态链接器的配置中:
$ sudo 编辑器 /etc/ld.so.conf.d/railslibs
将您在问题中提到的路径添加到该文件并运行sudo ldconfig
。
这应该使得环境修改变得不必要。
归档时间: |
|
查看次数: |
27232 次 |
最近记录: |