Dell OpenManage Web界面无法启动,服务返回语法错误

我在运行Ubuntu 14.04 LTS的戴尔PowerEdge 2850上安装了戴尔的Ubuntu OpenManage 7.4.0软件包。 但是,我无法启动Web界面。

所有其他工具按预期工作,包括omreportomconfigomhelp

 $ sudo service dsm_om_connsvc start Starting DSM SA Connection Service: * $ sudo service dsm_om_connsvc status dsm_om_connsvcd is stopped 

检查日志清楚地表明该进程未能正常启动。

 $ tail -n 100 /opt/dell/srvadmin/var/log/openmanage/dsm_om_connsvcdIO.log status(-3) 38:32 2016] (1504) RunServer:daemon worker forked [Jul 7 18:38:32 2016] (1505) RunServer:worker process entry [Jul 7 18:38:32 2016] (1504) RunServer:daemon waiting for worker init status [Jul 7 18:38:32 2016] (1505) ModuleAttach: entry 0 [Jul 7 18:38:32 2016] (1505) ModuleAttach: starting the startserver thread [Jul 7 18:38:32 2016] (1505) ModuleAttach(ERROR): startserver thread exited prematurely, aborting! [Jul 7 18:38:32 2016] (1505) ModuleAttach: exit with errors! [Jul 7 18:38:32 2016] (1505) RunServer: ModuleAttach failed [Jul 7 18:38:32 2016] (1505) RunServer:worker process EXIT status(-3) [Jul 7 18:38:32 2016] (1504) RunServer:daemon process EXIT status(-3) [Jul 7 18:38:32 2016] (1505) RunServer exit with status(-3) [Jul 7 18:38:32 2016] (1502) RunServer:parent process EXIT status(-3) 

根据这个线程 ,过时的JRE有时是一个罪魁祸首,但我查了一下,它是最新的。

使用sh /opt/dell/srvadmin/sbin/srvadmin-services.sh startsh /opt/dell/srvadmin/sbin/srvadmin-services.sh stop执行shell服务/opt/dell/srvadmin/sbin/srvadmin-services.sh sh /opt/dell/srvadmin/sbin/srvadmin-services.sh stop在同一行生成语法错误: /opt/dell/srvadmin/sbin/srvadmin-services.sh: 26: /opt/dell/srvadmin/sbin/srvadmin-services.sh: Syntax error: "(" unexpected 。但是,查看文件显示没有任何exception。

 #!/usr/bin/env bash ############################################################################### # # Dell Inc. PROPRIETARY INFORMATION # This software is supplied under the terms of a license agreement or # nondisclosure agreement with Dell Inc. and may not # be copied or disclosed except in accordance with the terms of that # agreement. # # Copyright (c) 2000-2009 Dell Inc. All Rights Reserved. # # Abstract/Purpose: # # This Script will start/stop/restart/status all the services installed # by Systems Management. # ############################################################################### # ensure sbin utilities are available in path, so that su will also work export PATH=/usr/kerberos/sbin:/usr/local/sbin:/sbin:/usr/sbin:$PATH PATH="${PATH}:/sbin:/usr/sbin:/bin:/usr/bin" # Server Administrator package prefix SRVADMIN_STR="Server Administrator" startDeps=(mptctl) # list of services start arrayStart=(racsvc instsvcdrv dataeng dsm_om_connsvc racser racvnc racsrvc) # list of services to stop arrayStop=(racsvc dsm_om_connsvc racser racvnc racsrvc dataeng instsvcdrv) # list of services to find status arrayStatus=(racsvc instsvcdrv dataeng dsm_om_connsvc racser racvnc racsrvc) # # start/stop/status for multiple services # serviceAction() { action=$1 shift services=$@ RET=0 for svc in $services; do if [ -e /etc/init.d/$svc ]; then /etc/init.d/$svc $action RET=$? fi done return $RET } # # enable/disable multiple services # serviceCtl () { ctl=$1 shift services=$@ for svc in $services do chkconfig --list $svc 2>/dev/null || continue chkconfig $svc $ctl done } ## ## Usage ## function Usage { cat <<EOF Usage: srvadmin-services.sh {start|stop|status|restart|enable|disable|help} start : starts ${SRVADMIN_STR} services stop : stops ${SRVADMIN_STR} services status : display status of ${SRVADMIN_STR} services restart: restart ${SRVADMIN_STR} services enable : Enable ${SRVADMIN_STR} services in runlevels 2, 3, 4, and 5 disable: Disable ${SRVADMIN_STR} services in runlevels 2, 3, 4, and 5 help : Displays this help text EOF exit 1 } # make sure services dont busy out any mountpoints cd / # check for root privileges if [ "${UID}" != "0" ]; then echo "This utility requires root privileges" exit 1 fi action=$1 shift # Note the ${@:- ... } set up this way so that we either stop/start/etc full # set of services, or specific service if passed. ${@} is set to cmdline # params. If these are not set, then the stuff after :- is used as a default. if [ "${action}" == "start" ]; then serviceAction start ${@:-${startDeps[*]} ${arrayStart[*]}} elif [ "${action}" == "stop" ]; then serviceAction stop ${@:-${arrayStop[*]}} elif [ "${action}" == "status" ]; then serviceAction status ${@:-${arrayStatus[*]}} elif [ "${action}" == "restart" ]; then serviceAction stop ${@:-${arrayStop[*]}} serviceAction start ${@:-${startDeps[*]} ${arrayStart[*]}} elif [ "${action}" == "freeze" ]; then for service in ${@:-${startDeps[*]} ${arrayStart[*]}}; do if serviceAction status $service; then touch /opt/dell/srvadmin/var/run/freeze-$service serviceAction stop $service fi done elif [ "${action}" == "thaw" ]; then for service in ${@:-${startDeps[*]} ${arrayStart[*]}}; do if [ -e /opt/dell/srvadmin/var/run/freeze-$service ]; then rm -f /opt/dell/srvadmin/var/run/freeze-$service serviceAction start $service fi done elif [ "${action}" == "condrestart" ]; then # condrestart will restart a service if it is running, else noop # used in rpm %post for service in ${@:-${startDeps[*]} ${arrayStart[*]}}; do if serviceAction status $service; then serviceAction stop $service serviceAction start $service fi done elif [ "${action}" == "enable" ]; then serviceCtl on ${@:-${arrayStatus[*]} ipmi} elif [ "${action}" == "disable" ]; then serviceCtl off ${@:-${arrayStatus[*]} ipmi} else [ -z "${action}" ] || echo -e "Invalid option '${action}', please see the usage below\n" Usage fi 

我知道这里存在一个非常类似的问题:然而,这是相当古老的,没有答案, 所有者不再有机会使用,而我可以随时试用我的 。 因此,我决定用我的进一步发现来创造一个新的问题