ld.so.conf 和bashrc上添加动态链接库有什么区别
时间: 2024-06-02 10:11:23 浏览: 20
`ld.so.conf`是用来配置系统wide library search path的文件。当你运行一个程序时,系统会在`ld.so.conf`指定的路径下寻找动态链接库。
而在`bashrc`中添加动态链接库,只会对在`bash` shell中运行的程序有效。这样做的好处是,你可以在`bashrc`中添加自定义的路径,使得你的程序可以找到你自己编译的动态链接库。但是需要注意的是,这种方式只对在`bash`中启动的程序有效,如果你的程序是在别的环境中启动的,那么它可能会无法找到你添加的路径。
所以,如果你想要系统wide地添加动态链接库路径,你应该修改`ld.so.conf`文件;如果你只需要在`bash`中使用自定义的动态链接库路径,那么你可以在`bashrc`中添加。
相关问题
.bashrc设置和ld.so.conf设置链接目录的区别
.bashrc 文件是用户级别的配置文件,主要用于配置用户的环境变量和别名等。在该文件中可以设置 PATH 环境变量,将需要使用的程序或脚本的路径加入到 PATH 中,从而使其可以在任何路径下执行。这种配置只对当前用户有效。
而 ld.so.conf 文件是系统级别的配置文件,它是用于配置系统动态链接库搜索路径的。在该文件中可以设置系统所需的共享库的搜索路径,使得系统可以在指定路径下搜索到需要的共享库。这种配置是全局有效的,对所有用户和程序都生效。
总之,.bashrc 文件主要用于设置用户级别的环境变量和别名等,而 ld.so.conf 文件则用于设置系统级别的共享库搜索路径。
linux中/etc/ld.so.conf添加默认动态库路径
在Linux中,可以通过修改/etc/ld.so.conf文件来添加默认动态库路径。以下是具体步骤:
1. 打开终端,以root用户身份登录。
2. 执行以下命令打开/etc/ld.so.conf文件:
```
vi /etc/ld.so.conf
```
3. 在文件末尾添加需要添加的默认动态库路径,例如:
```
/usr/local/lib
```
4. 保存文件并退出。
5. 执行以下命令更新配置:
```
ldconfig
```
6. 验证配置是否生效,执行以下命令:
```
ldconfig -v | grep "/usr/local/lib"
```
如果输出包含所添加的动态库路径,则表示配置已生效。
注意事项:
1. 在/etc/ld.so.conf文件中,每行只能包含一个路径。
2. 添加路径后,一定要执行ldconfig命令更新配置,否则配置不会生效。
3. 如果需要添加多个路径,可以在/etc/ld.so.conf.d目录下创建一个以.conf结尾的文件,每个文件包含一个路径。执行ldconfig命令时,会自动读取该目录下的所有配置文件。