上
给Linux新手 [系列之五]
"大夫,我痛,告诉我怎么办吧"
"别着急,你先说你哪里怎么痛了"
"噢,哪里痛还不一样治啊,我肚子痛,快告诉我怎么办吧,我很着急的"
"别着急,再说说你昨天都干了些什么啊?"
"怎么跟昨天干什么还有关系?我昨天就干了我每天作的事情嘛,我觉得很正常,你怎么还不告诉我怎么办?不想说就别说"。
"别着急,你再想想,昨天作了什么跟平时不同的事情?"
"不同?好多都不同啊,我昨天上班没搭上公车打的的,上午没人给我打电话,比较古怪……"
"不是这些,我是问你有关吃饭啊,运动啊之类的"
"噢,这个啊,昨天晚上我吃了饺子,很好吃的喔"
"噢,吃了多少个饺子啊"
"嗯,80多个吧,噢,对了,晚上肚子就疼,一直到现在"
"噢,那你是吃撑了"
以上是我记忆中BOB老师写过的文章。如果你觉得这是个笑话的话,那我几乎每天都会经历这类笑话。一个人会先问"我的Linux怎么xxx了,怎么办",到最后一步一步的诱导问题直至答案揭晓。你下来会遇到很多问题,你不知道去哪里找答案。你觉得网上都是高手,你觉得高手就是你一站到那里他就知道你有什么问题。他无所不知,会告诉你一个"绝招"一下解决你的问题。所以你什么都不必多说,一句话的标题加一个"无内容"的内容。就等高手给你"绝招"了。
可惜这样的事情从来没有发生过。
如前所述,Linux相对于你也许很熟练掌握的windows系统来说有很多全新的概念。好像微积分对一个只知道简单代数的人来说一样。在这种情况下,你用你固有体系下的思维来试图获得答案显然是困难的。举一个例子,Linux下的图形界面X配置一向是新手必问的问题。你安装了Linux但是屏幕却是300X200,16色的,你想知道怎么办。从windows那里得来的经验,你想应该有个办法找到"显示属性"这样的菜单然后改变一下分辨率颜色深度,甚至扫描频率就可以了。所以你的提问多半是"我的X只有300X200,我在哪里可以改变它",然后你期望一个高手告诉你"在xxx地方鼠标右键点一下,就得到显示属性的菜单啦",然后你就可以象在windows里面一样修改屏幕分辨率了。这里有什么不对呢?不对的地方是,Linux下的X不是windows,它的显示分辨率根本不是在图形界面里面调整,而是在进入X之前,更重要的是,能改变到更高分辨率的前提条件是显示卡的驱动要配置好。而这个又跟Linux的发布,版本等有关系。这么多情况都不知道,高手绝对是没有"绝招"告诉你的。对照前面那个笑话,肚子统的原因很多,如果病人都能知道并且判断出来,医生还有什么用?
那么当你有问题的时候,应当怎么做呢?第一,最好别问问题。Linux的安装配置本身就是个学习的过程,通过自己摸索解决一个问题也许比别人告诉你要慢很多,但是解决问题的本身有助于你加深对Linux概念的理解。同时为了解决一个问题也许能带出很多其它问题。我记得我当初初学Linux的时候在一台破机器上把Linux和win98安装了很多,最终明白了Linux分区DOS分区共存,Lilo的配置的很多问题。当然一些关键地方自己摸索耗费时间太多而且没有意义,多交流也能达到大家共同提高的效果。关于如何去主动摸索寻找问题的答案我后面会讲,这里就假定你需要到BBS上问一个你无法解决的问题。
下
你碰到了一个问题,Lilo不启动,显示010101或者LI死机,或者不知道为什么你的X屏幕只有300X200,或者不知道怎么配置网卡,或者不知道为什么书上讲的cd /usr/src/linux;make config返回错误信息,或者编译了一个测试程序gcc -o test test.c 然后运行test什么输出都没有。你手足无措。你想上网问"大虾"们来获得答案。
问问题的第一点,是要明白,两个字就能说明问题并且解决一个的事发生在在一个大侠身上也许表现的很潇洒,但是在你提问题的时候只能表现的很无知,就好像那个说"我痛"的病人一样。你必须详细的描述一下几个问题:你有什么,你做了什么,你希望达到什么效果,你发现什么问题,具体的问题现象描述。比如如果你网络不通,你就需要先说你的Linux什么发布,什么版本,你怎么安装的,怎么配置的网络,详细到具体的命令,你的网络情况,局域网广域网等。你也许会说很多废话,但是要明白你是来问问题的,你不会知道究竟问题出在哪里,所以你必须把你能想到的跟问题有关的事情都说出来才可能包含具体出问题的地方。在这里你不是大侠,无关潇洒不潇洒的问题。我们的目的是解决你的问题,并且通过解决问题获得自身的提高,无它。
第二点,是不要自己做任何判断。好像那个认为Linux也应当根windows一样有个地方点右键获得"显示属性"的问题一样。你事先根据自己在其它系统上的经验来自己做了问题的限定并且将回答问题的可能限制在一个很小的范围内。这样做既限制了你自己的思维,也影响到你正确描述问题。事实是你的错误多半是概念错误,开始走的方向就错了,与其这样不如把自己明白的似是而非的东西抛开,仔仔细细的把那几个问题(你有什么,你做了什么....)写清楚,看别人会怎么作判断。
第三点,你是来提问题的,你觉得你应该受到帮助。且慢,这里已经不是教师答疑了,你不再是一个有权力受到教育的大学生了。回答问题的人也不再是你的老师或者助教了。他们对你没有责任。大家无非是在一个地方相互交流共同提高。如果有人回答你,绝对是在助人为乐帮助你。而当你的问题没有人回答的时候,多半是你的描述不够详细,别人不是医生,不必一个一个问题诱导下去。所以当你的问题没有回答的时候,先对照前面一点再修改问题的描述,这也是个思考的过程。实在不行,就自力更生吧,接着看下面的文章。
Linux的一个重要作用,我觉得,就是培养人自己探索的能力。回想我们的学习过程,从小学中学到大学。让人自己去探索的环境实在太少。所有的问题都有一个标准答案,要么在老师那里,要么在参考书上。就连作文这样无法量化的东西也有个倒霉的"中心思想"。所谓"自学"也无非是猜测到底标准答案是什么。如果要做大一点的课程项目(Class Project)也会定义的非常详细,老师恨不得把所有你能自我创造的细节都堵上,这样可以方便他评卷。这样环境下教育出来的人,到了Linux下就会经常感到无所适从--的确,没有老师的标准答案了,你做的对不对只有自己知道。
所以学习Linux,很重要的一点是有自己搜索知识,突破自己思想局限的能力。遇到问题第一步不是想"谁有标准答案"然后去问人,而是先想"我怎么能解决他",不行就自己去寻找解决办法,再考虑这个解决办法为什么自己想不出来,将来碰到类似问题应该往哪个方向去努力。最后再考虑自己是否能在这个方向上作出改进。经历过很多次这样的事之后,人的创造力会有很大的提高,而这个对于现在靠技术吃饭的人来说,就是10万和2千的区别。
OK,你有一个问题,你不知道怎么解决,你怎么去寻找答案,怎么提高自己呢?在有一个问题的时候,你首先要想,你是个新手,在你之前已经有无数个新手了,你不会是个多特殊的新手。唯一的不同是你的知识面跟别人不同,而不是你的问题有多特殊。比如你有个D-LINK 220网卡无法配置你觉得很困惑。实际情况是有很多人已经困惑过了,他们问过这个问题并且都得到了答案。所以你的第一步应当是明白"这个问题已经有根我一样的人问过并且在某个地方有答案了"。
那么,怎么找答案呢?在BBS上,你可以进入Linux版,然后想"已经有答案了,在哪里呢"。首先你可以在从前的文章里找,这个可以用搜索标题的方法。先想一下如果你要问这个问题要用什么关键字作标题,然后搜索这个关键字。在BBS上搜索是输入?号然后输入关键字再回车。搜索中用什么关键字很讲究,比如你要找有关DLINK 530-TX卡的信息,那么你要想别人会怎么问。肯定标题里有网卡型号,可是别人会怎么写呢?也许是530TX,也许是530 TX,也许是530-TX。所以但是肯定都包括530,所以你可以搜索530这个关键字,然后把搜索到的文章都看一遍,基本上就有答案了。类似的可以搜索的问题还有DE 尤220,810(Intel 810主板内置显卡驱动)等。
其实BBS只是一个很小的地方,真正最新最全的知识在网络上。几乎所有的Linux有关程序,常见问题都会有人整理出来放在网上。需要注意的是,一,Linux不是microsoft,有专门公司维护文档。Linux的文档到处都有,质量不一,而且随着Linux的不停升级会有各种版本。比如IPMASQ因为它随Linux内核升级版本更新很快,所以它的帮助(faq)也频繁升级。看了老的faq会让你更糊涂。所以找文档不要看到一个就盲从,要确认它的确有用,也许你找到的是个旧版本呢?要知道一些讲Linux的文章是5,6年前写的,当时CDROM还是个稀罕货,你想从那里获得如何用CDROM安装Linux的问题,却发现上面都是讲怎么用软盘安装,这个就不好了。另外还有有些讲内核编译的文档都是说makeconfig,而且里面的选项也很旧,实际上现在内核编译都用菜单方式的make menuconfig了。所以文档的新旧是个很需要注意的事。第二点是你无法逃避使用英文,你必须强迫自己去理解英文文档。的确有中文的文档,但是那些的普遍问题是缺乏维护,太旧了。
下来请你把这个网址写在手背上:www.google.com。以后对Linux有了问题,就去上面搜索。google是我知道最好的搜索引擎,尤其是在Linux知识方面。几乎是我想知道什么就能搜出什么,从网卡驱动到并行计算机的配置。我希望你以后在问问题之前在这上面搜过。搜索的主要技巧是选择正确关键字,参考前面讲过的,搜索530-TX的驱动最好输入Linux 530 driver字样。有关搜索技巧如果我有时间可以单独写一些东西。
另外一个地方是News Group,不过一般的news server是联不上的,而且组也不多。我们可以上www.deja.com去搜索。这里都是非常新的国际新闻组的讨论,当你的问题已经新到最新的文档里也没有的时候,可以上这里搜索。新手的问题一般不需要。
当然不要忘了BBS的精华区,那里往往有些意想不到的收获,仍然需要注意的问题是,一些中文的文档,尤其是长文章,往往很旧。