Linux环境变量设置(PATH/LIBRARY_PATH/LD_LIBRARY_PATH)

简介: Linux环境变量设置(PATH/LIBRARY_PATH/LD_LIBRARY_PATH)

1. PATH:  可执行程序的查找路径

1.1 PATH变量的作用

查看当前环境变量中可执行程序的包含路径:

echo $PATH

1.2 增加/删除PATH路径设置:

方法一: export PATH=PATH:/XXX 但是登出后就失效

方法二:修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile

                 1. 在其中添加例如export PATH=/opt/ActivePython-2.7/bin:$PATH

                 2. source .bashrc 使修改生效

2. LIBRARY_PATH程序编译期间查找动态链接库时指定查找共享库的路径

例如,指定gcc编译需要用到的动态链接库的目录。设置方法如下(其中,LIBDIR1和LIBDIR2为两个库目录):

export LIBRARY_PATH=LIBDIR1:LIBDIR2:$LIBRARY_PATH

3. LD_LIBRARY_PATH: 动态库的查找路径

3.1 LD_LIBRARY_PATH的作用

LD_LIBRARY_PATH环境变量用于程序加载运行期间查找找动态链接库时指定除了系统默认路径之外的其他路径

注意,LD_LIBRARY_PATH中指定的路径会在系统默认路径之前进行查找。

比喻我们用minixml的开源库,编译通过,结果在运行的时候,报找不到动态库错误

这个错误怎么解决呢?

ld默认的目录是/lib和/usr/lib,而开源库编译生成的安装目录是/usr/local/lib,所以这个问题是没有配置环境变量LD_LIBRARY_PATH=/usr/local/lib

使用export LD_LIBRARY_PATH=/usr/local/lib

3.2 增加/修改LD_LIBRARY_PATH路径设置

方法一: export  LD_LIBRARY_PATH=LD_LIBRARY_PATH:/XXX 但是登出后就失效

方法二:  修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile

                 1. 在其中添加例如export PATH=/opt/ActiveP/lib:$LD_LIBRARY_PATH

                 2. source .bashrc  (Source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录)

方法三:这个没有修改LD_LIBRARY_PATH但是效果是一样的实现动态库的查找,

               1. /etc/ld.so.conf下面加一行/usr/local/mysql/lib

               2. 保存过后ldconfig一下(ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.)

LIBRARY_PATH和LD_LIBRARY_PATH的区别与使用:

开发时,设置LIBRARY_PATH,以便gcc能够找到编译时需要的动态链接库。

发布时,设置LD_LIBRARY_PATH,以便程序加载运行时能够自动找到需要的动态链接库。

参看链接:

https://baike.baidu.com/item/LD_LIBRARY_PATH/9391538?fr=aladdin

https://www.cnblogs.com/youyoui/p/10680329.html

https://www.cnblogs.com/lovychen/p/10911600.html

相关文章
|
6天前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
|
7天前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
17天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
63 3
|
3天前
|
网络协议 安全 Linux
Linux 上设置自己的公共时间服务器
Linux 上设置自己的公共时间服务器
12 0
|
1月前
|
Ubuntu Linux
Linux实践|设置静态 IP 地址
Linux实践|设置静态 IP 地址
62 0
Linux实践|设置静态 IP 地址
|
1月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
2月前
|
Linux Shell
10-8|linux date设置时间
10-8|linux date设置时间
|
6月前
|
存储 Shell Linux
【Shell 命令集合 系统设置 】⭐ Linux 取消或删除已设置的环境变量 unset命令 使用指南
【Shell 命令集合 系统设置 】⭐ Linux 取消或删除已设置的环境变量 unset命令 使用指南
236 0
|
3月前
|
Linux Shell
在Linux中,如何设置环境变量?
在Linux中,如何设置环境变量?
|
6月前
|
存储 Linux 编译器
Linux 交叉编译第三方库需要设置的环境变量
Linux 交叉编译第三方库需要设置的环境变量
228 0