作者:燕随春雨归
说起接触Linux,要从上大学的时候开始算起了。那个时候教网络的老师(后来我读研就投在他老人家的门下,他成了我的导师)让我们做网络实验,实验的题目有两个:一个是实现路由模拟器;第二个是使用Socket编写基于TCP/UPD的C/S网络程序。第二个任务就是我们全班同学使用各自的账户同时Telnet登录到一台Linux服务器上,使用C编写底层的Socket通信程序,实现信息的单播与广播。通过这次使用,Linux系统给我的第一印象就是太适合做服务器了。
当时程序开发流行的是微软的Visual Studio 6.0,包括VB、VC什么的,大多是一个人占用一台机器进行独立的开发,很少有人用Windows支持协作开发的服务。所以整个班级使用同一台Linux编程、测试,而且性能也不见明显下降,让人确实觉得它天生就是做服务器的料儿,对Linux佩服的五体投地。(其实,到后来才发现,Linux能完成的大部分工作Windows同样可以完成,只是性能可能会低一些)。
之后又在北京一家公司打工,进行Java的开发时也用到了Linux;再后来就是读研的时候所做的项目也是在Linux上开发的,当时要收集Linux服务的系统调用,需要修改和重新编译Linux内核(修改内核是我完成的,编译内核是我同学完成的)。
现在总结起当初在Linux上开发的经历,虽然时间很长,大约4年的时间,但真正掌握的不过是Linux的安装,开发环境的配置和内核结构等几项,其它方面却知之甚少。
对于Linux作为服务器进行全方面的了解还是来到学院工作之后。
2005年7月,我毕业来到学院工作,第一门课就是Linux网络操作系统,从安装、基本配置、各种服务到Linux安全。这时,我才接触到Linux强大背后的另外的一面:界面的不用好、配置的繁琐、配置语法要求严格。在这个学期,吴?老师(因为我的身材是0,吴老师的身材是?,所以昵称为吴?老师。)是我的帮带老师,对我要求忑严,三天两头来听课,本来讲课就不好,弄得我更紧张了。不过吴?老师Linux挺牛的(其实不光Linux),人也特热心,帮我解决了不少难题,不然我每次备课都要到凌晨了。
到学院2年多了,我已经讲了3遍Linux,遇到了很多的问题,也查出了许多的新用法。总之,虽然Linux的水平依然平平,却也有一些得失可以拿出来给大家分享。
先说说学习方法吧(又是老生常谈了,总也改不了老师的三板斧),Linux是注重实践的,较之Windows而言,Linux确实不好配置,这就需要我们多动手去做、去试。遇到的问题多了、解决的问题多了,才可以学得深、学得精。wl0501有一个学生叫张背心儿(昵称),学习Linux就不错,因为他喜欢钻研、喜欢动手,没事就尝试着做各种应用(他曾经自己做了个论坛,很像样子)。有一次,我让他们帮我给服务器做一个Linux Iptables的防火墙,结果他给我整了一个包含了防止DOS攻击的超强配置,连我都看得傻眼了,而我最初都没有这方面的意识。网络专业这样的学生有许多,如果你想学好Linux,就不要怕麻烦,不要怕格式化系统,不要怕错误,有错误就去查资料想办法更正,错误是只会下金蛋的母鸡,这正是你增长技能的最佳时机。
然后说说参考资料吧,要求打赢一场战争,首先我们要有士气,建议大家读一读清华大学博士生王垠的《摒弃Windows 完全用GNU Linux工作》,这是Linux阵营讨伐Windows的檄文,虽然有的地方未免偏激,但是对于准备学习Linux的人来说却能起到很大的鼓舞振奋作用。我将在文末附件中提供给大家这篇大作。
在网上搜索Linux的资料,结果可能上亿,web页面的、文档的、PDF的、视频的应有尽有。总结起来,常用的不过这么几大类:基础操作类(比如Linux从入门到精通)、服务配置类(NCNE的教程等绝大多数教程多会有服务器配置,只不过详略有别)、安全应用类(讲述许多Linux上的安全应用)和软件开发类(比如Shell编程、C、C++、Java的开发)等,再深入一点就是关于内核内容的了(比如Linux内核精解的等),我们要采取循序渐进的学习方式,自然也要选择合适的资料了。
其实最丰富的资料库就是Internet,很多很多的问题我们无法从书上找到解决方法,都要借助Internet来解决,Internet上的高人很多。
本文最后,还是总结一下我自己对Linux的看法吧。
第一:Linux最适合做服务器,因为它性能稳定,也比较安全,与Windows相比,针对Linux的病毒较少。我第一次教Linux的时候在我的教师机上安装了一个RedHat 7.3,稳定运行了将近两年,要不是因为拿它作服务器,需要重新分区,也许还要继续运行。而我的Windows系统却重新做了不知多少遍。
第二:Linux管理与操作麻烦,界面不友好。Linux没有像样的GUI(图形用户接口),它的最大优势是CLI(命令行),所以我们要记住很多命令,而且有些配置文件对格式的要求很严格,空格和Tab键是不能混淆的。
第三:硬件支持问题。现在的硬件发展日新月异,而硬件厂商针对Linux的驱动却不能很好的同步,导致我们在安装Linux的时候经常出现问题。比如RedHat Linux 7.3安装在串口硬盘上会发生不识别硬盘的现象,许多系统打不开Gnome或KDE等界面,许多系统不能使用网卡。大家经常会遇到这种情况,我们需要在网上找相应的驱动,或者提升Linux版本等。不过大家不要气馁,只要你把Linux安装好了,它就会稳定的运行,比Windows强出百倍。
第四:Linux应用越来越广泛,尤其是在中国。当政府给我们施加压力,让我们放弃使用盗版Windows的时候,会有许多的小公司因为无力购买昂贵的Windows服务器而转向Linux。另外,国家关键部门因为安全的需要也在推广使用开放源代码的Linux,因为大家都知道Windows里面有后门(这是澳大利亚人发现的)。对于我们专业来说,除了配置Linux服务器,还可以在Linux上开发Apache+PHP+Mysql或者Linux上的Java程序,这些都有很广阔的应用市场。
总之,学好Linux并非易事,对我们却非常有意义。
好了,今天先说这么多,希望这篇坐井观天的总结能够起到抛砖引玉的作用。


yourfriend 于 2008-07-01 01:34:16发表:
除了理论阐述,加上gnome、kde4的美艳,应该不错。
Gones 于 2008-06-30 15:46:46发表:
现在的界面改变了很多了
josephwu 于 2008-06-30 10:39:04发表:
界面不友好吗?