成长一名Linux工程师之后,才知道一路走来,背后的心酸。非常感谢支持我的同伴与老师,是你们鼓励我,坚持到底,才在这个行业立足。
如果你在学习Linux,那么强烈推荐你选择RHEL和Centos作为学习的Linux发行版本,在公司及企业当中他们是使用最多的,毕竟学习除了本身是爱好,其次也是为了就业。Centos是RHEL的克隆版本,免费使用,二个发行版没有任何区别。成长为一名Linux工程师,只需要掌握以下方面的技能,那日常工作一点问题都没有。
1.扎实的基础
试想如果没有最扎实的基础,如何去查看文件类型、查看系统运行状态、编辑文件、输出文件、创建用户、分配帐户权限、使用RAID技术和LVM磁盘阵列等最最基础的知识,一定要掌握扎实,才能走的更远。关于基本功买一本书籍《Linux就该这么学》来自学,这是我的技术启蒙读物,很不错。
2.搭建服务
在Linux上面的服务有许多种,而每个公司使用到的也不尽相同,不过最常见且基础的一定要学会,像ftp、Bind、DHCP、SAMBA服务要了解会简单配置,而LNMP和LAMP要相当的熟练,不光要会搭建,要熟悉服务里面的配置,每个公司都会用的到Web服务器,因此apache和nginx要熟练掌握,有些公司会使用到tomcat,这样nginx技术更要求精。公司的网络大致已经部署完成,不需要考虑网络的问题,而对于网络基础差,甚至于IP、子网掩码都不懂,那另请拿起CCNA的书籍学习下。
3.会脚本语言
Shell语言是你从事这个行业必须要会的,假如这个都不会,那么你还是洗洗睡觉吧。一些简单的系统管理shell脚本也是最常见的、使用到的。不要以为会看CPU利用率、内存使用率等这些数字,实际可能并不能解决你的问题,最有意义的还是系统脚本。另一个使用到的语言就是当下比较火的python,程序效率高、语法简洁清晰等优点,实现我们的自动化运维。
4.操纵文本文件命令:sed、awk、grep
这三个强大命令被称为Linux界的三剑客。sed和awk这二个也必须要掌握,工作当中使用的也是最多的。grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行并打印出来。sed 是一个精简的、非交互式的编辑器,它能执行与编辑vi和emacs相同的编辑任务,但sed编辑器不提供交互使用方式,只能在命令行下输入编辑命令。awk是一种程序语言,对文档资料的处理具有很强的功能,awk擅长从格式化报文或从一个大的文本文件中抽取数据。同时需要掌握正则表达式,配合sed和awk当中使用功能会更强大,在处理文本文字和过滤web时十分的有用。
5.MariaDB数据库
之前在Linux上面使用最多的数据库是MYSQL,悲催是的MYSQL数据库管理系统被Oracle公司收购后从开源走向到了封闭,导致包括红帽在内的许多Linux发行版选择了MariaDB。无论使用那种数据库,你都得需要掌握数据的创建、删除、添加、查询、备份和恢复,这些基础的命令。
6.Firewalld和Iptables
在红帽RHEL7系统中Firewalld服务取代了Iptables服务,在老的服务器版本上面Iptables依然存在,也都需要学会使用该防火墙。真是不学不行,防火墙是个难点,各种规则,你一定会头晕。为了保证Linux系统的安全运行,防火墙必须走过的砍,具体的介绍可以看下《Linux就该这么学》书籍的第八章。
7.监控zabbix与nagios
服务器运行情况实时反馈,完全依赖有一个好的监控工具,发现问题可以第一时间及时有效的处理,避免更大的损失。对于初学者,Nagios简单直观更容易上手,但是zabbix界面更美观,同时由于功能多上手也更难。对于企业的监控应用来说,两者都能实现大规模监控,都足以满足用户需求,没有绝对的孰好孰坏。Zabbix是商业软件开源,Nagios是免费软件插件组合多。还是都学吧!
8.rsync备份数据
数据是企业最具价值的资产,自然要保护好数据。RAID的原理要懂会配置,知道企业的数据结构,多种备份方式保证数据的安全。rsync保持原来文件的权限、时间、软硬链接等等,可以镜像保存整个目录树和文件系统。有了备份无论设备出现任何故障,你都可以从备份当中还原出来原始数据。
掌握这些技术,已经可以胜任一个运维工程师的工作,欢迎“入坑”Linux运维。能坚持到这里实属不易,学习Linux最重要的就是敲键盘,不像Windows那样图形化点来点去的,优点就是Linux无图形化比较节省内存,而对于Linux新手们,建议你们不要裸机安装Linux系统,学习Linux就是找虐的,可能一些误操作造成数据丢失或者需要搭建测试服务需要把之前配置的东西删除掉等等吧,还是虚拟机拿来各种鼓捣,可以快速恢复到之前的快照,提高自己的学习效率。祝你好运,早日成为一名Linux运维攻城狮。