环境:
[root@a786 zwy]# cat /etc/issue
CentOS release 6.7 (Final)
Kernel \r on an \m
openoffice 不能正常启动原因排查。
症状:没有任何输出,启动后,输出对应pid,但是会闪退。
解决方案整理如下:
步骤1:卸载已安装的openoffice4。
1.1 干掉已安装包和文件
[root@dev ~]# rpm -e `rpm -qa |grep openoffice` `rpm -qa |grep ooobasis`
[root@dev ~]# rpm -e `rpm -qa |grep openoffice` `rpm -qa |grep ooobasis`
[root@dev ~]# rm -rf /opt/openoffice4
1.2 查看openoffice是否还存在
1)查看安装包是否还在
rpm -q openoffice*
rpm -q ooobasis*
2)查看进程是否还在
ps ef|grep soffice
3)查看文件是否还在
find / -name *openoffice*
步骤2:安装
yum install openoffice.org-headless
(貌似早期版本,实践证明可用)
2.1 脚本启动openoffice。
1)将如下脚本放到/etc/init.d路径。(其实放哪里都可以)
[root@290bc6e083d6 program]# cat /etc/init.d/soffice
#!/bin/sh
#
# ooffice openoffice conversion service
#
# Author: Ben Ward, <bdw@producepro.com>
#
# Date: June 12, 2012
#
# chkconfig: 345 50 25
# description: Startup script for the Open Office conversion process
# pidfile: /var/run/ooffice.pid
# Source function library.
. /etc/rc.d/init.d/functions
proc="/usr/lib64/libreoffice/program/soffice.bin"
options="--headless \"--accept=socket,host=localhost,port=8100;urp;\" &"
if [ ! -f $proc ]; then
proc="/usr/lib64/openoffice.org3/program/soffice.bin"
options="-headless \"-accept=socket,host=localhost,port=8100;urp;\" &"
fi
prog=ooffice
PID_FILE=/var/run/ooffice.pid
LOG=/var/log/ooffice
if [ ! -f $LOG ]; then
touch $LOG
chmod 644 $LOG
fi
start() {
echo -n $"Starting $prog: "
umask 000
daemon $prog $options
RETVAL=$?
echo
sleep 1
pidofproc $proc > $PID_FILE
echo "`date +\"%Y-%m-%d %T\"` Starting ooffice." >> $LOG
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
killproc -p $PID_FILE $prog
RETVAL=$?
echo
echo "`date +\"%Y-%m-%d %T\"` Stopping ooffice." >> $LOG
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
status)
status -p $PID_FILE $prog
;;
*)
echo $"Usage: $prog {start | stop | restart | status}"
exit 1
esac
exit $RETVAL
2.2 执行./soffice start 完成启动。
启动后,发现有两个父子进程已经启动。
2.3 ./soffice stop 停止openoffice服务。
结束两个进程。
步骤3:重新安装openoffice4.
3.1 解压openoffice4安装包。
tar -xzvf Apache_OpenOffice_4.1.3_Linux_x86-64_install-rpm_zh-CN.tar.gz
3.2 安装所有rpm
进入RPMS目录,
执行
rpm –ivh *.rpm(安装所有rpm文件)
3.3 安装 noarch.rpm
RPMS目录下有desktop-integration文件夹,进入到desktop-integration目录,里面有四个rpm文件,选择相应的安装即可,这里我选择的是redhat版本。
执行
rpm -ivh openoffice4.1.3-redhat-menus-4.1.3-9783.noarch.rpm
此时openOffice己经安装完成,默认会安装在/opt下
3.4 启动openoffice4
进入/opt/openoffice4/program下,执行如下命令启动openoffice。
soffice -headless -accept="socket,host=192.168.1.177,port=8100;urp;" -nofirststartwizard &
步骤4 判定openoffice是否已经启动成功。
1)查看端口:
[root@z11 ~]# ps -ef |grep 8100
root 2117 18586 0 14:58 pts/1 00:00:00 /usr/lib64/libreoffice/program/oosplash -headless -accept=socket,host=192.168.1.177,port=8100;urp; -nofirststartwizard
root 2134 2117 99 14:58 pts/1 00:11:49 /usr/lib64/libreoffice/program/soffice.bin -headless -accept=socket,host=192.168.1.177,port=8100;urp; -nofirststartwizard
root 3382 3300 0 15:10 pts/11 00:00:00 grep --color=auto 8100
2)查看进程:
[root@zsksvr11 ~]# ps -ef | grep soffice
root 2134 2117 99 14:58 pts/1 00:12:28 /usr/lib64/libreoffice/program/soffice.bin -headless -accept=socket,host=192.168.1.177,port=8100;urp; -nofirststartwizard
root 3476 3300 0 15:11 pts/11 00:00:00 grep --color=auto soffice
至此,问题解决。
执行脚本参考:
https://pastebin.com/Zcnw7zGN
作者:铭毅天下
转载请标明出处,原文地址:
http://blog.csdn.net/laoyang360/article/details/77342583