yum故障处理
cannot open packages index
error: rpmdb: BDB0113 Thread/process 21357/140557926295360 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 - (-30973)
CRITICAL:yum.main:
Error: rpmdb open failed
rm -f /var/lib/rpm/__db*
1
2
3
4
5
6
7
2
3
4
5
6
7
检查python
python -V 显示找不到目录
strace -tt -f python -V 提示找不到libpython.so.1.0 变量指定了LD_LIBRARY_PATH的错误路径
/etc/ld.so.conf
/etc/ld.so.conf.d
/lib /lib64
1
2
3
4
2
3
4
Linux下指定动态链接库查找路径有以下方法,设置环境变量或修改配置文件。
环境变量 设置环境变量LD_LIBRARY_PATH,当前session下立即生效,logout后失效
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/your/lib
1
可以将此命令添加到~/.bash_profile,后续login依然有效
# echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/your/lib" >> ~/.bash_profile
# source ~/.bash_profile
1
2
3
2
3
配置文件 /etc下以ld.so开头的文件和目录,指定了动态链接库查找路径
/etc/ld.so.conf
支持include子配置文件,扩展之后,即包含一系列以逗号/冒号/TAB/换行符分隔的动态链接库目录
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/etc/ld.so.conf.d/
1
2
3
4
2
3
4
动态链接库路径配置文件,结构清晰,适合为某个特定项目指定动态链接库路径
/etc/ld.so.cache
1
内容是动态链接库的具体关联,本身是二进制文件,可使用ldconfig读取内容
修改ld.so.conf或ld.so.conf.d下添加配置文件后,运行ldconfig使之立即生效。
ldconfig命令在以下目录内查找动态链接库,建立关联,生成cache, 即 /etc/ld.so.cache
命令行指定目录 /etc/ld.so.conf 指定目录
查看动态链接库关联
/lib
/lib64
/usr/lib
/usr/lib64
1
2
3
4
2
3
4
查看动态链接库关联
ldconfig -p | less
1