centos 安装 ejabberd 报“Error: Error running Post Install Script.”问题排查
Posted 无锋剑客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos 安装 ejabberd 报“Error: Error running Post Install Script.”问题排查相关的知识,希望对你有一定的参考价值。
centos 安装 ejabberd 报“Error: Error running Post Install Script.”问题排查
在公司服务器上部署ejabberd 服务器发现如下报错:
Installing
0% ______________ 50% ______________ 100%
#######################################
Error: Error running Post Install Script.
The installation may have not completed correctly
排查步骤如下:
1.
cd /opt/ejabberd-2.1.10/logs
more install.log #查看ejabberd 安装日志,发现如下内容;
Executing final installation script
Error executing post installation script
2.
/opt/ejabberd-2.1.10/bin/postinstall.sh
\\child process exited abnormally #执行上面的脚本 ,子进程异常退出;
3.
more /opt/ejabberd-2.1.10/bin/postinstall.sh #查看执行失败的脚本;
#!/bin/sh
echo
echo " -=- ejabberd post installation script -=- "
echo " (c) 2005-2010 ProcessOne "
echo
echo "* Checking ejabberd installation"
echo
echo "* Starting ejabberd instance"
cd /opt/ejabberd-2.1.10/bin
./ejabberdctl start
./ejabberdctl started
[ $? -eq 0 ] &&
echo
echo "* Creating administrator user"
./ejabberdctl register "$1" "$2" "$3"
echo
echo "* Stopping ejabberd instance"
./ejabberdctl stop
./ejabberdctl stopped
echo "==> Setup finished"
||
echo "* Error, ejabberd can not start"
exit 1
#通脱脚本的内容可以看出,这个脚本只是在程序安装完成后,启动,关闭了一次 ejabberd,这个脚本执行失败,应该有两种原因,程序端口占用,程序调用某个文件被占用,先不想这么多,先去看一下系统日志;
4.
查看系统日志;
[root@Web02 opt]# tail -f /var/log/messages
Dec 6 18:52:48 web02 epmd: epmd: epmd running - daemon = 1
Dec 6 18:52:48 web02 epmd: epmd: node name already occupied ejabberd #发现问题,系统日志报ejabberd 进程已存在;
5.
查看进程,发现真的有一个进程在,用KILL -9 杀掉;
[root@Web02 opt]# ps -ef |grep epmd
root 6658 1 0 Dec05 ? 00:00:00 /opt/ejabberd-2.1.10/bin/epmd -daemon
[root@Web02 opt]# kill -9 6658
6.总结
分析了一下此次问题出现的原因可能是,之前服务器上安装过ejabberd ,且能够正常启动,后来研发调试程序,导致ejabberd 程序出现问题,后面重装ejabberd ,原有ejabberd进程没有完全杀掉导致!
以上是关于centos 安装 ejabberd 报“Error: Error running Post Install Script.”问题排查的主要内容,如果未能解决你的问题,请参考以下文章
安装插件或者更新插件报错-[erro] Signature: Untrusted-VSCode
ejabberd 'make' 通过“无法运行已编译的 C 程序”