既然使用FreeBSD做为工作桌面,那必然会要处理一些word、wps文档(因为我在windows下一直使用wps,所以有很多wps文档)。那么自然得要解决办公软件的问题。我选择了openoffice。
不是我对她有多么的热衷,而是目前在FreeBSD上运行得最好的办公套件,只有openoffice。M$的office当然不能运行,而wps for linux版又只能在linux上运行。而永中office,基于java开发,运行速度很慢,还是算了。
但是毫不违心的说,openoffice完全可以满足我日常的工作需要了。可以打开M$ office2000、XP的文档和wps 2005的文档,有文字、表格、演示的支持。
不过openoffice版本越高,块头越大,编译一次可不是件容易的事情。也许你会说,干嘛还要自己编译啊,下载一个安装不就完了吗? 我只能苦笑,因为在FreeBSD下,不支持linux版本的openoffice。而支持FreeBSD的版本,又只有64位的。我用的笔记本,可不是64位的CPU,只好自己编译了。
当然,用我自己的笔记本,估计编译一个openoffice-2.2得花一周时间。配置实在是有点低,P3-700的CPU,256M的内存,40G的硬盘。用她来编译openoffice,简直会令人疯掉的。
言归正传,笔记本不能编译,不代表没有别的办法啊。按ports编译openoffice时提示的,需要9G的磁盘空间,2G的内存。好, 满足它。我找来一台服务器,志强2.4G的CPU,2G内存,36G SCSI硬盘,配置成跟笔记本一样的系统环境。这下满足了吧?呵呵。在服务器上编译打包,然后下载到笔记本上安装就OK了。
编译环境
硬件环境
CPU: 志强 2.4G
内存:2G
硬盘:36G SCSI
软件环境
系统: FreeBSD 6.2-RELEASE
X-Window:Xorg-6.9.0
编译前准备
更新最新ports
在开始编译之前,我们得将ports升级到最新。
这里介绍下portsnap的方法:
获取最新更新:
# portsnap fetch
升级更新
# portsnap update
这样,就可以让ports升级到最新了。
磁盘空间准备
由于我分区的时候,/usr分区分的比较小,只有分了5G,安装了其他一些软件后,只剩下1G的空间了。将大部分的空间分到/opt下,分了16G,放了些数据后,还有11G的空间。
因此,直接在/usr分区下编译openoffice,是不行的。很快就会告诉你,空间满了,不能继续编译。那怎么办呢?很简单,做一个小手术就可以了。
第一步:将openoffice.org-2移动到/opt分区
# cd /usr/ports/editors/
# mv openoffice.org-2 /opt/usr/
第二步:将/opt的openoffice.org-2连接回来
# ln -s /opt/usr/openoffice.org-2/ /usr/ports/editors/openoffice.org-2
为什么还要连接回来呢?
因为ports编译安装软件的时候,它会依赖ports的目录结构,破坏它的目录结构,很可能会导致其他问题。因此我们得保持原样。
第三步:进入编译目录
# cd openoffice.org-2
# pwd
/opt/usr/openoffice.org-2
提示:
如果你的/usr分区足够大(剩余空间大于9G),那么不需要做这个准备工作。
编译打包
经过前面的准备后,我们可以开始编译打包了。不过,开始之前,切记小心按照我的方法进行。要不然你很可能也会碰到我一样的问题。请看“注意事项”一节。
# nohup make -DWITHOUT_MOZILLA WITH_CCACHE=yes LOCALIZED_LANG=zh-CN package >& /tmp/build-openoffice.log &
执行后,想看编译过程,可以用下面的命令:
# tail -f /tmp/build-openoffice.log
如果不想看,那就可以关掉终端去玩了。只要保证磁盘空间没有问题,网络畅通,ports会帮你把一切搞定的。
安装
等编译打包完后,会在 /opt/usr/openoffice.org-2目录下生成一个zh-openoffice.org-CN-2.2.0.tbz文件。只需要将它下载回来,就可以安装了。
安装前准备
不过,安装之前,先确认下系统里是否已经安装过其他版本的openoffice。
# pkg_info |grep openoffice
openoffice.org-2.1.0 Integrated wordprocessor/dbase/spreadsheet/drawing/chart/br
如果有的话,就先删除它吧。
# pkg_delete openoffice.org-2.1.0
否则的话,会提示一个信息,并且中断安装。
# pkg_add zh-openoffice.org-CN-2.2.0.tbz
pkg_add: package 'zh-openoffice.org-CN-2.2.0' or its older version already installed
安装
# pkg_add zh-openoffice.org-CN-2.2.0.tbz
执行安装后,会开始解包和安装,机器比较慢的话,就得等一会。安装完后,会提示如下信息:
# pkg_add zh-openoffice.org-CN-2.2.0.tbz
OpenOffice.org Build 2.2.0 Personal Install How-To
Written by: Martin Blapp
and Maho Nakata
OpenOffice.org 2.2.0 will soon been installed in
/usr/local/openoffice.org-2.2.0
1. User installation
--------------------
Just type "openoffice.org-2.2.0" after you have successfully
installed the package. If there is no installed
OO.org dir in your homedir, you'll be prompted to
install some files and choose an installed JDK.
The setup installs a ".openoffice.org2" folder
in your homedir.
2. Starting OO.org
------------------
There are some wrappers installed for faster startup.
Add "/usr/local/bin/" to your PATH and you will be able
to use them.
/usr/local/bin/openoffice.org-2.2.0
/usr/local/bin/openoffice.org-2.2.0-sbase
/usr/local/bin/openoffice.org-2.2.0-scalc
/usr/local/bin/openoffice.org-2.2.0-sdraw
/usr/local/bin/openoffice.org-2.2.0-setofficelang
/usr/local/bin/openoffice.org-2.2.0-smath
/usr/local/bin/openoffice.org-2.2.0-simpress
/usr/local/bin/openoffice.org-2.2.0-spadmin
/usr/local/bin/openoffice.org-2.2.0-swriter
OO.org does need $LANG to be set to a suitable value.
3. If you run into problems
--------------------------------------------------
If you somehow run into problems, please remove the already installed
".openoffice.org2" dir in your homedir. Redo the user
installation and the problems should go away.
我们再来查询一下,确认是否已经安装成功了。
# pkg_info | grep openoffice
zh-openoffice.org-CN-2.2.0 Integrated wordprocessor/dbase/spreadsheet/drawing/chart/br
出现这些提示信息,说明安装成功了。运行 /usr/local/bin/openoffice.org-2.2.0-swriter 试试,是不是出现openoffice的运行窗口了?
接下来,要运行什么,只需要执行这些对应的命令就可以了。
/usr/local/bin/openoffice.org-2.2.0
/usr/local/bin/openoffice.org-2.2.0-sbase
/usr/local/bin/openoffice.org-2.2.0-scalc
/usr/local/bin/openoffice.org-2.2.0-sdraw
/usr/local/bin/openoffice.org-2.2.0-setofficelang
/usr/local/bin/openoffice.org-2.2.0-smath
/usr/local/bin/openoffice.org-2.2.0-simpress
/usr/local/bin/openoffice.org-2.2.0-spadmin
/usr/local/bin/openoffice.org-2.2.0-swriter
注意事项
指定编译语言
在编译的时候,不指定语言,默认只是支持英文的。英文的菜单,英文的说明等。如果要支持中文,需要加入LOCALIZED_LANG=zh-CN参数。这样编译出来的,默认就支持中文了。
在指定语言的时候,一定要注意。
简体中文是“ zh-CN ”。
繁体中文是“ zh-TW ”
开始时,我错写成“zh_CN”了,结果花了10多个小时,最终编译失败,而不得不重新开始。血的教训啊,切记切记!
脱离终端编译
这里是针对远程编译而言。因为编译的时候,会提示大量的编译信息,要不断的向远程终端输出数据,导致效率下降,影响整个编译的时间。
我第一次编译的时候,没有脱离终端,结果花了10多个小时才编译完成。
#make -DWITHOUT_MOZILLA WITH_CCACHE=yes LOCALIZED_LANG=zh-CN package
脱离终端后,将编译信息写入日志文件,只花了2个多小时就编译完成了。
# nohup make -DWITHOUT_MOZILLA WITH_CCACHE=yes LOCALIZED_LANG=zh-CN package >& /tmp/build-openoffice.log &
这些都是血淋淋的教训啊,大家自己编译的时候,切记。
作者介绍
16hot ( Jonsen Yang、 杨明茂 )
http://16hot.blog.isyi.com
喜欢FreeBSD/Linux,从事多年的Unix/Linux系统管理和PHP开发工作。