之前一直从事
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
在
Linux
下面掌握一些初级工具、技能是非常有必要的:
1、Vim
编辑器,无论对于写配置文件,还是写语言脚本,
Vim
始终是
Linux
上面的必备神气,需要掌握基本操作方法、快捷键。
其实如果你把上面的要求掌握到
80%
,基本上算入门了,接下来需要去学习一些硬件知识,做运维工程师会经常和网络设备,服务器等硬件设备打交道,对于硬件知识也要做到了解。特别是判断硬件的优劣的核心参数,比如内存的存储介质、容量、速度、奇偶校验,
CPU
的制造工艺、核数线程、内外频、缓存等等。我们在工作中不仅仅只需要“软知识”,“硬知识”也是必不可少的关键技能,特别是当公司业务剧增,需要新增机房、服务器时,就要用很多“硬知识”了,网络传输介质的选择、
UPS
等等,都应该有所了解。
之前学习的都是基础的“软知识”,接下来就要学习一些高级的“软知识”。掌握最常用的服务搭建,每个公司也业务架构都不太一样,但是常用的服务也就那些,简单来说业务架构就是各种服务不同形式的组合。对于
Linux
运维工程师来说,你公司需要搭建各种服务器,比如文件共享服务器、
Git
服务器、数据库服务器、常见
Web
架构的部署、大公司可能还需要
DHCP
服务器等等。
这里没有怎么办?一般来说你搭建某类服务器,都会有官方的指导手册。比如
MySQL
服务器的搭建、
Git
服务器搭建等等。
Google
到官网按照
Tutorial
手册一步一步来(翻
*
墙自己找梯子,百度到官网也行),基本上八九不离十的,当然也有很多网友现成的帖子可以直接翻翻看。这里需要注意的是,
Linux
的版本不一样,服务安装会有一些差异,当你遇到问题搜索的时候,建议加上
Linux
的发行版本,这样可以更加精准的匹配问题,你可以放心,你遇到的问题,你前面的无数人已经遇到过了(乐于分享回馈后来人)。
在这里还想结合工作经验多啰嗦几句,前面说的
Devops
,也是将来的一个趋势,
Linux
运维工程师将不再是守着机房、服务器、苦逼的
7*24
小时值班,自动化监控、自动化运维是未来的发展方向,因此建议多学习一门开发语言,按目前国内外互联网的发展,当机房的机器多了以后,自己对着每一台去维护,是不显示的,所以需要接触自动化运维,推荐学
Python
,简单,快速!