FreeBSD 是一个开源免费的操作系统,最早接触 FreeBSD 是约7年前在 @hplcsz 挂bbs的服务器,后来很少关注了,偶尔登录一些服务器时才接触到。最近玩 Apple iPad(使用 iOS 操作系统,主要由 FreeBSD 衍生)于是联想起 FreeBSD 项目,才发现它已经更新到8.1版了。
恰好家里多出一台电脑暂时没有用,于是尝试用FreeBSD 8.1配置一台适合家用的电脑(用来看看新闻灌灌水的那种),把 FreeBSD 装在家庭电脑来体验可能本身欠妥,本文只能权当一篇粗糙的介绍文章。另外本文假设读者已经有一定的 Ubuntu/Linux 基础。
首先到 FreeBSD 项目的官方网站下载 FreeBSD 8.1的安装镜像文件,这里提供CD版、DVD版和U盘版,考虑到我有DVD刻录机,所以下载了DVD版。
下载是一个漫长的等待过程,在下载期间推荐阅读一下官方的《FreeBSD使用手册》(中文版,以下简称《使用手册》),如果对 Linux/BSD 不是很熟悉,前3章是很有必要阅读的。等DVD镜像下载完,你大概已经看到第10章了,对BSD已经有了一定的了解。
1、安装 FreeBSD 8.1
刻录下载回来的DVD镜像文件,从光驱启动然后选择“Quick模式安装”,如果你已经阅读了《使用手册》一般没有多大问题,因为这篇文章重点是如何搭建家用电脑的环境,所以具体的安装过程这里就省略了。小提示:
A、FreeBSD 必须安装在主分区,在安装之前你必须腾出一个至少10来GB的主分区。
B、当安装问你是否安装“Ports(相当于软件商店 App Store、Ubuntu 软件中心)”时,要选择“YES”。
C、当安装接近完成时,程序会问你 “Would you like to browse the collection now?“,这一步是问你是否安装DVD上附带的软件,选择Yes,然后把下面这两个大块头选中,这样能避免从网络再次安装文件,节省时间和网络流量,减低碳排放:
+ X11/xorg-7.5
+ gnome/gnome2-2.30.1-1
2、基础网络设置
系统安装好之后,跟 Ubuntu 等Linux发行版安装程序不同,重启之后会进入命令行界面而不是图形界面,使用 root 帐号登录。(注:为了简化起见,以下所有带井号开头的命令是指用 root 帐号操作或者是普通帐号经过提升权限的操作,以百分号开头的表示普通帐号操作)
FreeBSD默认使用的Shell是sh,因为我们可能更习惯 Bash Shell,所以第一步先把 Shell 改为 Bash,
# chsh -s /usr/local/bin/bash
#exit 退出后重新登录,熟悉的 Bash 迎面而来
下面开始配置网卡,先用 ifconfig 命令查看你的网卡名称,我这台电脑的网卡名是 msk0,分配一个IP给它以及设置默认路由:
# ifconfig msk0 192.168.0.123/24
# route add default 192.168.0.1
测试能不能PING通你家里的那台路由器:
# ping 192.168.0.1
如果能PING通,则可以在 /etc/rc.conf 文件里添加如下文字,让每次开机自动配置:
ifconfig_msk0="inet 192.168.0.123 netmask 255.255.255.0"
defaultrouter="192.168.0.1"
hostname="yangbsd.home"
如果你的家用路由器开启了DHCP功能,还可以把上面文字的头两行用这样一行替代:
ifconfig_msk0="DHCP"
因为上面的第三行修改了本机的hostname,所以需要编辑文件 /etc/hosts 把 my.domain 替换为 yangbsd.home,并且加上以下两行:
::1 yangbsd.home
127.0.0.1 yangbsd.home
然后设置域名解析,新建文件 /etc/resolv.conf,添加如下文字:
nameserver 208.67.222.222
nameserver 8.8.8.8
nameserver 8.8.4.4
看能不能PING通互联网上的网站
# ping www.google.com
ps:如果 google.com 不能PING通的话,最好换另一个互联网上“存在”的网站试试,因为 google.com 有时会在国内消失。
3、配置 Gnome 桌面环境
作为家用电脑,没有桌面环境是不行的
这里我选择个人比较喜欢的 Gnome,先创建一个 ~/.xinitrc 文件:
# echo "gnome-session" > ~/.xinitrc
然后使用 startx 命令启动 Xorg 以及 Gnome:
# startx
如果桌面环境能进入但鼠标指针动不了,需要在 /etc/rc.conf 加入如下两行:
dbus_enable="YES"
hald_enable="YES"
重启电脑再次进入 Gnome,熟悉的 Gnome 迎面扑来
Gnome 自带的那个浏览器功能有点简单,本来基于Webkit核心还是挺喜欢的,主要是缺少插件支持,下面我们安装 firefox :
# pkg_add -r firefox
好了,至此一个能上网浏览网页的电脑已经配置好了。不过等等,你是不是发现不能上网灌水呢?是缺少了中文输入法。
4、中文输入法及中文字体设置
安装输入法引擎 ibus:
# pkg_add -r ibus
安装完 ibus 之后会提示添加环境变量,下面是针对 Bash Shell 的,在 ~/.bashrc 文件里加入如下文字
export XIM=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export XMODIFIERS=@im=ibus
export XIM_PROGRAM="ibus-daemon"
export XIM_ARGS="--daemonize --xim"
然后安装拼音输入法 ibus-pinyin:
# pkg_add -r zh-ibus-pinyin
安装完拼音输入法之后在 ~/.profile 文件里加入如下一行文字,否则iBus会一直显示 No input window:
export LC_CTYPE=zh_CN.UTF-8
重启 Gnome,现在中文输入法有了,不过。。。新问题又来了,是不是觉得中文显示特别歪曲?我们只要添加一个名为“文泉驿”免费字体,这样中文就会变靓靓了。
# pkg_add -r wqy-fonts
下载了字体之后并不能立即生效,还需要配置 Xorg,先生成一个配置文件:
# Xorg -configure
执行之后会在 $HOME 目录里产生一个 xorg.conf.new 文件,编辑这个文件,在 Section "Module" 一节最后一行插入:
Load "freetype"
在 Section "Files" 一节最后一行插入:
FontPath "/usr/local/lib/X11/fonts/wqy/"
然后把这个配置文件复制到 /etc/X11
# cp xorg.conf.new /etc/X11/xorg.conf
再次重启 Gnome,靓靓中文扑面而来。
5、安装声卡驱动
作为家用电脑,没有音乐也是不行的
,先探测一下自己电脑的声卡:
# kldload snd_driver
执行之后查看一下 /dev/sndstat 文件的内容:
# cat /dev/sndstat
我的电脑结果如下:
FreeBSD Audio Driver (newpcm: 32bit 2009061500/i386)
Installed devices:
pcm0: <HDA Realtek ALC662 PCM #0 Analog> (play/rec) default
pcm1: <HDA Realtek ALC662 PCM #1 Analog> (play/rec)
……
这里能知道你的声卡型号,根据文件 /boot/defaults/loader.conf 罗列的声卡找到相应驱动的名称(只要某些字眼配对就足够了),我的声卡有 HDA 字样,所以估计对应的应该是 snd_hda_load="NO" 这行。
把 snd_hda_load="NO" 这一行文字复制到 /boot/loader.conf 里面,并且把“NO”改为"YES",重启电脑,播放一首mp3听听。
帖一幅播放音乐的截图:
至此一台基本能用于上网看看新闻灌灌水的 FreeBSD 配置完成了,如果中途遇到什么问题,最好看一下《使用手册》。
很快你会发现上网时不能播放 flash,这是因为 Adobe Flash 没有提供 FreeBSD 版本,为了运行这类没有开源只有编译好的 Linux 版程序,我们需要安装一个 Linux 二进制兼容包。[注1]
6、为安装 Flash 插件作准备,安装 Linux 二进制兼容包
为了确保安装顺利,最好把 FreeBSD Ports 更新一下。[注2]
# portsnap fetch
第一次运行这个命令会下载最新的 Ports Collection,大概半小时左右下载完,然后展开安装文件:
# portsnap extract
使用 portsnap update 命令更新已安装的 Ports:
# portsnap update
这样更新就完成了。下面开始安装 Linux 二进制兼容包,[注3]先开启 Linux KLD 模块:
#kldload linux
如果希望 Linux 兼容支持在系统初始化过程中自动启用,则应在 /etc/rc.conf 中增加:
linux_enable="YES"
可以使用 kldstat 命令检查KLD模块是否已经加载成功(以百分号开头的命令表示可以用普通帐号操作,下同):
% kldstat
如果看到 linux.ko 字样则表示加载成功。下面还要安装 Linux 运行时库,
# cd /usr/ports/emulators/linux_base-f10
# make install distclean
这又是一个漫长的等待过程,运行完毕之后还要挂载 Linux 进程文件系统,使用如下命令:
# mount -t linprocfs linproc /usr/compat/linux/proc
如果希望机器启动时自动挂载,需要在文件 /etc/fstab 里面加上这一行
linproc /usr/compat/linux/proc linprocfs rw 0 0
7、安装浏览器 Flash 插件 [注4]
我们开始下载安装 Flash 的 Linux 版插件:
# /usr/ports/www/linux-f10-flashplugin10
# make install clean
安装 wrapper:
# /usr/ports/www/nspluginwrapper
# make install clean
还要创建一个符号链接
# ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so \
/usr/local/lib/browser_plugins/
按照 FreeBSD 版本, 在安装了正确的 Flash port 之后, 插件必须由每个用户运行 nspluginwrapper 安装:
% nspluginwrapper -v -a -i
现在重启浏览器并转到有 flash 的网站,终于看到 Flash 了。帖一幅效果图:
8、美化一下桌面
这一步是可有可无的。使用过 Ubuntu 的用户会发现 FreeBSD 的 gnome 界面比较简朴,比较明显的是窗口和菜单缺少阴影,解决方法其实很简单,只要在 gnome 里面激活 compositing_manager 就可以了,执行下面的命令:
% gconftool-2 -s --type bool /apps/metacity/general/compositing_manager true
阴影就出来了,如果不用命令的话,打开 gconf-editor 修改 /apps/metacity/general/compositing_manager 一项的值也是可以的。看一幅效果图吧:
好了,所有安装配置都完成了。下面讲一下小技巧。
想要完整体验一下全新操作系统,就不应该把它放在虚拟机里运行。
考虑到你的电脑可能已经有其他操作系统,这里提供解决 FreeBSD 跟其他操作系统共存的方法:
1、跟 Windows 7 共存
先装 Windows 7,再装 FreeBSD。安装 FreeBSD 过程中选择安装 BootManager 引导程序即可。
2、跟 Ubuntu(Linux) 10.x 共存
Ubuntu 10.x 使用 Grub2 引导,所以在安装 FreeBSD 过程中不需要安装任何引导程序,安装完 FreeBSD 之后,重启进入 Ubuntu,
修改 /etc/grub.d/40_custom 文件,增加如下文字
menuentry "FreeBSD" {
set root=(hd0,2)
chainloader +1
}
这里需要注意的是要确认你的 FreeBSD 安装在哪个主分区,如果是在第二个主分区,那么上面一段的第二行应该写 (hd0,1),如果是第三个主分区则应该写 (hd0,2)。执行 sudo update-grub2 更新 grub 引导配置文件,重启完成。
FreeBSD 8.1 跟 Ubuntu 10.x 用在家庭电脑时的比较
1、Ubuntu 的安装比较简单,相对来说 FreeBSD 显得有点困难。
2、FreeBSD 的系统资源占用比较少,运行程序感觉身轻如燕,Firefox 3貌似能跑出 Chrome的速度
(这点基于目测以及惨杂了大量个人感情)。
由于开始接触 FreeBSD不久,如果文章有错误的地方欢迎批评指正。原文发表于《河马笔记》
资料来源
[1] http://www.freebsd.org/doc/zh_CN.GB2312/books/handbook/linuxemu.html
[2] http://www.freebsd.org/doc/zh_CN.GB2312/books/handbook/updating-upgrading-portsnap.html
[3] http://www.freebsd.org/doc/zh_CN.GB2312/books/handbook/linuxemu-lbc-install.html
[4] http://www.freebsd.org/doc/zh_CN.GB2312/books/handbook/desktop-browsers.html
15 Responses to 在家用 PC 里体验 FreeBSD 8.1
ghosTM55
一月 19th, 2011 at 8:12 下午
蛋疼
[Reply]
riku Reply:
一月 19th, 2011 at 8:38 下午
@ghosTM55, 哈哈,用 FreeBSD 作桌面确实够小众的,个人建议真想用 BSD 作桌面的话可以用 PC-BSD 。
[Reply]
Mucid
一月 19th, 2011 at 8:17 下午
像Arch……
[Reply]
colt
一月 19th, 2011 at 8:25 下午
用freebsd舒服的上个网真不容易....
[Reply]
GunsNRose
一月 19th, 2011 at 10:03 下午
感觉还是freebsd比pc-bsd爽一些,自己搭建方便
能看到wowubuntu上放上FreeBSD的文章,特来支持顶一个!
以前看到说freebsd准备弄一个类似apt的包升级系统,到时会更方便,pkg升级比较麻烦,ports老编译受不了,比较期待新的二进制包管理器出来
[Reply]
riku Reply:
一月 19th, 2011 at 10:33 下午
@GunsNRose, pc-bsd 搞了一套自忆的 pbi 包系统,另外, debian/kfreebsd 上使用了 freebsd 的内核 ,有全套的 apt 包管理系统。
不过,话说 freebsd 的定位其实并不是桌面,而是 server ,所以更多的精力放在了 server 方面的开发上。
[Reply]
ivarptr
一月 19th, 2011 at 10:11 下午
折腾FreeBSD跟听春哥的歌是同一个道理,一是蛋疼,二是信仰。呵呵
ps:谢谢 @riku 提供这个共享平台
[Reply]
riku Reply:
一月 19th, 2011 at 10:35 下午
@ivarptr, 话说我也是 freebd 的粉丝,不客气。
[Reply]
Boneflame
一月 19th, 2011 at 10:20 下午
适合爱折腾的人
[Reply]
在家用 PC 里体验 FreeBSD 8.1 | WP
一月 20th, 2011 at 1:14 上午
[...] (@williamlong) 慨叹FreeBSD和SourceForge被封 [...]
wecing
一月 20th, 2011 at 2:12 上午
> Firefox 3貌似能跑出 Chrome的速度
原来只是有折腾FreeBSD的意向,看到这句话之后果断决定下载iso文件去>.<
不过不安装显卡的驱动的话,宽屏的分辨率真的没问题吗?
当年被Debian的ATI驱动虐惨了- -
[Reply]
Terry
一月 20th, 2011 at 6:20 上午
确实挺蛋疼。要玩在虚拟机里装一个乐乐就行了;-)
觉得Slackware和Arch和BSD的接近程度非常高,喜欢BSD的可以用这两个嘛。
此外,用FreeBSD太不环保了。
[Reply]
Ecstasy::Mirage » Blog Archive » 免分区[v.]增加swap分区[n.]
一月 20th, 2011 at 5:35 下午
[...] 一直想折腾一下FreeBSD,直到昨天看到Wow! Ubuntu上的《在家用 PC 里体验 FreeBSD 8.1》之后才正式决定进行脱离虚拟机的实验。 [...]
MengEgg
一月 21st, 2011 at 8:04 下午
话说在一群只会用XP的人群里用FreeBSD很牛X
[Reply]
Olaw
一月 22nd, 2011 at 1:46 下午
性能真的会比linux好?还是担心显卡驱动,而且安装软件,配置系统都不安逸,还是适合大牛来用。
[Reply]