lin*_*ize 13 libraries path environment-variables dynamic-loading
我想导出LD_LIBRARY_PATH到系统服务和所有用户。系统服务在登录前运行,因此.bashrc不适用。
如何实现这一目标?
der*_*ert 21
你不需要。将目录添加到/etc/ld.so.conf或 中的新文件/etc/ld.so.conf.d/,具体取决于发行版。
之后,您必须ldconfig以 root 身份运行(至少在 Redhat 上)。
需要注意的是,您需要小心将哪些库添加到系统共享库路径(通过环境、ld.so.conf 或放入 /usr/local/lib)。特别是,您要注意具有相同 soname 的同一个库的两个不同版本。例如,如果您通过 dpkg/rpm/etc. 安装了 libfoo.0.1(soname libfoo.0),则您不希望在自定义库目录中有 libfoo.0.2(也 soname libfoo.0)。
(实际上,实现系统范围的环境变量并不是那么容易。您可以使用/etc/environment.获得大多数用户登录。脚本将取决于您的 init 系统,但是(例如)在 Debian 上使用 sysv init,您可以将其放入/etc/default/rcS. 任何东西直接用完 inittab,好吧,我认为你不能。)
| 归档时间: |
|
| 查看次数: |
41802 次 |
| 最近记录: |