我是如何从桌面维护转到Linux系统运维

之前一直从事Windows桌面维护和Windows server服务器维护,技术还算行,就是杂事很多。虽然说服务器稳定,可是公司每天都有很多杂事儿,一会打电话来说我输入法用不了了,一会说我office打不开Excel了,每天都是鸡皮蒜毛的小事儿,很浪费精力。持续了两年时间都是浑浑噩噩的。

如今的互联网,绝大多数的网站、服务、游戏均是跑在Linux上面的,我不想再做这种打杂的工作了,考虑转Linux运维,因为自己也算是有计算机方面的基础,自信学起来应该很快。于是网上找了很多视频和学习Linux方面的电子书,确实资料太多了,后来想贪多不精,在快速翻了大部分的电子书目录后,我只留了一本电子书《Linux就该这么学》和一套视频,我的本意是:我只要掌握透彻了一本书,再差也不会差到哪儿去。因为在Windows上基础不错,我很快按照第一章搭好了学习环境。

后来知道这本书还有网址,于是我加了群,经常看里面的人遇到的问题,虽然暂时什么都不会,但是我觉得涨涨见识是好的。现在我从事Linux运维已经1年了,一路下来,也吃了很多苦,但是总的来说,自己学很慢,我差不多花了半年时间,投入了相当的时间和精力,特别是在实操,反复练习上。下面我想写下我的刚开始的阶段来帮助想学Linux的朋友。

基础知识:

作为刚入门的同学,无非视频、书籍、网站帖子之类的学习方式,视频虽然讲得详细,但是所需要花费的时间也是巨大的,据我了解很少有人能持之以恒把一系列视频看完;网站帖子之类的,一般都比较散乱,不成学习系统,学起来如同没有头的苍蝇;书籍从目录来看就非常有条理,看书可以系统化的学习、循序渐进,不会初学者不知道从哪儿开始的感觉。建议使用我上面的那本,如果有更好的,也你可以,但是一定要坚持,前期可以安装一个Linux虚拟机,重复练习为主要手段,把一本书好好吃透,重点是吃透,那么你也就入门了。

那么具体需要掌握哪些知识呢?这里罗列一些必须掌握的知识:

1、了解Linux FHS,这是Linux的体系结构,明白大致原理

2、不重复80个常用Linux基础、运维命令,挂载

3、TCP/IP协议,网络配置相关知识

4、SSH原理及应用

5、防火墙的基本配置,iptables

.jpeg

在Linux下面掌握一些初级工具、技能是非常有必要的:

1、Vim编辑器,无论对于写配置文件,还是写语言脚本,Vim始终是Linux上面的必备神气,需要掌握基本操作方法、快捷键。

2、Git版本控制,很多人可能觉得没有必要,这个是开发才学的嘛,其实不然,今天Devops的日渐崛起,对于传统运维工程师来说是一个挑战,也是一个机遇。工程师们日常需要写大量的脚本,可以使用Git来管理、备份常用代码、脚本。

3、Shell编程,写脚本当然需要Shell啦,这也是基础。同上,作为Devops来说,再学习一门高效的脚本语言也是必需的,这里推荐Python,不过这是后话,先把Shell掌握了再说吧。

中级知识:

其实如果你把上面的要求掌握到80%,基本上算入门了,接下来需要去学习一些硬件知识,做运维工程师会经常和网络设备,服务器等硬件设备打交道,对于硬件知识也要做到了解。特别是判断硬件的优劣的核心参数,比如内存的存储介质、容量、速度、奇偶校验,CPU的制造工艺、核数线程、内外频、缓存等等。我们在工作中不仅仅只需要“软知识”,“硬知识”也是必不可少的关键技能,特别是当公司业务剧增,需要新增机房、服务器时,就要用很多“硬知识”了,网络传输介质的选择、UPS等等,都应该有所了解。

之前学习的都是基础的“软知识”,接下来就要学习一些高级的“软知识”。掌握最常用的服务搭建,每个公司也业务架构都不太一样,但是常用的服务也就那些,简单来说业务架构就是各种服务不同形式的组合。对于Linux运维工程师来说,你公司需要搭建各种服务器,比如文件共享服务器、Git服务器、数据库服务器、常见Web架构的部署、大公司可能还需要DHCP服务器等等。

看着这么多是不是觉得学得东西好多呀!别怕,对于常见的服务搭建可以先查看下这里有不有,如果有兴趣可以直接学,拿去不谢!http://www.linuxprobe.com。

.jpeg

这里没有怎么办?一般来说你搭建某类服务器,都会有官方的指导手册。比如MySQL服务器的搭建、Git服务器搭建等等。Google到官网按照Tutorial手册一步一步来(翻*墙自己找梯子,百度到官网也行),基本上八九不离十的,当然也有很多网友现成的帖子可以直接翻翻看。这里需要注意的是,Linux的版本不一样,服务安装会有一些差异,当你遇到问题搜索的时候,建议加上Linux的发行版本,这样可以更加精准的匹配问题,你可以放心,你遇到的问题,你前面的无数人已经遇到过了(乐于分享回馈后来人)。

在这里还想结合工作经验多啰嗦几句,前面说的Devops,也是将来的一个趋势,Linux运维工程师将不再是守着机房、服务器、苦逼的7*24小时值班,自动化监控、自动化运维是未来的发展方向,因此建议多学习一门开发语言,按目前国内外互联网的发展,当机房的机器多了以后,自己对着每一台去维护,是不显示的,所以需要接触自动化运维,推荐学Python,简单,快速!