首先祝贺你选择学习Linux,你可能即将踏上Linux的工作之旅,出发之前,让我带你来看一看关于Linux和Linux运维的一切。
Linux因其高效率、易于裁剪、应用广等优势,成为了当今中高端服务器的主要操作系统,并且处于一个不可替代的地位。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。随着Linux在中国市场迅猛发展,国内Linux人才缺口逐渐凸显。Linux人才招聘也成了当前最热门的招聘之一。
01
Linux能做哪些工作?
首先linux是一个非常非常大的概念。想全部吃透是不可能的。理想的说,搞懂linux,就可以做所有工作。个人更倾向于说想做什么样工作,需要学linux的哪部分。
按个人经验介绍下常见的linux有哪些领域,并对应到什么工作。
1)linux应用。这部分严格来说不能算是linux,只是跑在linux上的应用,比如web,网络,IT等,职业包括系统研发,后台开发,服务器性能优化,运维等;
2)linux定制。这部分涉及linux版本的用户包较多,内核会有一些涉及,主要各种商业linux的订制,服务等。比如redhat之类,不少是外国公司,国内大多招现场支持等。
3)linux内核开发。这部分主要是linux内核驱动的开发。几乎全部是编程工作。主要是芯片公司,以及使用芯片的产品开发公司。前者如intel,marvell,后者如中兴华为。
4)android衍生品。因为android包括慢慢火爆的tizen都用的linux内核,所以理由同3。所以手机芯片公司和手机开发公司也是linux开发者的雇主之一。比如高通,TI等;
02
Linux运维日常使用软件和技能
运维工程师使用的运维平台和工具包括:
- Web服务器:apache、tomcat、nginx、lighttpd
- 监控:nagios、ganglia、cacti、zabbix
- 自动部署:ansible、sshpt、salt
- 配置管理:puppet、cfengine
- 负载均衡:lvs、haproxy、nginx
- 传输工具:scribe、flume
- 备份工具:rsync、wget
- 数据库:mysql、oracle、sqlserver
- 分布式平台:hdfs、mapreduce、spark、storm、hive
- 分布式数据库:hbase、cassandra、redis、MongoDB
- 容器:lxc、docker
- 虚拟化:openstack、xen、kvm
- 安全:kerberos、selinux、acl、iptables
- 问题追查:netstat、top、tcpdump、last
运维以技术为基础,通过技术保障产品提供更高质量的服务。运维工作的职责及在业务中的位置决定了运维工程师需要具备更加广博的知识和深入的技术能力:
- 扎实的计算机基础知识,包括计算机系统架构,操作系统,网络技术等;
- 通用应用方面需要了解操作系统、网络、安全,存储,CDN,DB等,知道其相关原理;
- 编程能力,小到运维工具的开发大到大型运维系统/平台的开发都需要有良好的编程能力;
- 数据分析能力:能够整理、分析系统运行的各项数据,从中发现问题及找到解决方向;
- 丰富的系统知识,包括系统工具、典型系统架构、常见的平台选型等;
- 综合利用工具和平台的能力;
03
2019年运维必须抓住的前沿技能
这是技术世界正在发生的深刻变革的冰山一角,那么问题来了? 作为传统的运维该如何转型呢?
这里给出一点小的建议: 大致需要学习下这四个部分:
- 自动化运维(Ansible,Puppet,Saltstack等)
- Devops(Docker,K8s,Jenkins,Jira等),
- 云服务技术(虚拟化、OpenStack、AWS及阿里云各种产品服务架构等)
- python