linux /lib,/usr/lib,/usr/local/lib区别

/lib 系统级别,系统的lib

/usr/lib 程序级别,二进制安装包的lib

/usr/local/lib 用户自定义级别,用户编译的一般放这里

在ubuntu下,直接通过apt-get安装的软件一般会在/usr下面,自己编译安装的软件(或者通过一些其他的非官方途径)会在/usr/local下面
其实是普通的lib,文艺的lib和2b的lib的差别 :wink:


当登陆一个linux系统时,bash shell依次会从4个不同的地方启动文件里的读取命令,顺序是:
1: /etc/profile
2:$HOME/.bash_profile
3:$HOME/.bash_login
4:$HOME/.profile

ls -alF

vim /etc/profile
cd ~
vim .bash_profile
或者
cd /
vim ~/.bash_profile

除此之外,在/etc/profile.d/下的文件,会作为默认的加载的启动目录,这下面的所有的shell脚本都会被登陆时,激活,利用这个特性,我们可以将我们在系统登陆时,需要加载的脚本配置到这里

查看linux机器是32位还是64位的方法:
file /sbin/init 或者file /bin/ls
### 如何正确使用和管理 Linux 系统中的 `/usr/local/lib` 路径 #### 添加库文件至动态链接器配置 为了使位于 `/usr/local/lib` 的共享库能够被系统识别并用于程序运行时的动态链接,可以编辑全局的 `ld.so.conf.d` 文件夹下的配置文件。创建一个新的配置文件来指定额外的库路径是一种常见做法。 ```bash echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/usr_local_lib.conf sudo ldconfig ``` 上述命令会将 `/usr/local/lib` 加入到系统的动态链接库查找路径中,并刷新缓存以便立即生效[^1]。 #### 使用环境变量临时添加库路径 对于不需要永久修改的情况,可以通过设置 `LD_LIBRARY_PATH` 来临时增加特定目录作为附加的库搜索位置。这通常适用于测试阶段或是当不想影响其他应用程序的行为时采用的方法。 ```bash export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ``` 此方式仅对当前shell session有效,在新打开终端窗口后需重新设定该变量[^2]。 #### 解决符号链接错误提示 如果遇到关于某个 `.so` 库不是符号链接的问题,则可能是由于安装过程中出现了异常情况所引起的。此时应该检查目标文件是否存在以及其属性是否正常;必要情况下可尝试重建正确的符号链接指向实际版本号的具体实现文件。 例如修复 CUDA 下 CUDNN 库的相关问题: ```bash ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn.so.8 \ /usr/local/lib/libcudnn.so.8 ``` 这条指令建立了从具体版本到通用名称之间的软链关系,从而解决了找不到合适库文件的问题[^3]。 #### 验证更改效果 完成以上任一步骤之后,可通过以下命令验证新的库路径已被成功加入到了动态链接器的搜索范围内: ```bash ldd --version # 查看 ldd 版本信息 ldd some_executable_or_shared_object_file # 显示给定对象依赖的所有共享库及其解析后的绝对路径 ``` 通过这种方式确认 `/usr/local/lib` 中的新库已经被正确加载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值