Zer4tul <zer4tul@cnfug.org>
作为一个BSDer,在网上转得最多得就是UNIX相关论坛了,在与不少新手接触的过程中,发现有相当一部分人是从Windows下转过来的(几乎是“绝大多数”),在学习FreeBSD的时候会遇到不少困难,甚至觉得UNIX类系统极为难用,在这里,我把自己的经验总结一下,供大家参考。
首先是如何获得的问题,Windows到处有卖,甚至某些Linux,比如RedHat,Mandrake等都有卖,但FreeBSD,NetBSD等UNIX目前似乎还没有看见有出售——至少重庆是如此。获得BSD最好的途径是通过网络下载,比如FreeBSD的官方站点ftp://ftp.freebsd.org,ftp://ftp.cnfug.org,或者一些专门提供自由软件下载的站点,比如http://www.wormwang.net等都可以下载相关系统和应用程序。如果没有条件上网下载的朋友,可以在自己常去的论坛上找找与自己同城的朋友帮忙刻一下盘,通常大家都会比较乐意的。
其次,安装。安装一个操作系统,必然涉及到分区。然而,分区是很多人的噩梦……因为分区意味着数据丢失甚至整个分区表的丢失等意外情况。特别是BSD的分区,更是让不少人头疼,因为BSD继承了UNIX传统的磁盘管理概念,而那时PC还没有出现,因此,在BSD的传统磁盘管理机制中就没有PC中的“分区”这个概念。它是将磁盘划分为一个个Slice来进行管理的(如果对FreeBSD有兴趣的朋友可以参阅王波的《FreeBSD使用大全》或者《FreeBSD Handbook》)。之所以要介绍Slice这个概念,是因为它与后面的“挂载点”概念息息相关。既然在UNIX中没有分区这个概念,因此BSD就无法理解“扩展分区”这个概念,因此它必须被安装在主分区中。然后在其中划分Slice。而且Slice在文件系统中对于程序和用户是透明的,不像分区一样是可见的。在分配了Slice后,还要为其分配“挂载点(Mount Point)”,也就是相当于Windows下为分区分配盘符之类的工作。只有被分配了挂载点的Slice才能被操作系统挂载并可用。UNIX的文件系统构成也与Windows完全不同,这在后面将详细讲述。当然,为了与其他操作系统兼容,FreeBSD的安装程序还提供了支持“分区”概念的Fdisk。但FreeBSD必须被安装在主分区(不过不像Linux那样还需要一个单独的swap分区,FreeBSD的swap只是其所在分区的一个Slice),因此FreeBSD不支持对逻辑分区进行操作,它只显示扩展分区,并将其做为一个主分区对待,各位在这一点上一定要特别小心。分区完成后,开始安装,这个步骤没有什么特别之处,唯一特别德就是FreeBSD可以不安装GUI(Graphic User Interface,图形用户界面)。
在文件复制进程完毕后,开始配置,不过配置过程并不难,看看提示就知道该怎么做。接下来进行X-Window配置(注意!是X-Window,没有X-Windows这个东西这是很多Windows下转过来的用户容易犯的一个错误),X-Window现在已经能够识别大多数硬件,特别是主流硬件,因此不必进行过多干预。X-Window配置之后,我们必须选择窗口管理器(Window Maker)或者桌面环境(Desktop Environment),否则只能使用默认的简陋的twm界面。在这里要说明一下:UNIX类系统本身是字符的,X-Window是在UNIX类系统上运行的一个程序,也是UNIX类系统最常用的GUI。在字符界面下输入startx就可以启动“XFree86”,也就是我们通常说的“X”,X-Window的一个最为流行的分支。但是,没有经过设置的X十分难看(毫不夸张的说,Windows95都比它好看)。但是,你只是看到了X最原始的面目而已,经过精心打扮的它甚至能比得上Mac OS X的GUI!X的设计哲学很像UNIX的设计哲学:“Tools,no policy!(工具,而不是策略!)”这些东西并没有规定最终用户做什么,而是提供工具,由用户决定自己使用它们做什么。X并没有规定它提供的GUI看上去是什么样子,而是把这个任务交给另外一个程序来完成,这个程序便是“窗口管理器(Window Maker)”。有很多这样的程序,比如AfterStep,Blackbox,Enlightenment,ctwm,ftwm,sawfish,WindowMaker(注意跟Window Maker区别开)等等。它们的外观千差万别,有的看上去像Mac OS,有的看上去像风景画,有的看上去像科幻小说中的东西,甚至有的看上去跟Microsoft Windows一样!另外还有一个概念是“桌面环境(Desk Environment)”,它们其实就是窗口管理器跟应用软件的集合,其中最著名的代表就是KDE和GNOME。推荐新用户使用KDE或者GNOME,因为它们配置简单,可以帮助你在更短的时间内学习FreeBSD,而不是被复杂的设置所吓倒。当然,在熟悉了系统和X之后,尝试一下不同风格的窗口管理器也是一个好主意!^_^
安装完成之后,就可以重启机器进入系统了。记住一点(十分重要):UNIX类系统是不会回显密码的(也就是说,在你输入密码的时候你看不到Windows下熟悉的星号提示),至少在字符界面下是这样。不要误以为是键盘出了问题哦!^_^ 这个是出于安全性考虑,因为回显就意味着会暴露密码的长度,这个是十分不安全的。进入系统之后,我们必须了解它的文件系统才能进行操作。刚才说了,Slice是对用户透明的。你在FreeBSD下看不到熟悉的C:,D:,E:,而是一大堆文件和目录。UNIX类系统都是使用的倒树形目录结构,通过挂载点加载分区或者Slice,用户根本感觉不到它们的存在。在FreeBSD系统中,根目录(/)是目录树的顶点,它下面是/dev(设备文件所在目录),/etc(配置文件所在目录),/home(普通用户起始目录),/root(根用户起始目录),/bin(普通程序所在目录),/sbin(系统管理程序所在目录),/tmp(临时文件所在目录),/mnt(临时挂载点所在目录)等二级目录,在它们下面又有许多小目录,这样一级一级的衍生下去……你可以通过输入ls来浏览目录,它的作用相当于在DOS下或者Win2000/XP/2003的cmd窗口中输入dir /w。如果你想了解文件的详细信息,可以输入ls –l。此外,ls没有类似dir中的分页显示参数,但是你可以通过ls | more或者ls | less来达到相同的目的。在浏览了UNIX类系统的文件系统之后,你可以发现,它们的文件系统是一个统一的(只有一个根目录),完整的(不会因为Slice或者分区而被划分为类似C:,D:,E:的并行“分区”),复杂的(每个目录下可以有N多子目录和文件)树形结构。
此外,单独提一下加载的问题。传统的UNIX管理方式出于安全性考虑,并不自动加载除其自身所在的文件系统以外的任何文件系统——即使它能够识别它们,特别是光盘和软盘。FreeBSD也继承了这样的管理方式,因此,除了FreeBSD所在文件系统以外的任何文件系统通常都需要手动加载,或许你觉得这个很麻烦,但是这样会更安全。加载的命令是mount,至于用法,限于篇幅,我就不多说了。在这里要说明的是,UNIX类系统对任何其他分区采用传统的管理方式,因此,在FreeBSD下,它们是/dev/ad0s1,/dev/ad0s2,/dev/ad0s5,/dev/ad0s7之类,而不是Windows下的C:,D:,E:,F:。在这里解释一下。FreeBSD下,ad表示硬盘设备(注意:FreeBSD 3.x及其以前使用的是wd),0表示第一个主设备(也就是第一个IDE口的主设备),s是Slice的缩写,1是指第一个主分区,5是第一个逻辑分区。而在FreeBSD下CDROM的名称是/dev/acd0(第一个CDROM设备号为0),(注意大小写,UNIX类系统是要区分大小写的,任何情况下都是这样!因此/dev/CDROM和/dev/cdrom绝对不是同一个东西)。你也可以通过向/etc/fstab加入相关条目来达到自动加载的目的,但是,千万别自动加载CDROM和软驱,否则系统在启动的时候会抱怨无法加载,甚至启动出错。要想在使用的时候自动加载软驱或者光盘,可以考虑使用“amd(Auto Mounting Daemon”,自动加载守护程序),详细情况请参阅相关材料。
还有一点,可能许多朋友发现市面上很少有关于UNIX类系统命令的入门书籍,而UNIX类系统最强大的地方就是它的命令!正如UNIX的设计哲学所说:“Tools,no policy!”我们可以利用它们做任何事情。在这里提醒一下各位,UNIX类系统有一个比Windows更强大的联机帮助系统——“man”!如果想知道关于某个命令的详细信息,可以通过man 命令名的形式查找,会有不小收获。FreeBSD和某些发行版的Linux甚至可以通过man –k 关键字来查找与某个操作或者主题有关的命令名,比如想查找与打印有关的命令,可以输入man –k print。UNIX类系统命令众多,估计没谁能记住所有命令及其参数(否则那个人不是天才就是疯子)。此外,FreeBSD Handbook也是很好的资料,建议看看。
最后,来谈谈UNIX的设计哲学——Tools,no policy!也就是常说的“工具箱”。典型的UNIX命令——比如ls,more,less,print,sort等等,都只完成某个或者某几个特定的工作。ls是目录列表命令,less或者more是分页显示命令,sort是排序命令,print是打印命令。初看它们似乎毫不相关——至少在DOS和Windows下是如此。但是,它们的组合可以让你得到你想要的结果。比如,你想对目录进行列表并分页显示出来。命令就是ls | less。或许你觉得麻烦,还不如dir /p方便。但是,如果你想目录进行列表并对其进行排序,然后分页显示出来,Windows或者DOS下怎么办?在UNIX类系统下,你可以简单的加上一个sort命令——ls | sort –n | less。如果你还想把结果打印出来,那么加上一个print就可以了ls | sort –n | less | print。是不是很方便啊?^_^ 你不需要另外找个程序来完成这个工作,只需要使用手中的工具就可以。UNIX下的命令或程序都有自己的特点和作用。单独使用的时候,它们并不强大,它们的灵活性才是它们强大的地方,你可以根据自己的需要来组合命令,从而得到你想要的效果(有些象小时候玩的积木)。UNIX中,“工具”到处都是,因为UNIX本身就是一个工具箱,只有充分理解并接受了这样的理念,你才能更好的使用它!
好了,以上就是我的个人经验,由于时间和水平的关系,写得也不是特别全面,算是抛砖引玉吧。不过我也真诚的希望它能给大家一些帮助。^_^ 如果对UNIX类系统有兴趣的话,可以来我们CNFUG(China FreeBSD User Group)http://www.cnfug.org看看。
其实很多90年代初期开始学习计算机的人对学习UNIX应该不会很陌生,因为他们都是从DOS操作系统开始的,也是不需要去买,安装的开始部分也是用软盘,只不过不需要网络安装其他部分.整天对的也是字符界面.并且可以对硬件直接控制.有一种驾驭计算机的感觉.但WINDOWS出来后就相对要弱很多了,基本上对编程失去了兴趣.现在的开源系统又把我们带回了那个时代.
是啊,DOS还比较相近,WIN与UNIX就是两种不同概念。所以得从头学起。
我是一个UNIX新手。
5月10号从http://www.wormwang.net上下载了4.9版的
FreeBSD,但我不知道怎样安装。请高手点拨。
安装FreeBSD,这里有一个非常好的教程,你先看看再开始动手这样会对你有非常大的帮助的。
http://www.cnfug.net/project/ffs/chapter2.1.4.html
一页的看下去,直到看完成安装过程,祝你一切顺利。
有一点说得不完全正确,“经过精心打扮的它甚至能比得上Mac OS X的GUI!”,Mac OS X 就是BSD,不需要比得啦:)
matthew,别忘了,MAC OS X的核心是BSD,但是GUI是苹果自己开发的哦!
"Mac OS X 就是BSD,不需要比得啦:)"
Zer4tul兄,这句话不是Matthew说的,是suncdl说的,呵呵
很早就接触linux和bsd系统了,也安装了、配置了、查资料学习了,不过总感觉还是很不够;怎么讲呢,就是你越深入越发现自己的肤浅。。。继续努力中...
freebsd相对用的少一点,不过很早就安装过freebsd 4.4版本,至今我还保留着当初刻的盘:)。目前国内bsd中文出版物好像只有王波《freebsd大全》,听说很权威阿!
目前freebsd有两个版本4.9和5.1,不知道它们有什么区别,望知情的告知。
目前我是网管,接触了很多东西,也感觉自己要学更多的东西。
我在成都
欢迎和我交流。
我的邮箱:ilava#eyou.com(将#改为@)
QQ:23218824
嘿,作者是重庆人啊,我也是。
我,不算是个新手,对LINUX比较了解,刚开始UNIX的学习
我是个freebsd的初学者,但是对freebsd的系统非常感兴趣,不知道大家会经常去什么地方去,能提出对我的学习有帮助的地方!请大家多多关怀1下!
我的QQ:328747
email:axia@05168.com
问一个十分幼稚的问题???
UNIX最好从什么版本开始,学是FreeBSD吗
我的英语水平比较低,但FREEBSD的帮助全是鸟语,各位高手是否知道怎么翻译,还有在一块硬盘上怎么也装不上双系统(2000和BSD)有高招吗?谢谢,请高手尽快回答,急!!!!
如果你是半途开始学Unix,最好是将Windows完全抛开.我发现有很多人,很想学Linux或者Unix,可是无一例外全是在Windows环境下找东西,然后开始背命令.在Windows环境下学Linux,这是一个非常.非常严重的错误.不管你要想学Unix或者是Linux先把它装起来吧!!!
上面的内容的确通谷易懂,给初学者来来一定的了解和帮助,也做了一个很好的启迪作用,我几乎每天都来这看看新的内容和发现新的东西,这里是我的乐园,也希望它能给大家带来学习和掌握UNIX的环境和机会,我认为学*NIX就要从FREEBSD开始,它是比较原始的数据。愿每一位朋友都有所收获。
to YSY:
没必要翻译,FreeBSD下的单词翻来覆去就那几个……用熟了也就无所谓了……我现在用的是原版的FreeBSD,英文版的SuSE Linux,至于Windows,一周换7种语言……忘了今天星期几,看看Windows用啥语言就知道了……^_^……
其实我只学了英语,日语,德语,但是为啥能用7种语言界面的Windows?因为界面熟悉嘛……同理,只要你熟悉了FreeBSD的操作,甚至只要熟悉了它的思维方式,你根本不需要死记单词……不需要看懂每个单词就可以知道该怎么做……
努力尝试吧,你会有收获的。
很好,对我这样的新人来说
好像帮我把整个FB的框框梳理了一遍
很高兴来到这里,希望以后大家多多关照
好文章.
我也是从LINUX转到FreeBSD的.
我的做法我觉得初学者完全可以借鉴(当然了,不是说好,而是简单).
我平常用XP(说实话,真离不开),80G的硬盘,256内存,566CR,而且就一台机器.有的时候需要做实验之类的如果单独做个FreeBSD也没法测试.
最后安装了个VMWARE,在这里面安装了freebsd和linux等的.让后设定成桥接模式,用Freebsd拨号上网,再打开NAT.
现在就是这种情况下通过XP发的帖子.
这种方式很安全,而且跟真实环境一样,你不用频繁的在你的双系统切换.
我是秦皇岛的,大家多交流交流吧.
QQ 247671775
EMAIL:tonyzu2hotmail.com
学习os要有应用环境,就象学习语言一样的。不然很容易荒废掉的
>UNIX类系统对任何其他分区采用传统的管理方式,因此,在FreeBSD下,它们是/dev/ad0s1,/dev/ad0s2,/dev/ad0s5,/dev/ad0s7之类,而不是Windows下的C:,D:,E:,F:。在这里解释一下。FreeBSD下,ad表示硬盘设备(注意:FreeBSD 3.x及其以前使用的是wd),0表示第一个主设备(也就是第一个IDE口的主设备),s是Slice的缩写,1是指第一个主分区,5是第一个逻辑分区。
---------------
5应该是Slice号吧, FreeBSD的分区号也是用a,b,c,e等来表示的,a用于/, b用于swap等,我记得是这样的。以上仅供参考。
非常不错的入门文章,很值得一看。
非常不错的入门文章,很值得一看。
Well, Well ,It's very good artical !
很好,对我很有用,我是一个linux用户,第一次听到slice概念
我已准备好学习bsd了
BSD,我选择我喜欢!!
UNIX类与MS Windows是两种应用模式下的产物,初学者一定要记得这一点,不要去贸然比较,在了解以后再比也不迟。
mac os x的内核是基于mach3.0,跟BSD不是一个概念啊
作为一个初学者,我认为这篇文章写的不错!
写得好!我今天才知道。他是工具而不是策略
pu到底怎样使用
我是成都的玩 了很久的LINUX
刚刚开始学习FREEBSD
很很高兴和大家交流
QQ:172537629
又了一个新人
多多关照!!!
本功能正在开发中,目前不能使用,敬请原谅。
√ 期刊在线投稿: /journal/contribute.html
√ 本文打印于《CNFUG期刊》,欢迎访问 http://www.cnfug.net 获取更多技术文章。
© 2003-2006 CNFUG(China FreeBSD User Group) All rights reserved.
Powered by FreeBSD
写的很好,我们这此初学者就是应多看看这样的文章
还有一点,
到现在我也是用WIN的思维方式看UNIX系统
要是我一开始就用UNIX系统好了,,,
下次给我们讲讲吧