我是比较认同BSD的协议以及FreeBSD负责任的开发团队模式,从而喜欢上FB的。当然,OpenBSD也很好,不过,出于性能和中文支持方面的考虑,FB更适合做桌面。
但一个不争的事实是,由于有众多商业公司的支持,Linux下的应 用软件现状要比FreeBSD下乐观的多。维护一个小众操作系统上的软件,是从商业上不值得的事情,因此,比如Realplay,Acroread之类 的,就没有FB的直接支持,当然,开源软件的话,有了万能的ports系统和勤奋的程序员,linux用户和FB用户并无多大区别。
为了能让FreeBSD的用户更好的使用系统,FB在内核里加入了一个Linux的模拟层。注意,这个不是传统意义上的模拟器,只是提供了一个Linux 的程序接口,使得在FB里通过设置,可以使用一些和内核关系不是非常密切的Linux程序(太密切的如虚拟机之类的,就不行了)
好了,要启动FB对linux的支持,使用命令
#kldload linux.ko
linux_enable=”YES”
linux_load=”YES”
不过,要真正执行Linux程序的话,需要给这些程序配置相应的库。在默认情况下,FB使用的是Fedora Core 4的模拟支持,为此,我们使用ports系统安装这个环境:
#cd /usr/ports/emulators/linux_base-fc4 && make install clean
当然,如果直接安装ports里面的软件,比如,因为我喜欢的opera目前还不支持FB的amd64版本,所以我只好选择使用linux的,那么我就
#cd /usr/ports/www/linux-opera && make install clean
这样会根据依赖关系,自动安装上linux_base-fc4的。
好吧,Linux发展很快,Linux上面的应用软件发展也很快。比如,现在很多的软件至少需要Linux 2.6以上版本的内核支持。而默认FB模拟层是2.4.2版本的,为此我们需要对这个模拟层进行一些配置
要让FB支持对Linux 2.6以上版本内核的模拟,首先要确认你的FB版本必须在7.0以上,6系列是不支持的。
#sysctl compat.linux.osrelease=2.6.16 #(模拟Linux的内核为2.6.16)
OVERRIDE_LINUX_BASE_PORT=fc6
compat.linux.osrelease=2.6.16
使得下次开机的时候能自动设置模拟的Linux的内核版本
当然,这个也是必要的,和Linux 2.6内核配套的环境:
#cd /usr/ports/emulators/linux_base-fc6 && make install clean
好了,无论是哪个内核版本,Linux环境都搭建好了,为了能正确使用Linux程序,需要模拟一个Linux的进程文件,修改/etc/fstab文件,加入:
linproc /compat/linux/proc linprocfs rw 0 0
使/etc/fstab生效:
#mount -a
现在,你就可以试试Linux的程序啦,什么Realplay啦,Thunderbird,Firefox(因为一些扩展和插件只支持Linux版本,如chm阅读)
FB也支持rpm直接安装,不过,依赖关系可要自己好好把握了。能依赖ports系统的,还是尽量用ports吧。

