当前位置:Linux教程 - Linux - 为何选择FREEBSD

为何选择FREEBSD

嗯...现在有许多免费的 i386 UNIX (在 386 以上 PC 执行的 UNIX),例如
Linux、NetBSD、FreeBSD、OpenBSD、386BSD 等,究竟你要如何选择属於你的
UNIX ?
玩了三年多的 UNIX (一年半 Linux,两个月 NetBSD,两年 FreeBSD)
笔者只能以非正式的说法说说笔者的个人意见,希望这些意见不要引起争论
各个作业系统优缺点的大战。

Linux 是容易上手而且好玩的作业系统,也是现今最多人玩的,正因
为它太好装了,只要硬体没问题闭著眼睛都装的起来,因此
如果你是 i386 UNIX 的新手,这可说是你入门的最佳试金石。

NetBSD 支援 13 种硬体架构,这也是它的强处,算是 multi-platform
的典□。 也因此,i386 在里面只算是 13 种中的一种,自然无法
取得全力的发展,再加上其 core team 比较不活跃,所以在
i386 上的硬体支援并不是很好。

OpenBSD 源自 NetBSD,刚出来半年左右,专门把 NetBSD 跟 FreeBSD 的
新功能跟修正加在一起,算是 NetBSD+FreeBSD 的混血儿,由於
其 core team 人数少,加上程式码很少是自己开发的,因此现在
前景还不明朗。

FreeBSD 跟 NetBSD 一样都是基於 4.4 BSD-lite,但是 FreeBSD 现在只
支援 i386,所以在 PC 上来说要比 NetBSD/OpenBSD 好太多了,
在从前 NetBSD 跟 FreeBSD 的 core team 是一起的,後来分家了。
FreeBSD 具有一般 BSD 系统的稳定,又从其他作业系统学习了许
多优点,再加上自己开发的各种新功能,时时改进演算法以增加
执行效率,现在已是免费 BSD 系列中效率最好的,最主要是因为
core team 活跃又乐於接受使用者的意见并改进。

* 什麽是 core team ?

core team 是一个专门对原始程式码做发展跟维护的组织,Linux 没有
core team,NetBSD/OpenBSD/FreeBSD 有。有 core team 的优点是
原始程式码会有一致性,会有组织的被更新,但是整个 OS 的活力也操在
core team 的手中。

* 要选择怎样的 OS 必须看你自己的需求及能力,还有周遭玩的人多不多,
多装几种,多装几次,自己感觉一下才是真的 !
(其实只要不怕 format 硬碟,吃饱撑著,装什麽东西、装几次都好说嘛)

以下就笔者个人愚昧的观点做一些基本比较 :

1. 稳定性
一个作业系统最重要的就是稳定性,比方说能连续开机多久,能忍受
多少系统负荷,网路不稳时会不会当掉,网路负荷太大时网路会不会
死掉,而 FreeBSD 的稳定性是相当优秀的。
要知道世界上最大的 ftp site - wcarchive.cdrom.com 是一台跑著
FreeBSD 的 Pentium pro 机器 (P6-150,512MB RAM,72GB HDs online
more than 1200 ftp users allowed)
注 : wcarchive.cdrom.com = ftp.cdrom.com
(Freelab注:最近ftp.cdrom.com已更新为 至强CPU 2G RAM)

2. 网路
争夺封包(packet)的速度,除了网路卡好坏之外,最重要的还是作业系统跟
驱动程式,FreeBSD 在网路方面的效率以及稳定性是相当好的,毕竟 BSD
在网路这方面是始祖.

3. 移植软体的难易程度
现今一般的软体大多是为 BSD 写的,所以一般软体在 BSD 上会比在
SYSV 上容易编译,而 FreeBSD 是 4.4BSD based,再加上 FreeBSD 有
收集数百种软体的 ports,只要打个 make 就可以轻松编译,不然也有
编译好的 binary 可以直接安装使用。

4. Merged VM/buffer cache
一般传统BSD(如 SunOS,NetBSD)都只有固定大小的 buffer,而 FreeBSD
自己发展出 Merged VM/buffer cache,大大提高了 I/O 时的效率以及
记忆体利用率,再加上现在 FreeBSD 已支援 async-mount,使得 FreeBSD
的档案系统效率已经相当好了。

5. tty 限制
FreeBSD 内定支援 tty[pqrsPQRS][0-9a-v] 总共 256 个 tty,只要到
/dev 下用 MAKEDEV 把 tty 建出来,在 /etc/ttys 加入新的 tty 设定,
再到 kernel config file 中把 pty 的数目打入 256 就好了,要使用
超过 256 tty 也相当容易修改。

6. 完整原始程式码取得
FreeBSD 提供完整的系统原始程式码,从 /bin /sbin /usr/bin
/usr/sbin /usr/lib ... 甚至 /etc /usr/share/FAQ 都在里面,
让你可以很容易的更改自己想要的东东,要更新系统时也可以抓取
最新的 source 打个 make world 就成了 (当然也可以用 core team
做好的 binary),它甚至会自动检查各目录的权限是否正确。
简单一句,就是非常的有组织! 利用 binary 来升级只要不到一小时
就可以完成,甚至有写好的 script 可以使用。

7. 目录档案组织化
FreeBSD 根据 4.4BSD 规□,什麽档案应该在那里,应该是什麽权限,
编译时应该连结(link)成 static 或 dynamic,都非常的严谨,该有的
manpages 绝对不会少。

8. 系统安全
FreeBSD 使用 shadow password,支援 secure NFS。在编码系统方面,
因为 USA 版的 DES 禁止输出到美加以外地区,FreeBSD 为了全世界广大
的使用者,在密码系统上内定使用 MD5 编码,它比 DES 来的安全,如果
你不跟 SunOS 类的 YP server 跑 NIS,那你是不须要安装 DES 的。如果
你要使用 DES,你可以安装可以自由流动的 DES 版本 (非 USA 版),在
/usr/share/FAQ/Text/FreeBSD.FAQ 中有提及那里可以取得,或是到台湾
任何一个 FTP 站取得。
此外,FreeBSD 的使用者登入控制,以及档案安全层级保护都比其他
作业系统来的好 (kernel secure level)。
FreeBSD 的 core team 会注意 source code 跟 security 的同步性,
一有新的问题或 sendmail 漏洞,就会立刻更新程式码,已达到最佳的
系统安全。

9. core team 活跃
FreeBSD 的 core team 非常活跃而且谦虚,带动整个 FreeBSD 迅速
发展,每天都有新的 patch 出来,让使用者以 sup/ctm 来定时自动
更新原始程式码。

10. 4.4BSD-lite based
由於 FreeBSD 是基於 4.4BSD-lite 的,因此带来了许多 BSD 的好处,
像网路速度稳定、容易移植软体、安全快速等。

11. 从 Linux 而来的优点
FreeBSD 正在把 Linux 的 dosemu 移植过来,甚至可以直接执行 linux
的 binary (linux emulator),还有移植 Linux 支援的一些驱动程式。

12. 支援 LKM
FreeBSD 支援 Loadable kernel module,也就是说许多驱动程式
在编译 kernel 时可以不必做进去,一旦你要用到时,kernel 会自动
从 /lkm/*.o 载入该 driver,这样可以提高弹性并减小 kernel 使用的
记忆体空间。未来 FreeBSD 会朝向 LKM device 迈进,就像 Solaris
一样不需编译 kernel。 :)

13. 直接执行 gzip 的程式
FreeBSD 可以直接执行 gzip 的程式,如果你把所有的执行档都 gzip
起来,不就等於用 stacker/doublespace 一样了 ?! :)

14. 线上监控
kernel 支援 tty snoop,可以监控线上使用者 (不像 linux 那个半调子
ttysnoop,会导致许多问题)。

15. 众多档案系统
支援 MFS (Memory File System),类似 SunOS tmpfs 的东东,还有
许多 4.4BSD 定义的档案系统,如 LFS、NULLFS、PORTALFS、UMAPFS
、UNIONFS。

16. Interleaved swap
当你有一个以上的 swap 装置时,会同时使用以增加速度 (尤其是使用
SCSI 装置时)。

17. 新的 slice 观念
新的 slice 观念使得 FreeBSD 对其他 OS 的 partition 相容性比
传统的 BSD 好很多,在安装上也较为容易。

18. Binary 相容性
FreeBSD 可以执行 NetBSD-static,BSDI-static,Linux-a.out/elf,
SCO-static 等等的 binary code,增加不少相容性。

19. ccd (软体 RAID)
FreeBSD 的 Concatenated disk (ccd) 驱动程式能让你拥有 Strip、
Mirror,甚至 Parity 等 RAID card 才有的功能。

20. 多国语言的支援
FreeBSD 的 localization 是所有免费作业系统中做的最好的,甚至已经
有了亚洲语系(中文、日文)的安装介面。

21. 有组织的原始程式码
FreeBSD 的程式开发者在撰写程式码的时候,会去参考各种 RFC 规□以及
新的理论文献,因此 FreeBSD 的程式码有条不紊、层次鲜明。

不过随著时间的发展,Linux、*BSD 都会进步,对於免费的作业系统能
越来越好自然是乐见其成的。

一般而言,如果你须要一台稳定快速的 Internet Server,FreeBSD 是你绝对
的选择;如果你是个人使用或只是想学习 UNIX,Linux 跟 FreeBSD 都是很好
的试金石。

Linux 浮上台面已经四年了,而 FreeBSD 以短短的两年时间就拥有了众多的
使用者人口 (尤其是伺服器,以及程式开发者),高手的选择必有他的道理。

用过 FreeBSD 才知道,『PC 不只是很便宜的工作站』 :)