在家用 PC 里体验 FreeBSD 8.1

19
2011
# 作者: ivarptr / 本文采用CC BY-NC-SA 2.5协议授权,转载请注明本文链接

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


【插图1: Gnome + 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听听。

帖一幅播放音乐的截图:


【插图2:播放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 了。帖一幅效果图:


【插图3: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 一项的值也是可以的。看一幅效果图吧:


【插图4:窗口阴影】

好了,所有安装配置都完成了。下面讲一下小技巧。

想要完整体验一下全新操作系统,就不应该把它放在虚拟机里运行。

考虑到你的电脑可能已经有其他操作系统,这里提供解决 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

作者:ivarptr

Bio: linux 和开源的忠实粉丝,程序猿,欢迎 fo me @ivarptr
链接:Blog - Twitter - 此作者的更多文章

15 Responses to 在家用 PC 里体验 FreeBSD 8.1

Avatar

ghosTM55

Firefox 3.6.13 Firefox 3.6.13 Ubuntu 10.10 Ubuntu 10.10

一月 19th, 2011 at 8:12 下午

蛋疼

[Reply]

Google Chrome 10.0.628.0 Google Chrome 10.0.628.0 GNU/Linux x64 GNU/Linux x64

riku Reply:

@ghosTM55, 哈哈,用 FreeBSD 作桌面确实够小众的,个人建议真想用 BSD 作桌面的话可以用 PC-BSD 。

[Reply]

Avatar

Mucid

Firefox 3.6.13 Firefox 3.6.13 Ubuntu 10.10 Ubuntu 10.10

一月 19th, 2011 at 8:17 下午

像Arch……

[Reply]

Avatar

colt

Firefox 3.6.13 Firefox 3.6.13 Ubuntu 10.10 Ubuntu 10.10

一月 19th, 2011 at 8:25 下午

用freebsd舒服的上个网真不容易....

[Reply]

Avatar

GunsNRose

Google Chrome 8.0.552.237 Google Chrome 8.0.552.237 GNU/Linux GNU/Linux

一月 19th, 2011 at 10:03 下午

感觉还是freebsd比pc-bsd爽一些,自己搭建方便
能看到wowubuntu上放上FreeBSD的文章,特来支持顶一个!
以前看到说freebsd准备弄一个类似apt的包升级系统,到时会更方便,pkg升级比较麻烦,ports老编译受不了,比较期待新的二进制包管理器出来

[Reply]

Google Chrome 10.0.628.0 Google Chrome 10.0.628.0 GNU/Linux x64 GNU/Linux x64

riku Reply:

@GunsNRose, pc-bsd 搞了一套自忆的 pbi 包系统,另外, debian/kfreebsd 上使用了 freebsd 的内核 ,有全套的 apt 包管理系统。

不过,话说 freebsd 的定位其实并不是桌面,而是 server ,所以更多的精力放在了 server 方面的开发上。

[Reply]

Avatar

ivarptr

Firefox 3.6.4 Firefox 3.6.4 FreeBSD FreeBSD

一月 19th, 2011 at 10:11 下午

折腾FreeBSD跟听春哥的歌是同一个道理,一是蛋疼,二是信仰。呵呵

ps:谢谢 @riku 提供这个共享平台 ;-)

[Reply]

Google Chrome 10.0.628.0 Google Chrome 10.0.628.0 GNU/Linux x64 GNU/Linux x64

riku Reply:

@ivarptr, 话说我也是 freebd 的粉丝,不客气。

[Reply]

Avatar

Boneflame

Chromium 10.0.636.0 Chromium 10.0.636.0 Ubuntu 10.10 Ubuntu 10.10

一月 19th, 2011 at 10:20 下午

适合爱折腾的人

[Reply]

Avatar

在家用 PC 里体验 FreeBSD 8.1 | WP

WordPress 3.0.3 WordPress 3.0.3

一月 20th, 2011 at 1:14 上午

[...] (@williamlong) 慨叹FreeBSD和SourceForge被封 [...]

Avatar

wecing

Chromium 8.0.552.237 Chromium 8.0.552.237 Ubuntu 10.04 Ubuntu 10.04

一月 20th, 2011 at 2:12 上午

> Firefox 3貌似能跑出 Chrome的速度
原来只是有折腾FreeBSD的意向,看到这句话之后果断决定下载iso文件去>.<

不过不安装显卡的驱动的话,宽屏的分辨率真的没问题吗?
当年被Debian的ATI驱动虐惨了- -

[Reply]

Avatar

Terry

Chromium 10.0.643.0 Chromium 10.0.643.0 Ubuntu 11.04 x64 Ubuntu 11.04 x64

一月 20th, 2011 at 6:20 上午

确实挺蛋疼。要玩在虚拟机里装一个乐乐就行了;-)

觉得Slackware和Arch和BSD的接近程度非常高,喜欢BSD的可以用这两个嘛。

此外,用FreeBSD太不环保了。

[Reply]

Avatar

Ecstasy::Mirage » Blog Archive » 免分区[v.]增加swap分区[n.]

WordPress 3.0.4 WordPress 3.0.4

一月 20th, 2011 at 5:35 下午

[...] 一直想折腾一下FreeBSD,直到昨天看到Wow! Ubuntu上的《在家用 PC 里体验 FreeBSD 8.1》之后才正式决定进行脱离虚拟机的实验。 [...]

Avatar

MengEgg

Google Chrome 10.0.642.2 Google Chrome 10.0.642.2 Windows XP Windows XP

一月 21st, 2011 at 8:04 下午

话说在一群只会用XP的人群里用FreeBSD很牛X

[Reply]

Avatar

Olaw

Maxthon 3.0 Maxthon 3.0 Windows 7 Windows 7

一月 22nd, 2011 at 1:46 下午

性能真的会比linux好?还是担心显卡驱动,而且安装软件,配置系统都不安逸,还是适合大牛来用。

[Reply]

Comment Form

top

无觅相关文章插件,快速提升流量