最近的项目需要支持两大主流企业级Linux平台RHEL和SLES,于是在开发环境的配置上折腾了一些时间,一点心得,与大家共享。本来RHEL主要的应用是RHEL 4.x AS 32-bit/64-bit和RHEL 5.x 32-bit/64-bit,SLES主要的应用是SLES 9.x 32-bit/64-bit和SLES 10.x 32-bit/64-bit,这样全部下来就有好几十种环境了,这里只选取RHEL 5.4 64-bit和SLES 10.2 32-bit两种环境作为例子来进行介绍。以下不加说明,RHEL是指RHEL 5.4 64-bit,SLES是指SLES 10.2 32-bit。

开发环境常用的工具有:

1. 编译器和标准的库

2. 编辑器配置

3. Samba服务器

4. 源代码管理工具Subversion

5. VNC远程管理

现在逐个来说明:

1. 在系统安装时一定要选上Software Development Kit,C/C++和Java开发分别选上各自的开发包,不然,等系统装完以后再安装开发包的话,模块之间的依赖关系能让你崩溃。即便如此,最后还是有些库不会装上,那就只好自己动手了。比如在SLES上,libxm2就不会自动装上,好在光盘文件中有它的rpm包,直接装上就是了。RHEL就没有这个问题。

2. 编辑器主要是三种,vi,vim,和emacs。开发人员好像都喜欢用emacs。不管用哪个,注意设置各自的配置文件,这样用起来才会得心应手。

3. Samba也是在安装系统阶段就要选上的,选上File Serve即可,这样有利于Linux平台和Windows平台共享文件。使用Samba时,第一要注意smb服务要启动,第二要建立用户帐号,用smbpasswd,第三要设置/etc/samba/smb.conf。在RHEL上只需要前两步就可以了,如果有问题,那也是出现在客户端。在SLES上必须配置好smb.conf,如果你熟悉怎么配置这个文件,那自然没问题,如果不熟悉,找一个RHEL上的smb.conf拷贝过来即可,我就是这么干的,:)。最后要注意在防火墙上把这个服务打开。

4. RHEL真是好,Subversion是自动装上的,而在SLES中,不仅没有装,光盘文件连相应的rpm包都没有,没办法,只好自己找着来安装了,下面是几个需要的rpm包,不过要注意的是,如果版本不合适,那是死活装不上滴:

libapr-util1-1.2.2-13.2.i586.rpm

libapr-util1-devel-1.2.2-13.2.i586.rpm

libapr1-1.2.2-13.2.i586.rpm

libapr1-devel-1.2.2-13.2.i586.rpm

neon-0.24.7-20.2.i586.rpm

neon-devel-0.24.7-20.2.i586.rpm

subversion-1.3.1-1.5.i586.rpm

subversion-tools-1.3.1-1.7.i586.rpm

5. VNC也是在系统安装阶段就要选上的,选上Remote Administration即可。RHEL和SLES都是系统自动安装VNC服务,不过有点不同。RHEL里面有一个服务vncserver与之对应,这个服务需要手工启动,然后运行命令vncserver,这时候在/root下生成了.vnc目录,查看里面的log日志,就能知道VNC服务的启动端口,另外配置好/root/.vnc/xstartup和/etc/sysconfig/vncservers,就没问题了。至于怎么配置这两个文件,参见:

http://ppeng.blog.51cto.com/134241/280453

为什么要知道启动端口呢,问题还是在于那个该死的防火墙,因为这个端口在1024以上,所以一般需要手动开放。RHEL好解决,直接把这个端口在firewall里面开放就可以了。可是在SLES里面就要稍微麻烦一些了,首先,在SLES里面是找不到vncserver服务的,不过没关系,不用管它,至少vncserver这个命令还是有的,然后与RHEL相同,配置好两个文件,没有文件怎么办,好办,创建它。在SLES里面开放一个TCP端口居然都那么费事,界面上都没有找到相应的地方设置,只好使用命令:yast2 firewall services add tcpport=5902 zone=EXT。

另外,防火墙和SELinux安装机制最好都熟悉一些,很多莫名其妙的问题都是它们导致的,完全关闭又不好,毕竟是企业级系统嘛,情有可原。