库文件丢失的排错
2015-04-23 12:13
99 查看
参考命令: ldd $(which /usr/local/nginx/sbin/nginx)
ldd $(which /usr/lib/jvm/jre-1.7.0/bin/java)
报错信息:
Nginx 报错信息:
service nginx restart
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libgd.so.2: cannot open shared object file: No such file or directory
nginx stop failed/usr/local/nginx/sbin/nginx: error while loading shared libraries: libgd.so.2: cannot open shared object file: No such file or directory
Tomcat 报错信息:
/tomcat/bin/catalina.sh: line 394: /usr/lib/jvm/jre-1.7.0/bin/java: No such file or directory
库文件丢失缺少原因,自己总结的有三种原因
1.编译安装的不完全 或是 缺少安装包
2.误删除操作系统上的某些rpm包
3.系统未知的错误原因导致库文件丢失或是软链接失效
判定为什么可能是库文件丢失引起的报错?
报错信息中有提示 lib 关键字就应该立刻想到 有可能是库文件的原因
nginx排错过程
在错误主机上用命令显示: ldd $(which /usr/local/nginx/sbin/nginx)
少了 libgd.so.2 库文件 ,find / -name libgd.so.2 没有发现这个库文件
-------------------------------------------------------------------------------------------
另找一台nginx 查看库文件的软链接情况 ldd $(which /usr/local/nginx/sbin/nginx)
找到libgd.so.2 => /usr/lib64/libgd.so.2 (0x00007f4383cae000)
然后查看软链接指向的库文件
ls -al /usr/lib64/libgd.so.2
lrwxrwxrwx 1 root root 14 May 5 2014 /usr/lib64/libgd.so.2 -> libgd.so.2.0.0
再用find查看库文件位置
find / -name libgd.so.2.0.0
/usr/lib64/libgd.so.2.0.0
至此看以看出:问题主机的库文件丢失了并且软链接也丢失,库文件和软链接处于同一个目录
解决方法: 从另外一台主机中将库文件scp过来并设置软链接
scp /usr/lib64/libgd.so.2.0.0 root@IP:/usr/lib64/
进入问题主机 做软链接 cd /usr/lib64/
ln -s /usr/lib64/libgd.so.2.0.0 /usr/lib64/libgd.so.2
最终问题解决。
-------------------------------------------------------------------------------------------
tomcat排错过程
find / -name libjli.so
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64/jre/lib/amd64/jli/libjli.so
rpm -aq |grep ava-1.7.0-openjdk
java-1.7.0-openjdk-1.7.0.55-2.4.7.1.el6_5.x86_64
发现 没有这个目录:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64/ 是由于 少了一个rpm包 yum 安装
ldd $(which /usr/lib/jvm/jre-1.7.0/bin/java)
报错信息:
Nginx 报错信息:
service nginx restart
/usr/local/nginx/sbin/nginx: error while loading shared libraries: libgd.so.2: cannot open shared object file: No such file or directory
nginx stop failed/usr/local/nginx/sbin/nginx: error while loading shared libraries: libgd.so.2: cannot open shared object file: No such file or directory
Tomcat 报错信息:
/tomcat/bin/catalina.sh: line 394: /usr/lib/jvm/jre-1.7.0/bin/java: No such file or directory
库文件丢失缺少原因,自己总结的有三种原因
1.编译安装的不完全 或是 缺少安装包
2.误删除操作系统上的某些rpm包
3.系统未知的错误原因导致库文件丢失或是软链接失效
判定为什么可能是库文件丢失引起的报错?
报错信息中有提示 lib 关键字就应该立刻想到 有可能是库文件的原因
nginx排错过程
在错误主机上用命令显示: ldd $(which /usr/local/nginx/sbin/nginx)
少了 libgd.so.2 库文件 ,find / -name libgd.so.2 没有发现这个库文件
-------------------------------------------------------------------------------------------
另找一台nginx 查看库文件的软链接情况 ldd $(which /usr/local/nginx/sbin/nginx)
找到libgd.so.2 => /usr/lib64/libgd.so.2 (0x00007f4383cae000)
然后查看软链接指向的库文件
ls -al /usr/lib64/libgd.so.2
lrwxrwxrwx 1 root root 14 May 5 2014 /usr/lib64/libgd.so.2 -> libgd.so.2.0.0
再用find查看库文件位置
find / -name libgd.so.2.0.0
/usr/lib64/libgd.so.2.0.0
至此看以看出:问题主机的库文件丢失了并且软链接也丢失,库文件和软链接处于同一个目录
解决方法: 从另外一台主机中将库文件scp过来并设置软链接
scp /usr/lib64/libgd.so.2.0.0 root@IP:/usr/lib64/
进入问题主机 做软链接 cd /usr/lib64/
ln -s /usr/lib64/libgd.so.2.0.0 /usr/lib64/libgd.so.2
最终问题解决。
-------------------------------------------------------------------------------------------
tomcat排错过程
find / -name libjli.so
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64/jre/lib/amd64/jli/libjli.so
rpm -aq |grep ava-1.7.0-openjdk
java-1.7.0-openjdk-1.7.0.55-2.4.7.1.el6_5.x86_64
发现 没有这个目录:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64/ 是由于 少了一个rpm包 yum 安装
相关文章推荐
- 使用MSBuild Tools调用csproj项目文件发布网站时$(SolutionDir)宏参数值丢失为空的解决方案
- 笔记本电脑文件丢失还能恢复吗
- 电脑提示丢失文件怎么办
- R文件丢失
- 如何恢复电脑断电了丢失文件呢
- R.java was modified manually! Reverting to generated version!(R文件丢失异常原因汇总)
- oracle 无法启动和文件丢失
- oracle的数据文件全部丢失,但有归档和重做日志,如何恢复?
- RMAN数据库恢复之丢失数据文件的恢复
- 解决msvcr120.dll文件丢失问题
- 重启nginx后丢失nginx.conf文件
- Android Studio R文件丢失 puzzle
- 数据文件丢失损坏的恢复--
- boot目录下文件丢失恢复策略
- 【正途】Android R.java文件丢失的问题
- GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录?
- ORACLE数据库文件丢失后的恢复测试
- python用read_csv导入txt文件时的数据丢失问题
- oracle配置文件丢失恢复
- 联机日志文件丢失或损坏的处理方法