freebsd开发环境解决方案
freebsd开发环境解决方案
linux学习笔记— 作者 10007308 @ 2005年10月12日, 23:18
以前曾经看过很多开发人员提到FreeBSD用于开发是非常优秀的系统, 但是之前提到的主要都是freebsd在单机的开发环境下所具有的优势,但是最近我发现其实FreeBSD在开发方面所具备的优势并不仅只于此。
freebsd开发环境解决方案
以前曾经看过很多开发人员提到FreeBSD用于开发是非常优秀的系统, 但是之前提到的主要都是freebsd在单机的开发环境下所具有的优势,但是最近我发现其实FreeBSD在开发方面所具备的优势并不仅只于此。在一个开发团队中使用FreeBSD是可以形成一个完整的解决方案的。在单机方面的开发环境上,我不想多说了,Linux其实也具备很多好的特点的,我想说得更多是linux所不具备的特点。当然这个方案使用linux来完成并不是不可能的,但是使用linux来完成其中的很多部分是有一些困难的, 从便利性上来讲不如FreeBSD,从我这个懒人的角度来讲,如果有两个方法来解决问题,一个既简单又快速(还很清晰),另一个相对比较复 杂,耗时长。那我没有理由非要选用后一种。说这话的原因是,我不想跟我们国家普遍存在的某些偏执的人引起任何的争论。只是想 说这里其实有一种简单易行的方法。更主要的原因是,这种方法在我已知的情况下还没有人在开发环境的建立中使用。
其实这个方法所使用的技术都是已经被广泛采用的,甚至可以说有些古老的东西。只是通过FreeBSD这个系统能够把它们都串连在一起。可以形 成一套完整的开发环境,还包括办公环境。我这个想法的核心是由一台 FreeBSD中心服务器来完成的。这个中心服务器上安装CVS server, Samba server和NFS server就可以了,其中Samber server可以提供方便的空间共享,之所以除了NFS还要再单装Samba,是因为Samba在非*nix的环境上也可以使用。同时还可以安装CUPS来驱动一台打印机,通过Samba共享,让整个工作环境都可以共享打印服务。用FreeBSD做中央文件服务器和CVS 服务器的好处是不会受到广大的Windows病毒的影响。现在还有一点缺憾的是在FreeBSD上还没有好的杀毒软件可用,虽然有个老美的杀毒软件,但是 因为是付费的,付给老美一方面有点贵贵,另一方面也比较麻烦,希望我们国家的杀毒软件厂商也能考虑做一个能在FreeBSD上运行的版本,就算收点钱也可以。这样的好处就在于可以在crontab里运行杀毒软件定期的扫描文件服务目录中的文件是不是感染了病毒。其实这对于FreeBSD没什么意义,因为FreeBSD也不会受病毒的影响,但是使用这个文件服务的windows的机器就危险了,这也算是我的一个期望吧,也许不太现实。在FreeBSD上安装 CVS,Samba我都不太想多说了,文章很多了,我和老黄都曾经写过如何在 FreeBSD上安装CVS server的文章。Samba很简单了用ports装就完了。以后 有时间了我会把每个服务的安装文档整合进来形成一个完整的东西的。现在我们重点讲一下在FreeBSD上使用NFS的情况。其实这个是我最想说地,因为通过NFS和FreeBSD本身的软件系统相结合能够产生一个很意想不到 地效果。
在FreeBSD上如何使用NFS server 其实在FreeBSD上使用NFS server非常简单。打开NFS server的服务是个很简单的事情,只需要运行/stand/sysinstall,选择Configure,在这个菜单中选择 Networking,里面有一个NFS Server的选项,把它勾上以后会进入编辑器编辑 一个文件/etc/exports你直接写你要export出去的目录就可以了。需要注意的一点是FreeBSD的NFS有个可能算是不太好的特点,export出去的目录必须是 mountpoint,也就是分区的挂点。例如你运行mount的时候你能看到你现在都 mount了那些分区,mount到的那个目录就是相应的挂点。这点上Solaris就可以指定目录,所以我觉得FreeBSD这么弄有点不太爽,也许这样设计比较简单吧。在我所要描述的方法中我们需要的是将/usr这个挂点export出去。这里不得不提到一个问题,很多从linux转过来的兄弟都有个我们不太推荐的习惯,就是把整块硬盘就分成一个"/",在linux下其实也不推荐这么用的,如果在FreeBSD 上这样分的话,问题就更多了,比如用NFS的话,你就得把"/"都export出来,还不郁闷死了。下面我举个例子在/etc/exports里面应该怎么写:
代码:
/usr -alldirs -maproot=root 192.168.0.10
按照上面一行写的意思就是将整个/usr这个分区都export出来供192.168.0.10 这个地址所使用,如果不写ip地址就是export给所有人用的,这么干比较危险,如果不是在一个100%可靠的网络里面最好别这么干。-alldirs的意思就是 /usr中的每个目录都可以作为NFS的挂点挂到远程,这点比较重要,我后面
会提到的,-maproot=root的意思就是给予对方 root权限来操作目录。这里 说句题外话,Solaris在这点有个不如FreeBSD的地方,Solaris里面export 给的目标是不能够写ip地址的,必须写对方机器的机器名,而且这个机器名必须是DNS服务器或者/etc/hosts里面存在的机器,否则不能共享,用起来有点繁琐,不过可能是出于安全方面的考虑,呵呵。如果修改完了这个文件退出即可,如果是ee的话按ESC退出,如果是vi的话:wq退出。如果对其进行 修改之后需要重启NFS server可以使用下列命令来完成
代码:
kill -s HUP `cat /var/run/mountd.pid`