我是比較認同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吧。