[转帖]我与Linux的故事

关于Ubuntu的故事或对Ubuntu的感慨及心情
wshuyi
帖子: 1
注册时间: 2006-07-04 9:18

[转帖]我与Linux的故事

#1

帖子 wshuyi » 2008-07-08 18:12

(注:本文转载自http://wangshuyi.blogspot.com/2008/07/linux.html)

2000年:有了概念

在上大学之前,我的头脑当中只有Windows和dos这样的操作系统,虽然我知道,它们并不好,时常死机。但是有什么办法呢?听说苹果公司的操作系统挺不错的。但是,苹果电脑除了古老的AppleII之外,我都没见过,所以也就没有办法比较了。Unix据说是工作站以上电脑才能使用的操作系统,我的PC 当时三天两头因为硬件与操作系统兼容性问题,根本无法稳定工作。一到放假,过度追求系统性能的我就要重新安装系统。后来我的机器不知道为什么,连系统安装都要出错。毫不夸张地说,我曾经一天安装13次Windows系统,试验了不同版本,最终终于安装成功了 Windows 98SE,长出一口气……

我也想有一个稳定、安全、高效的操作系统,不过当时不要说我自己了,就是周围的同学、三亲六故也没有听说过什么Linux的。非网络时代就是闭塞,即便是在大都市里面。没有办法。

上了大学,我们线性代数课的代课老师是一个刚刚毕业的博士生。他对Linux很熟悉,有一次在海报栏上面,看到他报告的题目是关于 Linux的,觉得很有意思,就在下了线性代数课之后去找他聊天。他告诉我Linux是一种类似Unix的操作系统,是潮流,将来一定会在国内流行的,只不过现在用的人还很少。他鼓励我先好好学习基础课,将来学专业课的时候会讲到的。我于是了解到了这个操作系统跟Windows似乎不大一样,要想学会“正确”使用,必须懂很多专业知识才行。

并非我望而却步,只是当时我根本没有见到过Linux,这时候不过刚刚有了一个概念而已,并不是很迫切地想要学习使用。而且Linux究竟有哪些好处?不知道。类Unix是什么意思?我没有用过Unix,唯独一次的感性认识还是在电影《侏罗纪公园》里面,那个小女孩儿惊呼:“这是Unix 系统,我用过……”我当时仔细盯着屏幕里面的屏幕看,上面是一堵堵墙……这就是Unix系统??所以,对Unix的印象不佳。
2001年:差一点儿破釜沉舟用一回

根据摩尔定律,我的电脑早就该换了。于是,2001年暑假,买了一台新电脑,呵呵。

旧的电脑就成了鸡肋,学校里面校园网的资源刚刚开始丰富起来,我于是决定把旧电脑搬到学校里面。

这台电脑的“威力”我前面已经说过了,这不,搬到学校之后,又给我来了个样子看看。居然无法正确驱动我新买来的网卡。这样,全宿舍只有我的电脑是“ 孤岛”,看着别人在网上连Red Alert和Counter Strike,只有我坐在旁边看着的份儿,那滋味儿别提多难受了。

我从购买网卡的电脑公司里面请来了维修人员。他鼓掇了两个多小时,毫无进展,然后坐在那里和我一起挠头。这时,我们系一个高手来“串门儿”,看了一会儿,随口说了一句:“Windows就是不行,还是用Linux吧。”我当时仿佛看见了救命的稻草,一拍大腿:“行,就这么办了,怎么装?你说吧。”维修人员和我们系的高手一起愣在了那里。高手结结巴巴回了一句:“这个,这个,恐怕不是立刻就能用吧,你得学习一段时间,例如我,已经学了4个月了,才刚刚入门,还是暂时忍耐一下儿吧。”我一听就泄气了。

只好忍了……

无法联网,没法玩儿游戏,导致的直接结果是我这一年的学业突飞猛进,从大一的数学险些挂掉,到这一年数学成绩96……当然,这是题外话:)

可是我就是不服气,一个操作系统,不学上半年就用不了吗?!
2002年:可算装上了!

我上了大三,终于体会到专业课里面的Linux了。

课程名称是“操作系统原理”,老师在前面一个劲儿翻幻灯,学生们在下面玩儿了命记笔记。讲了一大堆Unix与 Windows的内部机理,老师放眼望去,学生们一个个脸色茫然状,方觉不对,就问:“用过Linux吗?”除了高手等少数几人之外,众人依旧作茫然状。于是老师只好屈尊做一些“扫盲”工作。

先是在实验室装了4份Linux,也就是4台机器作为带有图形界面的Linux服务器,其余的机器用telnet 连接到服务器上面,练习基本bash操作和简单的编程。助教跑前跑后,负责答疑。第一次上课,差点儿把助教累死。学生们提出的问题五花八门,基本上没有一个“上道儿”的,“扫盲”工作看来是迫在眉睫。助教不愧是助教,想了一个办法:“同学们,大家要想知道梨子的滋味,就得去尝一尝。回去每一个人都安装一次 Linux,积累一些常识,下次课提问!下课!”

装操作系统成了作业,大家于是开始行动。我的电脑在几天前刚刚鸟枪换炮,运行Windows XP很稳定,正然得意呢。唉,得装Linux,没办法。于是把文件备份出来,准备格式化,重新分区……

我这个人大概命里主贵,快要做傻事的时候,贵人就来了。高手又出来串门了,一进门就问我:“怎么样?用不用我帮忙?”我一看他来得正好,就说稍等,格式化之后就请他来装。他一听变色:“你打算机器上就留一个Linux?强啊!”我愕然:“难道和windows可以共存?”高手仆地……

此处省略4000字。

启动菜单从“开始”变成了一个小脚丫,看着真有趣。高手的“售后服务”还真不赖,告诉我图形界面怎么使用,如何用 Kdevelope代替 Visual Studio来开发c++程序,怎么样打开一个bash窗口,如何使用“最好的编辑器”——kate……我听得入了神,不过说实话,没记住多少。

从此之后,我在cs酣战之余,也跑到linux下面溜达溜达,感觉开发工具不够人性化,而且游戏又不好玩儿,净是一些学龄前儿童适用型。什么“贪吃蛇”、“推箱子”……没有意思。更可恶的是明明我把文件拷贝到了软盘上,拿到别人的机器上面死活找不到。高手说是因为没有按照规定流程 UnMount。我于是愈发不喜欢这个系统了。尤其是有一次我把刷新率调得太高,启动之后屏幕死在那里,机器没有死,可是进不去图形界面,我怎么调刷新率呀?高手不在宿舍,又没有手机。我只好自己坐下来,重新安装了一遍。这才知道,这个操作系统娇气得紧,以后除了交操作系统原理课的作业,我再也不碰它了。
2003年初:我怎样把它改造成Windows一样呢?

2003年第一学期开学了,我们用linux也有半年了。我们楼下自动化系的同学跟我们一起上操作系统原理课,经常跑来问我们一些bash命令和 shell script编程,逼得我只得不懂装懂,一通解释,不知所云。最后只好老老实实把他们打发到高手那里去了。(还好,他们现在都被学校打发到清华和中科院去了,不会再来麻烦我们了。)他们还阅读GNU文档,学会了不少关于Linux的历史知识,经常给我们讲解:Gnome怎么发音?GNU是什么的缩写?…… 我怎么听着怎么像:“‘回’字有4种写法,你知道么?……”

我们可是计算机系的,科班出身啊!怎么能被他们“外行”藐视?我于是开始上网学习,收获颇丰,例如:如何使用 mplayer播放vcd, rmvb, avi等格式文件,如何使用linux版本的quake,如何安装Wine虚拟器,并在其上运行IE6.0与Counter Strike1.5……拿着这些成就,我也去“藐”他们,果然,他们不懂,嘻嘻。

有了这些资本,我开始飘飘然了,有了更大胆的想法:如何能让我的Linux从外表看上去跟Windows xp一模一样呢?我开始抛弃KDE,找来XPDE,安装上一看,简直就是一个英文版的Windows。用我的假Windows xp,上面加上Wine,跑Counter Strike1.5,跟他们联网,把我们屋的Counter Strike玩家看傻了,非用武力胁迫我教给他如何也能这样玩儿。我这个得意啊!

4月底一个周末,我像往常一样回家去了。盘算着回头要把这些linux设置都备份出来。那可是我的杰作呀。万一哪天硬盘坏了,我岂不要欲哭无泪?

哪知道,这次回家,却不能立即回学校了。虽然,从我家骑车到学校,不过20分钟,但是我再次回来,却要等上一个多月了。一场席卷全国的疫情蔓延到了天津,突然之间,天津成了疫区。我与不少本地同学一样,被学校勒令在家隔离了。
“非典”时期:我认识了Linux

口罩、消毒水、紫外线、每日滚动播出的各地疫情报告……这些意象构成了那段日子的主题。学校不让我回去上课,作业却是要按时交纳的。我们老师专为我们编写的优秀的linux扫盲教材现在还在我的宿舍里面,没有参考程序,我只好上网搜索参考资料。网络成了我与外界的几乎唯一通道。查题目,交作业,上 bbs……虽然我足不出户,但是学校发生的一切,我都知道,例如“柏林墙”的建立等等。

我依然自我感觉良好。毕竟,放在宿舍的那一台计算机里面,我的成就依然存在。我可以让linux长得像Windows,有谁和我一样,可以完全用linux呢?

是啊,有谁和我一样,可以完全用linux呢?这是个不错的研究题目。看了半天DVD,我闲得无聊,于是上网搜索这样一个关键字:“完全用linux”……

真没有想到,恰恰就有这样一篇文章,题目是:“完全用linux工作”

我来了兴趣,把这篇长文从头到尾读了一遍。待我读完的时候,大汗淋漓。

我这才知道,自己这近一年的时间,究竟干了些什么,学了些什么。我所做的无非是浪费时间的游戏。我所学的无非是肤浅的雕虫小技与皮毛。 Linux是什么?我完全搞错了。那个图形界面,那个伪Windows xp,那个KDE,那个小脚丫,它们根本不是Linux。kdevelope不是Linux开发人员的首选工具,kate并不是“最好的编辑器”, bash并不是非得在图形界面下面开一个窗口才能运行……

我在干什么?!……

Linux的套件当中,有如此众多的优秀工具。我每一次安装其实都是不加选择的“全盘接收”,却从来没有使用过它们。我错过了Linux可以带给我的一切有意义的用途,成天在把它当成Windows来用。

冷汗出透了,我也平静了下来。开始琢磨怎么补救。

我找到了这篇文章的出处,是一个叫做王垠的清华博士的个人主页。上面的链接丰富多彩,里面的文章深入浅出。这是一个公益网站,他甚至教给了大家如何全部下载的方法:wget -r ……

我的modem只有56K,但是我还是开始了下载,好在这个wget支持断点续传。

我一边下载一边看,并且尝试着按照文中介绍的方法配置相关的软件,学习使用。但是我这才发现,自己对于linux 的基础知识,真是太浅了。 bash基本不会用,脚本就会做个循环,打印个数字,显示个日期。这怎么行?我只好先学习基本的编辑器Emacs,这个编辑器从前我使用过,特别不顺手。这次正好儿从头来过。

基础知识需要补充,既然有王垠的网站这样通俗易懂的公益网站,我想介绍更加基础知识的网站应该也有吧。我试着搜索,google真是个好东西,几番周折,我找到了“鸟哥的私房菜馆”,一个台湾的研究生的杰作。简直是一本入门大全。按图索骥,我又找到了洪朝贵老师的网站,一个更加适合资讯专业学生的知识网络……

有了这些知识来源,我开始了学习与实践过程。这个过程是艰辛的,我也曾经打过退堂鼓,但是每次学到新知识、配置成功一个新的软件之后,那感觉似乎是解开了一道艰深的数学习题,畅快!一次次小小的成功鼓励着我,进步的速度虽然比蜗牛爬快不了多少,但那进步却可以时时感受到。

“祸兮,福之所倚。”没有想到,“非典”时期在家隔离的这些日子,我却过得比以往更加充实。我学了不少知识,更学会了如何寻找知识、发现问题、解决问题。这些都算是意外的收获吧。

6月中旬,疫情解除,我们终于可以回学校了。要补课,要考试,功课很忙,我没有时间再泡在这些网站上面了,此后绵延近2个月的考试与复习让我疲于奔命,由于多次上交的UNIX程序不合标准,最后unix课成绩不高。但是,我心里一直有一种喜悦,那就是我真正认识了一个适合科研工作者使用的操作系统,并且还有这么多人在使用它,帮助大家学习它并且为了宣传它而努力。我相信,我的学习不是白费的,总有一天,我获得的高效率会给我以回报的。
2004年:Help!我的论文太长了!

要毕业了,大家各自忙各自的。我给自己找了不少事情做:蹭课、听讲座、学法语二外、学Linux、做毕业设计……每天忙个不亦乐乎。

我们系如今诞生了不少的linux高手,我们本着linux自由的原则在一起探讨问题,交流软件,共享资源。他们主要用linux编程和上网,而我却打算多用linux做一些有意义的事情。

于是,在我写毕业论文的时候,linux派上了大用场。

工科的学生,需要做毕业设计,就是做一个东西出来,让人知道你起码可以干一个“初级软件蓝领”能干的活儿。但是这不是全部,干活儿的同时,论文也得写。文科理科只需要堆一篇论文出来就行了,可我们不行。由于论文的内容与毕业设计直接相关,所以想在网上找现成的几乎不大可能。一旦真有现成的了,你的毕业设计也就没有意义了。

在这种背景之下,我开始了毕业论文的撰写。因为我的毕业设计在2003年12月初已经初具规模了。在别人开始搜寻材料,准备开始动手设计的时候,我按照王垠的网站开始学习LATEX,准备用它来轻松地完成一篇高水平毕业论文。

王垠的无私奉献精神实在值得我们钦佩,作为样例,他把自己的本科毕业论文(包括tex源码)放到了网站上面,提供大家下载。我于是一边看他的网页和 lshort学习基本知识,一边按照他的毕业论文照葫芦画瓢。开始的时候,进度极其缓慢,编译到处是错误。毕竟用惯了 word,冷不丁一用这种编译方法来写文章,不习惯。但是到了三月中旬,我的论文就有了框架了——插图、目录、代码列表……怎么看怎么是专业的,乐得我到处展示给别人看。

人有的时候就是这样,喜欢某个工具,就恨不得它能够做所有的事情。我这时候儿又钻了牛角尖,非要把我的毕业设计拿到linux底下做,原因是用惯了 emacs之后,我对着Visual Studio.NET直运气——这东西怎么这么不方便?!可是,.NET的东西弄到linux底下做,这谈何容易。我于是上网搜索,还真找到了几个项目是干这个的。于是装了一个mono,在上面编程。图形界面那是想都不要想,根本不可能,而其中的网络功能部分却可以正确编译,好!

用熟了LATEX与emacs,写论文已经变成了一种享受,我充分地利用它们的能力,将我的代码、注释变成标准的文档,插入了许多eps插图,图文并茂。我不停地写着,享受着emacs+LATEX写科技文献的乐趣……

到了4月中旬,我的论文已经基本完成了,可是我发现不妙了:居然有70多页!我打电话给指导教师,老师说太长,让我缩减一下儿。唉!那整齐的文稿,漂亮的footnote,完备的交叉索引都是我的心血啊。只好忍痛割爱,大删大改。

4月下旬,我已经准备好了五一的出游计划了。和我一起上法语课的几个同学打算一起去敦煌溜达溜达,我也欣然规往,可是这时候,意想不到的事情来了。

指导教师看过我的论文,说:“内容不错,格式不行,得用word做。”

……

(此处省略500字。)

我醒过来的时候真体会到了什么叫做前功尽弃。让我放弃LATEX,用word?!!

老师耐心给我解释说这是学校的要求,因为所有本科毕业论文都要收录到论文集当中,可是院里面负责收录的老师只会用word啊,你给他pdf,他没法再排版;你给他latex源文件,他看得懂吗?

我这才明白为什么微软的产品为什么都要牺牲效率以提供兼容性了。因为你提供的升级产品,客户不一定明白它是什么、有什么好处,除非他之前常用、会用。

我的五一啊!我梦中的敦煌啊!呜呜~~

40多页的论文,包含一切的科技文献特色,要在保留效果的前提下转换成word,这个工作量只比我的毕业设计稍微轻一些,稍微。至少在我看来。

这给了我一个机会,让我对于word的低效有了充分的发言权,许多本来可以让计算机智能完成的任务,现在都得我来做。许多我之前根本不必关心的问题,现在都成了要务。Emacs编辑的强大特性,word一概没有。幸亏我的论文内容已经定稿,否则能不能按时上交简直都成了问题。从那之后,只要写科技文献,我一定躲着word,远远的。

只占全体学生名额3%的优秀毕业论文(设计)证书拿到手的时候,我心里真是说不上什么滋味。我的付出,确实很多。但是把latex手动转换成word这个事情不仅仅是无效劳动,而且到今天,我都懒得再看那word版的论文一眼。用word写的科技文献太丑陋了!
2005年:电脑你先忙着啊,我去睡了

我上研究生了,进实验室了。

我们实验室主要研究无线宽带网络协议性能分析与改进,平时需要做大量的仿真与测量。我们所用到的仿真工具一共有三种:opnet, ns2以及Qualnet。在我的工作中,导师要求使用Qualnet。

这个仿真软件很有意思的,跟搭积木一样把一些电脑、网线、路由器、基站摆在工作区以内,然后设定各项参数,就开始运行了,还有动画呢!动画看完的时候,分析结果也就出来了。我们需要做的工作是不断调整参数,然后陆续接收结果数据,进行统计、运算,而后用图形、表格列出来,以便在原始协议与改进协议之间进行全方位比较。

令我感到兴奋的是,这个软件可以在Linux下面使用,太棒了!

新手刚开始工作的时候,总是很愉快的,我就是这样。可是干了一段时间,发现问题了。这样一次次“调整数值──运行──采集运行结果”下来,到把所有参数都测试完,那还不得等到猴年马月啊?再说了,我得一直坐在电脑跟前,不断干着这种重复性工作,太枯燥了。不多久,那好玩儿的动画我就看腻了。更麻烦的是出来的结果,很长的一个文件呢!里面能有200多行,可其中我们需要采集的数据只分布在其中不相邻的6行,我得“打开结果文件──找到想要的数据──保存成一个可以分辨的文件名”。这工作虽然可以使用“查找──复制──粘贴──存盘”来做,不过也是相当的费劲啊。

看来一定有什么地方做得不对了。我于是去请教师兄。师兄告诉我“批量运行”的问题倒是能够简化,Qualnet当中提供了批处理运行方式。不过,只能对单一参数进行批处理。换句话说,如果我们的协议分析要比较三个变量,每个变量需要变化20个数,运用单次处理我们需要20*20*20=8000次手动运行,而运用批处理,就可以在设置之后,只需要手动启动20*20=400次了。

听起来不错,不是吗?可是问题依然没有解决,因为我们需要比较的参数太多了,这种量级上的简化根本就不够用。况且,我依然需要在每次手动运行之后,去打开那20个文件,从里面“查找──复制──粘贴──存盘”,要多麻烦有多麻烦啊!

我问师兄有没有什么办法。师兄说办法是有的,他也正在学,就是脚本程序编写。

原来,计算机最善于处理的,就是机械的任务。人觉得越枯燥的事情,计算机干起来越欢快。师兄正在学的是awk,一种很有用的脚本工具,被称作 “UNIX程序员的瑞士军刀”。我似乎能回忆起本科时候操作系统课上听老师念叨过这个东西,不过那是很早以前的事情了,而且当时也没有在意。这下只好重新学了。

上网搜索了一下,据说有一本"SED and AWK"不错,于是下载了一个电子版,英文的,一页页地啃。这本书分两个部分,前面是SED,讲基础的,包括正则表达式这种“高深”问题,后面才是AWK 的语法。书写得倒是很流畅,而且例子很多,可以循序渐进。我一边读,一边在Linux下面用一些简单的例子来练手。别说,还真有用,还帮着师兄把实验室的 WEB服务器的几处烦琐的修改很快完成了,算是“学以致用”吧。可是我觉得SED太麻烦了,需要注意的东西太多了。结果还没有在这本书里面见到AWK呢,我就学不下去了。

不过,这时候师兄的学习进度可是日新月异,他不仅掌握了AWK控制循环输出,而且还学会了用AWK来进行分析运算。于是,根据经济学上的“比较优势 ”原则,我停止了AWK学习,让师兄帮我编写一个运行与摘录脚本。“会者不难,难者不会”,师兄再次拿起这个问题,简直就是"a piece of cake"了。他编写了一整套脚本,交给我,让我使用命令行方式运行Qualnet。

这次,一切都发生了翻天覆地的变化。

我把参数写在师兄给的脚本文件的前4行,然后运行,就再也不用管了。Linux读入脚本,控制着电脑在那里疯狂运转,中间毫无止歇。不多会儿,我测试的2000次运行的结果就出来了,令我惊诧的是,根本不需要我再去“查找──复制──粘贴──存盘”了,所有的结果不仅已经正确摘录,而且脚本程序自动分析出了均值与置信区间,规规矩矩写在了最终的结果文件里面。

原先需要许多天才能完成,而且还难免有疏漏的工作,现在只用了半个多小时就全部完成了,太神奇了!

好了,既然测试结束了,那就正式干吧。原先为了省时间,一个仿真独立做10次,取均值;现在干脆做20次,追求更高精度!

我所需要做的,就是在那个脚本文件前4行修改了一下参数,存盘之后进入Linux的shell,打进命令,回车!然后嘛,呵呵,“电脑,你先忙着啊!我要去睡了。”
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

#2

帖子 adagio » 2008-07-08 18:50

how long……
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
sammysun
帖子: 4088
注册时间: 2007-12-08 23:33
来自: SCUT-guangzhou

#3

帖子 sammysun » 2008-07-08 19:18

TOO long……
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

#4

帖子 冲浪板 » 2008-07-08 19:38

累不累阿
stahine
帖子: 88
注册时间: 2007-06-12 16:17

#5

帖子 stahine » 2008-07-09 2:28

好文章
头像
lovewine
帖子: 1233
注册时间: 2006-03-25 10:36
联系:

#6

帖子 lovewine » 2008-07-09 10:11

果然是生产力工具啊!
敬礼一个!
让自由的声音传传传传传传传传天下。。。
Spread the words of freedom.
头像
TONO
帖子: 211
注册时间: 2007-06-27 19:53

#7

帖子 TONO » 2008-07-12 8:35

:arrow: :arrow:
头像
hqwxyz
帖子: 141
注册时间: 2008-05-04 23:25

#8

帖子 hqwxyz » 2008-07-30 10:53

应该顶!
尝试中
dell640M
麦克风/投影仪还没有正常工作
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#9

帖子 xiooli » 2008-07-30 11:20

哎,要是化学也能这样自动化就爽了。
头像
blissday
帖子: 384
注册时间: 2008-05-18 14:23
系统: Win7
联系:

#10

帖子 blissday » 2008-07-30 11:26

so long!
seine
帖子: 26
注册时间: 2006-11-26 20:31

#11

帖子 seine » 2008-07-31 5:09

太长了,看不下去,楼主来点精华?
tensaikujin
帖子: 38
注册时间: 2008-07-31 12:09

#12

帖子 tensaikujin » 2008-08-04 11:34

……计算机最善于处理的,就是机械的任务。人觉得越枯燥的事情,计算机干起来越欢快……
一语道破……
头像
Angus_Yann
帖子: 1736
注册时间: 2008-03-20 23:29
来自: ZJU

#13

帖子 Angus_Yann » 2008-08-09 12:17

Orz...
好长……
不过支持下
80后俊男一枚,Arch党,软件洁癖,标准果粉,萝莉控
欢迎Follow我的Twitter:@AngusYann <--点击前请自学[穿·墙·术]
头像
想入非非
帖子: 8078
注册时间: 2008-07-14 22:42
来自: Beijing
联系:

#14

帖子 想入非非 » 2008-08-09 13:55

好长的文章不过很有意思
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#15

帖子 syrano » 2008-08-09 23:14

强贴
E=m c^2
回复