数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
给FreeBSD新手的一些建议

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

作为一个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本身就是一个工具箱,只有充分理解并接受了这样的理念,你才能更好的使用它!

好了,以上就是我的个人经验,由于时间和水平的关系,写得也不是特别全面,算是抛砖引玉吧。不过我也真诚的希望它能给大家一些帮助。(T111)



相关文章

相关软件