|
情迷OpenBSD
我这个人有一种怪性格,对自己喜欢的东西,总想有个透彻的了解。此外,我喜欢
简单的东西,喜欢明了的东西,对复杂的东西也往往敬而远之。
最初装RedHat的不愉快感觉一直影响着我,所以我一直没去学Linux。由于实在不
愿围绕在Windows的束缚圈里学所谓的“技术”,我开始寻找真正适合自己的OS,不仅
是为了能对OS有个更明晰的了解,更多的是为了学习网络协议的原理,计算机运行的原
理,程序运行的原理。
于是找到了FreeBSD,用过一段时间,说实话,这是一个非常棒的系统,我也曾迷
恋了一段时间。后来,渐渐感觉FreeBSD还不够简洁,于是把目光投向了BSD家族的另两
名成员——NetBSD和OpenBSD。这时候,才知道,以前的自己实在太幼稚。一直认为,
NetBSD和OpenBSD只是一些另类的人玩的,普通的人是难以理解的。然而,当我装上了
NetBSD和OpenBSD后,我不得不惊讶于它们那种高度的简洁,绝对可以用优雅来形容!
经过一番考虑,我最终选择了OpenBSD。
原因有好多,完全是从自己的兴趣爱好和性格来选的。
首先,是对Theo De Raadt这位OpenBSD Leader由衷的敬佩。在网上搜过他的资料,
找到了它的网站,了解了他的一些生平事迹。也因为这些事迹,我放弃了NetBSD而转向
OpenBSD。如果你有兴趣,可以去他的个人主页看看:http://www.theos.com。
其次,看过OpenBSD FAQ里的一句话后,对它的印象变得非常深。这一段话是:
We welcome new contributors, but suggest you work on writing code, or on
documenting new aspects of the system, not on tweaking the existing web
pages to conform to newer standards.
此外,在Absolute OpenBSD里,又看到另一段话:
Many other open-source operating systems place large amounts of effort
intogrowing their user bases and bringing new people into the UNIX fold. The
OpenBSD community doesn't. Most open-source UNIX-like operating systems do a
lot of pro-UNIX advocacy. Again, OpenBSD doesn't. Some of the communities
that have grown up around these operating systems actively welcome new users
and do their best to make newbies feel welcome. OpenBSD does not. They are
not trying to be the most popular operating system, just the best at what
they do. The OpenBSD developers know exactly who their target market is:
themselves.
The OpenBSD community generally expects users to be advanced computer
users. They have written extensive documentation about OpenBSD, and expect
people to be willing to read it. They're not interested in coddling new UNIX
users and will say so if pressed. They don't object to new UNIX users using
OpenBSD, but do object to people asking them for basic UNIX help just because
they happen to be running OpenBSD. If you're a new UNIX user, they will not
hold your hand. They will not develop features just to please users. OpenBSD
exists to meet the needs of the developers, and while others are welcome to
ride along the needs of the passengers do not steer the project.
这两段话一直影响我到现在。
第三,OpenBSD的简洁和可定制力非常高,让我有一种强烈的了解冲动。首先它不
提供ISO,这一点就能逼你去了解怎么制作它的ISO。由此,你能学会自己动手去“组
装”出一个可引导的系统盘,了解CD引导原理,而且这是随你定制的。了解了这些基础
知识后会有一种畅快的感觉。其次,它的组件非常明确,源码就是源码,二进制包就是
二进制包,绝不含糊。最让我惊讶的是,它的内核就一个文件,这个GENERIC内核只有
4M多一点的大小!基本系统安装同样非常明确,三个组件包就搞定:bsd, base38.tgz
和etc38.tgz。bsd是内核,base38.tgz是最基本的系统运行所需要的程序,etc38.tgz
是这些程序的配置文件。如果你要程序编译环境(我相信绝大部分学UNIX的人都要),
那就再加上comp38.tgz。安装过程极为简洁,在我安装过的系统中基本上是最简洁的
安装过程了。这种简洁,直接深入系统底层,没有一定的基础是搞不定的,这又逼你
去了解磁盘的结构,系统引导的原理!当你了解了这些后,回过头来看看其它系统的安
装和引导,不知道你会是种什么样的感觉。
装好后,Theo De Raadt会给你发封Email,提示你该怎么做,afterboot这个man手
册页也会给你提醒,还有help这个命令。习惯性地ls /一下,比FreeBSD还要少,top一
下,12个进程,都是些最基本的进程,绝不引进多余的东西。美,难道不是?
其它,还有很多零碎的原因。
OpenBSD的安全是出了名的,绝不是吹出来的:默认安装的系统,8年来没有一个远
程溢出漏洞,对程序的执行,采用了各种高级手段来保证系统安全,如不可执行栈——
这彻底阻止了栈溢出的攻击;还有各种先进的加密技术,更有它的杀手绝活——配置pf
充当网关防火墙!更让我印象深刻的是,当我写下这个程序来编译的时候:
#include <string.h>
int main(int argc, char **argv)
{
char buf[10];
strcpy(buf, argv[1]);
return 0;
}
OpenBSD里的gcc会给出警告!这些更是适合我这个对安全的要求有些bt的家伙。
基本安装的OpenBSD就自带了ssh,和其它各种daemon程序。不用担心,这些程序绝
不是一般的程序:apache, dhcpd, ospfd, packetfilter, bind...都是响当当的顶尖
级软件,ssh则是跟OpenBSD有很深渊源的OpenSSH!
软件安装方面,OpenBSD则移植了FreeBSD的ports机制和package机制,对于熟悉
FreeBSD的人来说,很快就能上手。
OpenBSD3.8上的X,似乎夹杂了XFree86和Xorg。也许是我没弄清楚,还希望高手能
指教一下。窗口管理器除了X自带的twm外,还有fvwm这个具有高度定制能力的家伙。
OpenBSD的书籍非常少,Google了N久,只能找到3,4本书。不过也挺好,这些书都
不是一般的书。看完这些并能实践,相信对OpenBSD的掌握是不成问题的。不是有一句
话吗,“贪多嚼不烂,……容易犯”什么的。呵呵。事实上像我这样的初学者,最好还
是少看些书多实践最好。
同样,OpenBSD的网站非常少,用的人也非常少。然而少并不说明这个系统糟糕,相
反,这是一个非常优秀的系统,可惜没多少人愿意去领略它的风采,这不能不说是一个
相当大的遗憾。这里顺带提一下跟OpenBSD相关的两个网站,http://undeadly.org和
http://www.bsdforums.org。国内的……http://www.bsdchina.org和ChinaUnix算是比
较好的,其实也几乎没其它的网站讨论OpenBSD了。当然,官方网站就不说了,这个的
重要性是不用多说的:http://www.openbsd.org。
最后,如果你是个BSD爱好者,推荐你试试OpenBSD,如果你是个Linux爱好者,我
推荐你尝试下BSD,相信会是另一番截然不同的感觉。 |
|