程序启动失败排查步骤

  1. 应用程序日志
  2. 系统日志
  3. 查看应用程序启动时调用的活动库,检查库文件是否存在

error while loading shared libraries: libiconv.so.2: cannot open



启动zabbix时,报错zabbix_server: error while loading shared libraries: libiconv.so.2: cannot open shared object file: ...
启动zabbix时,报错 zabbix_server: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory。意思是,在zabbix_server启动是,找不到共享库libiconv.so.2,排查思路是:

1、先确认是否安装了libiconv.so.2这个共享库

使用locate的快速查找文件功能。

locate功能简介,locate将文件名及路径保存在数据库/var/lib/mlocate/mlocate.db之中,方便快速查找文
件位置。正常情况下这个数据库是不会更新的,我们需要使用命令updatedb这个命令来更新。

shell> updatedb

然后locate libiconv.so.2,发现该库已经安装,位置在/usr/local/lib/libiconv.so.2

既然已经安装,为什么提示找不到那?继续下一步排查

2、是否是路径错了?确认zabbix_server启动时查找的路径

strace zabbix_server将打印出所有zabbix_server启动时调用的文件及程序名称,

在输出的信息中发现查找库libiconv.so.2的路径是/lib目录和/usr/lib这两个目录

好了,问题找到了,将/usr/local/lib下面该库链接到/usr/lib下面即可,代码

shell> ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2

再次启动,发现不再报如下错误: zabbix_server: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory,问题解决。

你可能感兴趣的:(启动)