前言:
之前完成了FreeBSD和OpenBSD的桌面笔记,今天心血来潮,就把NetBSD的桌面笔记也一并完成,这样,三大BSD的桌面化教程算是全部完成了。作为个人认为三大BSD中最难用的NetBSD,其实使用范围并不是很广泛,但是它具有许多其他两大BSD所没有的特色,号称从烤面包机到国际空间站通吃的操作系统,所以作为桌面使用也未尝不可。
第一章:NetBSD简介
何谓NetBSD?
NetBSD是一个免费的,具有高度移植性的 UNIX-like 操作系统,是现行可移植平台最多的操作系统,可以在许多平台上执行,从 64bit alpha 服务器到手持设备和嵌入式设备。NetBSD计划的口号是:"Of course it runs NetBSD"。它设计简洁,代码规范,拥有众多先进特性,使得它在业界和学术界广受好评。由于简洁的设计和先进的特征,使得它在生产和研究方面,都有卓越的表现,而且它也有受使用者支持的完整的源代码。许多程序都可以很容易地通过NetBSD Packages Collection获得。
NetBSD有哪些特色?
NetBSD 的基本特色有:
可移植性(超过 20 种平台被支持)
程序代码的品质与正确度高
稳定性
研究与革新
NetBSD 主要支持哪些平台?
Port CPU Machines
acorn26 arm Acorn Archimedes, A-series and R-series systems
acorn32 arm Acorn RiscPC/A7000/NC and compatibles
algor mips Algorithmics MIPS evaluation boards
alpha alpha Digital Alpha (64-bit)
amd64 x86_64 Advanced Micro Devices AMD64(tm) 64-bit CPUs
amiga m68k Commodore Amiga, MacroSystem DraCo
amigappc powerpc PowerPC-based Amiga boards
arc mips Machines following the Advanced RISC Computing spec
atari m68k Atari TT030, Falcon, Hades
bebox powerpc Be Inc's BeBox
cats arm Chalice Technology's Strong Arm evaluation board
cesfic m68k CES's FIC8234 VME processor board
cobalt mips Cobalt Networks' Microservers
dreamcast sh3 Sega Dreamcast game console
evbarm arm ARM evaluation boards
evbmips mips MIPS-based evaluation boards
evbppc powerpc PowerPC-based evaluation boards
evbsh3 sh3 Evaluation boards with Renesas (Hitachi) Super-H SH3 and SH4 CPUs
ews4800mips mips NEC's MIPS based EWS4800 workstations
hp300 m68k Hewlett-Packard 9000/300 and 400 series
hp700 hppa Hewlett-Packard 9000/700 series
hpcarm arm StrongARM based Windows CE PDA machines
hpcmips mips MIPS based Windows CE PDA machines
hpcsh sh3 Renesas (Hitachi) SH3 and SH4 based Windows CE PDA machines
i386 i386 i386 family IBM PCs and clones
ia64 itanium Itanium family of processors
ibmnws powerpc IBM Network Station Series 1000
iyonix arm Iyonix ARM pc
landisk sh3 SH4 based NAS appliances by I-O DATA
luna68k m68k OMRON Tateisi Electric's LUNA series
mac68k m68k Apple Macintosh
macppc powerpc Apple Power Macintosh and clones
mipsco mips Mips family of workstations and servers
mmeye sh3 Brains' mmEye Multi Media Server
mvme68k m68k Motorola MVME 68k SBCs
mvmeppc powerpc Motorola MVME PowerPC SBCs
netwinder arm StrongARM based NetWinder machines
news68k m68k Sony's m68k based "NET WORK STATION" series
newsmips mips Sony's MIPS based "NET WORK STATION" series
next68k m68k NeXT 68k 'black' hardware
ofppc powerpc Generic OpenFirmware compliant PowerPC machines
pmax mips Digital MIPS-based DECstations and DECsystems
prep powerpc PReP (PowerPC Reference Platform) and CHRP machines
rs6000 powerpc MCA-based IBM RS/6000 workstations
sandpoint powerpc Motorola Sandpoint reference platform
sbmips mips Broadcom SiByte evaluation boards
sgimips mips Silicon Graphics' MIPS-based workstations
shark arm Digital DNARD ("shark")
sparc sparc Sun SPARC (32-bit)
sparc64 sparc Sun UltraSPARC (64-bit)
sun2 m68k Sun 2
sun3 m68k Sun 3 and 3x
vax vax Digital VAX
x68k m68k Sharp X680x0 series
xen i386, x86_64 Xen Virtual Machine Monitor
zaurus arm Sharp C3x00 series PDA
从哪里可以获得NetBSD?
最新的NetBSD安装镜像可从以下站点获得:
ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-5.1/iso/
找到自己对应的平台即可。
第二章:安装NetBSD
NetBSD安装过程可参照
http://tech.ddvip.com/2006-08/11551351337289.html
本教程不再赘述。
第三章:配置NetBSD桌面环境(GNOME)
网络环境配置
全局网络设置可以在rc里面设定,以我的intel 3945ABG无线网卡为例(因为我的有线网卡比较悲剧,无法识别):
vi /etc/rc.conf
然后添加以下几行:
auto_ifconfig=YES #为了开机可以自动设定网卡
hostname=NetBSD #主机名
ifconfig_tlp0="inet 192.168.0.123 netmask 255.255.255.0" #IP地址和子网掩码,我的是DHCP,所以没有这一行,tlp0表示网卡设备名,可用ifconfig -a查看
defaultroute="192.168.0.1" #默认网关
DNS服务器地址可在/etc/resolv.conf设定,如下例:
nameserver 202.106.196.115
nameserver 202.106.0.20
设置好以后,reboot生效。
下载pkgsrc并解压
pkgsrc类似FreeBSD的ports系统,是一套软件维护系统,pkgsrc可在以下地址下载:
ftp://ftp.netbsd.org/pub/NetBSD/packages/
我当时把下载的pkgsrc压缩包放到了U盘,并在NetBSD挂载以后进行解压,方法如下:
首先,终端输入disklabel sd0,可以看到类似如下输出
5 partitions:
# size offset fstype [fsize bsize cpg/sgs]
d: 1956735 0 unused 0 0 # (Cyl. 0 - 955*)
e: 1955457 63 MSDOS # (Cyl. 0*- 954*)
disklabel: boot block size 0
disklabel: super block size 0
然后
mount /dev/sd0e /mnt
cd /mnt
tar tar -zxvf pkgsrc.tar.gz -C /usr (假设pkgsrc压缩包位于U盘根目录)
设定NetBSD的pkg_add抓包地址
由于pkgsrc安装软件包编译时间漫长,推荐第一次安装软件包使用pkg_add方式,可按照如下方式设定pkg_add抓包地址(root身份):
vi ~/.profile
加入如下行
export PKG_PATH=ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.1_2010Q3/All/
然后保存退出。
安装pkgfind,pkgin
pkgfind是一个很方便的包管理工具,可以通过pkgfind+关键字来查找指定的软件包,而pkgin则类似Linux下面的包管理器,可以用来安装,升级预编译包,并自动解决依赖关系。有关pkgin的具体用法,请自己用man查看。
终端输入如下命令
pkg_add pkgfind pkgin
另外,使用pkgin需要设定预编译包地址,配置文件在/usr/pkg/etc/pkgin/repositories.conf,以我的为例,在配置文件加入如下行:
ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.1_2010Q3/All/
然后保存退出。
安装GNOME桌面环境
有了pkgin,安装软件包就方便得多,可用如下命令安装GNOME桌面环境以及firefox浏览器等:
pkgin install gnome gnome-desktop gnome-session firefox
安装完毕以后,根据提示,需要把/usr/pkg/etc/rc.d下面的gdm,hal和dbus脚本复制到/etc/rc.d下面,并在/etc/rc.conf加入如下内容:
dbus=YES
hal=YES
gdm=YES
保存退出。
另外,还要在~/.xinitrc加入:
exec gnome-session
保存退出。
安装ibus拼音输入法,并设置中文环境
终端输入以下命令安装ibus拼音输入法:
pkgin install ibus ibus-pinyin
然后在~/.xinitrc加入如下内容:
export XMODIFIERS=@im=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
ibus-daemon -d -r -x
保存退出。
另外,还需要在/etc/profile添加如下内容设置中文环境:
export LANG=zh_CN.UTF-8
export LC_CTYPE=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
保存退出。
安装cvsup
cvsup是一个CVS版本控制工具,可用来更新系统源代码,pkgsrc等等,使用如下命令安装:
pkgin install cvsup
除此以外,还需要写好cvsup配置文件,我的配置文件放在/usr/share/cvsup目录下面,名字是pkgsrc-supfile,因为我只需要更新pkgsrc,内容如下:
*default release=cvs tag=.
*default release=cvs tag=netbsd-5-1
### CVSup sites: ###
*default host=cvsup.us.netbsd.org
*default delete use-rel-suffix
*default umask=002
*default base=/usr
*default prefix=/usr
*default compress
#netbsd-src
netbsd-pkgsrc # Packages
保存以后,更新pkgsrc的方法就是cd到/usr/share/cvsup,然后输入cvsup -g -L 2 pkgsrc-supfile
安装pkglint
pkglint可以算是NetBSD的更新工具,可以对比pkgsrc和已安装的软件包列表,并且列出有更新版本的软件包,安装方法如下:
pkgin install pkglint
使用方法:
输入lintpkgsrc -i
会出现类似如下内容:
gnome-terminal Version mismatch:"2.30.2" VS "2.32.2"
这就表示gnome-terminal这个包有更新版本,可以用pkgfind找到这个包的路径,然后cd到那个路径,并使用make replace进行更新。
以上就是NetBSD桌面的简单配置,欢迎讨论。如有错误,也欢迎指正。