专访资深系统管理员曹江华:从车间走入Linux世界

原创
系统
互联网进入国内差不多是1995年左右,而1999年正是IT行业飞速发展的一个转折点。国内著名的Linux专家曹江华老师,就是1999年投入到运维领域的。51CTO系统频道近日对曹江华老师进行了邮件专访,请曹江华老师谈了谈自己的职业发展经历。

【51CTO独家特稿】随着IT技术在上世纪90年代开始在中国普及,这个产业也簇生了国内第一批系统管理员、网络管理员的诞生。相对于现在无所不在的以Windows为基础的企业网络和奔跑在无数Linux服务器上的网站,90年代的IT基础架构还处于非常原始的状态。互联网进入国内差不多是1995年左右,而1999年正是IT行业飞速发展的一个转折点。那个时候的技术人们,无论是开发者还是运维们,虽然可以获取的资讯和技术知识相对贫乏,但是那时的人们都充满着对技术的热情,投入到新技术的学习和使用当中。

国内著名的Linux专家曹江华老师,就是1999年投入到运维领域的。51CTO系统频道近日对曹江华老师进行了邮件专访,请曹江华老师谈了谈自己的职业发展经历。一方面让大家了解一下那个时候的系统运维的工作状况,另一方面也给现在的系统运维们分享一些学习经验(这些经验之谈可能不仅仅影响到你在Linux方面的学习)。

嘉宾简介:

[[17308]]
Linux专家曹江华老师

曹江华,1999年开始从事构建网络、管理维护、数据库管理工作。1999年后开始接触LINUX,将工作中的经验总结后已出版《Linux服务器安全策略详解》,《Linux服务器安全策略详解》(第二版),《Red Hat Enterprise Linux 5.0服务器构建与故障排除》,《Linux系统最佳实践工具:命令行技术》四本堪称Linux系统管理员日常工具书的热销图书,目前关注开放系统和网络安全。

51CTO:首先简单的介绍一下您自己吧。能否简单的介绍一下您在运维领域的经历?比如什么时候进入这行,现在在哪里工作等等。

曹江华:我毕业于工科大学机电一体化专业,当时从事的是CAD设计。后来开始从事小型数据库的应用。1999年开始从事构建网络、管理维护、数据库管理工作,1999年后开始接触LINUX成为Linux系统管理员。目前关注Linux和网络安全管理。现在是linuxpilot(现在是唯一的中文Linux专业纸媒体了)的专栏作家和自由撰稿人。

51CTO:您最初接触系统管理员这方面的工作是怎样的情况?看您的一些介绍,好像您一开始是从事CAD设计的吧。能跟我们描述一下当时您是如何进入运维这个领域的么?您当时的工作环境是怎样的?如何学习一项新的技能呢?

曹江华:我进入计算机系统管理员非常偶然。大学学的机电一体化专业计算机课程只有两门(for77计算机语言和CAD绘图)。工作以后到了北汽集团发动机工厂生产线,一干就是三年。第一年实习。后边两年是当班车间主任。这三年的工作几乎和计算机没有任何关系。三年后工厂发动机工厂生产线停产了,我进入北汽的计算机中心。其实我当时也没什么关系,那时国有企业效益太差了,分配来的计算机专业的大学生全走了,实在没有人可用了;因为我工厂生产线三年,一直是劳模,领导说你去干干吧,我就去了。刚开始是CAD绘图,这个大学学过,当时几乎都忘了用三个月时间重新学习。1997年开始使用dos环境的DbaseIII数据库,后来是Foxbase数据库,现在可能计算机专业同学可能都没人知道了。

1999年在计算机世界报刊看到了一点点关于Linux的介绍,我被其中“源代码全部开放”所吸引。我有点不敢相信,因为当时正在学习编程,正苦于为找不到系统代码而发愁。从那以后,每一份杂志我都要浏览一下有没有Linux方面的消息。我在没有电脑、连Win32操作都不熟练的的情况下,买了一本《Linux从入门到精通》,然后安装《微电脑世界》随书赠送的蓝点Linux(51CTO编辑注:蓝点/BluePoint是那个时候红极一时的中国Linux发行版,只用了半年就在纳斯达克上市,市值4亿美元。不过后来由于种种原因而以出售作为终结,所以现在的Linux用户们可能没听说过这个发行版)。我硬是把这本书从头到尾看了一遍,终于搞明白了什么是分区、什么是mount。因为我没有学习过Windows,所以和其他用户相比,对命令行并不排斥。对于我来说感觉Windows系统和Unix、Linux 是一样的,没有什么不同。

51CTO:回顾您在系统运维领域这么多年的经历,您觉得哪段时间是您成长最快的?那段时间有没有什么记忆深刻的人或事,或者什么特别的经历或机遇?

曹江华:在系统运维领域多年,感觉还是在北汽集团计算机中心的五年印象最深刻。当时企业内已经建立了网络环境,可是那时国有企业效益太差了根本没有条件升级计算机。当时win 95 已经问世了,可是我们的计算机配置大多是386-486 ,只有几台586 还是领导办公打字用。我在386上运行windows几乎跑不起来,运行linux倒是没有什么影响。我就是这样开始了Linux之路。

51CTO:您对Linux和Solaris系统写过不少文章,也出版过好几本书籍了。最初开始写这方面的文章,是有什么契机么?

曹江华:我开始写作是看到2000 年《开放系统世界》创刊号,我把自己写的两篇Linux配置总结的稿件发送给他们,马上他们的编辑联系我文章也发表在第四期上。当时Linux用户很少,文章奇缺。现在看起来自己写的两篇稿件是ABC之类扫盲文章。从此之后开始了和《开放系统世界》长达七年的合作,我和国晓平编辑合作一共写了文章147篇共80多万字。

后来又开始和网管员世界、IT168、IBM开发者频道、计算机世界、中国计算机报、51CTO、微电脑世界、天极网、IT专家网等十多家媒体合作,加起来也有200多篇文章100万字。另外发表了用于评高级工程师用的论文9篇,其中一篇入选SCI(科学引文索引)。2007年底电子工业出版社找到我开始出版书籍。

这里要说明一下我的书籍。有些网友评论有所谓拷贝粘贴的现象,其实我在书籍都是引用我自己的文章,读者可能不了解。一方面和我合作的纸媒如《开放系统世界》发行量不大许多读者没有看到,另外我在网络媒体上发文大多使用笔名:如IT168的华江、曹元其、何勤童等十几个。我的书籍引用我自己的文章恐怕没有问题吧?另外我每年在IBM开发者(IBM DeveloperWorks中国)Linux频道也有发表文章。

51CTO:撰写过这么多文章和书籍,您觉得对您自己收获最大的是什么?

曹江华:写过这么多文章和书籍,对自己收获最大是理论知识的学习。我的专业不是学计算机,刚开始就是使用Linux、Solaris等系统,并没有理论基础。写过文章和书籍过程中看了许多工具书,等于自学一遍计算机理论。当然,我所涉及的主要是类Unix操作系统。

#p#

51CTO:您也是经历过很多技术变迁的老系统管理员了,从Netware,IBM和HP的Unix,Sun的Solaris,到Windows NT和Linux,您都或多或少接触或了解过。您自己是如何看待并适应这种技术变迁的?有没有什么建议提给现在一些年轻的系统管理员们?

曹江华:其实我学习使用的主要是类Unix操作系统。要说建议,这里有一篇我发表在2005年9月的《网管员世界》的一篇文章,感觉可以当作给现在一些年轻的系统管理员们经验。

系统学习Linux 11点建议

一、从基础开始

常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linux 的基础之后,应该就可以很轻易的解决掉这方面的问题。而有些朋友们常常一接触Linux 就是希望构架网站,根本没有想到要先了解一下Linux 的基础。这是相当困难的。

二、Linux命令是必须学习的

虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。举一个例子:Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手.它的功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。

不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统:

安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh

文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln

系统管理相关命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last

网络操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup

系统安全相关命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho

三、选择一本好的工具书

工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多,笔者强烈建议阅读影印本的“O'Reilly原版Linux图书http://www.oreilly.com.cn/  ”,而且出版社还提供了一个非常好的路线图:http://www.oreilly.com.cn/guide/guide_linux.php 见图-1。

Linux学习资料进阶路线

四、选择一个适合你的Linux发行版本

目前全球有超过1百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,Redhat Linux 和Debian Linux是网络管理员的理想选择。对于英语不是很好的读者红旗Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。(51CTO编辑注:到2010年为止,各个主流的Linux发行版的中文化已经做得相当不错,比如曹江华老师最近对红帽企业级Linux 6的两篇体验之旅中,无论是安装过程,还是其中的管理工具,都已经进行了相当程度的中文化,但是文档、帮助文件方面,主要仍然是英文。如果想要深入学习Linux,学习专业英文是不可避免的步骤,这点可参考下面第十点)

五、养成在命令行下工作的习惯

一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢,但是熟悉后,您未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。即使是通过一条缓慢的调制解调器线路,它也能操纵几千公里以外地远程系统。

六、选择一个适合你的Linux社区

随着Linux应用的扩展,出现了不少Linux社区。其中有一些非常优秀的社区:www.linuxforum.net(国内最高水平GNU站点)、http://www.chinaunix.net/ (中国最大的Unix技术社区),但是这几个论坛往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。

七、勤于实践

要增加自己Linux 的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个 Linux 发行版本,然后进入精彩的Linux世界。相信对于你自己的 Linux 能力必然大有斩获。此外,人脑不像计算机的硬盘一样,除非硬盘坏掉了或者是资料被你抹掉了,否则储存的资料将永远而且立刻的记忆在硬盘中。在人类记忆的曲线中,你必须要不断的重复练习才会将一件事情记得比较熟。同样的,学习 Linux 也一样,如果你无法经常学习的话,学了后面的,前面的忘了。你对Linux命令熟悉后你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。当然你不需搭建所有服务,可以慢慢来。需要说明的是这个Linux网络对于初学者有两三台计算机即可,其中一台计算机最好安装Windows系统。自己多动手,不要非要等着别人帮你解决问题。

八、如何得到联机帮助

和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。其实当你安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。

1. 主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。

2. 查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。

在Linux论坛获取帮助

如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人,Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问,否则只会得到到草率的回答或者根本得 不到任何答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。

下面笔者在论坛看到的一个好问题:“安装红旗4.0 后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练,笔者五分钟后就给出了解决方法:“首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑/usr/local/unispim/unispimsp.ini ,最后重启动计算机,生成新的unispimsp.ksc”另外得到回复后如果问题解决,向帮助过你的人发个说明,让他们知道问题是怎样解决的,这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。

下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢” 这样的问题我想即使Linux高手也很难快速准确精练的回答你。

你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。另外把这个问题放在其他Linux社区请求帮助也是一种选择。如果得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。

另外发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。

九.用Unix思维学习Linux

Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。

十.学习专业英文

如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的,最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。即便是非英语国家的人发布技术文档,也都首先翻译成英语在国际学术杂志和网络上发表。安装一个新的软件时先看README,再看INSTALL,然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。

十一.最后是Linux学习的路线图

  1. 掌握至少50个以上的常用命令。 
  2. 熟悉Gnome/KDE等X-windows桌面环境操作 。
  3. 掌握.tgz、.rpm等软件包的常用安装方法
  4. 学习添加外设,安装设备驱动程序(比如网卡)
  5. 熟悉Grub/Lilo引导器及简单的修复操作 。
  6. 熟悉Linux文件系统 和目录结构。
  7. 掌握vi,gcc,gdb等常用编辑器,编译器,调试器 。
  8. 理解shell别名、管道、I/O重定向、输入和输出以及shell脚本编程。
  9. 学习Linux环境下的组网。

以上就是曹江华老师分享的一些Linux学习经验,希望能对你有所帮助!

【编辑推荐】

  1. 专访运维与人才外包专家黄琨:运维工作最大的挑战是什么?
  2. 李洋:漫谈基于开源工具的运维自动化实现
  3. 系统管理员大拿Tom Limoncelli谈交流
  4. 资深系统管理员给Linux/Unix新人们的建议

 

责任编辑:yangsai 来源: 51CTO.com
相关推荐

2010-08-12 11:03:41

系统管理员LinuxUnix

2010-05-07 16:35:44

2013-12-09 16:15:08

系统管理员WebminLinux服务

2012-11-01 11:33:11

IBMdw

2013-10-18 09:31:03

Linux 系统Linux 发行版

2010-08-10 09:13:52

Unix系统管理员Ubuntu

2010-08-11 17:11:15

2019-09-09 14:45:29

系统管理员SRE

2010-05-06 18:07:33

Unix命令

2013-03-30 21:59:13

系统管理员必备工具iftop

2019-03-15 15:47:43

Linux系统管理员编程技能

2012-05-21 10:13:12

Linux系统管理

2010-07-09 12:52:21

2018-08-01 08:12:34

Linux管理员网络管理

2018-08-15 14:00:18

LinuxBash系统管理员

2013-08-20 10:11:20

Go系统管理员

2012-06-06 10:41:37

系统管理员运维

2013-06-26 09:29:30

系统管理员

2010-11-10 09:36:38

系统管理员守则

2011-10-20 10:29:22

VMwareVMworld虚拟化
点赞
收藏

51CTO技术栈公众号